File tree Expand file tree Collapse file tree 2 files changed +16
-1
lines changed
main/java/com/mongodb/spark/sql/connector/config
test/java/com/mongodb/spark/sql/connector/config Expand file tree Collapse file tree 2 files changed +16
-1
lines changed Original file line number Diff line number Diff line change @@ -344,7 +344,10 @@ private String getNamespaceDescription(final CollectionsConfig collectionsConfig
344344 }
345345
346346 private WriteConcern createWriteConcern () {
347- WriteConcern writeConcern = WriteConcern .ACKNOWLEDGED ;
347+ WriteConcern writeConcern = getConnectionString ().getWriteConcern ();
348+ if (writeConcern == null ) {
349+ writeConcern = WriteConcern .ACKNOWLEDGED ;
350+ }
348351 try {
349352 if (containsKey (WRITE_CONCERN_W_CONFIG )) {
350353 try {
Original file line number Diff line number Diff line change @@ -126,6 +126,18 @@ void testMongoConfigWriteConcern() {
126126 writeConfig = writeConfig .withOption (
127127 WriteConfig .WRITE_PREFIX + WriteConfig .WRITE_CONCERN_W_CONFIG , "region1" );
128128 assertEquals (new WriteConcern ("region1" ), writeConfig .getWriteConcern ());
129+
130+ writeConfig = MongoConfig .createConfig (CONFIG_MAP ).toWriteConfig ();
131+ writeConfig .withOption (MongoConfig .CONNECTION_STRING_CONFIG , "mongodb://localhost/" );
132+ assertEquals (WriteConcern .ACKNOWLEDGED , writeConfig .getWriteConcern ());
133+
134+ writeConfig = writeConfig .withOption (
135+ MongoConfig .CONNECTION_STRING_CONFIG , "mongodb://localhost/?w=majority" );
136+ assertEquals (WriteConcern .MAJORITY , writeConfig .getWriteConcern ());
137+
138+ // Explicit configuration beats connection string
139+ writeConfig = writeConfig .withOption (WriteConfig .WRITE_CONCERN_W_CONFIG , "3" );
140+ assertEquals (3 , writeConfig .getWriteConcern ().getW ());
129141 }
130142
131143 @ Test
You can’t perform that action at this time.
0 commit comments