From 7438fd62981fb12b47e480e3e16a1bd32c8ee78b Mon Sep 17 00:00:00 2001 From: "Robert J. Moore" <rjmoore@new-host.home> Date: Sat, 26 Dec 2015 12:17:32 -0500 Subject: [PATCH] [mongodb] Update to use BATCHED_OK Status for batched inserts. This ensures that users do not confuse the results from batched and non-batched operations. Closes #522 --- .../main/java/com/yahoo/ycsb/db/AsyncMongoDbClient.java | 2 +- .../src/main/java/com/yahoo/ycsb/db/MongoDbClient.java | 4 +++- .../src/main/java/com/yahoo/ycsb/db/OptionsSupport.java | 9 +++++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/mongodb/src/main/java/com/yahoo/ycsb/db/AsyncMongoDbClient.java b/mongodb/src/main/java/com/yahoo/ycsb/db/AsyncMongoDbClient.java index d8fe3884..89eb7d25 100644 --- a/mongodb/src/main/java/com/yahoo/ycsb/db/AsyncMongoDbClient.java +++ b/mongodb/src/main/java/com/yahoo/ycsb/db/AsyncMongoDbClient.java @@ -286,7 +286,7 @@ public class AsyncMongoDbClient extends DB { batchedWriteCount += 1; if (batchedWriteCount < batchSize) { - return Status.OK; + return OptionsSupport.BATCHED_OK; } long count = collection.write(batchedWrite); diff --git a/mongodb/src/main/java/com/yahoo/ycsb/db/MongoDbClient.java b/mongodb/src/main/java/com/yahoo/ycsb/db/MongoDbClient.java index e0654aa2..1db8f0e1 100644 --- a/mongodb/src/main/java/com/yahoo/ycsb/db/MongoDbClient.java +++ b/mongodb/src/main/java/com/yahoo/ycsb/db/MongoDbClient.java @@ -56,7 +56,7 @@ import java.util.Vector; import java.util.concurrent.atomic.AtomicInteger; /** - * MongoDB asynchronous client for YCSB framework using the MongoDB Inc. <a + * MongoDB binding for YCSB framework using the MongoDB Inc. <a * href="http://docs.mongodb.org/ecosystem/drivers/java/">driver</a> * <p> * See the <code>README.md</code> for configuration information. @@ -285,6 +285,8 @@ public class MongoDbClient extends DB { collection.insertMany(bulkInserts, INSERT_UNORDERED); } bulkInserts.clear(); + } else { + return OptionsSupport.BATCHED_OK; } } return Status.OK; diff --git a/mongodb/src/main/java/com/yahoo/ycsb/db/OptionsSupport.java b/mongodb/src/main/java/com/yahoo/ycsb/db/OptionsSupport.java index 62092a0d..c8aacd46 100644 --- a/mongodb/src/main/java/com/yahoo/ycsb/db/OptionsSupport.java +++ b/mongodb/src/main/java/com/yahoo/ycsb/db/OptionsSupport.java @@ -18,6 +18,8 @@ package com.yahoo.ycsb.db; import java.util.Properties; +import com.yahoo.ycsb.Status; + /** * OptionsSupport provides methods for handling legacy options. * @@ -25,6 +27,13 @@ import java.util.Properties; */ public final class OptionsSupport { + /** + * Status used for operations that have not been send to the server and have + * only been batched by the client. + */ + public static final Status BATCHED_OK = new Status("BATCHED_OK", + "The operation has been batched by the binding."); + /** Value for an unavailable property. */ private static final String UNAVAILABLE = "n/a"; -- GitLab