GitHub user revans2 opened a pull request: https://github.com/apache/storm/pull/2836
STORM-3162: Cleanup heartbeats cache and make it thread safe This is an alternative to #2800 @zd-project I had such trouble really understanding what was happening with the heartbeat cache, because it was spread throughout so many files that I couldn't really be sure that #2800 would fix the issues or not. I decided that I needed to refactor the code to really understand how it worked, and provide a clean interface to the cache, which is what I did. Once I had that it became clear to me that #2800 would fix the immediate issue, but there were other races in the code, especially with the caches for the executors. This is probably not a big deal but I felt it would be best to just fix it too. You can merge this pull request into a Git repository by running: $ git pull https://github.com/revans2/incubator-storm STORM-3162 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/storm/pull/2836.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2836 ---- commit 168a2075363be53d131f4ded41d29332ddce0f7b Author: Robert (Bobby) Evans <evans@...> Date: 2018-09-14T19:48:33Z STORM-3162: Cleanup heartbeats cache and make it thread safe ---- ---