hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-8684) Deadlock between WritableComparator and WritableComparable
Date Sat, 01 Sep 2012 12:58:10 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-8684?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13446684#comment-13446684
] 

Hudson commented on HADOOP-8684:
--------------------------------

Integrated in Hadoop-Hdfs-trunk #1152 (See [https://builds.apache.org/job/Hadoop-Hdfs-trunk/1152/])
    HADOOP-8684. Deadlock between WritableComparator and WritableComparable. Contributed by
Jing Zhao (Revision 1379506)

     Result = SUCCESS
suresh : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1379506
Files : 
* /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
* /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/WritableComparator.java

                
> Deadlock between WritableComparator and WritableComparable
> ----------------------------------------------------------
>
>                 Key: HADOOP-8684
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8684
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: io
>    Affects Versions: 1.0.3, 3.0.0
>            Reporter: Hiroshi Ikeda
>            Assignee: Jing Zhao
>            Priority: Minor
>             Fix For: 3.0.0
>
>         Attachments: Hadoop-8684.patch, Hadoop-8684.patch, Hadoop-8684.patch, Hadoop-8684.patch,
Hadoop-8684.patch, WritableComparatorDeadLockTestApp.java
>
>
> Classes implementing WriableComparable in Hadoop call the method WritableComparator.define()
in their static initializers. This means, the classes call the method define() while thier
class loading, under locking their class objects. And, the method WritableComparator.define()
locks the WritableComaprator class object.
> On the other hand, WritableComparator.get() also locks the WritableComparator class object,
and the method may create instances of the targeted comparable class, involving loading the
targeted comparable class if any. This means, the method might try to lock the targeted comparable
class object under locking the WritableComparator class object.
> There are reversed orders of locking objects, and you might fall in deadlock.

--
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

Mime
View raw message