hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Todd Lipcon (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HADOOP-6269) Missing synchronization for defaultResources in Configuration.addResource
Date Tue, 22 Sep 2009 20:14:16 GMT

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

Todd Lipcon updated HADOOP-6269:
--------------------------------

    Attachment: hadoop-6269.txt

OK. Here's the summary of a correct (I believe) fix:

- To avoid deadlock we need a lock ordering
- We'll order instance locks before class locks (ie you must never lock an instance when holding
a class lock)

The issue is that addDefaultResource is currently static synchronized and locks a class instance
by calling conf.reloadConfiguration (synchronized non-static)

Attaching a patch which breaks this synchronization by holding the lock only long enough to
make a defensive copy of the shared list. I don't think this is a performance issue since
addDefaultResource is called very rarely.

Tests pass. Will test on the application that keeps turning up this bug here. Review would
be appreciated.

> Missing synchronization for defaultResources in Configuration.addResource
> -------------------------------------------------------------------------
>
>                 Key: HADOOP-6269
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6269
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: conf
>    Affects Versions: 0.20.1
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>             Fix For: 0.20.2, 0.21.0
>
>         Attachments: hadoop-6269.txt, hadoop-6269.txt
>
>
> Configuration.defaultResources is a simple ArrayList. In two places in Configuration
it is accessed without appropriate synchronization, which we've seen to occasionally result
in ConcurrentModificationExceptions.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message