diff --git itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/MetastoreHousekeepingLeaderTestBase.java itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/MetastoreHousekeepingLeaderTestBase.java index a39a9c8e04..46a767a39d 100644 --- itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/MetastoreHousekeepingLeaderTestBase.java +++ itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/MetastoreHousekeepingLeaderTestBase.java @@ -51,11 +51,11 @@ private static final long SLEEP_INTERVAL_FOR_THREADS_TO_START = 10000; // Threads using ThreadPool will start after the configured interval. So, start them some time // before we check the existence of threads. - private static final long REMOTE_TASKS_INTERVAL = SLEEP_INTERVAL_FOR_THREADS_TO_START - 3000; + private static final long REMOTE_TASKS_INTERVAL = SLEEP_INTERVAL_FOR_THREADS_TO_START - 8000; static final String METASTORE_THREAD_TASK_FREQ_CONF = "metastore.leader.test.task.freq"; static Map threadNames = new HashMap<>(); - static Map threadClasses = new HashMap<>(); + static Map, Boolean> threadClasses = new HashMap<>(); void internalSetup(final String leaderHostName) throws Exception { MetaStoreTestUtils.setConfForStandloneMode(conf); @@ -136,7 +136,7 @@ private long addRemoteOnlyTasksConfigs() { return 2; } - private long addAlwaysTasksConfigs() throws Exception { + private long addAlwaysTasksConfigs() { String alwaysTaskClassPaths = MetastoreTaskThreadAlwaysTestImpl.class.getCanonicalName(); MetastoreConf.setVar(conf, ConfVars.TASK_THREADS_ALWAYS, alwaysTaskClassPaths); threadNames.put(MetastoreTaskThreadAlwaysTestImpl.TASK_NAME, false); @@ -159,7 +159,7 @@ void searchHousekeepingThreads() throws Exception { // Client has been created so the metastore has started serving. Sleep for few seconds for // the housekeeping threads to start. Thread.sleep(SLEEP_INTERVAL_FOR_THREADS_TO_START); - + LOG.info("Slept for {} ms", SLEEP_INTERVAL_FOR_THREADS_TO_START); LOG.info(getAllThreadsAsString()); // Check if all the housekeeping threads have been started. diff --git itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/MetastoreTaskThreadAlwaysTestImpl.java itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/MetastoreTaskThreadAlwaysTestImpl.java index 4cd2c58896..1c5753ea49 100644 --- itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/MetastoreTaskThreadAlwaysTestImpl.java +++ itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/MetastoreTaskThreadAlwaysTestImpl.java @@ -52,7 +52,7 @@ public void run() { LOG.info("Name of thread " + Thread.currentThread().getName() + " changed to " + TASK_NAME); Thread.currentThread().setName(TASK_NAME); try { - Thread.sleep(runFrequency(TimeUnit.MILLISECONDS)); + Thread.sleep(runFrequency(TimeUnit.MILLISECONDS) * 10); } catch (InterruptedException ie) { LOG.error("Task " + TASK_NAME + " interrupted: " + ie.getMessage(), ie); } diff --git itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/RemoteMetastoreTaskThreadTestImpl1.java itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/RemoteMetastoreTaskThreadTestImpl1.java index c590b6aad5..75b2fb30c2 100644 --- itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/RemoteMetastoreTaskThreadTestImpl1.java +++ itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/RemoteMetastoreTaskThreadTestImpl1.java @@ -52,7 +52,7 @@ public void run() { LOG.info("Name of thread " + Thread.currentThread().getName() + " changed to " + TASK_NAME); Thread.currentThread().setName(TASK_NAME); try { - Thread.sleep(runFrequency(TimeUnit.MILLISECONDS)); + Thread.sleep(runFrequency(TimeUnit.MILLISECONDS) * 10); } catch (InterruptedException ie) { LOG.error("Task " + TASK_NAME + " interrupted: " + ie.getMessage(), ie); } diff --git itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/RemoteMetastoreTaskThreadTestImpl2.java itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/RemoteMetastoreTaskThreadTestImpl2.java index 5b50f66c51..82acba24f4 100644 --- itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/RemoteMetastoreTaskThreadTestImpl2.java +++ itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/RemoteMetastoreTaskThreadTestImpl2.java @@ -52,7 +52,7 @@ public void run() { LOG.info("Name of thread " + Thread.currentThread().getName() + " changed to " + TASK_NAME); Thread.currentThread().setName(TASK_NAME); try { - Thread.sleep(runFrequency(TimeUnit.MILLISECONDS)); + Thread.sleep(runFrequency(TimeUnit.MILLISECONDS) * 10); } catch (InterruptedException ie) { LOG.error("Task " + TASK_NAME + " interrupted: " + ie.getMessage(), ie); } diff --git itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestMetastoreHousekeepingLeader.java itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestMetastoreHousekeepingLeader.java index 03a8161ea4..320de8dfe9 100644 --- itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestMetastoreHousekeepingLeader.java +++ itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestMetastoreHousekeepingLeader.java @@ -20,7 +20,6 @@ import org.junit.Assert; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -38,8 +37,6 @@ public void setUp() throws Exception { internalSetup("localhost"); } - @Ignore("HIVE-23221 Ignore flaky test testHouseKeepingThreadExistence in TestMetastoreHousekeepingLeaderEmptyConfig" + - " and TestMetastoreHousekeepingLeader") @Test public void testHouseKeepingThreadExistence() throws Exception { searchHousekeepingThreads(); @@ -52,7 +49,7 @@ public void testHouseKeepingThreadExistence() throws Exception { Assert.assertTrue("No thread with name " + entry.getKey() + " found.", entry.getValue()); } - for (Map.Entry entry : threadClasses.entrySet()) { + for (Map.Entry, Boolean> entry : threadClasses.entrySet()) { if (entry.getValue()) { LOG.info("Found thread for " + entry.getKey().getSimpleName()); } diff --git itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestMetastoreHousekeepingLeaderEmptyConfig.java itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestMetastoreHousekeepingLeaderEmptyConfig.java index 75ea637503..382d19b0ba 100644 --- itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestMetastoreHousekeepingLeaderEmptyConfig.java +++ itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestMetastoreHousekeepingLeaderEmptyConfig.java @@ -20,7 +20,6 @@ import org.junit.Assert; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,8 +39,6 @@ public void setUp() throws Exception { internalSetup(""); } - @Ignore("HIVE-23221 Ignore flaky test testHouseKeepingThreadExistence in TestMetastoreHousekeepingLeaderEmptyConfig" + - " and TestMetastoreHousekeepingLeader") @Test public void testHouseKeepingThreadExistence() throws Exception { searchHousekeepingThreads(); @@ -54,7 +51,7 @@ public void testHouseKeepingThreadExistence() throws Exception { Assert.assertTrue("No thread with name " + entry.getKey() + " found.", entry.getValue()); } - for (Map.Entry entry : threadClasses.entrySet()) { + for (Map.Entry, Boolean> entry : threadClasses.entrySet()) { if (entry.getValue()) { LOG.info("Found thread for " + entry.getKey().getSimpleName()); } diff --git itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestMetastoreHousekeepingNonLeader.java itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestMetastoreHousekeepingNonLeader.java index 0341d3c03b..025f08b0c1 100644 --- itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestMetastoreHousekeepingNonLeader.java +++ itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestMetastoreHousekeepingNonLeader.java @@ -52,7 +52,7 @@ public void testHouseKeepingThreadExistence() throws Exception { Assert.assertFalse("Thread with name " + entry.getKey() + " found.", entry.getValue()); } - for (Map.Entry entry : threadClasses.entrySet()) { + for (Map.Entry, Boolean> entry : threadClasses.entrySet()) { // A non-leader HMS will still run the configured number of Compaction worker threads. if (entry.getKey() == Worker.class) { if (entry.getValue()) {