You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Konstantin Shvachko (Updated) (JIRA)" <ji...@apache.org> on 2011/11/23 07:04:40 UTC
[jira] [Updated] (MAPREDUCE-1853) MultipleOutputs does not cache
TaskAttemptContext
[ https://issues.apache.org/jira/browse/MAPREDUCE-1853?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Konstantin Shvachko updated MAPREDUCE-1853:
-------------------------------------------
Component/s: task
Description:
In MultipleOutputs there is
{code}
private TaskAttemptContext getContext(String nameOutput) throws IOException {
// The following trick leverages the instantiation of a record writer via
// the job thus supporting arbitrary output formats.
Job job = new Job(context.getConfiguration());
job.setOutputFormatClass(getNamedOutputFormatClass(context, nameOutput));
job.setOutputKeyClass(getNamedOutputKeyClass(context, nameOutput));
job.setOutputValueClass(getNamedOutputValueClass(context, nameOutput));
TaskAttemptContext taskContext =
new TaskAttemptContextImpl(job.getConfiguration(),
context.getTaskAttemptID());
return taskContext;
}
{code}
so for every reduce call it creates a new Job instance ...which creates a new LocalJobRunner.
That does not sound like a good idea.
You end up with a flood of "jvm.JvmMetrics: Cannot initialize JVM Metrics with processName=JobTracker, sessionId= - already initialized"
This should probably also be added to 0.22.
was:
In MultipleOutputs there is
[code]
private TaskAttemptContext getContext(String nameOutput) throws IOException {
// The following trick leverages the instantiation of a record writer via
// the job thus supporting arbitrary output formats.
Job job = new Job(context.getConfiguration());
job.setOutputFormatClass(getNamedOutputFormatClass(context, nameOutput));
job.setOutputKeyClass(getNamedOutputKeyClass(context, nameOutput));
job.setOutputValueClass(getNamedOutputValueClass(context, nameOutput));
TaskAttemptContext taskContext =
new TaskAttemptContextImpl(job.getConfiguration(),
context.getTaskAttemptID());
return taskContext;
}
[code]
so for every reduce call it creates a new Job instance ...which creates a new LocalJobRunner.
That does not sound like a good idea.
You end up with a flood of "jvm.JvmMetrics: Cannot initialize JVM Metrics with processName=JobTracker, sessionId= - already initialized"
This should probably also be added to 0.22.
Assignee: Torsten Curdt
> MultipleOutputs does not cache TaskAttemptContext
> -------------------------------------------------
>
> Key: MAPREDUCE-1853
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1853
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: task
> Affects Versions: 0.21.0, 0.22.0
> Environment: OSX 10.6
> java6
> Reporter: Torsten Curdt
> Assignee: Torsten Curdt
> Priority: Critical
> Fix For: 0.21.0, 0.22.0
>
> Attachments: cache-task-attempts.diff
>
>
> In MultipleOutputs there is
> {code}
> private TaskAttemptContext getContext(String nameOutput) throws IOException {
> // The following trick leverages the instantiation of a record writer via
> // the job thus supporting arbitrary output formats.
> Job job = new Job(context.getConfiguration());
> job.setOutputFormatClass(getNamedOutputFormatClass(context, nameOutput));
> job.setOutputKeyClass(getNamedOutputKeyClass(context, nameOutput));
> job.setOutputValueClass(getNamedOutputValueClass(context, nameOutput));
> TaskAttemptContext taskContext =
> new TaskAttemptContextImpl(job.getConfiguration(),
> context.getTaskAttemptID());
> return taskContext;
> }
> {code}
> so for every reduce call it creates a new Job instance ...which creates a new LocalJobRunner.
> That does not sound like a good idea.
> You end up with a flood of "jvm.JvmMetrics: Cannot initialize JVM Metrics with processName=JobTracker, sessionId= - already initialized"
> This should probably also be added to 0.22.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira