hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nanda kumar (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HDDS-661) When a volume fails in datanode VersionEndpointTask#call ends up in dead lock.
Date Mon, 15 Oct 2018 14:40:00 GMT

     [ https://issues.apache.org/jira/browse/HDDS-661?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Nanda kumar updated HDDS-661:
-----------------------------
    Description: 
When a volume fails the call to {{VersionEndpointTask#call}} ends up in dead-lock.

{code}
org.apache.hadoop.ozone.container.common.states.endpoint.VersionEndpointTask.call(VersionEndpointTask.java:78)
    --> we acquire VolumeSet read lock here.


org.apache.hadoop.ozone.container.common.states.endpoint.VersionEndpointTask.call(VersionEndpointTask.java:93)
	org.apache.hadoop.ozone.container.common.volume.VolumeSet.failVolume(VolumeSet.java:276)
		org.apache.hadoop.ozone.container.common.volume.VolumeSet.writeLock(VolumeSet.java:210)
                    ---> we wait for VolumeSet write lock.
{code}

Since this thread already holds the read lock, it cannot get the write lock and ends up in
dead-lock.



  was:


When a volume fails the call to {{VersionEndpointTask#call}} ends up in dead lock.


org.apache.hadoop.ozone.container.common.states.endpoint.VersionEndpointTask.call(VersionEndpointTask.java:78)
--> we acquire VolumeSet read lock here.


org.apache.hadoop.ozone.container.common.states.endpoint.VersionEndpointTask.call(VersionEndpointTask.java:93)
	org.apache.hadoop.ozone.container.common.volume.VolumeSet.failVolume(VolumeSet.java:276)
		org.apache.hadoop.ozone.container.common.volume.VolumeSet.writeLock(VolumeSet.java:210)
		---> we wait for VolumeSet write lock.


Since this thread already holds the read lock, it cannot get the write lock and ends up in
dead lock.




> When a volume fails in datanode VersionEndpointTask#call ends up in dead lock.
> ------------------------------------------------------------------------------
>
>                 Key: HDDS-661
>                 URL: https://issues.apache.org/jira/browse/HDDS-661
>             Project: Hadoop Distributed Data Store
>          Issue Type: Bug
>          Components: Ozone Datanode
>            Reporter: Nanda kumar
>            Priority: Major
>
> When a volume fails the call to {{VersionEndpointTask#call}} ends up in dead-lock.
> {code}
> org.apache.hadoop.ozone.container.common.states.endpoint.VersionEndpointTask.call(VersionEndpointTask.java:78)
>     --> we acquire VolumeSet read lock here.
> org.apache.hadoop.ozone.container.common.states.endpoint.VersionEndpointTask.call(VersionEndpointTask.java:93)
> 	org.apache.hadoop.ozone.container.common.volume.VolumeSet.failVolume(VolumeSet.java:276)
> 		org.apache.hadoop.ozone.container.common.volume.VolumeSet.writeLock(VolumeSet.java:210)
>                     ---> we wait for VolumeSet write lock.
> {code}
> Since this thread already holds the read lock, it cannot get the write lock and ends
up in dead-lock.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org


Mime
View raw message