[ 
https://issues.apache.org/jira/browse/HADOOP-2774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12650448#action_12650448
 ] 

Chris Douglas commented on HADOOP-2774:
---------------------------------------

bq. Wanted to test the path of combiner getting called in Map & Reduce phases — 
so have combiner. Words are repeated(fixed number of times) in the input files.
Ah; I'd missed that. OK.

bq. OK, Setting mapred.child.java.opts explicitly now. Made 
mapred.job.shuffle.buffer.percent=0.
Sorry, I meant: if .001 was chosen to get around a bug, i.e. that 
mapred.job.shuffle.\* couldn't be zero, then the ratio is insufficient to get 
the behavior the test required. If the property can be zero, then it's not 
necessary (no need to set mapred.child.java.opts). Wait... this test uses 
LocalJobRunner. The mapred.job.shuffle\* parameter should do absolutely 
nothing; the segments will always be read from disk. Unless this test uses the 
Mini\*Clusters, there's no reason to configure the memory management at the 
reduce.

On the map side, for a fixed number of spills, io.sort.record.percent and 
io.sort.spill.percent should probably be controlled so the number of spills is 
deterministic. Since you've already sized the test for the defaults, setting 
them in the test is probably sufficient.

Other points:
* The test case should clean up when it fails, as well. Can't it just delete 
{{TEST_ROOT_DIR}}?
* IFile.{Reader,Writer} doesn't need another constructor. IFile is a 
package-private class, so its interface can be changed in a 
backwards-incompatible way.
* Quick nit:
{noformat}
+      if(readRecordsCounter != null)
+        readRecordsCounter.increment(numRecordsRead);
{noformat}
This doesn't conform to the [coding 
standards|http://java.sun.com/docs/codeconv/html/CodeConventions.doc6.html#449].
* Sorry to revive this, but I really don't see the value in tracking the number 
of first level spills. Since the changes supporting it are not related to the 
rest of the patch, I suggest it be pushed to a different JIRA.

Other than these minor points, the patch looks good.

> Add counters to show number of key/values that have been sorted and merged in 
> the maps and reduces
> --------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-2774
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2774
>             Project: Hadoop Core
>          Issue Type: Bug
>            Reporter: Owen O'Malley
>            Assignee: Ravi Gummadi
>             Fix For: 0.20.0
>
>         Attachments: HADOOP-2774.patch, HADOOP-2774.patch, HADOOP-2774.patch, 
> HADOOP-2774.patch
>
>
> For each *pass* of the sort and merge, I would like a count of the number of 
> records. So for example, if the map output 100 records and they were sorted 
> once, the counter would be 100. If it spilled twice and was merged together, 
> it would be 200. Clearly in a multi-level merge, it may not be a multiple of 
> the number of map output records. This would let the users easily see if they 
> have values like io.sort.mb or io.sort.factor set too low.

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