zhengchenyu commented on code in PR #5975:
URL: https://github.com/apache/hadoop/pull/5975#discussion_r1314398962


##########
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/amrmproxy/FederationInterceptor.java:
##########
@@ -1434,6 +1449,17 @@ private void mergeAllocateResponses(AllocateResponse 
mergedResponse) {
         }
       }
     }
+    // When re-register RM, client may not cache the NMToken from register 
response.
+    // Here we pass these NMToken in allocate stage.
+    if (nmTokenMapFromRegisterSecondaryCluster.size() > 0) {
+      List<NMToken> duplicateNmToken = new 
ArrayList(nmTokenMapFromRegisterSecondaryCluster);

Review Comment:
   @slfan1989 
   It is aim to avoid pass duplicated nmToken in next allocate.



##########
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/amrmproxy/FederationInterceptor.java:
##########
@@ -260,6 +261,16 @@ public class FederationInterceptor extends 
AbstractRequestInterceptor {
 
   private final MonotonicClock clock = new MonotonicClock();
 
+  /*
+   * For UAM, keepContainersAcrossApplicationAttempts is always true.
+   * When re-register to RM, RM will clear node set and regenerate NMToken for 
transferred
+   * container. But If keepContainersAcrossApplicationAttempts of MA is false, 
AM may not
+   * called getNMTokensFromPreviousAttempts, so the NMToken which is pass from
+   * RegisterApplicationMasterResponse will be missing. Here we cache these 
NMToken,
+   * then pass to AM in allocate stage.
+   * */
+  private Set<NMToken> nmTokenMapFromRegisterSecondaryCluster;

Review Comment:
   @slfan1989 
   Set is enough for current implement. Of course we can use Map<SubClusterId, 
Set>, this maybe useful for some other future issue. I will fixed it.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to