Deepesh Khandelwal created MAPREDUCE-5055:
---------------------------------------------
Summary: Binary compatibility for the method
Reporter.incrCounter(String group, String counter, long amount) between
hadoop-1.x and hadoop-2.x
Key: MAPREDUCE-5055
URL: https://issues.apache.org/jira/browse/MAPREDUCE-5055
Project: Hadoop Map/Reduce
Issue Type: Bug
Components: mrv2
Affects Versions: 2.0.3-alpha
Environment: Linux
Reporter: Deepesh Khandelwal
Try to generate a lot of counters that exceed the default max limit so the job
errors.
To simulate this edit org.apache.hadoop.examples.RandomWriter class and add the
following in the mapper:
{code}
for (int i = 0; i < 150; i++) {
reporter.incrCounter("StringCounter", "counter" + i, 1L);
}
{code}
Attached is the modified code of RandomWriter.java from branch-1.
When I run it against branch-1,
{code}
hadoop jar build/hadoop-examples-1.2.0-SNAPSHOT.jar
-Dtest.randomwrite.total_bytes=8 rw2
{code}
it fails with the following error:
{code}
java.lang.Exception:
org.apache.hadoop.mapred.Counters$CountersExceededException: Error: Exceeded
limits on number of counters - Counters=120 Limit=120
{code}
Using the jar compiled with branch-1 when running in a hadoop 2 cluster
completes without any error and don't see the counter. Interestingly there were
two more custom counters in the same job that are incremented and they are
visible. The difference is that they use the method
Reporter.incrCounter(Enum<?> key, long amount).
Compiled this against 2.x/trunk and ran it. The job did fail with the expected
counter exceeded exception. So it seems to be a case of binary incompatibility
between 1.x and 2.x.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira