Overview
If the connection to the master server is lost but a replacement is not immediately available, the retrying of the failed query needs to be delayed. The delay should be minimal meaning that the retrying is done as soon as a new master server is available.
Task Details
- Add a way for routers to get notified of new servers
- Create a mechanism that allows delayed execution of events
Implementation Details
To keep the retrying mechanism simple, the routers are not notified of new events but attempt to route the query again until either the routing is successful or a timeout is hit. This removes the need for separate retrying logic as the normal routing logic covers both cases.
|