HBASE-19821 TestCleanerChore#testOnConfigurationChange() requires at least 4 
processors to get passed

Signed-off-by: tedyu <yuzhih...@gmail.com>


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

Branch: refs/heads/HBASE-19064
Commit: b3eff314323d89dcce0ffe94875213a4679913cd
Parents: 09ffbb5
Author: lixiang <lixi...@freewheel.tv>
Authored: Thu Jan 18 04:41:05 2018 +0000
Committer: tedyu <yuzhih...@gmail.com>
Committed: Thu Jan 18 11:20:29 2018 -0800

----------------------------------------------------------------------
 .../hbase/master/cleaner/TestCleanerChore.java       | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/b3eff314/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestCleanerChore.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestCleanerChore.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestCleanerChore.java
index 7b49848..3db22e4 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestCleanerChore.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestCleanerChore.java
@@ -356,13 +356,22 @@ public class TestCleanerChore {
 
   @Test
   public void testOnConfigurationChange() throws Exception {
+    int availableProcessorNum = Runtime.getRuntime().availableProcessors();
+    if (availableProcessorNum == 1) { // no need to run this test
+      return;
+    }
+
+    // have at least 2 available processors/cores
+    int    initPoolSize = availableProcessorNum / 2;
+    int changedPoolSize = availableProcessorNum;
+
     Stoppable stop = new StoppableImplementation();
     Configuration conf = UTIL.getConfiguration();
     Path testDir = UTIL.getDataTestDir();
     FileSystem fs = UTIL.getTestFileSystem();
     String confKey = "hbase.test.cleaner.delegates";
     conf.set(confKey, AlwaysDelete.class.getName());
-    conf.set(CleanerChore.CHORE_POOL_SIZE, "2");
+    conf.set(CleanerChore.CHORE_POOL_SIZE, String.valueOf(initPoolSize));
     AllValidPaths chore = new AllValidPaths("test-file-cleaner", stop, conf, 
fs, testDir, confKey);
     chore.setEnabled(true);
     // Create subdirs under testDir
@@ -381,9 +390,9 @@ public class TestCleanerChore {
     t.setDaemon(true);
     t.start();
     // Change size of chore's pool
-    conf.set(CleanerChore.CHORE_POOL_SIZE, "4");
+    conf.set(CleanerChore.CHORE_POOL_SIZE, String.valueOf(changedPoolSize));
     chore.onConfigurationChange(conf);
-    assertEquals(4, chore.getChorePoolSize());
+    assertEquals(changedPoolSize, chore.getChorePoolSize());
     // Stop chore
     t.join();
   }

Reply via email to