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] Updated: (HADOOP-3415) JobEndNotifier isnt synchronized, doesnt check state before acting
Date Mon, 07 Jul 2008 13:39:31 GMT

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

Steve Loughran updated HADOOP-3415:

    Attachment: hadoop-3415.patch

simple patch to fix a basic problem: the fact that a thread ref may be null during shutdown.

> 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.19.0
>            Reporter: Steve Loughran
>            Priority: Minor
>         Attachments: hadoop-3415.patch
> 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