Skip to content

Commit 632a9ce

Browse files
committed
cmd/vanity-mirror: add retries on get-entries errors
1 parent cce47f3 commit 632a9ce

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

cmd/vanity-mirror/vanity-mirror.go

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,8 +215,30 @@ func main() {
215215
for n := tree.N; n < sth.TreeSize; n += batchSize {
216216
end := min(n+batchSize, sth.TreeSize)
217217
entries, err := fetchBatch(ctx, n, end)
218+
backoffs := []time.Duration{
219+
1 * time.Second,
220+
5 * time.Second,
221+
10 * time.Second,
222+
30 * time.Second,
223+
1 * time.Minute,
224+
2 * time.Minute,
225+
3 * time.Minute,
226+
5 * time.Minute,
227+
7 * time.Minute,
228+
10 * time.Minute,
229+
}
230+
for i := 0; err != nil && i < len(backoffs); i++ {
231+
logger.Warn("failed to fetch batch, retrying",
232+
"err", err, "attempt", i+1, "backoff", backoffs[i])
233+
select {
234+
case <-ctx.Done():
235+
fatalError(logger, "interrupted during retry", "err", ctx.Err())
236+
case <-time.After(backoffs[i]):
237+
}
238+
entries, err = fetchBatch(ctx, n, end)
239+
}
218240
if err != nil {
219-
fatalError(logger, "failed to fetch tile", "err", err)
241+
fatalError(logger, "failed to fetch batch after retries", "err", err)
220242
}
221243
hashes := make([]tlog.Hash, len(entries))
222244
for i := range entries {

0 commit comments

Comments
 (0)