Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
Description
MAPREDUCE-980 (made into 0.21+) changed the constructor from package protected to public. As we all know: nothing good happens after making a constructor public, especially for public facing APIs. There is no other use of the constructor outside the EventReader yet. To avoid another API change debacle in case of external user usage and later we decide to refactor counters for more efficient internal implementations (e.g. a la MAPREDUCE-901), we should make the Counter/CounterGroup constructors package private, and provide a method to addGroup to Counters. Or at least make the constructor @InterfaceAudience.Private.