Open F483 opened 8 years ago
This seems to make a difference in the wild also as reported by @robertsdotpm
The main problem is that the DHT and relay functions do not preform well under high churn (on startup and network reorg). The best way to handle this may be to monitor the churn and disable (get, put, message) features until churn is lower and queue the calls to those features in the mean time.
This is quite a bit of effort to change and since its mostly on startup I recommend just waiting on start-up for some amount of time as a quick fix.
While it will not make to much of a difference in the wild, for testing it can improve a lot.
Currently we disable auto refresh (because we of twisted miss/use?) and get all nodes to refresh there neighbours twice, then wait until they are done https://github.com/Storj/storjnode/blob/develop/tests/network/node.py#L88. We don't know when they are done, which means we have to wait longer then needed and increase the test time unnecessarily.
tl;dr find a better way to determine if the nodes are done finding each other.