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) {
|
public ParamMapBucket add(RollingParamEvent event, int count, Object value) {
|
||||||
data[event.ordinal()].putIfAbsent(value, new AtomicInteger());
|
|
||||||
AtomicInteger counter = data[event.ordinal()].get(value);
|
AtomicInteger counter = data[event.ordinal()].get(value);
|
||||||
|
// 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);
|
counter.addAndGet(count);
|
||||||
|
}
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue