[
https://issues.apache.org/jira/browse/HADOOP-6029?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12720392#action_12720392
]
Chris Douglas commented on HADOOP-6029:
---------------------------------------
bq. In ReduceTask.ReduceCopier.ShuffleRamManager, a memory reservation is done
for in-memory shuffle, and that uses Runtime.getRuntime().maxMemory(). The
return value of this seems to be machine-dependent.
This should be rigged by TestReduceFetch in mapred.child.java.opts, and match
{{-Xmx128m}}.
{{testReduceFromPartialMem}} is an awkward test to write. Its intent is to
configure the reduce so that- presented with a set of crafted map outputs- it
will make a particular guess about how to optimize its I/O. If we can't rig the
total memory because \-Xmx has a machine-dependent interpretation, then writing
such a test will be a real pain with our current set of configuration options.
We could add a parameter for the memory reservation that defaults to querying
the runtime; that would let us be certain of our memory limit, but not burden
the user with setting it. I'm really surprised that setting \-Xmx doesn't work,
though...
The failure for {{testReduceFromMem}} suggests this should use the counters
added in HADOOP-2774 rather than the FileSystem counters to validate the result.
> TestReduceFetch failed.
> -----------------------
>
> Key: HADOOP-6029
> URL: https://issues.apache.org/jira/browse/HADOOP-6029
> Project: Hadoop Core
> Issue Type: Bug
> Components: mapred
> Reporter: Tsz Wo (Nicholas), SZE
> Attachments:
> FAILING-PARTIALMEM-TEST-org.apache.hadoop.mapred.TestReduceFetch.txt,
> TEST-org.apache.hadoop.mapred.TestReduceFetch.txt
>
>
> {noformat}
> Testcase: testReduceFromMem took 23.625 sec
> FAILED
> Non-zero read from local: 83
> junit.framework.AssertionFailedError: Non-zero read from local: 83
> at
> org.apache.hadoop.mapred.TestReduceFetch.testReduceFromMem(TestReduceFetch.java:289)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:23)
> at junit.extensions.TestSetup.run(TestSetup.java:27)
> {noformat}
> Ran TestReduceFetch a few times on a clean trunk. It failed consistently.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.