[
https://issues.apache.org/jira/browse/HDFS-3861?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13443269#comment-13443269
]
Kihwal Lee commented on HDFS-3861:
----------------------------------
DFSClient#getLeaseRenewer() doesn't have to be synchronized since
LeaseManager.Factory methods are synchronized. Multiple callers are still
guaranteed to get a single live renewer back.
{noformat}
Java stack information for the threads listed above:
===================================================
"Thread-28":
at
org.apache.hadoop.hdfs.DFSOutputStream.close(DFSOutputStream.java:1729)
- waiting to lock <0xb5a05dc8> (a
org.apache.hadoop.hdfs.DFSOutputStream)
at
org.apache.hadoop.hdfs.DFSClient.closeAllFilesBeingWritten(DFSClient.java:674)
at org.apache.hadoop.hdfs.DFSClient.close(DFSClient.java:691)
- locked <0xb5a06ed8> (a org.apache.hadoop.hdfs.DFSClient)
at
org.apache.hadoop.hdfs.DistributedFileSystem.close(DistributedFileSystem.java:539)
at org.apache.hadoop.fs.FileSystem$Cache.closeAll(FileSystem.java:2386)
- locked <0xb44b00e8> (a org.apache.hadoop.fs.FileSystem$Cache)
at
org.apache.hadoop.fs.FileSystem$Cache$ClientFinalizer.run(FileSystem.java:2403)
- locked <0xb44b0100> (a
org.apache.hadoop.fs.FileSystem$Cache$ClientFinalizer)
at
org.apache.hadoop.util.ShutdownHookManager$1.run(ShutdownHookManager.java:54)
"Thread-1175":
at org.apache.hadoop.hdfs.DFSClient.getLeaseRenewer(DFSClient.java:538)
- waiting to lock <0xb5a06ed8> (a org.apache.hadoop.hdfs.DFSClient)
at org.apache.hadoop.hdfs.DFSClient.endFileLease(DFSClient.java:550)
at
org.apache.hadoop.hdfs.DFSOutputStream.close(DFSOutputStream.java:1757)
- locked <0xb5a05dc8> (a org.apache.hadoop.hdfs.DFSOutputStream)
at
org.apache.hadoop.fs.FSDataOutputStream$PositionCache.close(FSDataOutputStream.java:66)
at
org.apache.hadoop.fs.FSDataOutputStream.close(FSDataOutputStream.java:99)
at
org.apache.hadoop.hdfs.TestDatanodeDeath$Workload.run(TestDatanodeDeath.java:101)
{noformat}
> Deadlock in DFSClient
> ---------------------
>
> Key: HDFS-3861
> URL: https://issues.apache.org/jira/browse/HDFS-3861
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.23.3, 3.0.0, 2.2.0-alpha
> Reporter: Kihwal Lee
> Priority: Blocker
> Fix For: 0.23.4, 3.0.0, 2.2.0-alpha
>
> Attachments: hdfs-3861.patch.txt
>
>
> The deadlock is between DFSOutputStream#close() and DFSClient#close().
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira