Actions
Bug #14398
closed[keep-balance] deadlock on index retrieval error
Story points:
-
Release:
Release relationship:
Auto
Description
The error handling in keep-balance's GetCurrentState func depends on the size of the "errs" channel exceeding the number of possible errors from various goroutines. It used to be correct when the number of goroutines was 2+nServers, but then the number of goroutines changed to 2+nMounts, and GetCurrentState deadlocks if more than 2+nMounts > 2+nServers and all mounts return errors (e.g., wrong auth token).
Rather than relying on the channel size, fix this by using channel size 1 and ignoring subsequent errors once the channel is full (they won't be reported anyway).
Updated by Tom Clegg about 6 years ago
14398-error-deadlock @ 906551dd3a4823c03290d6abc37a3232dfa957bb
Updated by Tom Clegg about 6 years ago
- Status changed from In Progress to Resolved
- % Done changed from 0 to 100
Applied in changeset arvados|dd5efa11702934a9e00ae05b76f3f0279e1c36df.
Actions