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/14 02:42:18 UTC
[1/2] hbase git commit: HBASE-19240 more error-prone results
Repository: hbase
Updated Branches:
refs/heads/branch-1 96b86b71d -> dbcda15ae
refs/heads/branch-1.4 4a3183dc9 -> 626d74f79
HBASE-19240 more error-prone results
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/dbcda15a
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/dbcda15a
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/dbcda15a
Branch: refs/heads/branch-1
Commit: dbcda15ae71ddcec1e380ed88d1307e12d2da055
Parents: 96b86b7
Author: Mike Drob <md...@apache.org>
Authored: Fri Nov 10 16:32:25 2017 -0600
Committer: Andrew Purtell <ap...@apache.org>
Committed: Mon Nov 13 18:23:10 2017 -0800
----------------------------------------------------------------------
.../hbase/ipc/IntegrationTestRpcClient.java | 10 +++----
.../hbase/rest/model/TestVersionModel.java | 5 ++++
.../hadoop/hbase/client/TestFromClientSide.java | 8 ++---
...erverForAddingMutationsFromCoprocessors.java | 2 +-
.../hbase/master/TestRegionPlacement.java | 3 +-
.../normalizer/TestSimpleRegionNormalizer.java | 6 +++-
.../TestEndToEndSplitTransaction.java | 4 +--
.../hbase/regionserver/TestHRegionInfo.java | 1 +
.../hbase/regionserver/TestKeepDeletes.java | 1 +
.../regionserver/TestMemStoreChunkPool.java | 4 +--
.../regionserver/TestServerNonceManager.java | 2 +-
.../TestStoreFileRefresherChore.java | 31 +++++++++++---------
.../replication/TestReplicationEndpoint.java | 2 +-
.../security/access/TestTablePermissions.java | 4 +--
.../hbase/util/MultiThreadedUpdaterWithACL.java | 8 ++---
15 files changed, 52 insertions(+), 39 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/dbcda15a/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java
----------------------------------------------------------------------
diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java
index f41efc7..5b823b7 100644
--- a/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java
+++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java
@@ -219,24 +219,22 @@ public class IntegrationTestRpcClient {
@Override
public void run() {
while (running.get()) {
- switch (random.nextInt() % 2) {
- case 0: //start a server
+ if (random.nextBoolean()) {
+ //start a server
try {
cluster.startServer();
} catch (Exception e) {
LOG.warn(e);
exception.compareAndSet(null, e);
}
- break;
-
- case 1: // stop a server
+ } else {
+ // stop a server
try {
cluster.stopRandomServer();
} catch (Exception e) {
LOG.warn(e);
exception.compareAndSet(null, e);
}
- default:
}
Threads.sleep(100);
http://git-wip-us.apache.org/repos/asf/hbase/blob/dbcda15a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/model/TestVersionModel.java
----------------------------------------------------------------------
diff --git a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/model/TestVersionModel.java b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/model/TestVersionModel.java
index 4a9ceaf..154afe1 100644
--- a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/model/TestVersionModel.java
+++ b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/model/TestVersionModel.java
@@ -21,7 +21,12 @@ package org.apache.hadoop.hbase.rest.model;
import org.apache.hadoop.hbase.testclassification.SmallTests;
+import org.junit.Assume;
+import org.junit.Test;
import org.junit.experimental.categories.Category;
+import org.mockito.Mockito;
+
+import javax.servlet.ServletContext;
@Category(SmallTests.class)
public class TestVersionModel extends TestModelBase<VersionModel> {
http://git-wip-us.apache.org/repos/asf/hbase/blob/dbcda15a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
index de6ecab..6f73409 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
@@ -4767,8 +4767,8 @@ public class TestFromClientSide {
NavigableMap<Long, byte[]> navigableMap = result.getMap().get(FAMILY)
.get(QUALIFIER);
- assertEquals("The number of versions of '" + FAMILY + ":" + QUALIFIER
- + " did not match " + versions, versions, navigableMap.size());
+ assertEquals("The number of versions of '" + Bytes.toString(FAMILY) + ":"
+ + Bytes.toString(QUALIFIER) + " did not match", versions, navigableMap.size());
for (Map.Entry<Long, byte[]> entry : navigableMap.entrySet()) {
assertTrue("The value at time " + entry.getKey()
+ " did not match what was put",
@@ -4804,8 +4804,8 @@ public class TestFromClientSide {
NavigableMap<Long, byte[]> navigableMap = result.getMap().get(FAMILY)
.get(QUALIFIER);
- assertEquals("The number of versions of '" + FAMILY + ":" + QUALIFIER + " did not match " +
- versions + "; " + put.toString() + ", " + get.toString(), versions, navigableMap.size());
+ assertEquals("The number of versions of '" + Bytes.toString(FAMILY) + ":"
+ + Bytes.toString(QUALIFIER) + " did not match", versions, navigableMap.size());
for (Map.Entry<Long, byte[]> entry : navigableMap.entrySet()) {
assertTrue("The value at time " + entry.getKey()
+ " did not match what was put",
http://git-wip-us.apache.org/repos/asf/hbase/blob/dbcda15a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverForAddingMutationsFromCoprocessors.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverForAddingMutationsFromCoprocessors.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverForAddingMutationsFromCoprocessors.java
index 0663b0b..3d34503 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverForAddingMutationsFromCoprocessors.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverForAddingMutationsFromCoprocessors.java
@@ -206,7 +206,7 @@ public class TestRegionObserverForAddingMutationsFromCoprocessors {
new Put(row2).addColumn(test, dummy, cells.get(0).getTimestamp(), dummy),
new Put(row3).addColumn(test, dummy, cells.get(0).getTimestamp(), dummy),
};
- LOG.info("Putting:" + puts);
+ LOG.info("Putting:" + Arrays.toString(puts));
miniBatchOp.addOperationsFromCP(0, puts);
}
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/dbcda15a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRegionPlacement.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRegionPlacement.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRegionPlacement.java
index a2cb354..a065872 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRegionPlacement.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRegionPlacement.java
@@ -421,7 +421,8 @@ public class TestRegionPlacement {
for (Region region: rs.getOnlineRegions(TableName.valueOf("testRegionAssignment"))) {
InetSocketAddress[] favoredSocketAddress = rs.getFavoredNodesForRegion(
region.getRegionInfo().getEncodedName());
- List<ServerName> favoredServerList = plan.getAssignmentMap().get(region.getRegionInfo());
+ String regionName = region.getRegionInfo().getRegionNameAsString();
+ List<ServerName> favoredServerList = plan.getAssignmentMap().get(regionName);
// All regions are supposed to have favored nodes,
// except for hbase:meta and ROOT
http://git-wip-us.apache.org/repos/asf/hbase/blob/dbcda15a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.java
index 81ecdcb..1e29514 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.java
@@ -263,6 +263,7 @@ public class TestSimpleRegionNormalizer {
assertEquals(hri4, ((SplitNormalizationPlan) plan).getRegionInfo());
}
+ @SuppressWarnings("MockitoCast")
protected void setupMocksForNormalizer(Map<byte[], Integer> regionSizes,
List<HRegionInfo> hris) {
masterServices = Mockito.mock(MasterServices.class, RETURNS_DEEP_STUBS);
@@ -280,7 +281,10 @@ public class TestSimpleRegionNormalizer {
when(regionLoad.getName()).thenReturn(region.getKey());
when(regionLoad.getStorefileSizeMB()).thenReturn(region.getValue());
- when(masterServices.getServerManager().getLoad(sn).
+ // this is possibly broken with jdk9, unclear if false positive or not
+ // suppress it for now, fix it when we get to running tests on 9
+ // see: http://errorprone.info/bugpattern/MockitoCast
+ when((Object) masterServices.getServerManager().getLoad(sn).
getRegionsLoad().get(region.getKey())).thenReturn(regionLoad);
}
try {
http://git-wip-us.apache.org/repos/asf/hbase/blob/dbcda15a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java
index 14fdd5d..b133224 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java
@@ -535,8 +535,8 @@ public class TestEndToEndSplitTransaction {
}
if (daughterA == null || daughterB == null) {
throw new IOException("Failed to get daughters, daughterA=" + daughterA + ", daughterB=" +
- daughterB + ", timeout=" + timeout + ", result=" + result + ", regionName=" + regionName +
- ", region=" + region);
+ daughterB + ", timeout=" + timeout + ", result=" + result + ", regionName=" +
+ Bytes.toString(regionName) + ", region=" + region);
}
//if we are here, this means the region split is complete or timed out
http://git-wip-us.apache.org/repos/asf/hbase/blob/dbcda15a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java
index 7d1595e..f9013b7 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java
@@ -152,6 +152,7 @@ public class TestHRegionInfo {
assertTrue(HRegionInfo.FIRST_META_REGIONINFO.isMetaTable());
}
+ @SuppressWarnings("SelfComparison")
@Test
public void testComparator() {
TableName tablename = TableName.valueOf("comparatorTablename");
http://git-wip-us.apache.org/repos/asf/hbase/blob/dbcda15a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeepDeletes.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeepDeletes.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeepDeletes.java
index 0af913f..41b6ee3 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeepDeletes.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeepDeletes.java
@@ -762,6 +762,7 @@ public class TestKeepDeletes {
/**
* Verify scenarios with multiple CFs and columns
*/
+ @Test
public void testWithMixedCFs() throws Exception {
HTableDescriptor htd = hbu.createTableDescriptor(name.getMethodName(), 0, 1,
HConstants.FOREVER, KeepDeletedCells.TRUE);
http://git-wip-us.apache.org/repos/asf/hbase/blob/dbcda15a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java
index f0262ed..d1ad68c 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java
@@ -30,8 +30,8 @@ import org.apache.hadoop.hbase.exceptions.UnexpectedStateException;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.ByteRange;
import org.apache.hadoop.hbase.util.Bytes;
+import org.junit.After;
import org.junit.AfterClass;
-import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.experimental.categories.Category;
@@ -60,7 +60,7 @@ public class TestMemStoreChunkPool {
MemStoreChunkPool.chunkPoolDisabled = chunkPoolDisabledBeforeTest;
}
- @Before
+ @After
public void tearDown() throws Exception {
chunkPool.clearChunks();
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/dbcda15a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java
index 6bf1721..15bebe6 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java
@@ -100,7 +100,7 @@ public class TestServerNonceManager {
ServerNonceManager nm = createManager();
try {
nm.endOperation(NO_NONCE, 1, true);
- fail("Should have thrown");
+ throw new Error("Should have thrown");
} catch (AssertionError err) {}
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/dbcda15a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.java
index 455be4a..99f7a9f 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.java
@@ -20,6 +20,7 @@ package org.apache.hadoop.hbase.regionserver;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -49,7 +50,6 @@ import org.apache.hadoop.hbase.wal.WALFactory;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.FSUtils;
import org.apache.hadoop.hbase.util.StoppableImplementation;
-import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.experimental.categories.Category;
@@ -126,6 +126,19 @@ public class TestStoreFileRefresherChore {
}
}
+ private void verifyDataExpectFail(Region newReg, int startRow, int numRows, byte[] qf,
+ byte[]... families) throws IOException {
+ boolean threw = false;
+ try {
+ verifyData(newReg, startRow, numRows, qf, families);
+ } catch (AssertionError e) {
+ threw = true;
+ }
+ if (!threw) {
+ fail("Expected data verification to fail");
+ }
+ }
+
private void verifyData(Region newReg, int startRow, int numRows, byte[] qf, byte[]... families)
throws IOException {
for (int i = startRow; i < startRow + numRows; i++) {
@@ -183,12 +196,7 @@ public class TestStoreFileRefresherChore {
primary.flush(true);
verifyData(primary, 0, 100, qf, families);
- try {
- verifyData(replica1, 0, 100, qf, families);
- Assert.fail("should have failed");
- } catch(AssertionError ex) {
- // expected
- }
+ verifyDataExpectFail(replica1, 0, 100, qf, families);
chore.chore();
verifyData(replica1, 0, 100, qf, families);
@@ -203,18 +211,13 @@ public class TestStoreFileRefresherChore {
chore.chore(); // should not throw ex, but we cannot refresh the store files
verifyData(replica1, 0, 100, qf, families);
- try {
- verifyData(replica1, 100, 100, qf, families);
- Assert.fail("should have failed");
- } catch(AssertionError ex) {
- // expected
- }
+ verifyDataExpectFail(replica1, 100, 100, qf, families);
chore.isStale = true;
chore.chore(); //now after this, we cannot read back any value
try {
verifyData(replica1, 0, 100, qf, families);
- Assert.fail("should have failed with IOException");
+ fail("should have failed with IOException");
} catch(IOException ex) {
// expected
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/dbcda15a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationEndpoint.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationEndpoint.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationEndpoint.java
index 7128adc..277d876 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationEndpoint.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationEndpoint.java
@@ -473,7 +473,7 @@ public class TestReplicationEndpoint extends TestReplicationBase {
}
super.replicate(replicateContext);
- LOG.info("Replicated " + row + ", count=" + replicateCount.get());
+ LOG.info("Replicated " + Bytes.toString(row) + ", count=" + replicateCount.get());
replicated.set(replicateCount.get() > COUNT); // first 10 times, we return false
return replicated.get();
http://git-wip-us.apache.org/repos/asf/hbase/blob/dbcda15a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestTablePermissions.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestTablePermissions.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestTablePermissions.java
index ba586f5..f8fad9f 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestTablePermissions.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestTablePermissions.java
@@ -233,9 +233,9 @@ public class TestTablePermissions {
permission = userPerms.get(0);
assertEquals("Permission should be for " + TEST_TABLE,
TEST_TABLE, permission.getTableName());
- assertTrue("Permission should be for family " + TEST_FAMILY,
+ assertTrue("Permission should be for family " + Bytes.toString(TEST_FAMILY),
Bytes.equals(TEST_FAMILY, permission.getFamily()));
- assertTrue("Permission should be for qualifier " + TEST_QUALIFIER,
+ assertTrue("Permission should be for qualifier " + Bytes.toString(TEST_QUALIFIER),
Bytes.equals(TEST_QUALIFIER, permission.getQualifier()));
// check actions
http://git-wip-us.apache.org/repos/asf/hbase/blob/dbcda15a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedUpdaterWithACL.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedUpdaterWithACL.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedUpdaterWithACL.java
index 30d425c..5554f59 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedUpdaterWithACL.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedUpdaterWithACL.java
@@ -126,8 +126,8 @@ public class MultiThreadedUpdaterWithACL extends MultiThreadedUpdater {
res = localTable.get(get);
}
} catch (IOException ie) {
- LOG.warn("Failed to get the row for key = [" + get.getRow() + "], column family = ["
- + Bytes.toString(cf) + "]", ie);
+ LOG.warn("Failed to get the row for key = [" + Bytes.toString(get.getRow()) +
+ "], column family = [" + Bytes.toString(cf) + "]", ie);
}
return res;
}
@@ -152,8 +152,8 @@ public class MultiThreadedUpdaterWithACL extends MultiThreadedUpdater {
Result result = (Result) user.runAs(action);
return result;
} catch (Exception ie) {
- LOG.warn("Failed to get the row for key = [" + get.getRow() + "], column family = ["
- + Bytes.toString(cf) + "]", ie);
+ LOG.warn("Failed to get the row for key = [" + Bytes.toString(get.getRow()) +
+ "], column family = [" + Bytes.toString(cf) + "]", ie);
}
}
// This means that no users were present
[2/2] hbase git commit: HBASE-19240 more error-prone results
Posted by ap...@apache.org.
HBASE-19240 more error-prone results
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/626d74f7
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/626d74f7
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/626d74f7
Branch: refs/heads/branch-1.4
Commit: 626d74f79a3d663850ab9c75f5bb0621bb82483d
Parents: 4a3183d
Author: Mike Drob <md...@apache.org>
Authored: Fri Nov 10 16:32:25 2017 -0600
Committer: Andrew Purtell <ap...@apache.org>
Committed: Mon Nov 13 18:23:20 2017 -0800
----------------------------------------------------------------------
.../hbase/ipc/IntegrationTestRpcClient.java | 10 +++----
.../hbase/rest/model/TestVersionModel.java | 5 ++++
.../hadoop/hbase/client/TestFromClientSide.java | 8 ++---
...erverForAddingMutationsFromCoprocessors.java | 2 +-
.../hbase/master/TestRegionPlacement.java | 3 +-
.../normalizer/TestSimpleRegionNormalizer.java | 6 +++-
.../TestEndToEndSplitTransaction.java | 4 +--
.../hbase/regionserver/TestHRegionInfo.java | 1 +
.../hbase/regionserver/TestKeepDeletes.java | 1 +
.../regionserver/TestMemStoreChunkPool.java | 4 +--
.../regionserver/TestServerNonceManager.java | 2 +-
.../TestStoreFileRefresherChore.java | 31 +++++++++++---------
.../replication/TestReplicationEndpoint.java | 2 +-
.../security/access/TestTablePermissions.java | 4 +--
.../hbase/util/MultiThreadedUpdaterWithACL.java | 8 ++---
15 files changed, 52 insertions(+), 39 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/626d74f7/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java
----------------------------------------------------------------------
diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java
index f41efc7..5b823b7 100644
--- a/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java
+++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java
@@ -219,24 +219,22 @@ public class IntegrationTestRpcClient {
@Override
public void run() {
while (running.get()) {
- switch (random.nextInt() % 2) {
- case 0: //start a server
+ if (random.nextBoolean()) {
+ //start a server
try {
cluster.startServer();
} catch (Exception e) {
LOG.warn(e);
exception.compareAndSet(null, e);
}
- break;
-
- case 1: // stop a server
+ } else {
+ // stop a server
try {
cluster.stopRandomServer();
} catch (Exception e) {
LOG.warn(e);
exception.compareAndSet(null, e);
}
- default:
}
Threads.sleep(100);
http://git-wip-us.apache.org/repos/asf/hbase/blob/626d74f7/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/model/TestVersionModel.java
----------------------------------------------------------------------
diff --git a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/model/TestVersionModel.java b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/model/TestVersionModel.java
index 4a9ceaf..154afe1 100644
--- a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/model/TestVersionModel.java
+++ b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/model/TestVersionModel.java
@@ -21,7 +21,12 @@ package org.apache.hadoop.hbase.rest.model;
import org.apache.hadoop.hbase.testclassification.SmallTests;
+import org.junit.Assume;
+import org.junit.Test;
import org.junit.experimental.categories.Category;
+import org.mockito.Mockito;
+
+import javax.servlet.ServletContext;
@Category(SmallTests.class)
public class TestVersionModel extends TestModelBase<VersionModel> {
http://git-wip-us.apache.org/repos/asf/hbase/blob/626d74f7/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
index de6ecab..6f73409 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
@@ -4767,8 +4767,8 @@ public class TestFromClientSide {
NavigableMap<Long, byte[]> navigableMap = result.getMap().get(FAMILY)
.get(QUALIFIER);
- assertEquals("The number of versions of '" + FAMILY + ":" + QUALIFIER
- + " did not match " + versions, versions, navigableMap.size());
+ assertEquals("The number of versions of '" + Bytes.toString(FAMILY) + ":"
+ + Bytes.toString(QUALIFIER) + " did not match", versions, navigableMap.size());
for (Map.Entry<Long, byte[]> entry : navigableMap.entrySet()) {
assertTrue("The value at time " + entry.getKey()
+ " did not match what was put",
@@ -4804,8 +4804,8 @@ public class TestFromClientSide {
NavigableMap<Long, byte[]> navigableMap = result.getMap().get(FAMILY)
.get(QUALIFIER);
- assertEquals("The number of versions of '" + FAMILY + ":" + QUALIFIER + " did not match " +
- versions + "; " + put.toString() + ", " + get.toString(), versions, navigableMap.size());
+ assertEquals("The number of versions of '" + Bytes.toString(FAMILY) + ":"
+ + Bytes.toString(QUALIFIER) + " did not match", versions, navigableMap.size());
for (Map.Entry<Long, byte[]> entry : navigableMap.entrySet()) {
assertTrue("The value at time " + entry.getKey()
+ " did not match what was put",
http://git-wip-us.apache.org/repos/asf/hbase/blob/626d74f7/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverForAddingMutationsFromCoprocessors.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverForAddingMutationsFromCoprocessors.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverForAddingMutationsFromCoprocessors.java
index 0663b0b..3d34503 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverForAddingMutationsFromCoprocessors.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverForAddingMutationsFromCoprocessors.java
@@ -206,7 +206,7 @@ public class TestRegionObserverForAddingMutationsFromCoprocessors {
new Put(row2).addColumn(test, dummy, cells.get(0).getTimestamp(), dummy),
new Put(row3).addColumn(test, dummy, cells.get(0).getTimestamp(), dummy),
};
- LOG.info("Putting:" + puts);
+ LOG.info("Putting:" + Arrays.toString(puts));
miniBatchOp.addOperationsFromCP(0, puts);
}
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/626d74f7/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRegionPlacement.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRegionPlacement.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRegionPlacement.java
index a2cb354..a065872 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRegionPlacement.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRegionPlacement.java
@@ -421,7 +421,8 @@ public class TestRegionPlacement {
for (Region region: rs.getOnlineRegions(TableName.valueOf("testRegionAssignment"))) {
InetSocketAddress[] favoredSocketAddress = rs.getFavoredNodesForRegion(
region.getRegionInfo().getEncodedName());
- List<ServerName> favoredServerList = plan.getAssignmentMap().get(region.getRegionInfo());
+ String regionName = region.getRegionInfo().getRegionNameAsString();
+ List<ServerName> favoredServerList = plan.getAssignmentMap().get(regionName);
// All regions are supposed to have favored nodes,
// except for hbase:meta and ROOT
http://git-wip-us.apache.org/repos/asf/hbase/blob/626d74f7/hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.java
index 81ecdcb..1e29514 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.java
@@ -263,6 +263,7 @@ public class TestSimpleRegionNormalizer {
assertEquals(hri4, ((SplitNormalizationPlan) plan).getRegionInfo());
}
+ @SuppressWarnings("MockitoCast")
protected void setupMocksForNormalizer(Map<byte[], Integer> regionSizes,
List<HRegionInfo> hris) {
masterServices = Mockito.mock(MasterServices.class, RETURNS_DEEP_STUBS);
@@ -280,7 +281,10 @@ public class TestSimpleRegionNormalizer {
when(regionLoad.getName()).thenReturn(region.getKey());
when(regionLoad.getStorefileSizeMB()).thenReturn(region.getValue());
- when(masterServices.getServerManager().getLoad(sn).
+ // this is possibly broken with jdk9, unclear if false positive or not
+ // suppress it for now, fix it when we get to running tests on 9
+ // see: http://errorprone.info/bugpattern/MockitoCast
+ when((Object) masterServices.getServerManager().getLoad(sn).
getRegionsLoad().get(region.getKey())).thenReturn(regionLoad);
}
try {
http://git-wip-us.apache.org/repos/asf/hbase/blob/626d74f7/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java
index 14fdd5d..b133224 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java
@@ -535,8 +535,8 @@ public class TestEndToEndSplitTransaction {
}
if (daughterA == null || daughterB == null) {
throw new IOException("Failed to get daughters, daughterA=" + daughterA + ", daughterB=" +
- daughterB + ", timeout=" + timeout + ", result=" + result + ", regionName=" + regionName +
- ", region=" + region);
+ daughterB + ", timeout=" + timeout + ", result=" + result + ", regionName=" +
+ Bytes.toString(regionName) + ", region=" + region);
}
//if we are here, this means the region split is complete or timed out
http://git-wip-us.apache.org/repos/asf/hbase/blob/626d74f7/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java
index 7d1595e..f9013b7 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java
@@ -152,6 +152,7 @@ public class TestHRegionInfo {
assertTrue(HRegionInfo.FIRST_META_REGIONINFO.isMetaTable());
}
+ @SuppressWarnings("SelfComparison")
@Test
public void testComparator() {
TableName tablename = TableName.valueOf("comparatorTablename");
http://git-wip-us.apache.org/repos/asf/hbase/blob/626d74f7/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeepDeletes.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeepDeletes.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeepDeletes.java
index 0af913f..41b6ee3 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeepDeletes.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeepDeletes.java
@@ -762,6 +762,7 @@ public class TestKeepDeletes {
/**
* Verify scenarios with multiple CFs and columns
*/
+ @Test
public void testWithMixedCFs() throws Exception {
HTableDescriptor htd = hbu.createTableDescriptor(name.getMethodName(), 0, 1,
HConstants.FOREVER, KeepDeletedCells.TRUE);
http://git-wip-us.apache.org/repos/asf/hbase/blob/626d74f7/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java
index f0262ed..d1ad68c 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStoreChunkPool.java
@@ -30,8 +30,8 @@ import org.apache.hadoop.hbase.exceptions.UnexpectedStateException;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.ByteRange;
import org.apache.hadoop.hbase.util.Bytes;
+import org.junit.After;
import org.junit.AfterClass;
-import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.experimental.categories.Category;
@@ -60,7 +60,7 @@ public class TestMemStoreChunkPool {
MemStoreChunkPool.chunkPoolDisabled = chunkPoolDisabledBeforeTest;
}
- @Before
+ @After
public void tearDown() throws Exception {
chunkPool.clearChunks();
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/626d74f7/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java
index 6bf1721..15bebe6 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java
@@ -100,7 +100,7 @@ public class TestServerNonceManager {
ServerNonceManager nm = createManager();
try {
nm.endOperation(NO_NONCE, 1, true);
- fail("Should have thrown");
+ throw new Error("Should have thrown");
} catch (AssertionError err) {}
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/626d74f7/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.java
index 455be4a..99f7a9f 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.java
@@ -20,6 +20,7 @@ package org.apache.hadoop.hbase.regionserver;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -49,7 +50,6 @@ import org.apache.hadoop.hbase.wal.WALFactory;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.FSUtils;
import org.apache.hadoop.hbase.util.StoppableImplementation;
-import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.experimental.categories.Category;
@@ -126,6 +126,19 @@ public class TestStoreFileRefresherChore {
}
}
+ private void verifyDataExpectFail(Region newReg, int startRow, int numRows, byte[] qf,
+ byte[]... families) throws IOException {
+ boolean threw = false;
+ try {
+ verifyData(newReg, startRow, numRows, qf, families);
+ } catch (AssertionError e) {
+ threw = true;
+ }
+ if (!threw) {
+ fail("Expected data verification to fail");
+ }
+ }
+
private void verifyData(Region newReg, int startRow, int numRows, byte[] qf, byte[]... families)
throws IOException {
for (int i = startRow; i < startRow + numRows; i++) {
@@ -183,12 +196,7 @@ public class TestStoreFileRefresherChore {
primary.flush(true);
verifyData(primary, 0, 100, qf, families);
- try {
- verifyData(replica1, 0, 100, qf, families);
- Assert.fail("should have failed");
- } catch(AssertionError ex) {
- // expected
- }
+ verifyDataExpectFail(replica1, 0, 100, qf, families);
chore.chore();
verifyData(replica1, 0, 100, qf, families);
@@ -203,18 +211,13 @@ public class TestStoreFileRefresherChore {
chore.chore(); // should not throw ex, but we cannot refresh the store files
verifyData(replica1, 0, 100, qf, families);
- try {
- verifyData(replica1, 100, 100, qf, families);
- Assert.fail("should have failed");
- } catch(AssertionError ex) {
- // expected
- }
+ verifyDataExpectFail(replica1, 100, 100, qf, families);
chore.isStale = true;
chore.chore(); //now after this, we cannot read back any value
try {
verifyData(replica1, 0, 100, qf, families);
- Assert.fail("should have failed with IOException");
+ fail("should have failed with IOException");
} catch(IOException ex) {
// expected
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/626d74f7/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationEndpoint.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationEndpoint.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationEndpoint.java
index 7128adc..277d876 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationEndpoint.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationEndpoint.java
@@ -473,7 +473,7 @@ public class TestReplicationEndpoint extends TestReplicationBase {
}
super.replicate(replicateContext);
- LOG.info("Replicated " + row + ", count=" + replicateCount.get());
+ LOG.info("Replicated " + Bytes.toString(row) + ", count=" + replicateCount.get());
replicated.set(replicateCount.get() > COUNT); // first 10 times, we return false
return replicated.get();
http://git-wip-us.apache.org/repos/asf/hbase/blob/626d74f7/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestTablePermissions.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestTablePermissions.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestTablePermissions.java
index ba586f5..f8fad9f 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestTablePermissions.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestTablePermissions.java
@@ -233,9 +233,9 @@ public class TestTablePermissions {
permission = userPerms.get(0);
assertEquals("Permission should be for " + TEST_TABLE,
TEST_TABLE, permission.getTableName());
- assertTrue("Permission should be for family " + TEST_FAMILY,
+ assertTrue("Permission should be for family " + Bytes.toString(TEST_FAMILY),
Bytes.equals(TEST_FAMILY, permission.getFamily()));
- assertTrue("Permission should be for qualifier " + TEST_QUALIFIER,
+ assertTrue("Permission should be for qualifier " + Bytes.toString(TEST_QUALIFIER),
Bytes.equals(TEST_QUALIFIER, permission.getQualifier()));
// check actions
http://git-wip-us.apache.org/repos/asf/hbase/blob/626d74f7/hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedUpdaterWithACL.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedUpdaterWithACL.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedUpdaterWithACL.java
index 30d425c..5554f59 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedUpdaterWithACL.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedUpdaterWithACL.java
@@ -126,8 +126,8 @@ public class MultiThreadedUpdaterWithACL extends MultiThreadedUpdater {
res = localTable.get(get);
}
} catch (IOException ie) {
- LOG.warn("Failed to get the row for key = [" + get.getRow() + "], column family = ["
- + Bytes.toString(cf) + "]", ie);
+ LOG.warn("Failed to get the row for key = [" + Bytes.toString(get.getRow()) +
+ "], column family = [" + Bytes.toString(cf) + "]", ie);
}
return res;
}
@@ -152,8 +152,8 @@ public class MultiThreadedUpdaterWithACL extends MultiThreadedUpdater {
Result result = (Result) user.runAs(action);
return result;
} catch (Exception ie) {
- LOG.warn("Failed to get the row for key = [" + get.getRow() + "], column family = ["
- + Bytes.toString(cf) + "]", ie);
+ LOG.warn("Failed to get the row for key = [" + Bytes.toString(get.getRow()) +
+ "], column family = [" + Bytes.toString(cf) + "]", ie);
}
}
// This means that no users were present