summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2016-11-07 09:38:49 -0500
committerNick Mathewson <nickm@torproject.org>2016-11-07 11:01:20 -0500
commit667ba776b1d91c8d1229319be88191008975d6eb (patch)
treef48a8927f2351a5523cae94b852af4b69a699d6b
parente4b793fe41fc09cc1f7753cfe90b74095a49a34f (diff)
downloadtor-667ba776b1d91c8d1229319be88191008975d6eb.tar.gz
tor-667ba776b1d91c8d1229319be88191008975d6eb.zip
Adjust download schedules per teor's #20534 recommendataions
-rw-r--r--changes/bug205346
-rw-r--r--src/or/config.c4
-rw-r--r--src/or/directory.c2
3 files changed, 7 insertions, 5 deletions
diff --git a/changes/bug20534 b/changes/bug20534
index 1ffa1f32e9..49db433a01 100644
--- a/changes/bug20534
+++ b/changes/bug20534
@@ -2,5 +2,7 @@
- Remove the maximum delay on exponential-backoff scheduling.
Since we now allow an infinite number of failures (see ticket
20536), we must now allow the time to grow longer on each failure.
- Fixes bug 20534; bugfix on 0.2.9.1-alpha.
-
+ Fixes part of bug 20534; bugfix on 0.2.9.1-alpha.
+ - Use initial delays and decrements in download scheduling closer to
+ those from 0.2.8. Fixes another part of bug 20534; bugfix on
+ 0.2.9.1-alpha.
diff --git a/src/or/config.c b/src/or/config.c
index 08c576e3d4..9ad5d63f8d 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -501,7 +501,7 @@ static config_var_t option_vars_[] = {
* When clients have authorities and fallbacks available, they use these
* schedules: (we stagger the times to avoid thundering herds) */
V(ClientBootstrapConsensusAuthorityDownloadSchedule, CSV_INTERVAL,
- "10, 11, 3600, 10800, 25200, 54000, 111600, 262800" /* 3 days + 1 hour */),
+ "6, 11, 3600, 10800, 25200, 54000, 111600, 262800" /* 3 days + 1 hour */),
V(ClientBootstrapConsensusFallbackDownloadSchedule, CSV_INTERVAL,
"0, 1, 4, 11, 3600, 10800, 25200, 54000, 111600, 262800"),
/* When clients only have authorities available, they use this schedule: */
@@ -512,7 +512,7 @@ static config_var_t option_vars_[] = {
* blackholed. Clients will try 3 directories simultaneously.
* (Relays never use simultaneous connections.) */
V(ClientBootstrapConsensusMaxInProgressTries, UINT, "3"),
- V(TestingBridgeDownloadSchedule, CSV_INTERVAL, "3600, 900, 900, 3600"),
+ V(TestingBridgeDownloadSchedule, CSV_INTERVAL, "1200, 900, 900, 3600"),
V(TestingClientMaxIntervalWithoutRequest, INTERVAL, "10 minutes"),
V(TestingDirConnectionMaxStall, INTERVAL, "5 minutes"),
V(TestingConsensusMaxDownloadTries, UINT, "8"),
diff --git a/src/or/directory.c b/src/or/directory.c
index 5fc15724cc..02f14387ad 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -3798,7 +3798,7 @@ next_random_exponential_delay(int delay, int max_delay)
int max_increment;
if (delay)
- max_increment = delay; /* no more than double. */
+ max_increment = delay * 4; /* no more than quintuple. */
else
max_increment = 1; /* we're always willing to slow down a little. */