[ 
https://issues.apache.org/jira/browse/HADOOP-1915?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tom White updated HADOOP-1915:
------------------------------

    Attachment: hadoop-1915.patch

I've created a patch for this. The main change is the removal of ordinal values 
for storing Counters in a Group. To do this I've replaced the sparse list of 
Counters (where the index is the ordinal) by a map of Counter name to Counter. 
I've also changed the Writable format of a Counter to send the non-localized 
name (rather than the localized name). Localization is done after 
deserialization.

In terms of public API changes I have added the following method to Reporter:

{code}
public abstract void incrCounter(String group, String counter, long amount);
{code}

and the corresponding method to Counters. Methods in Counters that take an 
ordinal have been deprecated.

> adding counters methods using String (as opposed to Enum)
> ---------------------------------------------------------
>
>                 Key: HADOOP-1915
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1915
>             Project: Hadoop Core
>          Issue Type: New Feature
>         Environment: all
>            Reporter: Alejandro Abdelnur
>            Assignee: Christopher Zimmerman
>            Priority: Minor
>         Attachments: hadoop-1915.patch
>
>
> Currently to use the counters from within Map/Reduce code Enums have to be 
> used, the Enum class defines the group and the Enum itself the counter. 
> Internally they are converted to Strings (the class name and the enum 
> toString) and you can retrieve them as strings from the client API.
> Using dynamic counters (driven by configuration of the map/reduce) is not 
> easy with the counters Enum based API. For example, currently I have an Enum 
> class with 50 enums and we have to map the cardinality to the counter name on 
> the client. This is cumbersome.
> This could be easily improve by adding a String based counter method 
> increment(String group, String counter, long count) to allow use of the 
> counters without Enums.
> Internally this method already exists, so the changes are minimal.

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