ソースを参照

YARN-2992. ZKRMStateStore crashes due to session expiry. Contributed by Karthik Kambatla
(cherry picked from commit 1454efe5d4fe4214ec5ef9142d55dbeca7dab953)

Jian He 10 年 前
コミット
ca0349b87a

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

@@ -257,6 +257,9 @@ Release 2.7.0 - UNRELEASED
 
     YARN-2988. Graph#save() may leak file descriptors. (Ted Yu via ozawa)
 
+    YARN-2992. ZKRMStateStore crashes due to session expiry. (Karthik Kambatla
+    via jianhe)
+
 Release 2.6.0 - 2014-11-18
 
   INCOMPATIBLE CHANGES

+ 3 - 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

@@ -1056,6 +1056,8 @@ public class ZKRMStateStore extends RMStateStore {
       switch (code) {
         case CONNECTIONLOSS:
         case OPERATIONTIMEOUT:
+        case SESSIONEXPIRED:
+        case SESSIONMOVED:
           return true;
         default:
           break;
@@ -1084,6 +1086,7 @@ public class ZKRMStateStore extends RMStateStore {
           if (shouldRetry(ke.code()) && ++retry < numRetries) {
             LOG.info("Retrying operation on ZK. Retry no. " + retry);
             Thread.sleep(zkRetryInterval);
+            createConnection();
             continue;
           }
           LOG.info("Maxed out ZK retries. Giving up!");