Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-14660

[SBN Read] ObserverNameNode should throw StandbyException for requests not from ObserverProxyProvider

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.10.0, 3.3.0, 3.1.4, 3.2.2
    • None
    • None
    • Reviewed

    Description

      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. 

      Attachments

        1. HDFS-14660.000.patch
          4 kB
          Chao Sun
        2. HDFS-14660.001.patch
          5 kB
          Chao Sun
        3. HDFS-14660.002.patch
          6 kB
          Chao Sun
        4. HDFS-14660.003.patch
          6 kB
          Chao Sun
        5. HDFS-14660.004.patch
          6 kB
          Chao Sun

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            csun Chao Sun
            csun Chao Sun
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment