[ 
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.

Reply via email to