Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-15382 Split one FsDatasetImpl lock to volume grain locks.
  3. HDFS-16598

Fix DataNode FsDatasetImpl lock issue without GS checks.

    XMLWordPrintableJSON

Details

    • Reviewed

    Description

      org.apache.hadoop.hdfs.testPipelineRecoveryOnRestartFailure failed with the stack like:

      java.io.IOException: All datanodes [DatanodeInfoWithStorage[127.0.0.1:57448,DS-1b5f7e33-a2bf-4edc-9122-a74c995a99f5,DISK]] are bad. Aborting...
      	at org.apache.hadoop.hdfs.DataStreamer.handleBadDatanode(DataStreamer.java:1667)
      	at org.apache.hadoop.hdfs.DataStreamer.setupPipelineInternal(DataStreamer.java:1601)
      	at org.apache.hadoop.hdfs.DataStreamer.setupPipelineForAppendOrRecovery(DataStreamer.java:1587)
      	at org.apache.hadoop.hdfs.DataStreamer.processDatanodeOrExternalError(DataStreamer.java:1371)
      	at org.apache.hadoop.hdfs.DataStreamer.run(DataStreamer.java:674)
      

      After tracing the root cause, this bug was introduced by HDFS-16534. Because the block GS of client may be smaller than DN when pipeline recovery failed.

      Attachments

        Issue Links

          Activity

            People

              xuzq_zander ZanderXu
              xuzq_zander ZanderXu
              Votes:
              0 Vote for this issue
              Watchers:
              2 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
                  5h