[tor-bugs] #20597 [Core Tor/Tor]: Modify test network schedule start times for exponential backoff

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Nov 8 05:54:52 UTC 2016


#20597: Modify test network schedule start times for exponential backoff
-------------------------------------------------+-------------------------
 Reporter:  teor                                 |          Owner:
     Type:  defect                               |         Status:
                                                 |  needs_review
 Priority:  Medium                               |      Milestone:  Tor:
                                                 |  0.2.9.x-final
Component:  Core Tor/Tor                         |        Version:
 Severity:  Normal                               |     Resolution:
 Keywords:  must-fix-before-0295-alpha,          |  Actual Points:  0.5
  regression, 029-proposed                       |
Parent ID:                                       |         Points:  0.5
 Reviewer:                                       |        Sponsor:
-------------------------------------------------+-------------------------
Changes (by teor):

 * status:  new => needs_review
 * actualpoints:   => 0.5


Comment:

 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, delay*multiplier]. 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, delay*multiplier].)

 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.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/20597#comment:1>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list