[
https://issues.apache.org/jira/browse/HADOOP-3994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12624651#action_12624651
]
Steve Loughran commented on HADOOP-3994:
----------------------------------------
Jason> I suspect having an equivalent for this would be straight forward but I
don't currently develop under windows so I didn't try to implement an
equivalent.
no direct equivalent to kill -QUIT, I think. And it makes testing harder.
Probably best to stick to unix systems.
Using reflection there's a risk this wont work under the security manager; the
code should catch SecurityExceptions. But I'd be happier with a bit of
reflection abuse than another native library.
Vinod> Also can we do anything similar to get more information when
streaming/pipe tasks timeout too?
It's not so easy if they are native code; they wont have java stacks.
Vinod> As, a side note, the JAVA getPid()
bug(http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4244896) is past 9 year
celebrations .
it is not alone, try searching for happy birthday site:bugs.sun.com
> There is little information provided when the TaskTracker kills a Task that
> has not reported within the timeout (600 sec) interval - this patch provides
> a stack trace of the task
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HADOOP-3994
> URL: https://issues.apache.org/jira/browse/HADOOP-3994
> Project: Hadoop Core
> Issue Type: New Feature
> Components: mapred
> Affects Versions: 0.16.0
> Reporter: Jason
> Priority: Minor
> Attachments: 0.16_patch
>
>
> When we have a task that is killed for not reporting, sometimes there is an
> obvious programming error, and sometimes the reason the job didn't report is
> unclear.
> This patch will cause the TaskTracker to try to generate a stack trace of the
> offending task before the task is killed.
> Given how opaque process control is in java, a program is run to generate the
> stack trace, using the PID extracted from the undocumented UNIXProcess class
> The attached patch is against 0.16.0, as that is the release we use.
> This will only work on Unix machines -- or JVM's what use the
> java.lang.UNIXProcess implementation for the java Process object.
> The script that generates the stack trace is very linux specific.
> The code changes will run on jvm's where the UNIXProcess class is not
> available, without failure, but no stack trace will be generated.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.