Description of problem: Summary: A critical section access to the @workers hash was not protected with a read lock, meaning a read could occur while another thread was writing to it. Workers access @workers via a DRb thread running on the server process, while the server's main thread is also accessing it. Note, this is probably not a huge problem because a slightly incorrect last_heartbeat value will probably not be something anyone would notice. 43e9676 Wrap critical @workers reads with a read lock fbf7007 last_heartbeat is already nil, don't check it again 18a938f Add explanation of the missing stopping workers. caf0e77 Initial worker heartbeat wasn't saving the record. 271856d Extract a method to read the last_heartbeat. This is only partly related to this BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1395736. This PR doesn't resolve that BZ. I'll let @gtanzillo @Fryguy decide if we need euwe/yes on this or if a new BZ is needed...
Above description comes up the upstream pull request to fix this: https://github.com/ManageIQ/manageiq/pull/12932
Verified in 5.8.0.17.