You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by kt...@apache.org on 2013/11/15 19:39:39 UTC

git commit: ACCUMULO-1892 changes RandomBatchWriter to ensure it writes the specified number of rowids.

Updated Branches:
  refs/heads/1.4.5-SNAPSHOT 268028f8c -> 4119611ee


ACCUMULO-1892 changes RandomBatchWriter to ensure it writes the specified number of rowids.

Signed-off-by: Keith Turner <kt...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/4119611e
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/4119611e
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/4119611e

Branch: refs/heads/1.4.5-SNAPSHOT
Commit: 4119611eea4bc5780761ec17691483dac3e95f47
Parents: 268028f
Author: Sean Busbey <bu...@clouderagovt.com>
Authored: Thu Nov 14 09:13:00 2013 -0600
Committer: Keith Turner <kt...@apache.org>
Committed: Fri Nov 15 13:36:24 2013 -0500

----------------------------------------------------------------------
 .../examples/simple/client/RandomBatchWriter.java  | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/4119611e/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/client/RandomBatchWriter.java
----------------------------------------------------------------------
diff --git a/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/client/RandomBatchWriter.java b/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/client/RandomBatchWriter.java
index 3206fa6..71f9fec 100644
--- a/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/client/RandomBatchWriter.java
+++ b/src/examples/simple/src/main/java/org/apache/accumulo/examples/simple/client/RandomBatchWriter.java
@@ -112,7 +112,7 @@ public class RandomBatchWriter {
     if (index != 13) {
       System.out
           .println("Usage : RandomBatchWriter [-s <seed>] <instance name> <zoo keepers> <username> <password> <table> <num> <min> <max> <value size> <max memory> <max latency> <num threads> <visibility>");
-      return;
+      System.exit(1);
     }
     
     String instanceName = processedArgs[0];
@@ -128,6 +128,11 @@ public class RandomBatchWriter {
     long maxLatency = Long.parseLong(processedArgs[10]) == 0 ? Long.MAX_VALUE : Long.parseLong(processedArgs[10]);
     int numThreads = Integer.parseInt(processedArgs[11]);
     String visiblity = processedArgs[12];
+
+    if ((max - min) < num) {
+      System.err.println(String.format("You must specify a min and a max that allow for at least num possible values. For example, you requested %d rows, but a min of %d and a max of %d only allows for %d rows.", num, min, max, (max-min)));
+      System.exit(1);
+    }
     
     // Uncomment the following lines for detailed debugging info
     // Logger logger = Logger.getLogger(Constants.CORE_PACKAGE_NAME);
@@ -147,9 +152,12 @@ public class RandomBatchWriter {
     // reuse the ColumnVisibility object to improve performance
     ColumnVisibility cv = new ColumnVisibility(visiblity);
     
-    for (int i = 0; i < num; i++) {
-      
-      long rowid = (Math.abs(r.nextLong()) % (max - min)) + min;
+    // Generate num unique row ids in the given range
+    HashSet<Long> rowids = new HashSet<Long>(num);
+    while (rowids.size() < num) {
+      rowids.add((Math.abs(r.nextLong()) % (max - min)) + min);
+    }
+    for (long rowid : rowids) {
       
       Mutation m = createMutation(rowid, valueSize, cv);
       
@@ -171,6 +179,7 @@ public class RandomBatchWriter {
       if (e.getConstraintViolationSummaries().size() > 0) {
         System.err.println("ERROR : Constraint violations occurred : " + e.getConstraintViolationSummaries());
       }
+      System.exit(1);
     }
   }
 }