Description of problem:
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:
Verified in 126.96.36.199.