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

Tom White commented on HADOOP-5852:
-----------------------------------

Background on why I think setTaskTrackerManager() was being called outside the 
constructor. It's not generally a good idea to pass "this" from the constructor 
to another object, since the object hasn't finished initialization so may not 
be in a safe state 
(http://www.ibm.com/developerworks/java/library/j-jtp0618.html#2).

HADOOP-3628 introduces an initialize method which will provide a standard place 
to do initialization.
 

> JobTracker accepts heartbeats before startup is complete
> --------------------------------------------------------
>
>                 Key: HADOOP-5852
>                 URL: https://issues.apache.org/jira/browse/HADOOP-5852
>             Project: Hadoop Core
>          Issue Type: Bug
>            Reporter: Todd Lipcon
>            Priority: Critical
>
> When the JobTracker is instantiated, it starts listening on its RPC 
> interfaces before its startup is complete (ie the constructor is finished 
> executing). Because of this, jt.taskScheduler.taskTrackerManager can be null 
> when the JT receives a heartbeat from a TT. This throws the JT/TT pair into a 
> tight infinite loop (HADOOP-5761)

-- 
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