early quorum + post_quorum_timeout miss = bogus logging
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
New
|
Undecided
|
Unassigned |
Bug Description
In the various early quorum scenarios, when the code using a GreenAsyncPile decides it has quorum and breaks out of its iteration of the GreenAsyncPile, and then when it gets tired of waiting self.app.
I don't think we should cancel any relevant *Timeouts registered with eventlet, even if that were easy, because we lose potentially useful information about the state of the cluster when the laggards *do* actually timeout.
Instead, I think GreenAsyncPile should have a new instance method called "give_up" which, when called, will spawn a single greenthread to drain the Pile. It would probably look like just spawning a greenthread which runs self.waitall with no timeout.
Alternatively, there should be a method called "wait_some_
description: | updated |
description: | updated |
description: | updated |
description: | updated |