You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Igor Bolotin (JIRA)" <ji...@apache.org> on 2006/04/15 07:42:01 UTC

[jira] Updated: (HADOOP-139) Deadlock in LocalFileSystem lock/release

     [ http://issues.apache.org/jira/browse/HADOOP-139?page=all ]

Igor Bolotin updated HADOOP-139:
--------------------------------

    Attachment: deadlock.patch

Attached is proposed patch. I removed entire lock/release method synchronization and replaced it with critical section synchronization for sets accesses - leaving channel lock/release calls outside of synchronized statement. 

> Deadlock in LocalFileSystem lock/release
> ----------------------------------------
>
>          Key: HADOOP-139
>          URL: http://issues.apache.org/jira/browse/HADOOP-139
>      Project: Hadoop
>         Type: Bug

>   Components: fs
>     Reporter: Igor Bolotin
>  Attachments: deadlock.patch
>
> LocalFileSystem lock/release methods marked synchronized and inside they lock file channel - this produces deadlock situation. Let's see how it happens: 
> 1. First thread locks the file and starts some long-running process.
> 2. Second thread tries to lock the file and it blocks inside channel lock method. It  keeps LocalFileSystem instance "locked" as well. 
> 3. First thread finished it's processing and tries to release lock - it blocks because LocalFileSystem instance is "locked" by second thread - both threads are waiting to each other. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira