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

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

    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

            People

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

              Dates

                Created:
                Updated:
                Resolved: