Skip to content

multiplexer: graceful fallback on specific read exceptions

Under some circumstances (e.g. network instability, service restarts, etc.), one of the object storages backing a multiplexer instance might be temporarily unavailable.

Instead of immediately raising an exception, temporarily disable the backend for further accesses and attempt reading the object from other backends. Raise a specific NoBackendsLeft exception if all the backends have been disabled due to a transient exception.

Merge request reports