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/09/14 21:39:10 UTC

[1/2] hbase git commit: Amend HBASE-18813 TestCanaryTool fails on branch-1 / branch-1.4

Repository: hbase
Updated Branches:
  refs/heads/branch-1 91422357f -> aa7c93c65
  refs/heads/branch-1.4 2f6205753 -> ae5da908b


Amend HBASE-18813 TestCanaryTool fails on branch-1 / branch-1.4

Skip tests where mocking with custom matchers fails unexpectedly on
older JREs.


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

Branch: refs/heads/branch-1
Commit: aa7c93c6597f378fe4bed1ec7f9094ac9f4aa356
Parents: 9142235
Author: Andrew Purtell <ap...@apache.org>
Authored: Thu Sep 14 14:33:26 2017 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Thu Sep 14 14:38:56 2017 -0700

----------------------------------------------------------------------
 .../org/apache/hadoop/hbase/tool/TestCanaryTool.java   | 13 +++++++++++++
 1 file changed, 13 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/aa7c93c6/hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestCanaryTool.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestCanaryTool.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestCanaryTool.java
index f186281..3e714b0 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestCanaryTool.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestCanaryTool.java
@@ -120,6 +120,7 @@ public class TestCanaryTool {
 
   @Test
   public void testReadTableTimeouts() throws Exception {
+    if (skipOldJREs()) return;
     final TableName [] tableNames = new TableName[2];
     tableNames[0] = TableName.valueOf("testReadTableTimeouts1");
     tableNames[1] = TableName.valueOf("testReadTableTimeouts2");
@@ -163,6 +164,7 @@ public class TestCanaryTool {
 
   @Test
   public void testWriteTableTimeout() throws Exception {
+    if (skipOldJREs()) return;
     ExecutorService executor = new ScheduledThreadPoolExecutor(1);
     Canary.RegionStdOutSink sink = spy(new Canary.RegionStdOutSink());
     Canary canary = new Canary(executor, sink);
@@ -181,6 +183,7 @@ public class TestCanaryTool {
   //no table created, so there should be no regions
   @Test
   public void testRegionserverNoRegions() throws Exception {
+    if (skipOldJREs()) return;
     runRegionserverCanary();
     verify(mockAppender).doAppend(argThat(new ArgumentMatcher<LoggingEvent>() {
       @Override
@@ -193,6 +196,7 @@ public class TestCanaryTool {
   //by creating a table, there shouldn't be any region servers not serving any regions
   @Test
   public void testRegionserverWithRegions() throws Exception {
+    if (skipOldJREs()) return;
     TableName tableName = TableName.valueOf("testTable");
     testingUtility.createTable(tableName, new byte[][] { FAMILY });
     runRegionserverCanary();
@@ -227,6 +231,15 @@ public class TestCanaryTool {
     assertEquals("verify no read error count", 0, canary.getReadFailures().size());
   }
 
+  // We have unexpected trouble asserting with custom matchers using Mockito on Java < 8,
+  // so skip the relevant tests if running on an older JRE.
+  private static boolean skipOldJREs() {
+    String specVersion[] = System.getProperty("java.specification.version").split("\\.");
+    int majorVersion = Integer.valueOf(specVersion[0]);
+    int minorVersion = Integer.valueOf(specVersion[1]);
+    return !(majorVersion > 1 || (majorVersion == 1 && minorVersion > 7));
+  }
+
   private void runRegionserverCanary() throws Exception {
     ExecutorService executor = new ScheduledThreadPoolExecutor(1);
     Canary canary = new Canary(executor, new Canary.RegionServerStdOutSink());


[2/2] hbase git commit: Amend HBASE-18813 TestCanaryTool fails on branch-1 / branch-1.4

Posted by ap...@apache.org.
Amend HBASE-18813 TestCanaryTool fails on branch-1 / branch-1.4

Skip tests where mocking with custom matchers fails unexpectedly on
older JREs.


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

Branch: refs/heads/branch-1.4
Commit: ae5da908bd8eb6cb6db6517dbdbe46aff6b9d933
Parents: 2f62057
Author: Andrew Purtell <ap...@apache.org>
Authored: Thu Sep 14 14:33:26 2017 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Thu Sep 14 14:39:01 2017 -0700

----------------------------------------------------------------------
 .../org/apache/hadoop/hbase/tool/TestCanaryTool.java   | 13 +++++++++++++
 1 file changed, 13 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/ae5da908/hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestCanaryTool.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestCanaryTool.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestCanaryTool.java
index f186281..3e714b0 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestCanaryTool.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestCanaryTool.java
@@ -120,6 +120,7 @@ public class TestCanaryTool {
 
   @Test
   public void testReadTableTimeouts() throws Exception {
+    if (skipOldJREs()) return;
     final TableName [] tableNames = new TableName[2];
     tableNames[0] = TableName.valueOf("testReadTableTimeouts1");
     tableNames[1] = TableName.valueOf("testReadTableTimeouts2");
@@ -163,6 +164,7 @@ public class TestCanaryTool {
 
   @Test
   public void testWriteTableTimeout() throws Exception {
+    if (skipOldJREs()) return;
     ExecutorService executor = new ScheduledThreadPoolExecutor(1);
     Canary.RegionStdOutSink sink = spy(new Canary.RegionStdOutSink());
     Canary canary = new Canary(executor, sink);
@@ -181,6 +183,7 @@ public class TestCanaryTool {
   //no table created, so there should be no regions
   @Test
   public void testRegionserverNoRegions() throws Exception {
+    if (skipOldJREs()) return;
     runRegionserverCanary();
     verify(mockAppender).doAppend(argThat(new ArgumentMatcher<LoggingEvent>() {
       @Override
@@ -193,6 +196,7 @@ public class TestCanaryTool {
   //by creating a table, there shouldn't be any region servers not serving any regions
   @Test
   public void testRegionserverWithRegions() throws Exception {
+    if (skipOldJREs()) return;
     TableName tableName = TableName.valueOf("testTable");
     testingUtility.createTable(tableName, new byte[][] { FAMILY });
     runRegionserverCanary();
@@ -227,6 +231,15 @@ public class TestCanaryTool {
     assertEquals("verify no read error count", 0, canary.getReadFailures().size());
   }
 
+  // We have unexpected trouble asserting with custom matchers using Mockito on Java < 8,
+  // so skip the relevant tests if running on an older JRE.
+  private static boolean skipOldJREs() {
+    String specVersion[] = System.getProperty("java.specification.version").split("\\.");
+    int majorVersion = Integer.valueOf(specVersion[0]);
+    int minorVersion = Integer.valueOf(specVersion[1]);
+    return !(majorVersion > 1 || (majorVersion == 1 && minorVersion > 7));
+  }
+
   private void runRegionserverCanary() throws Exception {
     ExecutorService executor = new ScheduledThreadPoolExecutor(1);
     Canary canary = new Canary(executor, new Canary.RegionServerStdOutSink());