Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
T
Tor
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,074
    • Issues 1,074
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 40
    • Merge Requests 40
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards

GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

  • The Tor Project
  • Core
  • Tor
  • Issues
  • #40168

Closed
Open
Opened Oct 27, 2020 by Mike Perry@mikeperryDeveloper

Circuit Build Timeout should ignore abandon circuits, lower min timeout

While working on #40157, @asn and I discovered that the Circuit Build Timeout learned by CBT was too high. It is counting failed circuits and circuits that did not complete as if they were the longest build-time ("right-censored" in the Pareto estimator). This caused the resulting Pareto curve to be a poor fit. These circuits weren't actually that slow; their relays were just down or unresponsive. We should not count these circuits in our build time stats. Doing so in onionperf testing makes the Pareto curve fit much tighter.

Additionally, there is a #define CBT_DEFAULT_TIMEOUT_MIN_VALUE that makes the minimum timeout value 1.5 seconds. This is way too high -- timeouts on the network range from 80ms to 500ms now. This minimum should be like 25 or 50ms now.

This should be backported to stable clients for a couple reasons -- we want to eventually tune the network-wide circuit build timeout quantile for Sponsor61 experiments, but we can't do that until all clients compute the same circuit build timeout. Additionally, it is abysmal UX to wait for 1.5 seconds on circuits that will never ever build.

Edited Oct 27, 2020 by Mike Perry
To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information
Assignee
Assign to
Sponsor 61 - Making the Tor network faster & more reliable for users in Internet-repressive places
Milestone
Sponsor 61 - Making the Tor network faster & more reliable for users in Internet-repressive places
Assign milestone
Time tracking
None
Due date
None
Reference: tpo/core/tor#40168