[
https://issues.apache.org/jira/browse/HDFS-5341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
qus-jiawei updated HDFS-5341:
-----------------------------
Description:
When DirectoryScanner doing the scan function, it holding the dataset to diff
the block info between memory and disk.But it do a lot of disk operation
because it call the file's getlength funciton.
Once the dataset is locked,heartbeat thread and all DataXceiver thread would be
blocked.
So,such disk operation should move to the async disk scan
was:
When DirectoryScanner doing the scan function, it holding the dataset to diff
the block info between memory and disk.But it do a lot of disk operation
because it call the file's getlength funciton.
So,such disk operation should move to the async disk scan
> DirectoryScanner hold the object lock dataset too long in scan,it make the
> datanode turn into deadnode and block all reciving thread
> -------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HDFS-5341
> URL: https://issues.apache.org/jira/browse/HDFS-5341
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: datanode
> Reporter: qus-jiawei
> Labels: deadlock
> Fix For: 0.24.0
>
> Attachments: HDFS-5341.000.patch, HDFS-5341.001.patch,
> HDFS-5341.002.patch
>
>
> When DirectoryScanner doing the scan function, it holding the dataset to diff
> the block info between memory and disk.But it do a lot of disk operation
> because it call the file's getlength funciton.
> Once the dataset is locked,heartbeat thread and all DataXceiver thread would
> be blocked.
> So,such disk operation should move to the async disk scan
--
This message was sent by Atlassian JIRA
(v6.1#6144)