Opened 5 years ago

Last modified 22 months ago

#10478 new defect

Use prepend_policy or similar in preference to mark_circuit_unusable_for_new_conns

Reported by: nickm Owned by:
Priority: High Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords: tor-client reliability
Cc: Actual Points:
Parent ID: #7870 Points:
Reviewer: Sponsor:

Description

For some error cases, probably including END_STREAM_REASON_TIMEOUT, END_STREAM_REASON_RESOLVEFAILED, END_STREAM_REASON_CONNECTREFUSED, our current practice of tracking failures with client_dns_incr_failures and marking the whole circuit as unusable for connections is probably no good.

After all, a TIMEOUT can just mean that the particular address was filtered, or that it legitimately timed out, or something like that.

Instead, we should use prepend_policy or some similar mechanism to mark that circuit, not as unsuitable for all new streams, but as simply unsuitable for the particular address. (I say "something like prepend_policy" and not "prepend_policy" because we should really drop the original hostname and not just the resolved address.) We might want to keep a counter of the number of successful and failed streams per circuit.

This is going to be important if we make more failure types retriable (#7870).

Child Tickets

Change History (13)

comment:1 Changed 5 years ago by nickm

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

comment:2 Changed 5 years ago by andrea

Milestone: Tor: 0.2.???Tor: 0.2.6.x-final

Triage for 0.2.5.x: we think #7870 should depend on this

comment:3 Changed 5 years ago by nickm

Keywords: 025-backport 026-triaged added; 024-backport removed
Parent ID: #7870

comment:4 Changed 5 years ago by nickm

Keywords: 026-triaged-0 added; 026-triaged removed

comment:5 Changed 5 years ago by andrea

Keywords: 026-triaged-1 added

This should happen in 0.2.6.

comment:6 Changed 4 years ago by nickm

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

Defer some items from 0.2.6. They are mostly worth doing, but not going to happen super-fast.

comment:7 Changed 2 years ago by teor

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

Milestone renamed

comment:8 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:9 Changed 22 months ago by nickm

Keywords: tor-03-unspecified-201612 removed

Remove an old triaging keyword.

comment:10 Changed 22 months ago by nickm

Keywords: 026-triaged-1 removed

comment:11 Changed 22 months ago by nickm

Keywords: 026-triaged-0 removed

comment:12 Changed 22 months ago by nickm

Keywords: 025-backport removed

These are not ripe for 0.2.5, even if they do get fixed now

comment:13 Changed 22 months ago by nickm

Keywords: reliability added
Severity: Normal
Note: See TracTickets for help on using tickets.