Improve handling of timeout bursts during online GC
Context
Followup from 2024-04-05: RegistryServiceDatabaseApdexSLOViol... (gitlab-com/gl-infra/production#17785 - closed). See this thread for more details.
Task
- Ensure that DB and storage timeout errors are bubbled up throughout the callstack properly, and that the GC agent applies the exponential backoff on the next run delay for each worker;
- Consider a higher priority backoff for connection/timeout errors so that GC workers don't contribute to the problem (saturation) when something like this happens.
Edited by João Pereira