diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java index eea5257..4a7c514 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java @@ -55,6 +55,7 @@ import org.apache.hadoop.hbase.classification.InterfaceAudience; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.Append; import org.apache.hadoop.hbase.client.BufferedMutator; +import org.apache.hadoop.hbase.client.BufferedMutatorParams; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.client.Consistency; @@ -616,6 +617,7 @@ public class PerformanceEvaluation extends Configured implements Tool { int columns = 1; int caching = 30; boolean addColumns = true; + long bufferSize = 2l * 1024l * 1024l; public TestOptions() {} @@ -658,6 +660,7 @@ public class PerformanceEvaluation extends Configured implements Tool { this.addColumns = that.addColumns; this.columns = that.columns; this.caching = that.caching; + this.bufferSize = that.bufferSize; } public int getCaching() { @@ -816,6 +819,14 @@ public class PerformanceEvaluation extends Configured implements Tool { this.valueSize = valueSize; } + public void setBufferSize(long bufferSize) { + this.bufferSize = bufferSize; + } + + public long getBufferSize() { + return this.bufferSize; + } + public void setPeriod(int period) { this.period = period; } @@ -1182,7 +1193,9 @@ public class PerformanceEvaluation extends Configured implements Tool { @Override void onStartup() throws IOException { - this.mutator = connection.getBufferedMutator(TableName.valueOf(opts.tableName)); + BufferedMutatorParams p = new BufferedMutatorParams(TableName.valueOf(opts.tableName)); + p.writeBufferSize(opts.bufferSize); + this.mutator = connection.getBufferedMutator(p); } @Override @@ -1865,6 +1878,7 @@ public class PerformanceEvaluation extends Configured implements Tool { System.err.println(" randomSleep Do a random sleep before each get between 0 and entered value. Defaults: 0"); System.err.println(" columns Columns to write per row. Default: 1"); System.err.println(" caching Scan caching to use. Default: 30"); + System.err.println(" bufferSize Set the value of client side buffering. Default: 2MB"); System.err.println(); System.err.println(" Note: -D properties will be applied to the conf used. "); System.err.println(" For example: "); @@ -2096,6 +2110,12 @@ public class PerformanceEvaluation extends Configured implements Tool { continue; } + final String bufferSize = "--bufferSize="; + if (cmd.startsWith(bufferSize)) { + opts.bufferSize = Long.parseLong(cmd.substring(bufferSize.length())); + continue; + } + if (isCommandClass(cmd)) { opts.cmdName = cmd; opts.numClientThreads = Integer.parseInt(args.remove());