Skip to content

tor-hsservice: Retry any failed descriptor uploads.

gabi-250 requested to merge gabi-250/arti:publisher-retry-failed into main

This builds on top of !1812 (merged)

Note the publisher already had a mechanism for retrying failed uploads: our existing retry mechanism involves retrying the failed upload until it succeeds, or until the the timeout specified in PublisherBackoffSchedule::timeout() elapses.

Previously, if the descriptor could not be uploaded after PublisherBackoffSchedule::timeout() time units of trying, it would be declared a failure (UploadStatus::Failure), and never retried again.

Now, if the UploadStatus of any given HsDir is Failure, the publisher reschedules the upload at a later time (which will cause it to be retried again until it succeeds, or gets rescheduled yet again). There is no upper limit for the number of times we retry an upload (but perhaps there should be).

Closes #1098

Merge request reports