Browse Source

YARN-2721. Suppress NodeExist exception thrown by ZKRMStateStore when it retries creating znode. Contributed by Jian He.

(cherry picked from commit 7e3b5e6f5cb4945b4fab27e8a83d04280df50e17)
Zhijie Shen 10 years ago
parent
commit
b1ca12bc0b

+ 3 - 0
hadoop-yarn-project/CHANGES.txt

@@ -650,6 +650,9 @@ Release 2.6.0 - UNRELEASED
     YARN-2720. Windows: Wildcard classpath variables not expanded against
     resources contained in archives. (Craig Welch via cnauroth)
 
+    YARN-2721. Suppress NodeExist exception thrown by ZKRMStateStore when it
+    retries creating znode. (Jian He via zjshen)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

+ 4 - 0
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/ZKRMStateStore.java

@@ -1094,6 +1094,10 @@ public class ZKRMStateStore extends RMStateStore {
             throw new StoreFencedException();
           }
         } catch (KeeperException ke) {
+          if (ke.code() == Code.NODEEXISTS) {
+            LOG.info("znode already exists!");
+            return null;
+          }
           LOG.info("Exception while executing a ZK operation.", ke);
           if (shouldRetry(ke.code()) && ++retry < numRetries) {
             LOG.info("Retrying operation on ZK. Retry no. " + retry);