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

DataNode should report&remove volume failures if DU cannot access files

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Invalid
    • 2.8.0
    • None
    • datanode
    • None

    Description

      HADOOP-12973 refactored DU and makes it pluggable. The refactory has a side-effect that if DU encounters an exception, the exception is caught, logged and ignored, essentially fixes HDFS-9908 (in which case runaway exceptions prevent DataNodes from handshaking with NameNodes).

      However, this "fix" is not good, in the sense that if the disk is bad, there is no immediate action made by the DataNode other than logging the exception. Existing FsDatasetSpi#checkDataDir has been reduced to only check a few number of directories blindly. If a disk goes bad, it is often possible that only a few files are bad initially and that by checking only a small number of directories it is easy to overlook the degraded disk.

      I propose: in addition to logging the exception, DataNode should proactively verify the files are not accessible, remove the volume, and make the failure visible by showing it in JMX, so that administrators can spot the failure via monitoring systems.

      A different fix, based on HDFS-9908, is needed before Hadoop 2.8.0

      Attachments

        1. HDFS-10777.01.patch
          11 kB
          Wei-Chiu Chuang

        Issue Links

          Activity

            People

              weichiu Wei-Chiu Chuang
              weichiu Wei-Chiu Chuang
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: