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