hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Loughran (JIRA)" <j...@apache.org>
Subject [jira] Created: (HADOOP-3415) JobEndNotifier isnt synchronized, doesnt check state before acting
Date Mon, 19 May 2008 13:11:55 GMT
JobEndNotifier isnt synchronized, doesnt check state before acting

                 Key: HADOOP-3415
                 URL: https://issues.apache.org/jira/browse/HADOOP-3415
             Project: Hadoop Core
          Issue Type: Bug
          Components: mapred
    Affects Versions: 0.16.3
            Reporter: Steve Loughran
            Priority: Minor

JobEndNotifier is pretty hazardous inside.

1. the static startNotifier isnt synchronized, and doesnt check for being already running
before it creates a new worker thread. It should be sycnhronized and a no-op if there is a
live thread.

2. stopNotifier() should be a no-op if already stopped. It MUST NOT call thread.interrupt()
in such a state, as thread may be null. 

3. the registerNotification method also assumes that the static queue is non null.

Things would be a lot safer by making this class part of a JobTracker, not a singleton with
static methods, as then you could more safely make assumptions about object state. This would
not only eliminate a lot of reentrancy problems, but tie the life of the notifier to that
of its owner, the JobTracker.

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

View raw message