[
https://issues.apache.org/jira/browse/HADOOP-968?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12489501
]
Devaraj Das commented on HADOOP-968:
------------------------------------
I am pasting the relevant block of code from the latest patch (methodname
:TaskTracker.java::Child::main()). Basically, I invoke the close() method of
metricsContext for the context "mapred" just before the point where the child
task closes the log manager (LogManager.shutdown()) and it is about to die. I
thought this was the best way to stop the monitoring and let the task exit
nicely without having to touch other parts of the metrics code.
} finally {
+ MetricsContext metricsContext = MetricsUtil.getContext("mapred");
+ metricsContext.close();
// Shutting down log4j of the child-vm...
// This assumes that on return from Task.run()
// there is no more logging done.
Makes sense?
> Reduce shuffle and merge should be done a child JVM
> ---------------------------------------------------
>
> Key: HADOOP-968
> URL: https://issues.apache.org/jira/browse/HADOOP-968
> Project: Hadoop
> Issue Type: Improvement
> Components: mapred
> Affects Versions: 0.10.1
> Reporter: Owen O'Malley
> Assigned To: Devaraj Das
> Fix For: 0.13.0
>
> Attachments: 968-reindent.patch, 968-with-metrics-fix.patch,
> 968.apr06.patch, 968.apr10.patch, 968.apr14.patch, 968.apr14.patch, 968.patch
>
>
> The Reduce's shuffle and initial merge is done in the TaskTracker's JVM. It
> would be better to have it run in the Task's child JVM. The advantages are:
> 1. The class path and environment would be set up correctly.
> 2. User code doesn't need to be loaded into the TaskTracker.
> 3. Lower memory usage and contention in the TaskTracker.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.