zebra
zebra copied to clipboard
Remove the `ErrorSlot` type
Motivation
We're seeing "failed servers must set their error slot" panics when Zebra is overloaded.
This panic is caused by the design of the Client
connection code. Currently, the Client
tasks share an ErrorSlot
mutex, which must be updated before they exit.
This ticket removes the ErrorSlot
type, after we stop using it:
- #4733
- #4734
Designs
Remove the ErrorSlot
type, and any methods that use it.
Here are some cleanups we might be able to do:
- delete
Connection
'sState::Failed
andfail_with
- delete the
ErrorSlot
Some of this cleanup might happen in earlier tickets.
Related Work
This is part of:
- #3263
We're making network issues a lower priority for now.