Opened 4 years ago

Last modified 16 months ago

#13929 new defect

Increase Authority reachability testing rate with low TestingAuthDirTimeToLearnReachability

Reported by: teor Owned by:
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version: Tor: 0.2.7
Severity: Normal Keywords: testing, chutney, SponsorS-deferred, tor-dirauth
Cc: nickm Actual Points:
Parent ID: #22463 Points: small
Reviewer: Sponsor:

Description

In a TestingTorNetwork, when TestingAuthDirTimeToLearnReachability is much lower than its normal value of 30 minutes, bootstrap will happen much more reliably if we test reachability at a proportionally faster rate.

I'd like to multiply the number of routers tested every 10 seconds, by the proportion that TestingAuthDirTimeToLearnReachability is smaller than the expected 1280 second cycle length.

Child Tickets

Change History (29)

comment:1 Changed 4 years ago by teor

Fixed as part of #13718. Composing commits over the next week.

comment:2 Changed 4 years ago by teor

This fix means we don't have to do anything special for authority reachability testing to get #13976 to work as expected.

comment:3 Changed 4 years ago by teor

Owner: set to teor
Status: newassigned

comment:4 Changed 4 years ago by teor

Status: assignedneeds_review

The changes to tor in #13718 have fixed this:

Bugs: #13718, #13814, maybe #13787, #13839, #13924, #13823, #13929, #13963
Branch: bug13718-fast-bootstrap
Note: There are 5 branches that start with bug13718, please choose the right one.
Repository: ​​​​​​​​https://github.com/teor2345/tor.git

comment:5 Changed 4 years ago by teor

Status: needs_reviewneeds_revision

I am now revising #13929 & #13928 separately from #13718, as this is particularly authority-related.

These changes are not required for the fast bootstrap case (10s) in #13718. They might be required for the comprehensive bootstrap case (30s) when we're not using TestingDirAuthVoteGuard * TestingDirAuthVoteExit *. (Although I really need to look into the guard case more.)

This needs some tests (check it covers all cases), and therefore probably needs some refactoring to be more testable.

The WIP branch for tor is:

Bugs: #13929, #13928 (in that order)
Branch: faster-permuted-reachability
Repository: ​​​​​​​https://github.com/teor2345/tor.git

comment:6 Changed 4 years ago by teor

Parent ID: #13718#14034

We will now track this as part of #14034 Make TestingDirAuthVoteGuard, TestingDirAuthVoteExit and AssumeReachable less essential in test networks.

comment:7 Changed 4 years ago by nickm

Milestone: Tor: 0.2.6.x-final

Let's have a look at this in 0.2.6, maybe.

comment:8 Changed 4 years ago by teor

Milestone: Tor: 0.2.6.x-final
Status: needs_revisionneeds_review

See #13928 for a new branch with these changes.

comment:9 Changed 4 years ago by teor

Milestone: Tor: 0.2.7.x-final

Maybe 0.2.7

comment:10 Changed 4 years ago by nickm

Keywords: 027-triaged-1-in added

Marking more tickets as triaged-in for 0.2.7

comment:11 Changed 4 years ago by isabela

Keywords: SponsorS added
Version: Tor: 0.2.6.1-alphaTor: 0.2.7

comment:12 Changed 4 years ago by nickm

Status: needs_reviewneeds_revision
17:38 < nickm> hm. I see #13929 is part of #13928, and #13928 is in 
               needs_revision, so probably #13929 should be needs_revision too?

comment:13 Changed 4 years ago by teor

Keywords: 027-triaged-1-in removed
Milestone: Tor: 0.2.7.x-finalTor: 0.2.8.x-final

I want to split this from #13928, as #13928 is a solution to a problem I don't think exists (authority reachability testing being predictable). And making it random could cause other hard-to-diagnose bugs.

But it would be useful to increase the rate at which we check reachability in test networks. I just don't think it's urgent - no-one seems to need it at the moment.

comment:14 Changed 3 years ago by nickm

Keywords: 028-triaged added

comment:15 Changed 3 years ago by nickm

Keywords: SponsorS removed
Sponsor: SponsorS

Bulk-replace SponsorS keyword with SponsorS sponsor field in Tor component.

comment:16 Changed 3 years ago by nickm

Points: small

comment:17 Changed 3 years ago by nickm

Keywords: pre028-patch added

comment:18 Changed 3 years ago by teor

Severity: Normal

This doesn't seem to be impacting test network bootstrap times at the moment, but that might be because we avoid using the reachability code and just assume everything is reachable.

comment:19 Changed 3 years ago by teor

Keywords: 028-triaged pre028-patch removed
Milestone: Tor: 0.2.8.x-finalTor: 0.2.9.x-final

I'm going to bump this to 0.2.9.
If anyone thinks we are having issues with the authority reachability code, or thinks we need to test it in chutney sooner, feel free to put it back in 0.2.8.

comment:20 Changed 3 years ago by isabela

Sponsor: SponsorSSponsorS-can

comment:21 Changed 3 years ago by isabela

Milestone: Tor: 0.2.9.x-finalTor: 0.2.???

tickets market to be removed from milestone 029

comment:22 Changed 3 years ago by nickm

Keywords: SponsorS-deferred added
Sponsor: SponsorS-can

Remove the SponsorS status from these items, which we already decided to defer from 0.2.9. add the SponsorS-deferred tag instead in case we ever want to remember which ones these were.

comment:23 Changed 2 years ago by teor

Milestone: Tor: 0.2.???Tor: 0.3.???

Milestone renamed

comment:24 Changed 2 years ago by nickm

Keywords: tor-03-unspecified-201612 added
Milestone: Tor: 0.3.???Tor: unspecified

Finally admitting that 0.3.??? was a euphemism for Tor: unspecified all along.

comment:25 Changed 22 months ago by nickm

Keywords: tor-03-unspecified-201612 removed

Remove an old triaging keyword.

comment:26 Changed 22 months ago by dgoulet

Keywords: tor-dirauth added; tor-auth removed

Turns out that tor-auth is for directory authority so make it clearer with tor-dirauth

comment:27 Changed 22 months ago by teor

Parent ID: #14034#22463

We should do this when we do #22463.

comment:28 Changed 16 months ago by teor

Owner: teor deleted
Status: needs_revisionassigned

Disowning tickets I don't intend to work on in the next 6 months.

comment:29 Changed 16 months ago by teor

Status: assignednew

Mark all tickets that are assigned to nobody as "new".

Note: See TracTickets for help on using tickets.