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.


Mime
View raw message