Repository: hadoop Updated Branches: refs/heads/branch-2 d11be2dca -> 7cd9018b1
YARN-6970. Add PoolInitializationException as retriable exception in FederationFacade. (Giovanni Matteo Fumarola via Subru). (cherry picked from commit ad2a3506626728a6be47af0db3ca60610a568734) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/a1ee4ad7 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/a1ee4ad7 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/a1ee4ad7 Branch: refs/heads/branch-2 Commit: a1ee4ad77f964e43ff8005729327d2a0fed6fa04 Parents: d11be2d Author: Subru Krishnan <su...@apache.org> Authored: Tue Aug 8 16:48:29 2017 -0700 Committer: Carlo Curino <cur...@apache.org> Committed: Thu Sep 21 18:08:30 2017 -0700 ---------------------------------------------------------------------- .../utils/FederationStateStoreFacade.java | 2 ++ .../TestFederationStateStoreFacadeRetry.java | 24 ++++++++++++++++++++ 2 files changed, 26 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/a1ee4ad7/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/utils/FederationStateStoreFacade.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/utils/FederationStateStoreFacade.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/utils/FederationStateStoreFacade.java index 389c769..682eb14 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/utils/FederationStateStoreFacade.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/federation/utils/FederationStateStoreFacade.java @@ -70,6 +70,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.google.common.annotations.VisibleForTesting; +import com.zaxxer.hikari.pool.HikariPool.PoolInitializationException; /** * @@ -162,6 +163,7 @@ public final class FederationStateStoreFacade { exceptionToPolicyMap.put(FederationStateStoreRetriableException.class, basePolicy); exceptionToPolicyMap.put(CacheLoaderException.class, basePolicy); + exceptionToPolicyMap.put(PoolInitializationException.class, basePolicy); RetryPolicy retryPolicy = RetryPolicies.retryByException( RetryPolicies.TRY_ONCE_THEN_FAIL, exceptionToPolicyMap); http://git-wip-us.apache.org/repos/asf/hadoop/blob/a1ee4ad7/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/utils/TestFederationStateStoreFacadeRetry.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/utils/TestFederationStateStoreFacadeRetry.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/utils/TestFederationStateStoreFacadeRetry.java index 304910e..ea43268 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/utils/TestFederationStateStoreFacadeRetry.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/test/java/org/apache/hadoop/yarn/server/federation/utils/TestFederationStateStoreFacadeRetry.java @@ -30,6 +30,8 @@ import org.apache.hadoop.yarn.server.federation.store.exception.FederationStateS import org.junit.Assert; import org.junit.Test; +import com.zaxxer.hikari.pool.HikariPool.PoolInitializationException; + /** * Test class to validate FederationStateStoreFacade retry policy. */ @@ -119,4 +121,26 @@ public class TestFederationStateStoreFacadeRetry { policy.shouldRetry(new CacheLoaderException(""), maxRetries, 0, false); Assert.assertEquals(RetryAction.FAIL.action, action.action); } + + /* + * Test to validate that PoolInitializationException is a retriable exception. + */ + @Test + public void testFacadePoolInitRetriableException() throws Exception { + // PoolInitializationException is a retriable exception + conf = new Configuration(); + conf.setInt(YarnConfiguration.CLIENT_FAILOVER_RETRIES, maxRetries); + RetryPolicy policy = FederationStateStoreFacade.createRetryPolicy(conf); + RetryAction action = policy.shouldRetry( + new PoolInitializationException(new YarnException()), 0, 0, false); + // We compare only the action, delay and the reason are random value + // during this test + Assert.assertEquals(RetryAction.RETRY.action, action.action); + + // After maxRetries we stop to retry + action = + policy.shouldRetry(new PoolInitializationException(new YarnException()), + maxRetries, 0, false); + Assert.assertEquals(RetryAction.FAIL.action, action.action); + } } --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org