When we fixed #20499 (moved), we broke the tor test network schedules.
They need to be tuned just like the client bootstrap authority and bridge client schedules.
This should be quite an easy fix, it just involves changing the initial delay until bootstrap works.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items 0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items 0
Link issues together to show that they're related.
Learn more.
There is no initial delay at which bootstrap works in the test network at exponent 4 (multiplier 3).
This is because it takes 5-10 seconds for the initial consensus to be created.
Ideally, we want relays and clients to wait 10 seconds before trying their first download.
Then we want them to download with linear or low multiplier exponential delays starting at 0 or 1.
But the exponential backoff code does not have this option.
If we start with a low delay and high multiplier, by the time that consensus is created, the variance among the backoff times is so high that some clients and relays work, and others do not.
We also can't change these schedules in Tor, because chutney explicitly sets them all to "0, 5". (And the exponential backoff code only uses the initial "0".)
The solution is to reduce the exponent to 3 (multiplier 2), but only in test networks.
(The original exponential backoff code had exponent 2 (multiplier 1), and with delay increments in [0, delaymultiplier]. But I chose exponent 3 (multiplier 2) to get as close to the live network code as possible. It seems just as reliable. It's also worth noting that the delay increments are now in [1, delaymultiplier].)
Perhaps we can make this a configurable option, but that can wait for a later release. Perhaps we could also stop setting these options in chutney as well. But this works well enough for now.
Please see my branch bug20597_029 on github.
Trac: Status: new to needs_review Actualpoints: N/Ato 0.5