diff --git a/hbase-checkstyle/src/main/resources/hbase/checkstyle-suppressions.xml b/hbase-checkstyle/src/main/resources/hbase/checkstyle-suppressions.xml
index cdd88e0e96b..ec6a90ebf64 100644
--- a/hbase-checkstyle/src/main/resources/hbase/checkstyle-suppressions.xml
+++ b/hbase-checkstyle/src/main/resources/hbase/checkstyle-suppressions.xml
@@ -36,4 +36,6 @@
+
+
diff --git a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/HBaseRESTTestingUtility.java b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/HBaseRESTTestingUtility.java
index 200c5198796..dd7361a8de6 100644
--- a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/HBaseRESTTestingUtility.java
+++ b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/HBaseRESTTestingUtility.java
@@ -34,7 +34,6 @@ import org.mortbay.jetty.servlet.ServletHolder;
import com.sun.jersey.spi.container.servlet.ServletContainer;
public class HBaseRESTTestingUtility {
-
private static final Log LOG = LogFactory.getLog(HBaseRESTTestingUtility.class);
private int testServletPort;
@@ -62,7 +61,7 @@ public class HBaseRESTTestingUtility {
"jetty");
LOG.info("configured " + ServletContainer.class.getName());
-
+
// set up Jetty and run the embedded server
server = new Server(0);
server.setSendServerVersion(false);
@@ -86,17 +85,19 @@ public class HBaseRESTTestingUtility {
// get the port
testServletPort = server.getConnectors()[0].getLocalPort();
- LOG.info("started " + server.getClass().getName() + " on port " +
+ LOG.info("started " + server.getClass().getName() + " on port " +
testServletPort);
}
public void shutdownServletContainer() {
- if (server != null) try {
- server.stop();
- server = null;
- RESTServlet.stop();
- } catch (Exception e) {
- LOG.warn(StringUtils.stringifyException(e));
+ if (server != null) {
+ try {
+ server.stop();
+ server = null;
+ RESTServlet.stop();
+ } catch (Exception e) {
+ LOG.warn(StringUtils.stringifyException(e));
+ }
}
}
}
diff --git a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/PerformanceEvaluation.java b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/PerformanceEvaluation.java
index 9a3ec2481dd..17b1f53a82a 100644
--- a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/PerformanceEvaluation.java
+++ b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/PerformanceEvaluation.java
@@ -18,6 +18,22 @@
*/
package org.apache.hadoop.hbase.rest;
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+import java.io.PrintStream;
+import java.lang.reflect.Constructor;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
+import java.util.TreeMap;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.conf.Configuration;
@@ -59,6 +75,7 @@ import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.Hash;
import org.apache.hadoop.hbase.util.MurmurHash;
import org.apache.hadoop.hbase.util.Pair;
+
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.NullWritable;
import org.apache.hadoop.io.Text;
@@ -76,22 +93,6 @@ import org.apache.hadoop.util.LineReader;
import org.apache.hadoop.util.Tool;
import org.apache.hadoop.util.ToolRunner;
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-import java.io.PrintStream;
-import java.lang.reflect.Constructor;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-import java.util.TreeMap;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
/**
* Script used evaluating Stargate performance and scalability. Runs a SG
* client that steps through one of a set of hardcoded tests or 'experiments'
@@ -118,12 +119,12 @@ public class PerformanceEvaluation extends Configured implements Tool {
private static final int ROWS_PER_GB = ONE_GB / ROW_LENGTH;
public static final TableName TABLE_NAME = TableName.valueOf("TestTable");
- public static final byte [] FAMILY_NAME = Bytes.toBytes("info");
- public static final byte [] QUALIFIER_NAME = Bytes.toBytes("data");
+ public static final byte[] FAMILY_NAME = Bytes.toBytes("info");
+ public static final byte[] QUALIFIER_NAME = Bytes.toBytes("data");
private TableName tableName = TABLE_NAME;
protected HTableDescriptor TABLE_DESCRIPTOR;
- protected Map commands = new TreeMap();
+ protected Map commands = new TreeMap<>();
protected static Cluster cluster = new Cluster();
volatile Configuration conf;
@@ -141,6 +142,7 @@ public class PerformanceEvaluation extends Configured implements Tool {
private Connection connection;
private static final Path PERF_EVAL_DIR = new Path("performance_evaluation");
+
/**
* Regex to parse lines in input file passed to mapreduce task.
*/
@@ -159,11 +161,12 @@ public class PerformanceEvaluation extends Configured implements Tool {
* Enum for map metrics. Keep it out here rather than inside in the Map
* inner-class so we can find associated properties.
*/
- protected static enum Counter {
+ protected enum Counter {
/** elapsed time */
ELAPSED_TIME,
/** number of rows */
- ROWS}
+ ROWS
+ }
/**
* Constructor
@@ -199,8 +202,7 @@ public class PerformanceEvaluation extends Configured implements Tool {
protected void addCommandDescriptor(Class extends Test> cmdClass,
String name, String description) {
- CmdDescriptor cmdDescriptor =
- new CmdDescriptor(cmdClass, name, description);
+ CmdDescriptor cmdDescriptor = new CmdDescriptor(cmdClass, name, description);
commands.put(name, cmdDescriptor);
}
@@ -211,30 +213,27 @@ public class PerformanceEvaluation extends Configured implements Tool {
/**
* Sets status
* @param msg status message
- * @throws IOException
+ * @throws IOException if setting the status fails
*/
void setStatus(final String msg) throws IOException;
}
/**
* This class works as the InputSplit of Performance Evaluation
- * MapReduce InputFormat, and the Record Value of RecordReader.
- * Each map task will only read one record from a PeInputSplit,
+ * MapReduce InputFormat, and the Record Value of RecordReader.
+ * Each map task will only read one record from a PeInputSplit,
* the record value is the PeInputSplit itself.
*/
public static class PeInputSplit extends InputSplit implements Writable {
- private TableName tableName = TABLE_NAME;
- private int startRow = 0;
- private int rows = 0;
- private int totalRows = 0;
- private int clients = 0;
- private boolean flushCommits = false;
- private boolean writeToWAL = true;
- private boolean useTags = false;
- private int noOfTags = 0;
-
- public PeInputSplit() {
- }
+ private TableName tableName;
+ private int startRow;
+ private int rows;
+ private int totalRows;
+ private int clients;
+ private boolean flushCommits;
+ private boolean writeToWAL;
+ private boolean useTags;
+ private int noOfTags;
public PeInputSplit(TableName tableName, int startRow, int rows, int totalRows, int clients,
boolean flushCommits, boolean writeToWAL, boolean useTags, int noOfTags) {
@@ -281,12 +280,12 @@ public class PerformanceEvaluation extends Configured implements Tool {
}
@Override
- public long getLength() throws IOException, InterruptedException {
+ public long getLength() {
return 0;
}
@Override
- public String[] getLocations() throws IOException, InterruptedException {
+ public String[] getLocations() {
return new String[0];
}
@@ -332,13 +331,12 @@ public class PerformanceEvaluation extends Configured implements Tool {
* It extends from FileInputFormat, want to use it's methods such as setInputPaths().
*/
public static class PeInputFormat extends FileInputFormat {
-
@Override
public List getSplits(JobContext job) throws IOException {
// generate splits
- List splitList = new ArrayList();
+ List splitList = new ArrayList<>();
- for (FileStatus file: listStatus(job)) {
+ for (FileStatus file : listStatus(job)) {
if (file.isDirectory()) {
continue;
}
@@ -346,15 +344,15 @@ public class PerformanceEvaluation extends Configured implements Tool {
FileSystem fs = path.getFileSystem(job.getConfiguration());
FSDataInputStream fileIn = fs.open(path);
LineReader in = new LineReader(fileIn, job.getConfiguration());
- int lineLen = 0;
- while(true) {
+ int lineLen;
+ while (true) {
Text lineText = new Text();
lineLen = in.readLine(lineText);
- if(lineLen <= 0) {
- break;
+ if (lineLen <= 0) {
+ break;
}
Matcher m = LINE_PATTERN.matcher(lineText.toString());
- if((m != null) && m.matches()) {
+ if ((m != null) && m.matches()) {
TableName tableName = TableName.valueOf(m.group(1));
int startRow = Integer.parseInt(m.group(2));
int rows = Integer.parseInt(m.group(3));
@@ -391,7 +389,7 @@ public class PerformanceEvaluation extends Configured implements Tool {
@Override
public RecordReader createRecordReader(InputSplit split,
- TaskAttemptContext context) {
+ TaskAttemptContext context) {
return new PeRecordReader();
}
@@ -402,38 +400,37 @@ public class PerformanceEvaluation extends Configured implements Tool {
private PeInputSplit value = null;
@Override
- public void initialize(InputSplit split, TaskAttemptContext context)
- throws IOException, InterruptedException {
+ public void initialize(InputSplit split, TaskAttemptContext context) {
this.readOver = false;
this.split = (PeInputSplit)split;
}
@Override
- public boolean nextKeyValue() throws IOException, InterruptedException {
- if(readOver) {
+ public boolean nextKeyValue() {
+ if (readOver) {
return false;
}
key = NullWritable.get();
- value = (PeInputSplit)split;
+ value = split;
readOver = true;
return true;
}
@Override
- public NullWritable getCurrentKey() throws IOException, InterruptedException {
+ public NullWritable getCurrentKey() {
return key;
}
@Override
- public PeInputSplit getCurrentValue() throws IOException, InterruptedException {
+ public PeInputSplit getCurrentValue() {
return value;
}
@Override
- public float getProgress() throws IOException, InterruptedException {
- if(readOver) {
+ public float getProgress() {
+ if (readOver) {
return 1.0f;
} else {
return 0.0f;
@@ -441,7 +438,7 @@ public class PerformanceEvaluation extends Configured implements Tool {
}
@Override
- public void close() throws IOException {
+ public void close() {
// do nothing
}
}
@@ -462,7 +459,7 @@ public class PerformanceEvaluation extends Configured implements Tool {
private PerformanceEvaluation pe;
@Override
- protected void setup(Context context) throws IOException, InterruptedException {
+ protected void setup(Context context) {
this.cmd = forName(context.getConfiguration().get(CMD_KEY), Test.class);
// this is required so that extensions of PE are instantiated within the
@@ -478,7 +475,7 @@ public class PerformanceEvaluation extends Configured implements Tool {
}
private Class extends Type> forName(String className, Class type) {
- Class extends Type> clazz = null;
+ Class extends Type> clazz;
try {
clazz = Class.forName(className).asSubclass(type);
} catch (ClassNotFoundException e) {
@@ -513,11 +510,11 @@ public class PerformanceEvaluation extends Configured implements Tool {
}
}
- /*
+ /**
* If table does not already exist, create.
- * @param c Client to use checking.
+ * @param admin Client to use checking.
* @return True if we created the table.
- * @throws IOException
+ * @throws IOException if an operation on the table fails
*/
private boolean checkTable(RemoteAdmin admin) throws IOException {
HTableDescriptor tableDescriptor = getTableDescriptor();
@@ -532,7 +529,7 @@ public class PerformanceEvaluation extends Configured implements Tool {
LOG.debug(" split " + i + ": " + Bytes.toStringBinary(splits[i]));
}
admin.createTable(tableDescriptor);
- LOG.info ("Table created with " + this.presplitRegions + " splits");
+ LOG.info("Table created with " + this.presplitRegions + " splits");
} else {
boolean tableExists = admin.isTableAvailable(tableDescriptor.getTableName().getName());
if (!tableExists) {
@@ -540,8 +537,8 @@ public class PerformanceEvaluation extends Configured implements Tool {
LOG.info("Table " + tableDescriptor + " created");
}
}
- boolean tableExists = admin.isTableAvailable(tableDescriptor.getTableName().getName());
- return tableExists;
+
+ return admin.isTableAvailable(tableDescriptor.getTableName().getName());
}
protected HTableDescriptor getTableDescriptor() {
@@ -564,27 +561,27 @@ public class PerformanceEvaluation extends Configured implements Tool {
* @return splits : array of byte []
*/
protected byte[][] getSplits() {
- if (this.presplitRegions == 0)
- return new byte [0][];
+ if (this.presplitRegions == 0) {
+ return new byte[0][];
+ }
int numSplitPoints = presplitRegions - 1;
byte[][] splits = new byte[numSplitPoints][];
int jump = this.R / this.presplitRegions;
- for (int i=0; i < numSplitPoints; i++) {
+ for (int i = 0; i < numSplitPoints; i++) {
int rowkey = jump * (1 + i);
splits[i] = format(rowkey);
}
return splits;
}
- /*
+ /**
* We're to run multiple clients concurrently. Setup a mapreduce job. Run
* one map per client. Then run a single reduce to sum the elapsed times.
* @param cmd Command to run.
- * @throws IOException
*/
private void runNIsMoreThanOne(final Class extends Test> cmd)
- throws IOException, InterruptedException, ClassNotFoundException {
+ throws IOException, InterruptedException, ClassNotFoundException {
RemoteAdmin remoteAdmin = new RemoteAdmin(new Client(cluster), getConf());
checkTable(remoteAdmin);
if (nomapred) {
@@ -594,13 +591,13 @@ public class PerformanceEvaluation extends Configured implements Tool {
}
}
- /*
+ /**
* Run all clients in this vm each to its own thread.
- * @param cmd Command to run.
- * @throws IOException
+ * @param cmd Command to run
+ * @throws IOException if creating a connection fails
*/
private void doMultipleClients(final Class extends Test> cmd) throws IOException {
- final List threads = new ArrayList(this.N);
+ final List threads = new ArrayList<>(this.N);
final long[] timings = new long[this.N];
final int perClientRows = R/N;
final TableName tableName = this.tableName;
@@ -614,7 +611,7 @@ public class PerformanceEvaluation extends Configured implements Tool {
final Connection connection = ConnectionFactory.createConnection(getConf());
for (int i = 0; i < this.N; i++) {
final int index = i;
- Thread t = new Thread ("TestClient-" + i) {
+ Thread t = new Thread("TestClient-" + i) {
@Override
public void run() {
super.run();
@@ -648,11 +645,11 @@ public class PerformanceEvaluation extends Configured implements Tool {
};
threads.add(t);
}
- for (Thread t: threads) {
+ for (Thread t : threads) {
t.start();
}
- for (Thread t: threads) {
- while(t.isAlive()) {
+ for (Thread t : threads) {
+ while (t.isAlive()) {
try {
t.join();
} catch (InterruptedException e) {
@@ -674,15 +671,14 @@ public class PerformanceEvaluation extends Configured implements Tool {
+ "\tAvg: " + (total / this.N) + "ms");
}
- /*
+ /**
* Run a mapreduce job. Run as many maps as asked-for clients.
* Before we start up the job, write out an input file with instruction
* per client regards which row they are to start on.
* @param cmd Command to run.
- * @throws IOException
*/
- private void doMapReduce(final Class extends Test> cmd) throws IOException,
- InterruptedException, ClassNotFoundException {
+ private void doMapReduce(final Class extends Test> cmd)
+ throws IOException, InterruptedException, ClassNotFoundException {
Configuration conf = getConf();
Path inputDir = writeInputFile(conf);
conf.set(EvaluationMapTask.CMD_KEY, cmd.getName());
@@ -708,11 +704,11 @@ public class PerformanceEvaluation extends Configured implements Tool {
job.waitForCompletion(true);
}
- /*
+ /**
* Write input file of offsets-per-client for the mapreduce job.
* @param c Configuration
* @return Directory that contains file written.
- * @throws IOException
+ * @throws IOException if creating the directory or the file fails
*/
private Path writeInputFile(final Configuration c) throws IOException {
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
@@ -722,32 +718,30 @@ public class PerformanceEvaluation extends Configured implements Tool {
FileSystem fs = FileSystem.get(c);
fs.mkdirs(inputDir);
Path inputFile = new Path(inputDir, "input.txt");
- PrintStream out = new PrintStream(fs.create(inputFile));
// Make input random.
- Map m = new TreeMap();
+ Map m = new TreeMap<>();
Hash h = MurmurHash.getInstance();
int perClientRows = (this.R / this.N);
- try {
+ try (PrintStream out = new PrintStream(fs.create(inputFile))) {
for (int i = 0; i < 10; i++) {
for (int j = 0; j < N; j++) {
- String s = "tableName=" + this.tableName +
- ", startRow=" + ((j * perClientRows) + (i * (perClientRows/10))) +
- ", perClientRunRows=" + (perClientRows / 10) +
- ", totalRows=" + this.R +
- ", clients=" + this.N +
- ", flushCommits=" + this.flushCommits +
- ", writeToWAL=" + this.writeToWAL +
- ", useTags=" + this.useTags +
- ", noOfTags=" + this.noOfTags;
- int hash = h.hash(Bytes.toBytes(s));
- m.put(hash, s);
+ StringBuilder s = new StringBuilder();
+ s.append("tableName=").append(tableName);
+ s.append(", startRow=").append((j * perClientRows) + (i * (perClientRows / 10)));
+ s.append(", perClientRunRows=").append(perClientRows / 10);
+ s.append(", totalRows=").append(R);
+ s.append(", clients=").append(N);
+ s.append(", flushCommits=").append(flushCommits);
+ s.append(", writeToWAL=").append(writeToWAL);
+ s.append(", useTags=").append(useTags);
+ s.append(", noOfTags=").append(noOfTags);
+ int hash = h.hash(Bytes.toBytes(s.toString()));
+ m.put(hash, s.toString());
}
}
- for (Map.Entry e: m.entrySet()) {
+ for (Map.Entry e : m.entrySet()) {
out.println(e.getValue());
}
- } finally {
- out.close();
}
return inputDir;
}
@@ -780,8 +774,8 @@ public class PerformanceEvaluation extends Configured implements Tool {
}
/**
- * Wraps up options passed to {@link org.apache.hadoop.hbase.PerformanceEvaluation.Test
- * tests}. This makes the reflection logic a little easier to understand...
+ * Wraps up options passed to {@link org.apache.hadoop.hbase.PerformanceEvaluation} tests
+ * This makes the reflection logic a little easier to understand...
*/
static class TestOptions {
private int startRow;
@@ -790,14 +784,11 @@ public class PerformanceEvaluation extends Configured implements Tool {
private int numClientThreads;
private TableName tableName;
private boolean flushCommits;
- private boolean writeToWAL = true;
- private boolean useTags = false;
- private int noOfTags = 0;
+ private boolean writeToWAL;
+ private boolean useTags;
+ private int noOfTags;
private Connection connection;
- TestOptions() {
- }
-
TestOptions(int startRow, int perClientRunRows, int totalRows, int numClientThreads,
TableName tableName, boolean flushCommits, boolean writeToWAL, boolean useTags,
int noOfTags, Connection connection) {
@@ -907,10 +898,11 @@ public class PerformanceEvaluation extends Configured implements Tool {
}
abstract void testTakedown() throws IOException;
- /*
+
+ /**
* Run test
* @return Elapsed time.
- * @throws IOException
+ * @throws IOException if something in the test fails
*/
long test() throws IOException {
testSetup();
@@ -940,16 +932,16 @@ public class PerformanceEvaluation extends Configured implements Tool {
}
}
- /*
- * Test for individual row.
- * @param i Row index.
- */
+ /**
+ * Test for individual row.
+ * @param i Row index.
+ */
abstract void testRow(final int i) throws IOException;
}
static abstract class TableTest extends Test {
protected Table table;
-
+
public TableTest(Configuration conf, TestOptions options, Status status) {
super(conf, options, status);
}
@@ -1007,7 +999,6 @@ public class PerformanceEvaluation extends Configured implements Tool {
int period = this.perClientRunRows / 100;
return period == 0? this.perClientRunRows: period;
}
-
}
@SuppressWarnings("unused")
@@ -1036,12 +1027,12 @@ public class PerformanceEvaluation extends Configured implements Tool {
s.close();
}
- protected abstract Pair getStartAndStopRow();
+ protected abstract Pair getStartAndStopRow();
protected Pair generateStartAndStopRows(int maxRange) {
int start = this.rand.nextInt(Integer.MAX_VALUE) % totalRows;
int stop = start + maxRange;
- return new Pair(format(start), format(stop));
+ return new Pair<>(format(start), format(stop));
}
@Override
@@ -1112,7 +1103,6 @@ public class PerformanceEvaluation extends Configured implements Tool {
int period = this.perClientRunRows / 100;
return period == 0? this.perClientRunRows: period;
}
-
}
static class RandomWriteTest extends BufferedMutatorTest {
@@ -1158,7 +1148,6 @@ public class PerformanceEvaluation extends Configured implements Tool {
super.testTakedown();
}
-
@Override
void testRow(final int i) throws IOException {
if (this.testScanner == null) {
@@ -1168,7 +1157,6 @@ public class PerformanceEvaluation extends Configured implements Tool {
}
testScanner.next();
}
-
}
static class SequentialReadTest extends TableTest {
@@ -1182,11 +1170,9 @@ public class PerformanceEvaluation extends Configured implements Tool {
get.addColumn(FAMILY_NAME, QUALIFIER_NAME);
table.get(get);
}
-
}
static class SequentialWriteTest extends BufferedMutatorTest {
-
SequentialWriteTest(Configuration conf, TestOptions options, Status status) {
super(conf, options, status);
}
@@ -1225,17 +1211,13 @@ public class PerformanceEvaluation extends Configured implements Tool {
void testRow(int i) throws IOException {
byte[] value = generateValue(this.rand);
Scan scan = constructScan(value);
- ResultScanner scanner = null;
- try {
- scanner = this.table.getScanner(scan);
+ try (ResultScanner scanner = this.table.getScanner(scan)) {
while (scanner.next() != null) {
}
- } finally {
- if (scanner != null) scanner.close();
}
}
- protected Scan constructScan(byte[] valuePrefix) throws IOException {
+ protected Scan constructScan(byte[] valuePrefix) {
Filter filter = new SingleColumnValueFilter(
FAMILY_NAME, QUALIFIER_NAME, CompareFilter.CompareOp.EQUAL,
new BinaryComparator(valuePrefix)
@@ -1247,14 +1229,14 @@ public class PerformanceEvaluation extends Configured implements Tool {
}
}
- /*
+ /**
* Format passed integer.
- * @param number
- * @return Returns zero-prefixed 10-byte wide decimal version of passed
- * number (Does absolute in case number is negative).
+ * @param number the integer to format
+ * @return Returns zero-prefixed 10-byte wide decimal version of passed number (Does absolute in
+ * case number is negative).
*/
public static byte [] format(final int number) {
- byte [] b = new byte[DEFAULT_ROW_PREFIX_LENGTH + 10];
+ byte[] b = new byte[DEFAULT_ROW_PREFIX_LENGTH + 10];
int d = Math.abs(number);
for (int i = b.length - 1; i >= 0; i--) {
b[i] = (byte)((d % 10) + '0');
@@ -1264,10 +1246,10 @@ public class PerformanceEvaluation extends Configured implements Tool {
}
public static byte[] generateData(final Random r, int length) {
- byte [] b = new byte [length];
- int i = 0;
+ byte[] b = new byte [length];
+ int i;
- for(i = 0; i < (length-8); i += 8) {
+ for (i = 0; i < (length-8); i += 8) {
b[i] = (byte) (65 + r.nextInt(26));
b[i+1] = b[i];
b[i+2] = b[i];
@@ -1279,7 +1261,7 @@ public class PerformanceEvaluation extends Configured implements Tool {
}
byte a = (byte) (65 + r.nextInt(26));
- for(; i < length; i++) {
+ for (; i < length; i++) {
b[i] = a;
}
return b;
@@ -1291,18 +1273,17 @@ public class PerformanceEvaluation extends Configured implements Tool {
return b;
}
- static byte [] getRandomRow(final Random random, final int totalRows) {
+ static byte[] getRandomRow(final Random random, final int totalRows) {
return format(random.nextInt(Integer.MAX_VALUE) % totalRows);
}
long runOneClient(final Class extends Test> cmd, final int startRow,
final int perClientRunRows, final int totalRows,
boolean flushCommits, boolean writeToWAL, boolean useTags, int noOfTags,
- Connection connection, final Status status)
- throws IOException {
+ Connection connection, final Status status) throws IOException {
status.setStatus("Start " + cmd + " at offset " + startRow + " for " +
perClientRunRows + " rows");
- long totalElapsedTime = 0;
+ long totalElapsedTime;
TestOptions options = new TestOptions(startRow, perClientRunRows,
totalRows, N, tableName, flushCommits, writeToWAL, useTags, noOfTags, connection);
@@ -1334,7 +1315,7 @@ public class PerformanceEvaluation extends Configured implements Tool {
}
};
- RemoteAdmin admin = null;
+ RemoteAdmin admin;
try {
Client client = new Client(cluster);
admin = new RemoteAdmin(client, getConf());
@@ -1346,8 +1327,8 @@ public class PerformanceEvaluation extends Configured implements Tool {
}
}
- private void runTest(final Class extends Test> cmd) throws IOException,
- InterruptedException, ClassNotFoundException {
+ private void runTest(final Class extends Test> cmd)
+ throws IOException, InterruptedException, ClassNotFoundException {
if (N == 1) {
// If there is only one client and one HRegionServer, we assume nothing
// has been set up at all.
@@ -1410,7 +1391,7 @@ public class PerformanceEvaluation extends Configured implements Tool {
}
private void getArgs(final int start, final String[] args) {
- if(start + 1 > args.length) {
+ if (start + 1 > args.length) {
throw new IllegalArgumentException("must supply the number of clients");
}
N = Integer.parseInt(args[start]);
@@ -1545,9 +1526,6 @@ public class PerformanceEvaluation extends Configured implements Tool {
return descriptor != null ? descriptor.getCmdClass() : null;
}
- /**
- * @param args
- */
public static void main(final String[] args) throws Exception {
int res = ToolRunner.run(new PerformanceEvaluation(HBaseConfiguration.create()), args);
System.exit(res);
diff --git a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/RowResourceBase.java b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/RowResourceBase.java
index 269b47e377c..ab4f575a151 100644
--- a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/RowResourceBase.java
+++ b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/RowResourceBase.java
@@ -25,7 +25,8 @@ import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.StringWriter;
-import java.util.*;
+import java.util.HashMap;
+import java.util.Map;
import javax.ws.rs.core.MediaType;
import javax.xml.bind.JAXBContext;
@@ -53,7 +54,6 @@ import org.junit.Before;
import org.junit.BeforeClass;
public class RowResourceBase {
-
protected static final String TABLE = "TestRowResource";
protected static final String CFA = "a";
protected static final String CFB = "b";
@@ -175,8 +175,8 @@ public class RowResourceBase {
assertEquals(Bytes.toString(cell.getValue()), value);
}
- protected static void checkIncrementValueXML(String table, String row, String column,
- long value) throws IOException, JAXBException {
+ protected static void checkIncrementValueXML(String table, String row, String column, long value)
+ throws IOException, JAXBException {
Response response = getValueXML(table, row, column);
assertEquals(200, response.getCode());
assertEquals(Constants.MIMETYPE_XML, response.getHeader("content-type"));
@@ -258,16 +258,17 @@ public class RowResourceBase {
assertEquals(Bytes.toLong(cell.getValue()), value);
}
- protected static Response checkAndPutValuePB(String url, String table,
- String row, String column, String valueToCheck, String valueToPut, HashMap otherCells)
- throws IOException {
+ protected static Response checkAndPutValuePB(String url, String table, String row, String column,
+ String valueToCheck, String valueToPut, HashMap otherCells)
+ throws IOException {
RowModel rowModel = new RowModel(row);
rowModel.addCell(new CellModel(Bytes.toBytes(column),
Bytes.toBytes(valueToPut)));
- if(otherCells != null) {
- for (Map.Entry entry :otherCells.entrySet()) {
- rowModel.addCell(new CellModel(Bytes.toBytes(entry.getKey()), Bytes.toBytes(entry.getValue())));
+ if (otherCells != null) {
+ for (Map.Entry entry : otherCells.entrySet()) {
+ rowModel.addCell(new CellModel(Bytes.toBytes(entry.getKey()),
+ Bytes.toBytes(entry.getValue())));
}
}
@@ -287,8 +288,10 @@ public class RowResourceBase {
String column, String valueToCheck, String valueToPut) throws IOException {
return checkAndPutValuePB(table,row,column,valueToCheck,valueToPut,null);
}
- protected static Response checkAndPutValuePB(String table, String row,
- String column, String valueToCheck, String valueToPut, HashMap otherCells) throws IOException {
+
+ protected static Response checkAndPutValuePB(String table, String row, String column,
+ String valueToCheck, String valueToPut, HashMap otherCells)
+ throws IOException {
StringBuilder path = new StringBuilder();
path.append('/');
path.append(table);
@@ -299,16 +302,17 @@ public class RowResourceBase {
valueToCheck, valueToPut, otherCells);
}
- protected static Response checkAndPutValueXML(String url, String table,
- String row, String column, String valueToCheck, String valueToPut, HashMap otherCells)
- throws IOException, JAXBException {
+ protected static Response checkAndPutValueXML(String url, String table, String row, String column,
+ String valueToCheck, String valueToPut, HashMap otherCells)
+ throws IOException, JAXBException {
RowModel rowModel = new RowModel(row);
rowModel.addCell(new CellModel(Bytes.toBytes(column),
Bytes.toBytes(valueToPut)));
- if(otherCells != null) {
- for (Map.Entry entry :otherCells.entrySet()) {
- rowModel.addCell(new CellModel(Bytes.toBytes(entry.getKey()), Bytes.toBytes(entry.getValue())));
+ if (otherCells != null) {
+ for (Map.Entry entry : otherCells.entrySet()) {
+ rowModel.addCell(new CellModel(Bytes.toBytes(entry.getKey()),
+ Bytes.toBytes(entry.getValue())));
}
}
@@ -325,9 +329,8 @@ public class RowResourceBase {
return response;
}
- protected static Response checkAndPutValueXML(String table, String row,
- String column, String valueToCheck, String valueToPut)
- throws IOException, JAXBException {
+ protected static Response checkAndPutValueXML(String table, String row, String column,
+ String valueToCheck, String valueToPut) throws IOException, JAXBException {
return checkAndPutValueXML(table,row,column,valueToCheck,valueToPut, null);
}
@@ -349,9 +352,10 @@ public class RowResourceBase {
throws IOException, JAXBException {
RowModel rowModel = new RowModel(row);
- if(cellsToDelete != null) {
- for (Map.Entry entry :cellsToDelete.entrySet()) {
- rowModel.addCell(new CellModel(Bytes.toBytes(entry.getKey()), Bytes.toBytes(entry.getValue())));
+ if (cellsToDelete != null) {
+ for (Map.Entry entry : cellsToDelete.entrySet()) {
+ rowModel.addCell(new CellModel(Bytes.toBytes(entry.getKey()),
+ Bytes.toBytes(entry.getValue())));
}
}
// Add this at the end
@@ -371,8 +375,10 @@ public class RowResourceBase {
String column, String valueToCheck) throws IOException, JAXBException {
return checkAndDeleteXML(table, row, column, valueToCheck, null);
}
+
protected static Response checkAndDeleteXML(String table, String row,
- String column, String valueToCheck, HashMap cellsToDelete) throws IOException, JAXBException {
+ String column, String valueToCheck, HashMap cellsToDelete)
+ throws IOException, JAXBException {
StringBuilder path = new StringBuilder();
path.append('/');
path.append(table);
@@ -383,12 +389,13 @@ public class RowResourceBase {
}
protected static Response checkAndDeleteJson(String table, String row,
- String column, String valueToCheck) throws IOException, JAXBException {
+ String column, String valueToCheck) throws IOException {
return checkAndDeleteJson(table, row, column, valueToCheck, null);
}
protected static Response checkAndDeleteJson(String table, String row,
- String column, String valueToCheck, HashMap cellsToDelete) throws IOException, JAXBException {
+ String column, String valueToCheck, HashMap cellsToDelete)
+ throws IOException {
StringBuilder path = new StringBuilder();
path.append('/');
path.append(table);
@@ -400,12 +407,13 @@ public class RowResourceBase {
protected static Response checkAndDeleteJson(String url, String table,
String row, String column, String valueToCheck, HashMap cellsToDelete)
- throws IOException, JAXBException {
+ throws IOException {
RowModel rowModel = new RowModel(row);
- if(cellsToDelete != null) {
- for (Map.Entry entry :cellsToDelete.entrySet()) {
- rowModel.addCell(new CellModel(Bytes.toBytes(entry.getKey()), Bytes.toBytes(entry.getValue())));
+ if (cellsToDelete != null) {
+ for (Map.Entry entry : cellsToDelete.entrySet()) {
+ rowModel.addCell(new CellModel(Bytes.toBytes(entry.getKey()),
+ Bytes.toBytes(entry.getValue())));
}
}
// Add this at the end
@@ -420,9 +428,8 @@ public class RowResourceBase {
return response;
}
- protected static Response checkAndDeletePB(String table, String row,
- String column, String value) throws IOException {
-
+ protected static Response checkAndDeletePB(String table, String row, String column, String value)
+ throws IOException {
return checkAndDeletePB(table, row, column, value, null);
}
@@ -441,9 +448,10 @@ public class RowResourceBase {
throws IOException {
RowModel rowModel = new RowModel(row);
- if(cellsToDelete != null) {
- for (Map.Entry entry :cellsToDelete.entrySet()) {
- rowModel.addCell(new CellModel(Bytes.toBytes(entry.getKey()), Bytes.toBytes(entry.getValue())));
+ if (cellsToDelete != null) {
+ for (Map.Entry entry : cellsToDelete.entrySet()) {
+ rowModel.addCell(new CellModel(Bytes.toBytes(entry.getKey()),
+ Bytes.toBytes(entry.getValue())));
}
}
// Add this at the end
@@ -532,12 +540,12 @@ public class RowResourceBase {
}
protected static void checkValueJSON(String table, String row, String column,
- String value) throws IOException, JAXBException {
+ String value) throws IOException {
Response response = getValueJson(table, row, column);
assertEquals(200, response.getCode());
assertEquals(Constants.MIMETYPE_JSON, response.getHeader("content-type"));
- ObjectMapper mapper = new JacksonProvider()
- .locateMapper(CellSetModel.class, MediaType.APPLICATION_JSON_TYPE);
+ ObjectMapper mapper = new JacksonProvider().locateMapper(CellSetModel.class,
+ MediaType.APPLICATION_JSON_TYPE);
CellSetModel cellSet = mapper.readValue(response.getBody(), CellSetModel.class);
RowModel rowModel = cellSet.getRows().get(0);
CellModel cell = rowModel.getCells().get(0);
@@ -546,7 +554,7 @@ public class RowResourceBase {
}
protected static void checkIncrementValueJSON(String table, String row, String column,
- long value) throws IOException, JAXBException {
+ long value) throws IOException {
Response response = getValueJson(table, row, column);
assertEquals(200, response.getCode());
assertEquals(Constants.MIMETYPE_JSON, response.getHeader("content-type"));
@@ -560,7 +568,7 @@ public class RowResourceBase {
}
protected static Response putValueJson(String table, String row, String column,
- String value) throws IOException, JAXBException {
+ String value) throws IOException {
StringBuilder path = new StringBuilder();
path.append('/');
path.append(table);
@@ -572,7 +580,7 @@ public class RowResourceBase {
}
protected static Response putValueJson(String url, String table, String row, String column,
- String value) throws IOException, JAXBException {
+ String value) throws IOException {
RowModel rowModel = new RowModel(row);
rowModel.addCell(new CellModel(Bytes.toBytes(column),
Bytes.toBytes(value)));
@@ -597,7 +605,7 @@ public class RowResourceBase {
}
protected static Response appendValuePB(String table, String row, String column,
- String value) throws IOException, JAXBException {
+ String value) throws IOException {
StringBuilder path = new StringBuilder();
path.append('/');
path.append(table);
@@ -630,7 +638,7 @@ public class RowResourceBase {
}
protected static Response incrementValuePB(String table, String row, String column,
- String value) throws IOException, JAXBException {
+ String value) throws IOException {
StringBuilder path = new StringBuilder();
path.append('/');
path.append(table);
diff --git a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestMultiRowResource.java b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestMultiRowResource.java
index 1f0aab7c52b..715bdd5d03c 100644
--- a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestMultiRowResource.java
+++ b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestMultiRowResource.java
@@ -1,5 +1,4 @@
/**
- *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -16,7 +15,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.hadoop.hbase.rest;
import static org.junit.Assert.assertEquals;
@@ -30,7 +28,6 @@ import java.util.Collection;
import java.util.List;
import javax.ws.rs.core.MediaType;
import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
import org.apache.commons.httpclient.Header;
import org.apache.hadoop.conf.Configuration;
@@ -48,6 +45,7 @@ import org.apache.hadoop.hbase.rest.model.RowModel;
import org.apache.hadoop.hbase.rest.provider.JacksonProvider;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.util.Bytes;
+
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -55,11 +53,9 @@ import org.junit.experimental.categories.Category;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
-
@Category(MediumTests.class)
@RunWith(Parameterized.class)
public class TestMultiRowResource {
-
private static final TableName TABLE = TableName.valueOf("TestRowResource");
private static final String CFA = "a";
private static final String CFB = "b";
@@ -70,7 +66,6 @@ public class TestMultiRowResource {
private static final String ROW_2 = "testrow6";
private static final String VALUE_2 = "testvalue6";
-
private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
private static final HBaseRESTTestingUtility REST_TEST_UTIL = new HBaseRESTTestingUtility();
@@ -94,7 +89,6 @@ public class TestMultiRowResource {
csrfEnabled = csrf;
}
-
@BeforeClass
public static void setUpBeforeClass() throws Exception {
conf = TEST_UTIL.getConfiguration();
@@ -123,13 +117,11 @@ public class TestMultiRowResource {
TEST_UTIL.shutdownMiniCluster();
}
-
@Test
- public void testMultiCellGetJSON() throws IOException, JAXBException {
+ public void testMultiCellGetJSON() throws IOException {
String row_5_url = "/" + TABLE + "/" + ROW_1 + "/" + COLUMN_1;
String row_6_url = "/" + TABLE + "/" + ROW_2 + "/" + COLUMN_2;
-
StringBuilder path = new StringBuilder();
path.append("/");
path.append(TABLE);
@@ -146,22 +138,19 @@ public class TestMultiRowResource {
client.post(row_5_url, Constants.MIMETYPE_BINARY, Bytes.toBytes(VALUE_1), extraHdr);
client.post(row_6_url, Constants.MIMETYPE_BINARY, Bytes.toBytes(VALUE_2), extraHdr);
-
Response response = client.get(path.toString(), Constants.MIMETYPE_JSON);
assertEquals(200, response.getCode());
assertEquals(Constants.MIMETYPE_JSON, response.getHeader("content-type"));
client.delete(row_5_url, extraHdr);
client.delete(row_6_url, extraHdr);
-
}
@Test
- public void testMultiCellGetXML() throws IOException, JAXBException {
+ public void testMultiCellGetXML() throws IOException {
String row_5_url = "/" + TABLE + "/" + ROW_1 + "/" + COLUMN_1;
String row_6_url = "/" + TABLE + "/" + ROW_2 + "/" + COLUMN_2;
-
StringBuilder path = new StringBuilder();
path.append("/");
path.append(TABLE);
@@ -173,18 +162,16 @@ public class TestMultiRowResource {
client.post(row_5_url, Constants.MIMETYPE_BINARY, Bytes.toBytes(VALUE_1), extraHdr);
client.post(row_6_url, Constants.MIMETYPE_BINARY, Bytes.toBytes(VALUE_2), extraHdr);
-
Response response = client.get(path.toString(), Constants.MIMETYPE_XML);
assertEquals(200, response.getCode());
assertEquals(Constants.MIMETYPE_XML, response.getHeader("content-type"));
client.delete(row_5_url, extraHdr);
client.delete(row_6_url, extraHdr);
-
}
@Test
- public void testMultiCellGetWithColsJSON() throws IOException, JAXBException {
+ public void testMultiCellGetWithColsJSON() throws IOException {
String row_5_url = "/" + TABLE + "/" + ROW_1 + "/" + COLUMN_1;
String row_6_url = "/" + TABLE + "/" + ROW_2 + "/" + COLUMN_2;
@@ -214,11 +201,10 @@ public class TestMultiRowResource {
client.delete(row_5_url, extraHdr);
client.delete(row_6_url, extraHdr);
-
}
@Test
- public void testMultiCellGetJSONNotFound() throws IOException, JAXBException {
+ public void testMultiCellGetJSONNotFound() throws IOException {
String row_5_url = "/" + TABLE + "/" + ROW_1 + "/" + COLUMN_1;
StringBuilder path = new StringBuilder();
@@ -242,7 +228,7 @@ public class TestMultiRowResource {
}
@Test
- public void testMultiCellGetWithColsInQueryPathJSON() throws IOException, JAXBException {
+ public void testMultiCellGetWithColsInQueryPathJSON() throws IOException {
String row_5_url = "/" + TABLE + "/" + ROW_1 + "/" + COLUMN_1;
String row_6_url = "/" + TABLE + "/" + ROW_2 + "/" + COLUMN_2;
@@ -274,4 +260,3 @@ public class TestMultiRowResource {
client.delete(row_6_url, extraHdr);
}
}
-
diff --git a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestScannersWithFilters.java b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestScannersWithFilters.java
index 07d2f030139..97184de0f80 100644
--- a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestScannersWithFilters.java
+++ b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestScannersWithFilters.java
@@ -1,5 +1,4 @@
/*
- *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -16,9 +15,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.hadoop.hbase.rest;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
import java.io.ByteArrayInputStream;
import java.io.StringWriter;
import java.util.ArrayList;
@@ -32,7 +34,12 @@ import javax.xml.bind.Unmarshaller;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.hadoop.hbase.*;
+import org.apache.hadoop.hbase.HBaseTestingUtility;
+import org.apache.hadoop.hbase.HColumnDescriptor;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.HTableDescriptor;
+import org.apache.hadoop.hbase.KeyValue;
+import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Put;
@@ -64,8 +71,6 @@ import org.apache.hadoop.hbase.rest.model.ScannerModel;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.util.Bytes;
-import static org.junit.Assert.*;
-
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -73,41 +78,40 @@ import org.junit.experimental.categories.Category;
@Category(MediumTests.class)
public class TestScannersWithFilters {
-
private static final Log LOG = LogFactory.getLog(TestScannersWithFilters.class);
private static final TableName TABLE = TableName.valueOf("TestScannersWithFilters");
- private static final byte [][] ROWS_ONE = {
+ private static final byte[][] ROWS_ONE = {
Bytes.toBytes("testRowOne-0"), Bytes.toBytes("testRowOne-1"),
Bytes.toBytes("testRowOne-2"), Bytes.toBytes("testRowOne-3")
};
- private static final byte [][] ROWS_TWO = {
+ private static final byte[][] ROWS_TWO = {
Bytes.toBytes("testRowTwo-0"), Bytes.toBytes("testRowTwo-1"),
Bytes.toBytes("testRowTwo-2"), Bytes.toBytes("testRowTwo-3")
};
- private static final byte [][] FAMILIES = {
+ private static final byte[][] FAMILIES = {
Bytes.toBytes("testFamilyOne"), Bytes.toBytes("testFamilyTwo")
};
- private static final byte [][] QUALIFIERS_ONE = {
+ private static final byte[][] QUALIFIERS_ONE = {
Bytes.toBytes("testQualifierOne-0"), Bytes.toBytes("testQualifierOne-1"),
Bytes.toBytes("testQualifierOne-2"), Bytes.toBytes("testQualifierOne-3")
};
- private static final byte [][] QUALIFIERS_TWO = {
+ private static final byte[][] QUALIFIERS_TWO = {
Bytes.toBytes("testQualifierTwo-0"), Bytes.toBytes("testQualifierTwo-1"),
Bytes.toBytes("testQualifierTwo-2"), Bytes.toBytes("testQualifierTwo-3")
};
- private static final byte [][] VALUES = {
+ private static final byte[][] VALUES = {
Bytes.toBytes("testValueOne"), Bytes.toBytes("testValueTwo")
};
private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
- private static final HBaseRESTTestingUtility REST_TEST_UTIL =
+ private static final HBaseRESTTestingUtility REST_TEST_UTIL =
new HBaseRESTTestingUtility();
private static Client client;
private static JAXBContext context;
@@ -127,7 +131,7 @@ public class TestScannersWithFilters {
ScannerModel.class);
marshaller = context.createMarshaller();
unmarshaller = context.createUnmarshaller();
- client = new Client(new Cluster().add("localhost",
+ client = new Client(new Cluster().add("localhost",
REST_TEST_UTIL.getServletPort()));
Admin admin = TEST_UTIL.getHBaseAdmin();
if (!admin.tableExists(TABLE)) {
@@ -137,64 +141,64 @@ public class TestScannersWithFilters {
admin.createTable(htd);
Table table = TEST_UTIL.getConnection().getTable(TABLE);
// Insert first half
- for(byte [] ROW : ROWS_ONE) {
+ for (byte[] ROW : ROWS_ONE) {
Put p = new Put(ROW);
p.setDurability(Durability.SKIP_WAL);
- for(byte [] QUALIFIER : QUALIFIERS_ONE) {
+ for (byte[] QUALIFIER : QUALIFIERS_ONE) {
p.add(FAMILIES[0], QUALIFIER, VALUES[0]);
}
table.put(p);
}
- for(byte [] ROW : ROWS_TWO) {
+ for (byte[] ROW : ROWS_TWO) {
Put p = new Put(ROW);
p.setDurability(Durability.SKIP_WAL);
- for(byte [] QUALIFIER : QUALIFIERS_TWO) {
+ for (byte[] QUALIFIER : QUALIFIERS_TWO) {
p.add(FAMILIES[1], QUALIFIER, VALUES[1]);
}
table.put(p);
}
-
+
// Insert second half (reverse families)
- for(byte [] ROW : ROWS_ONE) {
+ for (byte[] ROW : ROWS_ONE) {
Put p = new Put(ROW);
p.setDurability(Durability.SKIP_WAL);
- for(byte [] QUALIFIER : QUALIFIERS_ONE) {
+ for (byte[] QUALIFIER : QUALIFIERS_ONE) {
p.add(FAMILIES[1], QUALIFIER, VALUES[0]);
}
table.put(p);
}
- for(byte [] ROW : ROWS_TWO) {
+ for (byte[] ROW : ROWS_TWO) {
Put p = new Put(ROW);
p.setDurability(Durability.SKIP_WAL);
- for(byte [] QUALIFIER : QUALIFIERS_TWO) {
+ for (byte[] QUALIFIER : QUALIFIERS_TWO) {
p.add(FAMILIES[0], QUALIFIER, VALUES[1]);
}
table.put(p);
}
-
+
// Delete the second qualifier from all rows and families
- for(byte [] ROW : ROWS_ONE) {
+ for (byte[] ROW : ROWS_ONE) {
Delete d = new Delete(ROW);
d.deleteColumns(FAMILIES[0], QUALIFIERS_ONE[1]);
d.deleteColumns(FAMILIES[1], QUALIFIERS_ONE[1]);
table.delete(d);
- }
- for(byte [] ROW : ROWS_TWO) {
+ }
+ for (byte[] ROW : ROWS_TWO) {
Delete d = new Delete(ROW);
d.deleteColumns(FAMILIES[0], QUALIFIERS_TWO[1]);
d.deleteColumns(FAMILIES[1], QUALIFIERS_TWO[1]);
table.delete(d);
}
colsPerRow -= 2;
-
+
// Delete the second rows from both groups, one column at a time
- for(byte [] QUALIFIER : QUALIFIERS_ONE) {
+ for (byte[] QUALIFIER : QUALIFIERS_ONE) {
Delete d = new Delete(ROWS_ONE[1]);
d.deleteColumns(FAMILIES[0], QUALIFIER);
d.deleteColumns(FAMILIES[1], QUALIFIER);
table.delete(d);
}
- for(byte [] QUALIFIER : QUALIFIERS_TWO) {
+ for (byte[] QUALIFIER : QUALIFIERS_TWO) {
Delete d = new Delete(ROWS_TWO[1]);
d.deleteColumns(FAMILIES[0], QUALIFIER);
d.deleteColumns(FAMILIES[1], QUALIFIER);
@@ -211,7 +215,7 @@ public class TestScannersWithFilters {
TEST_UTIL.shutdownMiniCluster();
}
- private static void verifyScan(Scan s, long expectedRows, long expectedKeys)
+ private static void verifyScan(Scan s, long expectedRows, long expectedKeys)
throws Exception {
ScannerModel model = ScannerModel.fromScan(s);
model.setBatch(Integer.MAX_VALUE); // fetch it all at once
@@ -233,9 +237,9 @@ public class TestScannersWithFilters {
unmarshaller.unmarshal(new ByteArrayInputStream(response.getBody()));
int rows = cells.getRows().size();
- assertTrue("Scanned too many rows! Only expected " + expectedRows +
- " total but scanned " + rows, expectedRows == rows);
- for (RowModel row: cells.getRows()) {
+ assertEquals("Scanned too many rows! Only expected " + expectedRows +
+ " total but scanned " + rows, expectedRows, rows);
+ for (RowModel row : cells.getRows()) {
int count = row.getCells().size();
assertEquals("Expected " + expectedKeys + " keys per row but " +
"returned " + count, expectedKeys, count);
@@ -246,8 +250,7 @@ public class TestScannersWithFilters {
assertEquals(200, response.getCode());
}
- private static void verifyScanFull(Scan s, KeyValue [] kvs)
- throws Exception {
+ private static void verifyScanFull(Scan s, KeyValue [] kvs) throws Exception {
ScannerModel model = ScannerModel.fromScan(s);
model.setBatch(Integer.MAX_VALUE); // fetch it all at once
StringWriter writer = new StringWriter();
@@ -276,22 +279,28 @@ public class TestScannersWithFilters {
Iterator i = cellSet.getRows().iterator();
for (boolean done = true; done; row++) {
done = i.hasNext();
- if (!done) break;
+ if (!done) {
+ break;
+ }
+
RowModel rowModel = i.next();
List cells = rowModel.getCells();
- if (cells.isEmpty()) break;
- assertTrue("Scanned too many keys! Only expected " + kvs.length +
- " total but already scanned " + (cells.size() + idx),
+ if (cells.isEmpty()) {
+ break;
+ }
+
+ assertTrue("Scanned too many keys! Only expected " + kvs.length +
+ " total but already scanned " + (cells.size() + idx),
kvs.length >= idx + cells.size());
for (CellModel cell: cells) {
- assertTrue("Row mismatch",
+ assertTrue("Row mismatch",
Bytes.equals(rowModel.getKey(), kvs[idx].getRow()));
byte[][] split = KeyValue.parseColumn(cell.getColumn());
- assertTrue("Family mismatch",
+ assertTrue("Family mismatch",
Bytes.equals(split[0], kvs[idx].getFamily()));
- assertTrue("Qualifier mismatch",
+ assertTrue("Qualifier mismatch",
Bytes.equals(split[1], kvs[idx].getQualifier()));
- assertTrue("Value mismatch",
+ assertTrue("Value mismatch",
Bytes.equals(cell.getValue(), kvs[idx].getValue()));
idx++;
}
@@ -308,7 +317,7 @@ public class TestScannersWithFilters {
marshaller.marshal(model, writer);
LOG.debug(writer.toString());
byte[] body = Bytes.toBytes(writer.toString());
- Response response = client.put("/" + TABLE + "/scanner",
+ Response response = client.put("/" + TABLE + "/scanner",
Constants.MIMETYPE_XML, body);
assertEquals(201, response.getCode());
String scannerURI = response.getLocation();
@@ -329,11 +338,17 @@ public class TestScannersWithFilters {
int j = 0;
for (boolean done = true; done; j++) {
done = i.hasNext();
- if (!done) break;
+ if (!done) {
+ break;
+ }
+
RowModel rowModel = i.next();
List cells = rowModel.getCells();
- if (cells.isEmpty()) break;
- assertTrue("Scanned too many rows! Only expected " + expectedRows +
+ if (cells.isEmpty()) {
+ break;
+ }
+
+ assertTrue("Scanned too many rows! Only expected " + expectedRows +
" total but already scanned " + (j+1), expectedRows > j);
assertEquals("Expected " + expectedKeys + " keys per row but " +
"returned " + cells.size(), expectedKeys, cells.size());
@@ -347,7 +362,7 @@ public class TestScannersWithFilters {
// No filter
long expectedRows = numRows;
long expectedKeys = colsPerRow;
-
+
// Both families
Scan s = new Scan();
verifyScan(s, expectedRows, expectedKeys);
@@ -415,7 +430,7 @@ public class TestScannersWithFilters {
new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1])
};
-
+
// Grab all 6 rows
long expectedRows = 6;
long expectedKeys = colsPerRow;
@@ -424,7 +439,7 @@ public class TestScannersWithFilters {
verifyScan(s, expectedRows, expectedKeys);
s.setFilter(new PageFilter(expectedRows));
verifyScanFull(s, expectedKVs);
-
+
// Grab first 4 rows (6 cols per row)
expectedRows = 4;
expectedKeys = colsPerRow;
@@ -433,7 +448,7 @@ public class TestScannersWithFilters {
verifyScan(s, expectedRows, expectedKeys);
s.setFilter(new PageFilter(expectedRows));
verifyScanFull(s, Arrays.copyOf(expectedKVs, 24));
-
+
// Grab first 2 rows
expectedRows = 2;
expectedKeys = colsPerRow;
@@ -450,20 +465,20 @@ public class TestScannersWithFilters {
s.setFilter(new PageFilter(expectedRows));
verifyScan(s, expectedRows, expectedKeys);
s.setFilter(new PageFilter(expectedRows));
- verifyScanFull(s, Arrays.copyOf(expectedKVs, 6));
+ verifyScanFull(s, Arrays.copyOf(expectedKVs, 6));
}
@Test
public void testInclusiveStopFilter() throws Exception {
// Grab rows from group one
-
+
// If we just use start/stop row, we get total/2 - 1 rows
long expectedRows = (numRows / 2) - 1;
long expectedKeys = colsPerRow;
- Scan s = new Scan(Bytes.toBytes("testRowOne-0"),
+ Scan s = new Scan(Bytes.toBytes("testRowOne-0"),
Bytes.toBytes("testRowOne-3"));
verifyScan(s, expectedRows, expectedKeys);
-
+
// Now use start row with inclusive stop filter
expectedRows = numRows / 2;
s = new Scan(Bytes.toBytes("testRowOne-0"));
@@ -471,14 +486,14 @@ public class TestScannersWithFilters {
verifyScan(s, expectedRows, expectedKeys);
// Grab rows from group two
-
+
// If we just use start/stop row, we get total/2 - 1 rows
expectedRows = (numRows / 2) - 1;
expectedKeys = colsPerRow;
- s = new Scan(Bytes.toBytes("testRowTwo-0"),
+ s = new Scan(Bytes.toBytes("testRowTwo-0"),
Bytes.toBytes("testRowTwo-3"));
verifyScan(s, expectedRows, expectedKeys);
-
+
// Now use start row with inclusive stop filter
expectedRows = numRows / 2;
s = new Scan(Bytes.toBytes("testRowTwo-0"));
@@ -496,7 +511,7 @@ public class TestScannersWithFilters {
Scan s = new Scan();
s.setFilter(f);
verifyScanNoEarlyOut(s, expectedRows, expectedKeys);
-
+
// Match keys less than same qualifier
// Expect only two keys (one from each family) in half the rows
expectedRows = numRows / 2;
@@ -506,9 +521,8 @@ public class TestScannersWithFilters {
s = new Scan();
s.setFilter(f);
verifyScanNoEarlyOut(s, expectedRows, expectedKeys);
-
- // Match keys less than or equal
- // Expect four keys (two from each family) in half the rows
+
+ // Match keys less than or equal. Expect four keys (two from each family) in half the rows
expectedRows = numRows / 2;
expectedKeys = 4;
f = new QualifierFilter(CompareOp.LESS_OR_EQUAL,
@@ -516,9 +530,8 @@ public class TestScannersWithFilters {
s = new Scan();
s.setFilter(f);
verifyScanNoEarlyOut(s, expectedRows, expectedKeys);
-
- // Match keys not equal
- // Expect four keys (two from each family)
+
+ // Match keys not equal. Expect four keys (two from each family)
// Only look in first group of rows
expectedRows = numRows / 2;
expectedKeys = 4;
@@ -527,9 +540,8 @@ public class TestScannersWithFilters {
s = new Scan(HConstants.EMPTY_START_ROW, Bytes.toBytes("testRowTwo"));
s.setFilter(f);
verifyScanNoEarlyOut(s, expectedRows, expectedKeys);
-
- // Match keys greater or equal
- // Expect four keys (two from each family)
+
+ // Match keys greater or equal. Expect four keys (two from each family)
// Only look in first group of rows
expectedRows = numRows / 2;
expectedKeys = 4;
@@ -538,9 +550,8 @@ public class TestScannersWithFilters {
s = new Scan(HConstants.EMPTY_START_ROW, Bytes.toBytes("testRowTwo"));
s.setFilter(f);
verifyScanNoEarlyOut(s, expectedRows, expectedKeys);
-
- // Match keys greater
- // Expect two keys (one from each family)
+
+ // Match keys greater. Expect two keys (one from each family)
// Only look in first group of rows
expectedRows = numRows / 2;
expectedKeys = 2;
@@ -549,95 +560,92 @@ public class TestScannersWithFilters {
s = new Scan(HConstants.EMPTY_START_ROW, Bytes.toBytes("testRowTwo"));
s.setFilter(f);
verifyScanNoEarlyOut(s, expectedRows, expectedKeys);
-
- // Match keys not equal to
- // Look across rows and fully validate the keys and ordering
- // Expect varied numbers of keys, 4 per row in group one, 6 per row in
- // group two
+
+ // Match keys not equal to. Look across rows and fully validate the keys and ordering
+ // Expect varied numbers of keys, 4 per row in group one, 6 per row in group two
f = new QualifierFilter(CompareOp.NOT_EQUAL,
new BinaryComparator(QUALIFIERS_ONE[2]));
s = new Scan();
s.setFilter(f);
-
+
KeyValue [] kvs = {
- // testRowOne-0
- new KeyValue(ROWS_ONE[0], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_ONE[0], FAMILIES[0], QUALIFIERS_ONE[3], VALUES[0]),
- new KeyValue(ROWS_ONE[0], FAMILIES[1], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_ONE[0], FAMILIES[1], QUALIFIERS_ONE[3], VALUES[0]),
- // testRowOne-2
- new KeyValue(ROWS_ONE[2], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_ONE[2], FAMILIES[0], QUALIFIERS_ONE[3], VALUES[0]),
- new KeyValue(ROWS_ONE[2], FAMILIES[1], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_ONE[2], FAMILIES[1], QUALIFIERS_ONE[3], VALUES[0]),
- // testRowOne-3
- new KeyValue(ROWS_ONE[3], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_ONE[3], FAMILIES[0], QUALIFIERS_ONE[3], VALUES[0]),
- new KeyValue(ROWS_ONE[3], FAMILIES[1], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_ONE[3], FAMILIES[1], QUALIFIERS_ONE[3], VALUES[0]),
- // testRowTwo-0
- new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
- // testRowTwo-2
- new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
- // testRowTwo-3
- new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
+ // testRowOne-0
+ new KeyValue(ROWS_ONE[0], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_ONE[0], FAMILIES[0], QUALIFIERS_ONE[3], VALUES[0]),
+ new KeyValue(ROWS_ONE[0], FAMILIES[1], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_ONE[0], FAMILIES[1], QUALIFIERS_ONE[3], VALUES[0]),
+ // testRowOne-2
+ new KeyValue(ROWS_ONE[2], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_ONE[2], FAMILIES[0], QUALIFIERS_ONE[3], VALUES[0]),
+ new KeyValue(ROWS_ONE[2], FAMILIES[1], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_ONE[2], FAMILIES[1], QUALIFIERS_ONE[3], VALUES[0]),
+ // testRowOne-3
+ new KeyValue(ROWS_ONE[3], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_ONE[3], FAMILIES[0], QUALIFIERS_ONE[3], VALUES[0]),
+ new KeyValue(ROWS_ONE[3], FAMILIES[1], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_ONE[3], FAMILIES[1], QUALIFIERS_ONE[3], VALUES[0]),
+ // testRowTwo-0
+ new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
+ // testRowTwo-2
+ new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
+ // testRowTwo-3
+ new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
};
verifyScanFull(s, kvs);
-
- // Test across rows and groups with a regex
- // Filter out "test*-2"
+
+ // Test across rows and groups with a regex. Filter out "test*-2"
// Expect 4 keys per row across both groups
f = new QualifierFilter(CompareOp.NOT_EQUAL,
new RegexStringComparator("test.+-2"));
s = new Scan();
s.setFilter(f);
-
+
kvs = new KeyValue [] {
- // testRowOne-0
- new KeyValue(ROWS_ONE[0], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_ONE[0], FAMILIES[0], QUALIFIERS_ONE[3], VALUES[0]),
- new KeyValue(ROWS_ONE[0], FAMILIES[1], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_ONE[0], FAMILIES[1], QUALIFIERS_ONE[3], VALUES[0]),
- // testRowOne-2
- new KeyValue(ROWS_ONE[2], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_ONE[2], FAMILIES[0], QUALIFIERS_ONE[3], VALUES[0]),
- new KeyValue(ROWS_ONE[2], FAMILIES[1], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_ONE[2], FAMILIES[1], QUALIFIERS_ONE[3], VALUES[0]),
- // testRowOne-3
- new KeyValue(ROWS_ONE[3], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_ONE[3], FAMILIES[0], QUALIFIERS_ONE[3], VALUES[0]),
- new KeyValue(ROWS_ONE[3], FAMILIES[1], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_ONE[3], FAMILIES[1], QUALIFIERS_ONE[3], VALUES[0]),
- // testRowTwo-0
- new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
- // testRowTwo-2
- new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
- // testRowTwo-3
- new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
+ // testRowOne-0
+ new KeyValue(ROWS_ONE[0], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_ONE[0], FAMILIES[0], QUALIFIERS_ONE[3], VALUES[0]),
+ new KeyValue(ROWS_ONE[0], FAMILIES[1], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_ONE[0], FAMILIES[1], QUALIFIERS_ONE[3], VALUES[0]),
+ // testRowOne-2
+ new KeyValue(ROWS_ONE[2], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_ONE[2], FAMILIES[0], QUALIFIERS_ONE[3], VALUES[0]),
+ new KeyValue(ROWS_ONE[2], FAMILIES[1], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_ONE[2], FAMILIES[1], QUALIFIERS_ONE[3], VALUES[0]),
+ // testRowOne-3
+ new KeyValue(ROWS_ONE[3], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_ONE[3], FAMILIES[0], QUALIFIERS_ONE[3], VALUES[0]),
+ new KeyValue(ROWS_ONE[3], FAMILIES[1], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_ONE[3], FAMILIES[1], QUALIFIERS_ONE[3], VALUES[0]),
+ // testRowTwo-0
+ new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
+ // testRowTwo-2
+ new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
+ // testRowTwo-3
+ new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
};
verifyScanFull(s, kvs);
}
@@ -652,7 +660,7 @@ public class TestScannersWithFilters {
Scan s = new Scan();
s.setFilter(f);
verifyScanNoEarlyOut(s, expectedRows, expectedKeys);
-
+
// Match a two rows, one from each group, using regex
expectedRows = 2;
expectedKeys = colsPerRow;
@@ -661,7 +669,7 @@ public class TestScannersWithFilters {
s = new Scan();
s.setFilter(f);
verifyScanNoEarlyOut(s, expectedRows, expectedKeys);
-
+
// Match rows less than
// Expect all keys in one row
expectedRows = 1;
@@ -671,7 +679,7 @@ public class TestScannersWithFilters {
s = new Scan();
s.setFilter(f);
verifyScanNoEarlyOut(s, expectedRows, expectedKeys);
-
+
// Match rows less than or equal
// Expect all keys in two rows
expectedRows = 2;
@@ -681,7 +689,7 @@ public class TestScannersWithFilters {
s = new Scan();
s.setFilter(f);
verifyScanNoEarlyOut(s, expectedRows, expectedKeys);
-
+
// Match rows not equal
// Expect all keys in all but one row
expectedRows = numRows - 1;
@@ -691,7 +699,7 @@ public class TestScannersWithFilters {
s = new Scan();
s.setFilter(f);
verifyScanNoEarlyOut(s, expectedRows, expectedKeys);
-
+
// Match keys greater or equal
// Expect all keys in all but one row
expectedRows = numRows - 1;
@@ -701,7 +709,7 @@ public class TestScannersWithFilters {
s = new Scan();
s.setFilter(f);
verifyScanNoEarlyOut(s, expectedRows, expectedKeys);
-
+
// Match keys greater
// Expect all keys in all but two rows
expectedRows = numRows - 2;
@@ -711,7 +719,7 @@ public class TestScannersWithFilters {
s = new Scan();
s.setFilter(f);
verifyScanNoEarlyOut(s, expectedRows, expectedKeys);
-
+
// Match rows not equal to testRowTwo-2
// Look across rows and fully validate the keys and ordering
// Should see all keys in all rows but testRowTwo-2
@@ -719,46 +727,46 @@ public class TestScannersWithFilters {
new BinaryComparator(Bytes.toBytes("testRowOne-2")));
s = new Scan();
s.setFilter(f);
-
+
KeyValue [] kvs = {
- // testRowOne-0
- new KeyValue(ROWS_ONE[0], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_ONE[0], FAMILIES[0], QUALIFIERS_ONE[2], VALUES[0]),
- new KeyValue(ROWS_ONE[0], FAMILIES[0], QUALIFIERS_ONE[3], VALUES[0]),
- new KeyValue(ROWS_ONE[0], FAMILIES[1], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_ONE[0], FAMILIES[1], QUALIFIERS_ONE[2], VALUES[0]),
- new KeyValue(ROWS_ONE[0], FAMILIES[1], QUALIFIERS_ONE[3], VALUES[0]),
- // testRowOne-3
- new KeyValue(ROWS_ONE[3], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_ONE[3], FAMILIES[0], QUALIFIERS_ONE[2], VALUES[0]),
- new KeyValue(ROWS_ONE[3], FAMILIES[0], QUALIFIERS_ONE[3], VALUES[0]),
- new KeyValue(ROWS_ONE[3], FAMILIES[1], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_ONE[3], FAMILIES[1], QUALIFIERS_ONE[2], VALUES[0]),
- new KeyValue(ROWS_ONE[3], FAMILIES[1], QUALIFIERS_ONE[3], VALUES[0]),
- // testRowTwo-0
- new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
- // testRowTwo-2
- new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
- // testRowTwo-3
- new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
+ // testRowOne-0
+ new KeyValue(ROWS_ONE[0], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_ONE[0], FAMILIES[0], QUALIFIERS_ONE[2], VALUES[0]),
+ new KeyValue(ROWS_ONE[0], FAMILIES[0], QUALIFIERS_ONE[3], VALUES[0]),
+ new KeyValue(ROWS_ONE[0], FAMILIES[1], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_ONE[0], FAMILIES[1], QUALIFIERS_ONE[2], VALUES[0]),
+ new KeyValue(ROWS_ONE[0], FAMILIES[1], QUALIFIERS_ONE[3], VALUES[0]),
+ // testRowOne-3
+ new KeyValue(ROWS_ONE[3], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_ONE[3], FAMILIES[0], QUALIFIERS_ONE[2], VALUES[0]),
+ new KeyValue(ROWS_ONE[3], FAMILIES[0], QUALIFIERS_ONE[3], VALUES[0]),
+ new KeyValue(ROWS_ONE[3], FAMILIES[1], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_ONE[3], FAMILIES[1], QUALIFIERS_ONE[2], VALUES[0]),
+ new KeyValue(ROWS_ONE[3], FAMILIES[1], QUALIFIERS_ONE[3], VALUES[0]),
+ // testRowTwo-0
+ new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
+ // testRowTwo-2
+ new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
+ // testRowTwo-3
+ new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
};
verifyScanFull(s, kvs);
-
+
// Test across rows and groups with a regex
// Filter out everything that doesn't match "*-2"
// Expect all keys in two rows
@@ -766,22 +774,22 @@ public class TestScannersWithFilters {
new RegexStringComparator(".+-2"));
s = new Scan();
s.setFilter(f);
-
+
kvs = new KeyValue [] {
- // testRowOne-2
- new KeyValue(ROWS_ONE[2], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_ONE[2], FAMILIES[0], QUALIFIERS_ONE[2], VALUES[0]),
- new KeyValue(ROWS_ONE[2], FAMILIES[0], QUALIFIERS_ONE[3], VALUES[0]),
- new KeyValue(ROWS_ONE[2], FAMILIES[1], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_ONE[2], FAMILIES[1], QUALIFIERS_ONE[2], VALUES[0]),
- new KeyValue(ROWS_ONE[2], FAMILIES[1], QUALIFIERS_ONE[3], VALUES[0]),
- // testRowTwo-2
- new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1])
+ // testRowOne-2
+ new KeyValue(ROWS_ONE[2], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_ONE[2], FAMILIES[0], QUALIFIERS_ONE[2], VALUES[0]),
+ new KeyValue(ROWS_ONE[2], FAMILIES[0], QUALIFIERS_ONE[3], VALUES[0]),
+ new KeyValue(ROWS_ONE[2], FAMILIES[1], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_ONE[2], FAMILIES[1], QUALIFIERS_ONE[2], VALUES[0]),
+ new KeyValue(ROWS_ONE[2], FAMILIES[1], QUALIFIERS_ONE[3], VALUES[0]),
+ // testRowTwo-2
+ new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1])
};
verifyScanFull(s, kvs);
}
@@ -824,7 +832,7 @@ public class TestScannersWithFilters {
s = new Scan();
s.setFilter(f);
verifyScanNoEarlyOut(s, expectedRows, expectedKeys);
-
+
// Match values less than or equal
// Expect all rows
expectedRows = numRows;
@@ -844,7 +852,7 @@ public class TestScannersWithFilters {
s = new Scan();
s.setFilter(f);
verifyScanNoEarlyOut(s, expectedRows, expectedKeys);
-
+
// Match values not equal
// Expect half the rows
expectedRows = numRows / 2;
@@ -854,7 +862,7 @@ public class TestScannersWithFilters {
s = new Scan();
s.setFilter(f);
verifyScanNoEarlyOut(s, expectedRows, expectedKeys);
-
+
// Match values greater or equal
// Expect all rows
expectedRows = numRows;
@@ -864,7 +872,7 @@ public class TestScannersWithFilters {
s = new Scan();
s.setFilter(f);
verifyScanNoEarlyOut(s, expectedRows, expectedKeys);
-
+
// Match values greater
// Expect half rows
expectedRows = numRows / 2;
@@ -874,7 +882,7 @@ public class TestScannersWithFilters {
s = new Scan();
s.setFilter(f);
verifyScanNoEarlyOut(s, expectedRows, expectedKeys);
-
+
// Match values not equal to testValueOne
// Look across rows and fully validate the keys and ordering
// Should see all keys in all group two rows
@@ -882,29 +890,29 @@ public class TestScannersWithFilters {
new BinaryComparator(Bytes.toBytes("testValueOne")));
s = new Scan();
s.setFilter(f);
-
+
KeyValue [] kvs = {
- // testRowTwo-0
- new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
- // testRowTwo-2
- new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
- // testRowTwo-3
- new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
+ // testRowTwo-0
+ new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
+ // testRowTwo-2
+ new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
+ // testRowTwo-3
+ new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
};
verifyScanFull(s, kvs);
}
@@ -917,36 +925,36 @@ public class TestScannersWithFilters {
new BinaryComparator(Bytes.toBytes("testQualifierOne-2"))));
Scan s = new Scan();
s.setFilter(f);
-
+
KeyValue [] kvs = {
- // testRowTwo-0
- new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
- // testRowTwo-2
- new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
- // testRowTwo-3
- new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
+ // testRowTwo-0
+ new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
+ // testRowTwo-2
+ new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
+ // testRowTwo-3
+ new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[3], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[2], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[1], QUALIFIERS_TWO[3], VALUES[1]),
};
verifyScanFull(s, kvs);
}
@Test
public void testFilterList() throws Exception {
- // Test getting a single row, single key using Row, Qualifier, and Value
+ // Test getting a single row, single key using Row, Qualifier, and Value
// regular expression and substring filters
// Use must pass all
List filters = new ArrayList();
@@ -961,7 +969,7 @@ public class TestScannersWithFilters {
s.addFamily(FAMILIES[0]);
s.setFilter(f);
KeyValue [] kvs = {
- new KeyValue(ROWS_ONE[2], FAMILIES[0], QUALIFIERS_ONE[2], VALUES[0])
+ new KeyValue(ROWS_ONE[2], FAMILIES[0], QUALIFIERS_ONE[2], VALUES[0])
};
verifyScanFull(s, kvs);
@@ -986,15 +994,13 @@ public class TestScannersWithFilters {
s.setFilter(new FirstKeyOnlyFilter());
// Expected KVs, the first KV from each of the remaining 6 rows
KeyValue [] kvs = {
- new KeyValue(ROWS_ONE[0], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_ONE[2], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_ONE[3], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
- new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
- new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1])
+ new KeyValue(ROWS_ONE[0], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_ONE[2], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_ONE[3], FAMILIES[0], QUALIFIERS_ONE[0], VALUES[0]),
+ new KeyValue(ROWS_TWO[0], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[2], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1]),
+ new KeyValue(ROWS_TWO[3], FAMILIES[0], QUALIFIERS_TWO[0], VALUES[1])
};
verifyScanFull(s, kvs);
}
-
}
-