Hadoop HDFS
  1. Hadoop HDFS
  2. HDFS-6284

don't let checkDiskError() run concurrently

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 3.0.0, 2.4.0
    • Fix Version/s: None
    • Component/s: datanode
    • Labels:
      None

      Description

      In current codebase, there're amount of datanode.checkDiskError calls, so it possible occurs that not a few threads call checkDiskError concurrently. IMHO, it'll be more reasonable if we avoid the concurrent running behavior.
      1. FsDatasetImpl.checkDataDir has a "synchronized" keyword, so the concurrent checking will be done one by one internally.
      2. checkDir() operation will take lengthy time once hitting a sick disk. if we have more than one thread to check disk in series, the cost from upper invoker like BlockReceiver will be unacceptable.

      Patch will be attached later, any comments are welcome !

        Activity

        There are no comments yet on this issue.

          People

          • Assignee:
            Liang Xie
            Reporter:
            Liang Xie
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:

              Development