Bug fix: NPE when adding event count in ParamMapBucket (#494)
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
This commit is contained in:
parent
ee4a0d43a1
commit
020a63fdb5
|
|
@ -59,9 +59,16 @@ public class ParamMapBucket {
|
|||
}
|
||||
|
||||
public ParamMapBucket add(RollingParamEvent event, int count, Object value) {
|
||||
data[event.ordinal()].putIfAbsent(value, new AtomicInteger());
|
||||
AtomicInteger counter = data[event.ordinal()].get(value);
|
||||
counter.addAndGet(count);
|
||||
// Note: not strictly concise.
|
||||
if (counter == null) {
|
||||
AtomicInteger old = data[event.ordinal()].putIfAbsent(value, new AtomicInteger(count));
|
||||
if (old != null) {
|
||||
old.addAndGet(count);
|
||||
}
|
||||
} else {
|
||||
counter.addAndGet(count);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
@ -74,4 +81,4 @@ public class ParamMapBucket {
|
|||
}
|
||||
|
||||
public static final int DEFAULT_MAX_CAPACITY = 200;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue