[
https://issues.apache.org/jira/browse/HADOOP-4232?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12635678#action_12635678
]
Arun C Murthy commented on HADOOP-4232:
---------------------------------------
+1 with minor caveats:
1. We could add more information to the RuntimeException in
JvmManagerType.reapJvm: no. of current jvms, their jobids etc. This will help
in debugging, maybe a comment explaining the need for that exception too might
help?
2. TaskTracker.TaskInProgress.launchTask should log information such as the
Task's state etc. if we did not launch it (i.e. state != UNASSIGNED) just to
aid debugging if need be.
> Race condition in JVM reuse when more than one slot becomes free
> ----------------------------------------------------------------
>
> Key: HADOOP-4232
> URL: https://issues.apache.org/jira/browse/HADOOP-4232
> Project: Hadoop Core
> Issue Type: Bug
> Components: mapred
> Affects Versions: 0.19.0
> Reporter: Devaraj Das
> Assignee: Devaraj Das
> Priority: Blocker
> Fix For: 0.19.0
>
> Attachments: 4232.patch
>
>
> A race condition exists where there are two or more slots free and there are
> two or more tasks waiting to run. As an example, consider a case where there
> are two free slots and there are two tasks waiting to run. JVM_job1 and
> JVM_job2 are the two idle jvms in memory. A waiting task, task job1_t1, kills
> the JVM_job2 and spawns a new one, JVM_1_job1. While JVM_1_job1 is
> initializing (it is marked busy during initialization), JVM_job1 picks this
> task up and hence this becomes busy as well. Another waiting task, job3_t1
> finds both the JVMs busy and doesn't spawn a new JVM.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.