[tor-bugs] #9321 [Tor]: Load balance right when we have higher guard rotation periods

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Feb 18 12:09:54 UTC 2015


#9321: Load balance right when we have higher guard rotation periods
-------------------------+-------------------------------------------------
     Reporter:  arma     |      Owner:
         Type:  project  |     Status:  needs_review
     Priority:  major    |  Milestone:  Tor: 0.2.6.x-final
    Component:  Tor      |    Version:
   Resolution:           |   Keywords:  needs-proposal, tor-auth, tor-
Actual Points:           |  client, 026-triaged-1, unfrozen, nickm-review
       Points:           |  Parent ID:  #11480
-------------------------+-------------------------------------------------

Comment (by asn):

 OK, please check the `bug9321_rebase` branch again. I improved the comment
 wrt the total bandwidth weights. Hopefully the situation is more clear
 now.

 Your comment:
 {{{
 It's a little weird that should_apply_guardfraction() applies changes only
 when we next parse the networkstatus, but that probably won't hurt
 anything, right?
 }}}
 is interesting. You mean that because we call
 `should_apply_guardfraction()` during consensus parsing,
 `networkstatus_get_param()` will actually check the previous consensus and
 not the one we are currently parsing, right? That's true.

 I don't think it's tera-bad, except if we plan to be toggling the
 `UseGuardFraction` consensus parameter frequently. Under normal
 circumstances, it will delay the effect of `UseGuardFraction` by one hour.

 However, I understand that it's wrong behavior and it should be fixed. I
 can see two ways here:

 We can try to pass the consensus that is currently getting parsed to
 `should_apply_guardfraction()`. This might be OK even though that
 `networstatus_t` is not completely populated, since in
 `networkstatus_parse_vote_from_string()` we set `net_params` before we
 call `routerstatus_parse_entry_from_string()`.

 The other way would be to pass the `net_params` smartlist to the
 `should_apply_guardfraction()` function and let it use the smartlist
 directly instead of calling `networkstatus_get_param()`. This is more
 messy and I don't like it.

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


More information about the tor-bugs mailing list