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

Simbarashe Dzinamarira commented on HDFS-17527:
-----------------------------------------------

In the RouterStateIdContext, we should also filter namespaces with stateId <= 0 
from the federatedStates header field.

[https://github.com/apache/hadoop/blob/trunk/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/router/RouterStateIdContext.java#L103]

> RBF: Routers should not allow observer reads when namenode stateId context is 
> disabled
> --------------------------------------------------------------------------------------
>
>                 Key: HDFS-17527
>                 URL: https://issues.apache.org/jira/browse/HDFS-17527
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>            Reporter: Simbarashe Dzinamarira
>            Assignee: Jian Zhang
>            Priority: Major
>
> HDFS-17514 addressed the case when state ID context is first enabled and then 
> disabled. However, if state Id is never enabled at all, there should be no 
> observer reads.
> Tests in TestNoNamenodesAvailableLongTime do not enable the namenode state Id 
> context but there are still observer reads. 
> The solution to this is to not advance the shareGlobalStateID in 
> PoolAlignmentContext when the namenode returns a values of zero in the 
> RpcResponseHeader. Zero indicates that stateIdContext is disabled and should 
> not be treated as a valid state ID value. Note, fixing this will require 
> adjusting the unit tests as well.
> A further optimization related to HDFS-17514 is that when sharedGlobalStateId 
> and poolLocalStateId have been reset, we also should not allow 
> poolLocalStateId to be advanced by clients until the sharedGlobalStateId has 
> been advanced. This will protect existing clients from using a stale ID.



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

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

Reply via email to