[
https://issues.apache.org/jira/browse/HDFS-16600?focusedWorklogId=778448&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-778448
]
ASF GitHub Bot logged work on HDFS-16600:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 05/Jun/22 12:58
Start Date: 05/Jun/22 12:58
Worklog Time Spent: 10m
Work Description: ZanderXu commented on PR #4367:
URL: https://github.com/apache/hadoop/pull/4367#issuecomment-1146800123
@slfan1989
org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.testSynchronousEviction
sometimes succeed? I have run it several times locally and all fail.
> How do you judge the occurrence of DeadLock?
Deadlock is trigged when evictLazyPersistBlocks is required in createRbw.
Because createRbw hold BLOCK_POOL read lock, but evictLazyPersistBlocks try to
hold BLOCK_POOL write lock.
Issue Time Tracking
-------------------
Worklog Id: (was: 778448)
Time Spent: 1h 50m (was: 1h 40m)
> Deadlock on DataNode
> --------------------
>
> Key: HDFS-16600
> URL: https://issues.apache.org/jira/browse/HDFS-16600
> Project: Hadoop HDFS
> Issue Type: Bug
> Reporter: ZanderXu
> Assignee: ZanderXu
> Priority: Major
> Labels: pull-request-available
> Time Spent: 1h 50m
> Remaining Estimate: 0h
>
> The UT
> org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.testSynchronousEviction
> failed, because happened deadlock, which is introduced by
> [HDFS-16534|https://issues.apache.org/jira/browse/HDFS-16534].
> DeadLock:
> {code:java}
> // org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.createRbw line 1588
> need a read lock
> try (AutoCloseableLock lock = lockManager.readLock(LockLevel.BLOCK_POOl,
> b.getBlockPoolId()))
> // org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.evictBlocks line
> 3526 need a write lock
> try (AutoCloseableLock lock = lockManager.writeLock(LockLevel.BLOCK_POOl,
> bpid))
> {code}
--
This message was sent by Atlassian Jira
(v8.20.7#820007)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]