ctrezzo commented on code in PR #6804:
URL: https://github.com/apache/hadoop/pull/6804#discussion_r1597137120


##########
hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/router/PoolAlignmentContext.java:
##########
@@ -64,7 +64,11 @@ public void 
updateResponseState(RpcHeaderProtos.RpcResponseHeaderProto.Builder h
    */
   @Override
   public void receiveResponseState(RpcHeaderProtos.RpcResponseHeaderProto 
header) {
-    sharedGlobalStateId.accumulate(header.getStateId());
+    if (header.getStateId() == 0 && sharedGlobalStateId.get() > 0) {
+      sharedGlobalStateId.reset();
+    } else {
+      sharedGlobalStateId.accumulate(header.getStateId());

Review Comment:
   I have a naive question: What protects us here from the state where 
`header.getStateId() > 0 && header.getStateId() < sharedGlobalStateId`?
   
   It seems like if this case were to occur then sharedGlobalStateId would go 
backwards.



##########
hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/router/PoolAlignmentContext.java:
##########
@@ -64,7 +64,11 @@ public void 
updateResponseState(RpcHeaderProtos.RpcResponseHeaderProto.Builder h
    */
   @Override
   public void receiveResponseState(RpcHeaderProtos.RpcResponseHeaderProto 
header) {
-    sharedGlobalStateId.accumulate(header.getStateId());
+    if (header.getStateId() == 0 && sharedGlobalStateId.get() > 0) {
+      sharedGlobalStateId.reset();
+    } else {
+      sharedGlobalStateId.accumulate(header.getStateId());

Review Comment:
   @simbadzina I have a naive question: What protects us here from the state 
where `header.getStateId() > 0 && header.getStateId() < sharedGlobalStateId`?
   
   It seems like if this case were to occur then sharedGlobalStateId would go 
backwards.



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