-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2167/
-----------------------------------------------------------
(Updated 2011-10-05 17:58:04.685771)
Review request for hive, Ramkumar Vadali and Yongqiang He.
Changes
-------
Thanks Yongqiang, that's a way better idea. I implemented it, again leaving
cpuMsec because of the special logic for it in HadoopJobExecHelper, but
converting all other counters to use it.
Summary
-------
I added the counters mentioned in the task to the MapRedStats class, and
modified HadoopJobExecHelper to collect them.
I got tired of writing the same code over and over again, so I modified the way
MapRedStats and HadoopJobExecHelper treat task counters. MapRedStats now has
an enum with all of the task counters we want to collect, it is a subset of the
enum in Task$Counter. Task is package private so the enum in it is
unavailable. MapRedStats now contains a map from the enum values to the values
of the counters, if they were set. HadoopJobExecHelper loops over the enum
values and tries to get a value for each counter. As long as the new getter
and setter methods are used the functionality is the same, in particular for
the getter, if a counter was set, it returns the value of the counter,
otherwise it returns -1.
This addresses bug Hive-2479.
https://issues.apache.org/jira/browse/Hive-2479
Diffs (updated)
-----
trunk/ql/src/java/org/apache/hadoop/hive/ql/MapRedStats.java 1178612
trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/HadoopJobExecHelper.java
1178612
Diff: https://reviews.apache.org/r/2167/diff
Testing
-------
I ran some queries to verify the counters were being populated.
I also ran a few of the unit test queries to verify I hadn't broken anything.
Thanks,
Kevin