@@ -372,7 +372,7 @@ private BulkWriteResult insertWithCommandProtocol(final List<DBObject> list, fin
372372
373373 BaseWriteCommandMessage message = new InsertCommandMessage (getNamespace (), writeConcern , list ,
374374 DefaultDBEncoder .FACTORY .create (), encoder ,
375- getMessageSettings (port . getAddress () ));
375+ getMessageSettings (port ));
376376 return writeWithCommandProtocol (port , INSERT , message , writeConcern );
377377 }
378378
@@ -392,7 +392,7 @@ private BulkWriteResult removeWithCommandProtocol(final List<RemoveRequest> remo
392392 final DBEncoder encoder , final DBPort port ) {
393393 BaseWriteCommandMessage message = new DeleteCommandMessage (getNamespace (), writeConcern , removeList ,
394394 DefaultDBEncoder .FACTORY .create (), encoder ,
395- getMessageSettings (port . getAddress () ));
395+ getMessageSettings (port ));
396396 return writeWithCommandProtocol (port , REMOVE , message , writeConcern );
397397 }
398398
@@ -402,7 +402,7 @@ private BulkWriteResult updateWithCommandProtocol(final List<ModifyRequest> upda
402402 final DBEncoder encoder , final DBPort port ) {
403403 BaseWriteCommandMessage message = new UpdateCommandMessage (getNamespace (), writeConcern , updates ,
404404 DefaultDBEncoder .FACTORY .create (), encoder ,
405- getMessageSettings (port . getAddress () ));
405+ getMessageSettings (port ));
406406 return writeWithCommandProtocol (port , UPDATE , message , writeConcern );
407407 }
408408
@@ -438,13 +438,19 @@ private boolean useWriteCommands(final WriteConcern concern, final DBPort port)
438438 db .getConnector ().getServerDescription (port .getAddress ()).getVersion ().compareTo (new ServerVersion (2 , 6 )) >= 0 ;
439439 }
440440
441- private MessageSettings getMessageSettings (final ServerAddress address ) {
442- ServerDescription serverDescription = db .getConnector ().getServerDescription (address );
443- return MessageSettings .builder ().maxDocumentSize (serverDescription .getMaxDocumentSize ()).maxMessageSize (serverDescription
444- .getMaxMessageSize ())
441+ private MessageSettings getMessageSettings (final DBPort port ) {
442+ ServerDescription serverDescription = db .getConnector ().getServerDescription (port .getAddress ());
443+ return MessageSettings .builder ()
444+ .maxDocumentSize (serverDescription .getMaxDocumentSize ())
445+ .maxMessageSize (serverDescription .getMaxMessageSize ())
446+ .maxWriteBatchSize (serverDescription .getMaxWriteBatchSize ())
445447 .build ();
446448 }
447449
450+ private int getMaxWriteBatchSize (final DBPort port ) {
451+ return db .getConnector ().getServerDescription (port .getAddress ()).getMaxWriteBatchSize ();
452+ }
453+
448454 private MongoNamespace getNamespace () {
449455 return new MongoNamespace (getDB ().getName (), getName ());
450456 }
@@ -551,7 +557,7 @@ public OrderedRunGenerator(final List<WriteRequest> writeRequests, final WriteCo
551557 this .writeRequests = writeRequests ;
552558 this .writeConcern = writeConcern .continueOnError (false );
553559 this .encoder = encoder ;
554- this .maxBatchWriteSize = db . getConnector (). getServerDescription ( port . getAddress ()). getMaxWriteBatchSize ();
560+ this .maxBatchWriteSize = getMaxWriteBatchSize (port );
555561 }
556562
557563 @ Override
@@ -605,7 +611,7 @@ public UnorderedRunGenerator(final List<WriteRequest> writeRequests, final Write
605611 this .writeRequests = writeRequests ;
606612 this .writeConcern = writeConcern .continueOnError (true );
607613 this .encoder = encoder ;
608- this .maxBatchWriteSize = db . getConnector (). getServerDescription ( port . getAddress ()). getMaxWriteBatchSize ();
614+ this .maxBatchWriteSize = getMaxWriteBatchSize (port );
609615 }
610616
611617 @ Override
0 commit comments