Do You Want to Retry?
Handling and Testing Network Failures
The world is not perfect and network failures do happen. Complaining about instability might not always be enough. Especially when your system depends on multiple networked services and each of them is on a critical path to the final result.
This talk will follow a real story of an attempt to implement network errors handling by retries functionality that is inside urllib3 and requests Python libraries. More importantly we will simulate poor network conditions on a local machine using Linux Network Emulator and then will reason on how effective the attempt was and what can be further improved.
This is a proper treatment the networked systems should get when they are designed, developed and tested. And it is great that all the tools necessary are already there in most popular Linux distributions.