You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2017/11/09 19:59:21 UTC
[1/2] hbase git commit: HBASE-19195 error-prone fixes for client, mr,
and server
Repository: hbase
Updated Branches:
refs/heads/branch-1 d1f8fc849 -> 027ef60a7
refs/heads/branch-1.4 51680b97b -> 110f2db75
HBASE-19195 error-prone fixes for client, mr, and server
Signed-off-by: Andrew Purtell <ap...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/027ef60a
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/027ef60a
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/027ef60a
Branch: refs/heads/branch-1
Commit: 027ef60a759324eac5fa2f669fac3f0968e62034
Parents: d1f8fc8
Author: Mike Drob <md...@apache.org>
Authored: Mon Nov 6 21:16:48 2017 -0600
Committer: Andrew Purtell <ap...@apache.org>
Committed: Thu Nov 9 11:37:43 2017 -0800
----------------------------------------------------------------------
.../hadoop/hbase/filter/FilterListWithAND.java | 96 ++++++++++----------
.../hbase/mapreduce/TableInputFormatBase.java | 5 +-
.../hadoop/hbase/PerformanceEvaluation.java | 10 +-
.../hbase/client/TestFromClientSide3.java | 29 +++---
.../hadoop/hbase/mapred/TestSplitTable.java | 8 +-
.../hadoop/hbase/mapreduce/TestImportTsv.java | 3 +-
.../TsvImporterCustomTestMapperForOprAttr.java | 9 +-
.../hbase/regionserver/TestMajorCompaction.java | 1 +
8 files changed, 90 insertions(+), 71 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/027ef60a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithAND.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithAND.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithAND.java
index ca2c149..19e4d3a 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithAND.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithAND.java
@@ -90,57 +90,59 @@ public class FilterListWithAND extends FilterListBase {
* code of current sub-filter.
*/
private ReturnCode mergeReturnCode(ReturnCode rc, ReturnCode localRC) {
- if (rc == ReturnCode.SEEK_NEXT_USING_HINT || localRC == ReturnCode.SEEK_NEXT_USING_HINT) {
+ if (rc == ReturnCode.SEEK_NEXT_USING_HINT) {
return ReturnCode.SEEK_NEXT_USING_HINT;
}
switch (localRC) {
- case INCLUDE:
- return rc;
- case INCLUDE_AND_NEXT_COL:
- if (isInReturnCodes(rc, ReturnCode.INCLUDE, ReturnCode.INCLUDE_AND_NEXT_COL)) {
- return ReturnCode.INCLUDE_AND_NEXT_COL;
- }
- if (isInReturnCodes(rc, ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW)) {
- return ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW;
- }
- if (isInReturnCodes(rc, ReturnCode.SKIP, ReturnCode.NEXT_COL)) {
- return ReturnCode.NEXT_COL;
- }
- if (isInReturnCodes(rc, ReturnCode.NEXT_ROW)) {
- return ReturnCode.NEXT_ROW;
- }
- break;
- case INCLUDE_AND_SEEK_NEXT_ROW:
- if (isInReturnCodes(rc, ReturnCode.INCLUDE, ReturnCode.INCLUDE_AND_NEXT_COL,
- ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW)) {
- return ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW;
- }
- if (isInReturnCodes(rc, ReturnCode.SKIP, ReturnCode.NEXT_COL, ReturnCode.NEXT_ROW)) {
+ case SEEK_NEXT_USING_HINT:
+ return ReturnCode.SEEK_NEXT_USING_HINT;
+ case INCLUDE:
+ return rc;
+ case INCLUDE_AND_NEXT_COL:
+ if (isInReturnCodes(rc, ReturnCode.INCLUDE, ReturnCode.INCLUDE_AND_NEXT_COL)) {
+ return ReturnCode.INCLUDE_AND_NEXT_COL;
+ }
+ if (isInReturnCodes(rc, ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW)) {
+ return ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW;
+ }
+ if (isInReturnCodes(rc, ReturnCode.SKIP, ReturnCode.NEXT_COL)) {
+ return ReturnCode.NEXT_COL;
+ }
+ if (isInReturnCodes(rc, ReturnCode.NEXT_ROW)) {
+ return ReturnCode.NEXT_ROW;
+ }
+ break;
+ case INCLUDE_AND_SEEK_NEXT_ROW:
+ if (isInReturnCodes(rc, ReturnCode.INCLUDE, ReturnCode.INCLUDE_AND_NEXT_COL,
+ ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW)) {
+ return ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW;
+ }
+ if (isInReturnCodes(rc, ReturnCode.SKIP, ReturnCode.NEXT_COL, ReturnCode.NEXT_ROW)) {
+ return ReturnCode.NEXT_ROW;
+ }
+ break;
+ case SKIP:
+ if (isInReturnCodes(rc, ReturnCode.INCLUDE, ReturnCode.SKIP)) {
+ return ReturnCode.SKIP;
+ }
+ if (isInReturnCodes(rc, ReturnCode.INCLUDE_AND_NEXT_COL, ReturnCode.NEXT_COL)) {
+ return ReturnCode.NEXT_COL;
+ }
+ if (isInReturnCodes(rc, ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW, ReturnCode.NEXT_ROW)) {
+ return ReturnCode.NEXT_ROW;
+ }
+ break;
+ case NEXT_COL:
+ if (isInReturnCodes(rc, ReturnCode.INCLUDE, ReturnCode.INCLUDE_AND_NEXT_COL, ReturnCode.SKIP,
+ ReturnCode.NEXT_COL)) {
+ return ReturnCode.NEXT_COL;
+ }
+ if (isInReturnCodes(rc, ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW, ReturnCode.NEXT_ROW)) {
+ return ReturnCode.NEXT_ROW;
+ }
+ break;
+ case NEXT_ROW:
return ReturnCode.NEXT_ROW;
- }
- break;
- case SKIP:
- if (isInReturnCodes(rc, ReturnCode.INCLUDE, ReturnCode.SKIP)) {
- return ReturnCode.SKIP;
- }
- if (isInReturnCodes(rc, ReturnCode.INCLUDE_AND_NEXT_COL, ReturnCode.NEXT_COL)) {
- return ReturnCode.NEXT_COL;
- }
- if (isInReturnCodes(rc, ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW, ReturnCode.NEXT_ROW)) {
- return ReturnCode.NEXT_ROW;
- }
- break;
- case NEXT_COL:
- if (isInReturnCodes(rc, ReturnCode.INCLUDE, ReturnCode.INCLUDE_AND_NEXT_COL, ReturnCode.SKIP,
- ReturnCode.NEXT_COL)) {
- return ReturnCode.NEXT_COL;
- }
- if (isInReturnCodes(rc, ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW, ReturnCode.NEXT_ROW)) {
- return ReturnCode.NEXT_ROW;
- }
- break;
- case NEXT_ROW:
- return ReturnCode.NEXT_ROW;
}
throw new IllegalStateException(
"Received code is not valid. rc: " + rc + ", localRC: " + localRC);
http://git-wip-us.apache.org/repos/asf/hbase/blob/027ef60a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java
index 8d12b43..f4c2f9b 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java
@@ -286,8 +286,9 @@ extends InputFormat<ImmutableBytesWritable, Result> {
}
//The default value of "hbase.mapreduce.input.autobalance" is false.
- if (context.getConfiguration().getBoolean(MAPREDUCE_INPUT_AUTOBALANCE, false) != false) {
- long maxAveRegionSize = context.getConfiguration().getInt(MAX_AVERAGE_REGION_SIZE, 8*1073741824);
+ if (context.getConfiguration().getBoolean(MAPREDUCE_INPUT_AUTOBALANCE, false)) {
+ long maxAveRegionSize = context.getConfiguration()
+ .getLong(MAX_AVERAGE_REGION_SIZE, 8L*1073741824); //8GB
return calculateAutoBalancedSplits(splits, maxAveRegionSize);
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/027ef60a/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
----------------------------------------------------------------------
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 fb6701f..71bc9ad 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
@@ -1003,9 +1003,13 @@ public class PerformanceEvaluation extends Configured implements Tool {
}
int getValueLength(final Random r) {
- if (this.opts.isValueRandom()) return Math.abs(r.nextInt() % opts.valueSize);
- else if (this.opts.isValueZipf()) return Math.abs(this.zipf.nextInt());
- else return opts.valueSize;
+ if (this.opts.isValueRandom()) {
+ return r.nextInt(opts.valueSize);
+ } else if (this.opts.isValueZipf()) {
+ return Math.abs(this.zipf.nextInt());
+ } else {
+ return opts.valueSize;
+ }
}
void updateValueSize(final Result [] rs) throws IOException {
http://git-wip-us.apache.org/repos/asf/hbase/blob/027ef60a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java
index 8199525..385d4ad 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java
@@ -79,13 +79,13 @@ public class TestFromClientSide3 {
private static byte[] FAMILY = Bytes.toBytes("testFamily");
private static Random random = new Random();
private static int SLAVES = 3;
- private static byte [] ROW = Bytes.toBytes("testRow");
+ private static final byte [] ROW = Bytes.toBytes("testRow");
private static final byte[] ANOTHERROW = Bytes.toBytes("anotherrow");
- private static byte [] QUALIFIER = Bytes.toBytes("testQualifier");
- private static byte [] VALUE = Bytes.toBytes("testValue");
- private final static byte[] COL_QUAL = Bytes.toBytes("f1");
- private final static byte[] VAL_BYTES = Bytes.toBytes("v1");
- private final static byte[] ROW_BYTES = Bytes.toBytes("r1");
+ private static final byte [] QUALIFIER = Bytes.toBytes("testQualifier");
+ private static final byte [] VALUE = Bytes.toBytes("testValue");
+ private static final byte[] COL_QUAL = Bytes.toBytes("f1");
+ private static final byte[] VAL_BYTES = Bytes.toBytes("v1");
+ private static final byte[] ROW_BYTES = Bytes.toBytes("r1");
/**
* @throws java.lang.Exception
@@ -365,7 +365,7 @@ public class TestFromClientSide3 {
break;
}
} catch (Exception e) {
- LOG.debug("Waiting for region to come online: " + regionName);
+ LOG.debug("Waiting for region to come online: " + Bytes.toString(regionName));
}
Thread.sleep(40);
}
@@ -481,6 +481,7 @@ public class TestFromClientSide3 {
assertEquals(exist, true);
}
+ @Test
public void testHTableExistsMethodSingleRegionMultipleGets() throws Exception {
HTable table = TEST_UTIL.createTable(
@@ -492,13 +493,11 @@ public class TestFromClientSide3 {
List<Get> gets = new ArrayList<Get>();
gets.add(new Get(ROW));
- gets.add(null);
gets.add(new Get(ANOTHERROW));
Boolean[] results = table.exists(gets);
- assertEquals(results[0], true);
- assertEquals(results[1], false);
- assertEquals(results[2], false);
+ assertTrue(results[0]);
+ assertFalse(results[1]);
}
@Test
@@ -691,6 +690,7 @@ public class TestFromClientSide3 {
cpService.execute(new Runnable() {
@Override
public void run() {
+ boolean threw;
Put put1 = new Put(row);
Put put2 = new Put(rowLocked);
put1.addColumn(FAMILY, QUALIFIER, value1);
@@ -712,8 +712,13 @@ public class TestFromClientSide3 {
return rpcCallback.get();
}
});
- fail("This cp should fail because the target lock is blocked by previous put");
+ threw = false;
} catch (Throwable ex) {
+ threw = true;
+ }
+ if (!threw) {
+ // Can't call fail() earlier because the catch would eat it.
+ fail("This cp should fail because the target lock is blocked by previous put");
}
}
});
http://git-wip-us.apache.org/repos/asf/hbase/blob/027ef60a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestSplitTable.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestSplitTable.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestSplitTable.java
index 4a37f88..6106987 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestSplitTable.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestSplitTable.java
@@ -33,7 +33,7 @@ import org.junit.experimental.categories.Category;
public class TestSplitTable {
@Test
- @SuppressWarnings("deprecation")
+ @SuppressWarnings({"deprecation", "SelfComparison"})
public void testSplitTableCompareTo() {
TableSplit aTableSplit = new TableSplit(Bytes.toBytes("tableA"),
Bytes.toBytes("aaa"), Bytes.toBytes("ddd"), "locationA");
@@ -44,9 +44,9 @@ public class TestSplitTable {
TableSplit cTableSplit = new TableSplit(Bytes.toBytes("tableA"),
Bytes.toBytes("lll"), Bytes.toBytes("zzz"), "locationA");
- assertTrue(aTableSplit.compareTo(aTableSplit) == 0);
- assertTrue(bTableSplit.compareTo(bTableSplit) == 0);
- assertTrue(cTableSplit.compareTo(cTableSplit) == 0);
+ assertEquals(0, aTableSplit.compareTo(aTableSplit));
+ assertEquals(0, bTableSplit.compareTo(bTableSplit));
+ assertEquals(0, cTableSplit.compareTo(cTableSplit));
assertTrue(aTableSplit.compareTo(bTableSplit) < 0);
assertTrue(bTableSplit.compareTo(aTableSplit) > 0);
http://git-wip-us.apache.org/repos/asf/hbase/blob/027ef60a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTsv.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTsv.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTsv.java
index 83de8f9..743d859 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTsv.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTsv.java
@@ -23,6 +23,7 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.io.IOException;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -436,7 +437,7 @@ public class TestImportTsv implements Configurable {
// run the import
Tool tool = new ImportTsv();
- LOG.debug("Running ImportTsv with arguments: " + argsArray);
+ LOG.debug("Running ImportTsv with arguments: " + Arrays.toString(argsArray));
assertEquals(0, ToolRunner.run(conf, tool, argsArray));
// Perform basic validation. If the input args did not include
http://git-wip-us.apache.org/repos/asf/hbase/blob/027ef60a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TsvImporterCustomTestMapperForOprAttr.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TsvImporterCustomTestMapperForOprAttr.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TsvImporterCustomTestMapperForOprAttr.java
index 9d8b8f0..4050862 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TsvImporterCustomTestMapperForOprAttr.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TsvImporterCustomTestMapperForOprAttr.java
@@ -18,6 +18,7 @@
package org.apache.hadoop.hbase.mapreduce;
import java.io.IOException;
+import java.util.Arrays;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.client.Put;
@@ -44,10 +45,10 @@ public class TsvImporterCustomTestMapperForOprAttr extends TsvImporterMapper {
for (String attr : attributes) {
String[] split = attr.split(ImportTsv.DEFAULT_ATTRIBUTES_SEPERATOR);
if (split == null || split.length <= 1) {
- throw new BadTsvLineException("Invalid attributes seperator specified" + attributes);
+ throw new BadTsvLineException(msg(attributes));
} else {
if (split[0].length() <= 0 || split[1].length() <= 0) {
- throw new BadTsvLineException("Invalid attributes seperator specified" + attributes);
+ throw new BadTsvLineException(msg(attributes));
}
put.setAttribute(split[0], Bytes.toBytes(split[1]));
}
@@ -55,4 +56,8 @@ public class TsvImporterCustomTestMapperForOprAttr extends TsvImporterMapper {
}
put.add(kv);
}
+
+ private String msg(Object[] attributes) {
+ return "Invalid attributes separator specified: " + Arrays.toString(attributes);
+ }
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/027ef60a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMajorCompaction.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMajorCompaction.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMajorCompaction.java
index 3edf7c7..e838b4c 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMajorCompaction.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMajorCompaction.java
@@ -443,6 +443,7 @@ public class TestMajorCompaction {
* basically works.
* @throws IOException
*/
+ @Test
public void testMajorCompactingToNoOutputWithReverseScan() throws IOException {
createStoreFile(r);
for (int i = 0; i < compactionThreshold; i++) {
[2/2] hbase git commit: HBASE-19195 error-prone fixes for client, mr,
and server
Posted by ap...@apache.org.
HBASE-19195 error-prone fixes for client, mr, and server
Signed-off-by: Andrew Purtell <ap...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/110f2db7
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/110f2db7
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/110f2db7
Branch: refs/heads/branch-1.4
Commit: 110f2db756e50d30ea82ceb141b63de3e10d75a0
Parents: 51680b9
Author: Mike Drob <md...@apache.org>
Authored: Mon Nov 6 21:16:48 2017 -0600
Committer: Andrew Purtell <ap...@apache.org>
Committed: Thu Nov 9 11:37:57 2017 -0800
----------------------------------------------------------------------
.../hadoop/hbase/filter/FilterListWithAND.java | 96 ++++++++++----------
.../hbase/mapreduce/TableInputFormatBase.java | 5 +-
.../hadoop/hbase/PerformanceEvaluation.java | 10 +-
.../hbase/client/TestFromClientSide3.java | 29 +++---
.../hadoop/hbase/mapred/TestSplitTable.java | 8 +-
.../hadoop/hbase/mapreduce/TestImportTsv.java | 3 +-
.../TsvImporterCustomTestMapperForOprAttr.java | 9 +-
.../hbase/regionserver/TestMajorCompaction.java | 1 +
8 files changed, 90 insertions(+), 71 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/110f2db7/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithAND.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithAND.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithAND.java
index ca2c149..19e4d3a 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithAND.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithAND.java
@@ -90,57 +90,59 @@ public class FilterListWithAND extends FilterListBase {
* code of current sub-filter.
*/
private ReturnCode mergeReturnCode(ReturnCode rc, ReturnCode localRC) {
- if (rc == ReturnCode.SEEK_NEXT_USING_HINT || localRC == ReturnCode.SEEK_NEXT_USING_HINT) {
+ if (rc == ReturnCode.SEEK_NEXT_USING_HINT) {
return ReturnCode.SEEK_NEXT_USING_HINT;
}
switch (localRC) {
- case INCLUDE:
- return rc;
- case INCLUDE_AND_NEXT_COL:
- if (isInReturnCodes(rc, ReturnCode.INCLUDE, ReturnCode.INCLUDE_AND_NEXT_COL)) {
- return ReturnCode.INCLUDE_AND_NEXT_COL;
- }
- if (isInReturnCodes(rc, ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW)) {
- return ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW;
- }
- if (isInReturnCodes(rc, ReturnCode.SKIP, ReturnCode.NEXT_COL)) {
- return ReturnCode.NEXT_COL;
- }
- if (isInReturnCodes(rc, ReturnCode.NEXT_ROW)) {
- return ReturnCode.NEXT_ROW;
- }
- break;
- case INCLUDE_AND_SEEK_NEXT_ROW:
- if (isInReturnCodes(rc, ReturnCode.INCLUDE, ReturnCode.INCLUDE_AND_NEXT_COL,
- ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW)) {
- return ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW;
- }
- if (isInReturnCodes(rc, ReturnCode.SKIP, ReturnCode.NEXT_COL, ReturnCode.NEXT_ROW)) {
+ case SEEK_NEXT_USING_HINT:
+ return ReturnCode.SEEK_NEXT_USING_HINT;
+ case INCLUDE:
+ return rc;
+ case INCLUDE_AND_NEXT_COL:
+ if (isInReturnCodes(rc, ReturnCode.INCLUDE, ReturnCode.INCLUDE_AND_NEXT_COL)) {
+ return ReturnCode.INCLUDE_AND_NEXT_COL;
+ }
+ if (isInReturnCodes(rc, ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW)) {
+ return ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW;
+ }
+ if (isInReturnCodes(rc, ReturnCode.SKIP, ReturnCode.NEXT_COL)) {
+ return ReturnCode.NEXT_COL;
+ }
+ if (isInReturnCodes(rc, ReturnCode.NEXT_ROW)) {
+ return ReturnCode.NEXT_ROW;
+ }
+ break;
+ case INCLUDE_AND_SEEK_NEXT_ROW:
+ if (isInReturnCodes(rc, ReturnCode.INCLUDE, ReturnCode.INCLUDE_AND_NEXT_COL,
+ ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW)) {
+ return ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW;
+ }
+ if (isInReturnCodes(rc, ReturnCode.SKIP, ReturnCode.NEXT_COL, ReturnCode.NEXT_ROW)) {
+ return ReturnCode.NEXT_ROW;
+ }
+ break;
+ case SKIP:
+ if (isInReturnCodes(rc, ReturnCode.INCLUDE, ReturnCode.SKIP)) {
+ return ReturnCode.SKIP;
+ }
+ if (isInReturnCodes(rc, ReturnCode.INCLUDE_AND_NEXT_COL, ReturnCode.NEXT_COL)) {
+ return ReturnCode.NEXT_COL;
+ }
+ if (isInReturnCodes(rc, ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW, ReturnCode.NEXT_ROW)) {
+ return ReturnCode.NEXT_ROW;
+ }
+ break;
+ case NEXT_COL:
+ if (isInReturnCodes(rc, ReturnCode.INCLUDE, ReturnCode.INCLUDE_AND_NEXT_COL, ReturnCode.SKIP,
+ ReturnCode.NEXT_COL)) {
+ return ReturnCode.NEXT_COL;
+ }
+ if (isInReturnCodes(rc, ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW, ReturnCode.NEXT_ROW)) {
+ return ReturnCode.NEXT_ROW;
+ }
+ break;
+ case NEXT_ROW:
return ReturnCode.NEXT_ROW;
- }
- break;
- case SKIP:
- if (isInReturnCodes(rc, ReturnCode.INCLUDE, ReturnCode.SKIP)) {
- return ReturnCode.SKIP;
- }
- if (isInReturnCodes(rc, ReturnCode.INCLUDE_AND_NEXT_COL, ReturnCode.NEXT_COL)) {
- return ReturnCode.NEXT_COL;
- }
- if (isInReturnCodes(rc, ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW, ReturnCode.NEXT_ROW)) {
- return ReturnCode.NEXT_ROW;
- }
- break;
- case NEXT_COL:
- if (isInReturnCodes(rc, ReturnCode.INCLUDE, ReturnCode.INCLUDE_AND_NEXT_COL, ReturnCode.SKIP,
- ReturnCode.NEXT_COL)) {
- return ReturnCode.NEXT_COL;
- }
- if (isInReturnCodes(rc, ReturnCode.INCLUDE_AND_SEEK_NEXT_ROW, ReturnCode.NEXT_ROW)) {
- return ReturnCode.NEXT_ROW;
- }
- break;
- case NEXT_ROW:
- return ReturnCode.NEXT_ROW;
}
throw new IllegalStateException(
"Received code is not valid. rc: " + rc + ", localRC: " + localRC);
http://git-wip-us.apache.org/repos/asf/hbase/blob/110f2db7/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java
index 8d12b43..f4c2f9b 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java
@@ -286,8 +286,9 @@ extends InputFormat<ImmutableBytesWritable, Result> {
}
//The default value of "hbase.mapreduce.input.autobalance" is false.
- if (context.getConfiguration().getBoolean(MAPREDUCE_INPUT_AUTOBALANCE, false) != false) {
- long maxAveRegionSize = context.getConfiguration().getInt(MAX_AVERAGE_REGION_SIZE, 8*1073741824);
+ if (context.getConfiguration().getBoolean(MAPREDUCE_INPUT_AUTOBALANCE, false)) {
+ long maxAveRegionSize = context.getConfiguration()
+ .getLong(MAX_AVERAGE_REGION_SIZE, 8L*1073741824); //8GB
return calculateAutoBalancedSplits(splits, maxAveRegionSize);
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/110f2db7/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
----------------------------------------------------------------------
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 fb6701f..71bc9ad 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
@@ -1003,9 +1003,13 @@ public class PerformanceEvaluation extends Configured implements Tool {
}
int getValueLength(final Random r) {
- if (this.opts.isValueRandom()) return Math.abs(r.nextInt() % opts.valueSize);
- else if (this.opts.isValueZipf()) return Math.abs(this.zipf.nextInt());
- else return opts.valueSize;
+ if (this.opts.isValueRandom()) {
+ return r.nextInt(opts.valueSize);
+ } else if (this.opts.isValueZipf()) {
+ return Math.abs(this.zipf.nextInt());
+ } else {
+ return opts.valueSize;
+ }
}
void updateValueSize(final Result [] rs) throws IOException {
http://git-wip-us.apache.org/repos/asf/hbase/blob/110f2db7/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java
index 8199525..385d4ad 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java
@@ -79,13 +79,13 @@ public class TestFromClientSide3 {
private static byte[] FAMILY = Bytes.toBytes("testFamily");
private static Random random = new Random();
private static int SLAVES = 3;
- private static byte [] ROW = Bytes.toBytes("testRow");
+ private static final byte [] ROW = Bytes.toBytes("testRow");
private static final byte[] ANOTHERROW = Bytes.toBytes("anotherrow");
- private static byte [] QUALIFIER = Bytes.toBytes("testQualifier");
- private static byte [] VALUE = Bytes.toBytes("testValue");
- private final static byte[] COL_QUAL = Bytes.toBytes("f1");
- private final static byte[] VAL_BYTES = Bytes.toBytes("v1");
- private final static byte[] ROW_BYTES = Bytes.toBytes("r1");
+ private static final byte [] QUALIFIER = Bytes.toBytes("testQualifier");
+ private static final byte [] VALUE = Bytes.toBytes("testValue");
+ private static final byte[] COL_QUAL = Bytes.toBytes("f1");
+ private static final byte[] VAL_BYTES = Bytes.toBytes("v1");
+ private static final byte[] ROW_BYTES = Bytes.toBytes("r1");
/**
* @throws java.lang.Exception
@@ -365,7 +365,7 @@ public class TestFromClientSide3 {
break;
}
} catch (Exception e) {
- LOG.debug("Waiting for region to come online: " + regionName);
+ LOG.debug("Waiting for region to come online: " + Bytes.toString(regionName));
}
Thread.sleep(40);
}
@@ -481,6 +481,7 @@ public class TestFromClientSide3 {
assertEquals(exist, true);
}
+ @Test
public void testHTableExistsMethodSingleRegionMultipleGets() throws Exception {
HTable table = TEST_UTIL.createTable(
@@ -492,13 +493,11 @@ public class TestFromClientSide3 {
List<Get> gets = new ArrayList<Get>();
gets.add(new Get(ROW));
- gets.add(null);
gets.add(new Get(ANOTHERROW));
Boolean[] results = table.exists(gets);
- assertEquals(results[0], true);
- assertEquals(results[1], false);
- assertEquals(results[2], false);
+ assertTrue(results[0]);
+ assertFalse(results[1]);
}
@Test
@@ -691,6 +690,7 @@ public class TestFromClientSide3 {
cpService.execute(new Runnable() {
@Override
public void run() {
+ boolean threw;
Put put1 = new Put(row);
Put put2 = new Put(rowLocked);
put1.addColumn(FAMILY, QUALIFIER, value1);
@@ -712,8 +712,13 @@ public class TestFromClientSide3 {
return rpcCallback.get();
}
});
- fail("This cp should fail because the target lock is blocked by previous put");
+ threw = false;
} catch (Throwable ex) {
+ threw = true;
+ }
+ if (!threw) {
+ // Can't call fail() earlier because the catch would eat it.
+ fail("This cp should fail because the target lock is blocked by previous put");
}
}
});
http://git-wip-us.apache.org/repos/asf/hbase/blob/110f2db7/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestSplitTable.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestSplitTable.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestSplitTable.java
index 4a37f88..6106987 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestSplitTable.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestSplitTable.java
@@ -33,7 +33,7 @@ import org.junit.experimental.categories.Category;
public class TestSplitTable {
@Test
- @SuppressWarnings("deprecation")
+ @SuppressWarnings({"deprecation", "SelfComparison"})
public void testSplitTableCompareTo() {
TableSplit aTableSplit = new TableSplit(Bytes.toBytes("tableA"),
Bytes.toBytes("aaa"), Bytes.toBytes("ddd"), "locationA");
@@ -44,9 +44,9 @@ public class TestSplitTable {
TableSplit cTableSplit = new TableSplit(Bytes.toBytes("tableA"),
Bytes.toBytes("lll"), Bytes.toBytes("zzz"), "locationA");
- assertTrue(aTableSplit.compareTo(aTableSplit) == 0);
- assertTrue(bTableSplit.compareTo(bTableSplit) == 0);
- assertTrue(cTableSplit.compareTo(cTableSplit) == 0);
+ assertEquals(0, aTableSplit.compareTo(aTableSplit));
+ assertEquals(0, bTableSplit.compareTo(bTableSplit));
+ assertEquals(0, cTableSplit.compareTo(cTableSplit));
assertTrue(aTableSplit.compareTo(bTableSplit) < 0);
assertTrue(bTableSplit.compareTo(aTableSplit) > 0);
http://git-wip-us.apache.org/repos/asf/hbase/blob/110f2db7/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTsv.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTsv.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTsv.java
index 83de8f9..743d859 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTsv.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTsv.java
@@ -23,6 +23,7 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.io.IOException;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -436,7 +437,7 @@ public class TestImportTsv implements Configurable {
// run the import
Tool tool = new ImportTsv();
- LOG.debug("Running ImportTsv with arguments: " + argsArray);
+ LOG.debug("Running ImportTsv with arguments: " + Arrays.toString(argsArray));
assertEquals(0, ToolRunner.run(conf, tool, argsArray));
// Perform basic validation. If the input args did not include
http://git-wip-us.apache.org/repos/asf/hbase/blob/110f2db7/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TsvImporterCustomTestMapperForOprAttr.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TsvImporterCustomTestMapperForOprAttr.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TsvImporterCustomTestMapperForOprAttr.java
index 9d8b8f0..4050862 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TsvImporterCustomTestMapperForOprAttr.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TsvImporterCustomTestMapperForOprAttr.java
@@ -18,6 +18,7 @@
package org.apache.hadoop.hbase.mapreduce;
import java.io.IOException;
+import java.util.Arrays;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.client.Put;
@@ -44,10 +45,10 @@ public class TsvImporterCustomTestMapperForOprAttr extends TsvImporterMapper {
for (String attr : attributes) {
String[] split = attr.split(ImportTsv.DEFAULT_ATTRIBUTES_SEPERATOR);
if (split == null || split.length <= 1) {
- throw new BadTsvLineException("Invalid attributes seperator specified" + attributes);
+ throw new BadTsvLineException(msg(attributes));
} else {
if (split[0].length() <= 0 || split[1].length() <= 0) {
- throw new BadTsvLineException("Invalid attributes seperator specified" + attributes);
+ throw new BadTsvLineException(msg(attributes));
}
put.setAttribute(split[0], Bytes.toBytes(split[1]));
}
@@ -55,4 +56,8 @@ public class TsvImporterCustomTestMapperForOprAttr extends TsvImporterMapper {
}
put.add(kv);
}
+
+ private String msg(Object[] attributes) {
+ return "Invalid attributes separator specified: " + Arrays.toString(attributes);
+ }
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/110f2db7/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMajorCompaction.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMajorCompaction.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMajorCompaction.java
index 3edf7c7..e838b4c 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMajorCompaction.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMajorCompaction.java
@@ -443,6 +443,7 @@ public class TestMajorCompaction {
* basically works.
* @throws IOException
*/
+ @Test
public void testMajorCompactingToNoOutputWithReverseScan() throws IOException {
createStoreFile(r);
for (int i = 0; i < compactionThreshold; i++) {