Github user danny0405 commented on the issue:

    https://github.com/apache/storm/pull/2800
  
    @srdo @zd-project 
    Thx for your explanation, that make sense for me.
    
    One thing needs to clarify is that `executorBeats` parameter for 
`StatsUtil#updateHeartbeatCache` is null for every scheduling round of master 
in order to refresh the `is-timed-out` flag.
    
    There does have possibility that supervisor/worker will walk into code 
branch:
    
https://github.com/apache/storm/blob/4c42ee3d259d5d90a4e7d3445d1c119601eec6c7/storm-client/src/jvm/org/apache/storm/stats/StatsUtil.java#L1576-L1579
    
    and Nimbus the other:
    
https://github.com/apache/storm/blob/4c42ee3d259d5d90a4e7d3445d1c119601eec6c7/storm-client/src/jvm/org/apache/storm/stats/StatsUtil.java#L1568-L1574
    
    I think the key here is we used a `forEach` interation for the cache, so 
here, we could change it to a iterator loop, which is okey cause we only need 
final consistency instead of ConcurrentMap or copy which will cause perf 
regression.


---

Reply via email to