Description
The code to handle notifications from /poolsStreaming is racy. It does the following:
- Subscribe to /poolsStreaming.
- Once a notification is received, update Indexer list synchronously (it no longer listens to further notifications).
- Sleep for 1 second. Repeat Step1.
During the sync processing in Step2 and sleep in Step3, any number of notifications can be missed.
Attachments
For Gerrit Dashboard: MB-25865 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
84077,1 | MB-25865 Add more debugging | watson | indexing | Status: ABANDONED | 0 | 0 |
91493,4 | MB-25865: Invalidate build_pool_info cache if nodes() change | master | ns_server | Status: MERGED | +2 | +1 |