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(); }