Skip to content

Commit 58d5878

Browse files
authored
Upgrade MongoDB client version. (#1758)
Upgrades the MongoDB sync driver to a more up-to-date version.
1 parent 9858c4d commit 58d5878

File tree

3 files changed

+15
-15
lines changed

3 files changed

+15
-15
lines changed

mongodb/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ LICENSE file.
3333
<dependencies>
3434
<dependency>
3535
<groupId>org.mongodb</groupId>
36-
<artifactId>mongo-java-driver</artifactId>
36+
<artifactId>mongodb-driver-sync</artifactId>
3737
<version>${mongodb.version}</version>
3838
</dependency>
3939
<dependency>

mongodb/src/main/java/site/ycsb/db/MongoDbClient.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,20 @@
2424
*/
2525
package site.ycsb.db;
2626

27-
import com.mongodb.MongoClient;
28-
import com.mongodb.MongoClientURI;
27+
import com.mongodb.MongoClientSettings;
28+
import com.mongodb.ConnectionString;
2929
import com.mongodb.ReadPreference;
3030
import com.mongodb.WriteConcern;
3131
import com.mongodb.client.FindIterable;
32+
import com.mongodb.client.MongoClient;
33+
import com.mongodb.client.MongoClients;
3234
import com.mongodb.client.MongoCollection;
3335
import com.mongodb.client.MongoCursor;
3436
import com.mongodb.client.MongoDatabase;
3537
import com.mongodb.client.model.InsertManyOptions;
3638
import com.mongodb.client.model.UpdateOneModel;
3739
import com.mongodb.client.model.UpdateOptions;
40+
import com.mongodb.client.model.ReplaceOptions;
3841
import com.mongodb.client.result.DeleteResult;
3942
import com.mongodb.client.result.UpdateResult;
4043
import site.ycsb.ByteArrayByteIterator;
@@ -78,6 +81,8 @@ public class MongoDbClient extends DB {
7881
/** The options to use for inserting a single document. */
7982
private static final UpdateOptions UPDATE_WITH_UPSERT = new UpdateOptions()
8083
.upsert(true);
84+
private static final ReplaceOptions REPLACE_WITH_UPSERT = new ReplaceOptions()
85+
.upsert(true);
8186

8287
/**
8388
* The database name to access.
@@ -204,7 +209,8 @@ public void init() throws DBException {
204209
}
205210

206211
try {
207-
MongoClientURI uri = new MongoClientURI(url);
212+
ConnectionString uri = new ConnectionString(url);
213+
MongoClientSettings.Builder csb = MongoClientSettings.builder().applyConnectionString(uri);
208214

209215
String uriDb = uri.getDatabase();
210216
if (!defaultedUrl && (uriDb != null) && !uriDb.isEmpty()
@@ -216,14 +222,8 @@ public void init() throws DBException {
216222

217223
}
218224

219-
readPreference = uri.getOptions().getReadPreference();
220-
writeConcern = uri.getOptions().getWriteConcern();
221-
222-
mongoClient = new MongoClient(uri);
223-
database =
224-
mongoClient.getDatabase(databaseName)
225-
.withReadPreference(readPreference)
226-
.withWriteConcern(writeConcern);
225+
mongoClient = MongoClients.create(csb.build());
226+
database = mongoClient.getDatabase(databaseName);
227227

228228
System.out.println("mongo client connection created with " + url);
229229
} catch (Exception e1) {
@@ -266,7 +266,7 @@ public Status insert(String table, String key,
266266
// to current inability of the framework to clean up after itself
267267
// between test runs.
268268
collection.replaceOne(new Document("_id", toInsert.get("_id")),
269-
toInsert, UPDATE_WITH_UPSERT);
269+
toInsert, REPLACE_WITH_UPSERT);
270270
} else {
271271
collection.insertOne(toInsert);
272272
}
@@ -279,7 +279,7 @@ public Status insert(String table, String key,
279279
for (Document doc : bulkInserts) {
280280
updates.add(new UpdateOneModel<Document>(
281281
new Document("_id", doc.get("_id")),
282-
doc, UPDATE_WITH_UPSERT));
282+
new Document("$set", doc), UPDATE_WITH_UPSERT));
283283
}
284284
collection.bulkWrite(updates);
285285
} else {

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ LICENSE file.
135135
<infinispan.version>7.2.2.Final</infinispan.version>
136136
<kudu.version>1.11.1</kudu.version>
137137
<maprhbase.version>1.1.8-mapr-1710</maprhbase.version>
138-
<mongodb.version>3.11.0</mongodb.version>
138+
<mongodb.version>5.1.0</mongodb.version>
139139
<mongodb.async.version>2.0.1</mongodb.async.version>
140140
<openjpa.jdbc.version>2.1.1</openjpa.jdbc.version>
141141
<orientdb.version>2.2.37</orientdb.version>

0 commit comments

Comments
 (0)