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

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.10.0, 3.3.0, 3.1.4, 3.2.2
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: