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 năm trước cách đây
mục cha
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);