[ https://issues.apache.org/jira/browse/HDFS-9445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15024816#comment-15024816 ]
Kihwal Lee commented on HDFS-9445: ---------------------------------- The approach looks good. Since the private invalidate method is only used by {{removeVolumes()}}, why don't we make it accept the built-up collection of blocks? We could also rename the method so that it is clearly distinct from the public {{invalidate()}}. > Deadlock in datanode > -------------------- > > Key: HDFS-9445 > URL: https://issues.apache.org/jira/browse/HDFS-9445 > Project: Hadoop HDFS > Issue Type: Bug > Affects Versions: 2.7.2 > Reporter: Kihwal Lee > Assignee: Walter Su > Priority: Blocker > Attachments: HDFS-9445.00.patch > > > {noformat} > Found one Java-level deadlock: > ============================= > "DataXceiver for client DFSClient_attempt_xxx at /1.2.3.4:100 [Sending block > BP-xxxxx:blk_123_456]": > waiting to lock monitor 0x00007f77d0731768 (object 0x00000000d60d9930, a > org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl), > which is held by "Thread-565" > "Thread-565": > waiting for ownable synchronizer 0x00000000d55613c8, (a > java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync), > which is held by "DataNode: heartbeating to my-nn:8020" > "DataNode: heartbeating to my-nn:8020": > waiting to lock monitor 0x00007f77d0731768 (object 0x00000000d60d9930, a > org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl), > which is held by "Thread-565" > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)