Liang Xie created HDFS-6284: ------------------------------- Summary: don't let checkDiskError() run concurrently Key: HDFS-6284 URL: https://issues.apache.org/jira/browse/HDFS-6284 Project: Hadoop HDFS Issue Type: Improvement Components: datanode Affects Versions: 2.4.0, 3.0.0 Reporter: Liang Xie Assignee: Liang Xie
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 ! -- This message was sent by Atlassian JIRA (v6.2#6252)