[ 
https://issues.apache.org/jira/browse/HDFS-17514?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17846053#comment-17846053
 ] 

ASF GitHub Bot commented on HDFS-17514:
---------------------------------------

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


##########
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:
   Ah makes sense. Thanks.





> RBF: Routers keep using cached stateID even when active NN returns unset 
> header
> -------------------------------------------------------------------------------
>
>                 Key: HDFS-17514
>                 URL: https://issues.apache.org/jira/browse/HDFS-17514
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: rbf
>            Reporter: Simbarashe Dzinamarira
>            Assignee: Simbarashe Dzinamarira
>            Priority: Minor
>              Labels: pull-request-available
>
> When a namenode that had "dfs.namenode.state.context.enabled" set to true is 
> restarted with the configuration set to false, routers will keep using a 
> previously cached state ID.
> Without RBF
> * clients that fetched the old stateID could have stale reads even after 
> msyncing
> * new clients will go to the active.
> With RBF
> * client that fetched the old stateID could have stale reads like above.
> * New clients will also fetch the stale stateID and potentially have stale 
> reads
> New clients that are created after the restart should not fetch the stale 
> state ID.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to