MAPREDUCE-4844. Counters / AbstractCounters have constant references not declared final. (Brahma Reddy Battula via gera)

This commit is contained in:
Gera Shegalov 2015-04-03 10:24:02 -07:00
parent dc5596c36a
commit a0795c1e81
3 changed files with 9 additions and 6 deletions

View File

@ -321,6 +321,9 @@ Release 2.8.0 - UNRELEASED
causes counter limits are not reset correctly.
(Zhihai Xu via harsh)
MAPREDUCE-4844. Counters / AbstractCounters have constant references not
declared final. (Brahma Reddy Battula via gera)
Release 2.7.0 - UNRELEASED
INCOMPATIBLE CHANGES

View File

@ -62,9 +62,9 @@ import com.google.common.collect.Iterators;
public class Counters
extends AbstractCounters<Counters.Counter, Counters.Group> {
public static int MAX_COUNTER_LIMIT = Limits.getCountersMax();
public static int MAX_GROUP_LIMIT = Limits.getGroupsMax();
private static HashMap<String, String> depricatedCounterMap =
public static final int MAX_COUNTER_LIMIT = Limits.getCountersMax();
public static final int MAX_GROUP_LIMIT = Limits.getGroupsMax();
private static final HashMap<String, String> depricatedCounterMap =
new HashMap<String, String>();
static {

View File

@ -64,11 +64,11 @@ public abstract class AbstractCounters<C extends Counter,
/**
* A cache from enum values to the associated counter.
*/
private Map<Enum<?>, C> cache = Maps.newIdentityHashMap();
private final Map<Enum<?>, C> cache = Maps.newIdentityHashMap();
//framework & fs groups
private Map<String, G> fgroups = new ConcurrentSkipListMap<String, G>();
private final Map<String, G> fgroups = new ConcurrentSkipListMap<String, G>();
// other groups
private Map<String, G> groups = new ConcurrentSkipListMap<String, G>();
private final Map<String, G> groups = new ConcurrentSkipListMap<String, G>();
private final CounterGroupFactory<C, G> groupFactory;
// For framework counter serialization without strings