From 4cfd40f24781e7e6552ac330a330e3a8b74608d5 Mon Sep 17 00:00:00 2001
From: saggarsunil <sunil.saggar@gmail.com>
Date: Tue, 16 Jun 2015 20:43:26 -0500
Subject: [PATCH] [mongodb] update parameter for connection url to match
 previous behavior and docs. Changes: 1. mongodb configuration parameter bug
 (mongodb.url) 2. README file change 3. Some cleanup. Default DB is 'ycsb'

---
 mongodb/README.md                             |  1 +
 .../com/yahoo/ycsb/db/AsyncMongoDbClient.java |  4 +--
 .../java/com/yahoo/ycsb/db/MongoDbClient.java | 25 ++++++-------------
 3 files changed, 11 insertions(+), 19 deletions(-)

diff --git a/mongodb/README.md b/mongodb/README.md
index f6dd8f4c..7340df4c 100644
--- a/mongodb/README.md
+++ b/mongodb/README.md
@@ -85,6 +85,7 @@ See the next section for the list of configuration parameters for MongoDB.
     - For the complete set of options for the synchronous driver see:
       - http://api.mongodb.org/java/current/index.html?com/mongodb/MongoClientURI.html
   - Default value is `mongodb://localhost:27017/ycsb?w=1`
+  - Default value of database is `ycsb`
 
 - `mongodb.batchsize`
   - Useful for the insert workload as it will submit the inserts in batches inproving throughput.
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 c57ff518..238a824d 100644
--- a/mongodb/src/main/java/com/yahoo/ycsb/db/AsyncMongoDbClient.java
+++ b/mongodb/src/main/java/com/yahoo/ycsb/db/AsyncMongoDbClient.java
@@ -55,7 +55,7 @@ import com.yahoo.ycsb.DBException;
  * 
  * Properties to set:
  * 
- * mongodb.url=mongodb://localhost:27017 mongodb.database=ycsb
+ * mongodb.url=mongodb://localhost:27017 
  * mongodb.writeConcern=normal
  * 
  * @author rjm
@@ -180,7 +180,7 @@ public class AsyncMongoDbClient extends DB {
             batchSize = Integer.parseInt(props.getProperty("mongodb.batchsize", "1"));
 
             // Just use the standard connection format URL
-            // http://docs.mongodatabase.org/manual/reference/connection-string/
+            // http://docs.mongodb.org/manual/reference/connection-string/ 
             // to configure the client.
             String url = props.getProperty("mongodb.url",
                     "mongodb://localhost:27017/ycsb?w=1");
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 a2e50b32..343a2e5e 100644
--- a/mongodb/src/main/java/com/yahoo/ycsb/db/MongoDbClient.java
+++ b/mongodb/src/main/java/com/yahoo/ycsb/db/MongoDbClient.java
@@ -46,8 +46,8 @@ import com.yahoo.ycsb.DBException;
  * 
  * Properties to set:
  * 
- * mongodatabase.url=mongodb://localhost:27017 mongodatabase.database=ycsb
- * mongodatabase.writeConcern=acknowledged
+ * mongodb.url=mongodb://localhost:27017
+ * mongodb.writeConcern=acknowledged
  * 
  * @author ypai
  */
@@ -159,11 +159,9 @@ public class MongoDbClient extends DB {
             batchSize = Integer.parseInt(props.getProperty("batchsize", "1"));
 
             // Just use the standard connection format URL
-            // http://docs.mongodatabase.org/manual/reference/connection-string/
+            // http://docs.mongodb.org/manual/reference/connection-string/ 
             // to configure the client.
-            //
-            // Support legacy options by updating the URL as appropriate.
-            String url = props.getProperty("mongodatabase.url", null);
+            String url = props.getProperty("mongodb.url", null);
             boolean defaultedUrl = false;
             if (url == null) {
                 defaultedUrl = true;
@@ -178,7 +176,7 @@ public class MongoDbClient extends DB {
                                 + url
                                 + "'. Must be of the form "
                                 + "'mongodb://<host1>:<port1>,<host2>:<port2>/database?options'. "
-                                + "See http://docs.mongodatabase.org/manual/reference/connection-string/.");
+                                + "http://docs.mongodb.org/manual/reference/connection-string/");
                 System.exit(1);
             }
 
@@ -191,19 +189,12 @@ public class MongoDbClient extends DB {
                     databaseName = uriDb;
                 }
                 else {
-                    databaseName = props.getProperty("mongodatabase.database",
-                            "ycsb");
-                }
+                    //If no database is specified in URI, use "ycsb"
+                    databaseName = "ycsb"; 
 
-                if ((databaseName == null) || databaseName.isEmpty()) {
-                    System.err
-                            .println("ERROR: Invalid URL: '"
-                                    + url
-                                    + "'. Must provide a database name with the URI. "
-                                    + "'mongodb://<host1>:<port1>,<host2>:<port2>/database");
-                    System.exit(1);
                 }
 
+
                 readPreference = uri.getOptions().getReadPreference();
                 writeConcern = uri.getOptions().getWriteConcern();
 
-- 
GitLab