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

Remove the local routing module #4982

Closed
hackaugusto opened this issue Sep 25, 2019 · 2 comments
Closed

Remove the local routing module #4982

hackaugusto opened this issue Sep 25, 2019 · 2 comments

Comments

@hackaugusto
Copy link
Contributor

hackaugusto commented Sep 25, 2019

Abstract

Currently there are two ways for a node to find a route. With the local routing or with the path finding service. Since both do the same thing, and a user should be allowed to run a path finding service locally, there is very little use to the local routing.

Motivation

There are a few reasons to remove the local routing:

  • The path finding service does the same thing, so the local routing is just extra code to be tested and maintained
  • Because of the local routing, the Raiden node is forced to actively poll for every channel open/close in the network. Which has a very negative impact on the first run Reducing the number of blocks that Raiden client needs to read on startup Reducing the number of blocks that Raiden client needs to read on startup raiden-contracts#705 and on the Performance related question Performance related question #4872 and Raiden is slow on slow hardware Raiden is slow on slow hardware #3199 This is not a good argument, at least if Raiden is using Geth/Parity. These nodes peform a linear search regardless of the event details, which means that a query for just the open event of the node, or a query of all open events have comparable performance.

Specification

Just remove the local routing and add proper documentation for users that don't want to use a hosted path finding service

Backwards Compatibility

This may need a migration to clear the NodeState

@rakanalh
Copy link
Contributor

rakanalh commented Oct 1, 2019

Since we've discussed this before, i am going to bring up the question of what to use in integration tests if we don't have a fallback? I guess rather than removing local routing, we could make it a module of the tests package so that it is used to calculate routes for tests.

@hackaugusto
Copy link
Contributor Author

internal routing is now being used as a sanity check and to provide better error messages, additionally the idea that querying for just the events of interest is faster was flawed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants