Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve hung or inaccessible Route Propagation Logic #664

Open
sappenin opened this issue Jul 19, 2020 · 1 comment
Open

Improve hung or inaccessible Route Propagation Logic #664

sappenin opened this issue Jul 19, 2020 · 1 comment
Labels
routing v1.0 Features to be fixed for a 1.0 release

Comments

@sappenin
Copy link
Collaborator

The route-propagation logic is elegant in the sense that if a new server starts up, it can reach out to any peers with receiveRoutes=true and ask them for routes.

However, the system is complicated, and doesn't account for connections that hang -- e.g., in order to "receive routes", a connector has to send a "route control request" to the peer. If the peer doesn't send route updates after some amount of time, the connector should retry.

@sappenin
Copy link
Collaborator Author

sappenin commented Aug 15, 2020

For more context here: the way any given peer (e.g., route requestor) requests routes is that it reaches out to its peer (route-propagator) and asks it to start sending route updates. In the Java connector, the propagator emits route updates on a timer, so retry should not be necessary assuming the propagator has not crashed.

In those cases, however (i.e, the propagator crashes and restarts), then route-updates will no longer come to the requestor. In these cases, the requestor should detect this condition and send a new route-control message to trigger the propagator to start sending again.

(it's possible that this will simply happen via the scheduler on the requestor -- if that's the case, then this ticket can be closed).

@sappenin sappenin added the v1.0 Features to be fixed for a 1.0 release label Feb 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
routing v1.0 Features to be fixed for a 1.0 release
Projects
None yet
Development

No branches or pull requests

1 participant