Opened 3 years ago

Closed 2 years ago

#20611 closed defect (wontfix)

Relays should log a message when they return a 503 error to a client

Reported by: teor Owned by:
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version: Tor:
Severity: Normal Keywords: easy, tor-relay, logging
Cc: Knight Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


A relay operator is concerned that their relay is returning 503 errors, but there are no corresponding errors in the logs.

Child Tickets

Change History (9)

comment:1 Changed 3 years ago by Knight

Cc: Knight added

comment:2 Changed 3 years ago by teor

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

Milestone renamed

comment:3 Changed 3 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:4 Changed 3 years ago by nickm

Keywords: tor-03-unspecified-201612 removed

Remove an old triaging keyword.

comment:5 Changed 3 years ago by nickm

Keywords: easy tor-relay logging added

Also, this message should be rate-limited using the log_fn_ratelim() API.

comment:6 Changed 2 years ago by aruna1234

So every time they return a 503 error, it should be logged, in all the files?

comment:7 Changed 2 years ago by teor

Tor's logging API is in torlog.h. It handles writing to all the log files for you. This log should probably be at the notice level. And it should be rate limited, see above,

comment:8 Changed 2 years ago by arma

"a relay operator"?

Tor relays will return 503 when they're close to empty on their rate limiting, and they don't want to waste bytes on serving a directory object (that would be an asymmetric use of their last little bit of bandwidth anyway).

I'm not at all convinced that we should have notice-level logs of whenever the relay decided it was low on bandwidth. That probably happens every so often for most relays, and the whole "503, back off" thing is a feature designed to help us tolerate these situations. Telling the operator is like asking the operator to do something about it, and that's exactly what we're trying to avoid with the whole design.

comment:9 Changed 2 years ago by teor

Resolution: wontfix
Status: newclosed
Note: See TracTickets for help on using tickets.