[ https://issues.apache.org/jira/browse/HDFS-14660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16888931#comment-16888931 ]
Erik Krogen commented on HDFS-14660: ------------------------------------ {quote} In this case we just need to check whether the stateId is set or not (via RpcHeaderProtos#hasStateId which checks a special field). {quote} +1 to this [~csun], this seems like the cleanest way to check if it has been set. I forgot that protobuf provides this for us. > [SBN Read] ObserverNameNode should throw StandbyException for requests not > from ObserverProxyProvider > ----------------------------------------------------------------------------------------------------- > > Key: HDFS-14660 > URL: https://issues.apache.org/jira/browse/HDFS-14660 > Project: Hadoop HDFS > Issue Type: Bug > Reporter: Chao Sun > Assignee: Chao Sun > Priority: Major > > In a HDFS HA cluster with consistent reads enabled (HDFS-12943), clients > could be using either {{ObserverReadProxyProvider}}, > {{ConfiguredProxyProvider}}, or something else. Since observer is just a > special type of SBN and we allow transitions between them, a client NOT using > {{ObserverReadProxyProvider}} will need to have > {{dfs.ha.namenodes.<nameservice>}} include all NameNodes in the cluster, and > therefore, it may send request to a observer node. > For this case, we should check whether the {{stateId}} in the incoming RPC > header is set or not, and throw an {{StandbyException}} when it is not. -- This message was sent by Atlassian JIRA (v7.6.14#76016) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org