Feature flag for maximum retry backoff time: https://github.com/signalapp/Signal-Android/commit/93e9dd642...
Add jitter to backoff time: https://github.com/signalapp/Signal-Android/commit/8f7fe5c3e...
Handle ServerRejectedException (HTTP 508): https://github.com/signalapp/Signal-Android/commit/c95f0fce6...
Feature flag for automatic session reset: https://github.com/signalapp/Signal-Android/commit/a3c7e7e55...
"A location for flags that can be set locally and remotely. These flags can guard features that are not yet ready to be activated."
Here is the file with javadoc on top:
https://github.com/signalapp/Signal-Android/blob/2c1c6fab356...
Solution: TRY-CATCH
I woke up one Monday morning to crashed servers and angry phone calls once in that situation. Unfortunately it wasn't success on my part but what I had done the Friday before was so crap it couldn't handle a hundred users. But we blamed it loudly on unexpected success, quickly patched the mistake and everyone was happy. YMMV :)