MCPcopy Create free account
hub / github.com/PostHog/duckgres / originRetryReason

Function originRetryReason

cmd/cache-proxy/proxy.go:587–612  ·  view source on GitHub ↗
(err error)

Source from the content-addressed store, hash-verified

585 }
586 lastErr = err
587 var oe *originStatusError
588 if errors.As(err, &oe) {
589 originSpan.SetAttributes(attribute.Int("http.response.status_code", oe.status))
590 }
591 if err := r.Context().Err(); err != nil {
592 originSpan.SetStatus(codes.Error, err.Error())
593 return err
594 }
595 if i == attempts || !isRetriableOriginFetchError(err) {
596 originSpan.SetStatus(codes.Error, err.Error())
597 return err
598 }
599
600 delay := jitteredOriginRetryDelay(backoff, p.originRetryMaxBackoff)
601 slog.Warn("Origin fetch failed with retriable error, retrying.",
602 "url", r.URL.String(),
603 "range", r.Header.Get("Range"),
604 "attempt", i,
605 "max_attempts", attempts,
606 "backoff", delay,
607 "error", err)
608 if !sleepContext(r.Context(), delay) {
609 err := r.Context().Err()
610 if err == nil {
611 err = context.Canceled
612 }
613 originSpan.SetStatus(codes.Error, err.Error())
614 return err
615 }

Callers 2

fetchOriginMethod · 0.85

Calls 2

TimeoutMethod · 0.80
ErrorMethod · 0.45

Tested by 1