Github user danny0405 commented on the issue: https://github.com/apache/storm/pull/2800 @srdo Okey, i checkout the AtomicReference for jdk8 and get the code snippet: ```java public final V getAndUpdate(UnaryOperator<V> updateFunction) { V prev, next; do { prev = get(); next = updateFunction.apply(prev); } while (!compareAndSet(prev, next)); return prev; } ``` For our storm use cases, we never update the ```java AtomicReference<Map<String, Map<List<Integer>, Map<String, Object>>>> heartbeatsCache ``` reference, so we use it totally as a normal HashMap, and there lost the thread safety. I think `CincurrentHashMap` is better.
---