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

Steve Loughran commented on HADOOP-3628:
----------------------------------------

the last patch is oversynchronized; blocking JobTracker in heartbeat.

 [junit]     -- Blocked trying to get lock: org/apache/hadoop/mapred/[EMAIL 
PROTECTED] lock]
    [junit]     at jrockit/vm/Threads.sleep(I)V(Native Method)
    [junit]     at jrockit/vm/Locks.waitForThinRelease(Locks.java:1233)
    [junit]     at jrockit/vm/Locks.monitorEnterSecondStage(Locks.java:1307)
    [junit]     at jrockit/vm/Locks.monitorEnter(Locks.java:2389)
    [junit]     at 
org/apache/hadoop/mapred/JobTracker.heartbeat(JobTracker.java:1262)
    [junit]     at jrockit/vm/RNI.c2java(JJJJJ)V(Native Method)
    [junit]     at 
jrockit/vm/Reflect.invokeMethod(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Native
 Method)
    [junit]     at 
sun/reflect/NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Native
 Method)

is blocked by 

  [junit]     -- Waiting for notification on: org/apache/hadoop/ipc/[EMAIL 
PROTECTED] lock]
    [junit]     at 
jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)
    [junit]     at java/lang/Object.wait(J)V(Native Method)
    [junit]     at java/lang/Object.wait(Object.java:485)
    [junit]     at org/apache/hadoop/ipc/Server.join(Server.java:1016)
    [junit]     ^-- Lock released while waiting: org/apache/hadoop/ipc/[EMAIL 
PROTECTED] lock]
    [junit]     at 
org/apache/hadoop/mapred/JobTracker.offerService(JobTracker.java:800)
    [junit]     ^-- Holding lock: org/apache/hadoop/mapred/[EMAIL PROTECTED] 
lock]
    [junit]     at 
org/apache/hadoop/mapred/MiniMRCluster$JobTrackerRunner.run(MiniMRCluster.java:89)


> Add a lifecycle interface for Hadoop components: namenodes, job clients, etc.
> -----------------------------------------------------------------------------
>
>                 Key: HADOOP-3628
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3628
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: dfs, mapred
>    Affects Versions: 0.19.0
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>         Attachments: AbstractHadoopComponent.java, hadoop-3628.patch, 
> hadoop-3628.patch, hadoop-3628.patch, hadoop-3628.patch, hadoop-3628.patch, 
> hadoop-3628.patch
>
>
> I'd like to propose we have a standard interface for hadoop components, the 
> things that get started or stopped when you bring up a namenode. currently, 
> some of these classes have a stop() or shutdown() method, with no standard 
> name/interface, but no way of seeing if they are live, checking their health 
> of shutting them down reliably. Indeed, there is a tendency for the spawned 
> threads to not want to die; to require the entire process to be killed to 
> stop the workers. 
> Having a standard interface would make it easier for 
>  * management tools to manage the different things
>  * monitoring the state of things
>  * subclassing
> The latter is interesting as right now TaskTracker and JobTracker start up 
> threads in their constructor; that's very dangerous as subclasses may have 
> their methods called before they are full initialised. Adding this interface 
> would be the right time to clean up the startup process so that subclassing 
> is less risky.

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

Reply via email to