Github user srdo commented on the issue:

    https://github.com/apache/storm/pull/2800
  
    @zd-project I'd like to finish this up. Let me know if you want to make the 
last couple of fixes, otherwise I'll open a new PR containing this fix.
    
    @danny0405 I thought about it a bit more, and while I still think we can 
fix this by making `updateHeartbeatCache` thread safe by making it return a new 
map and keeping the pre-this-PR AtomicReference in Nimbus, I'm not sure why 
this would be faster than just using a ConcurrentHashMap like the current PR 
code here does? Using the AtomicReference in Nimbus essentially makes the 
heartbeat cache a copy-on-write Map due to the way we do updates via Assoc and 
Dissoc. I would expect a ConcurrentHashMap to provide better parallelism. What 
do you think?


---

Reply via email to