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

RBF: empty blockpool id on dfsrouter caused by UNAVAILABLE NameNode

    XMLWordPrintableJSON

Details

    Description

      We observed that when a NameNode becomes UNAVAILABLE, the corresponding blockpool id in MembershipStoreImpl#activeNamespaces on dfsrouter unintentionally sets to empty, its initial value.

      As a result of this, concat operations through dfsrouter fail with the following error as it cannot resolve the block id in the recognized active namespaces.

      Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RemoteException): Cannot locate a nameservice for block pool BP-...
      

      A possible fix is to ignore UNAVAILABLE NameNode registrations, and set proper namespace information obtained from available NameNode registrations when constructing the cache of active namespaces.
      https://github.com/apache/hadoop/blob/rel/release-3.3.0/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/store/impl/MembershipStoreImpl.java#L207-L221

      Attachments

        1. image.png
          271 kB
          Harunobu Daikoku

        Issue Links

          Activity

            People

              hdaikoku Harunobu Daikoku
              hdaikoku Harunobu Daikoku
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 5h 50m
                  5h 50m