MCPcopy
hub / github.com/grafana/tempo / retryCompleteOp

Method retryCompleteOp

modules/livestore/live_store_background.go:162–179  ·  view source on GitHub ↗
(op *completeOp, span oteltrace.Span, msg string, err error)

Source from the content-addressed store, hash-verified

160}
161
162func (s *LiveStore) retryCompleteOp(op *completeOp, span oteltrace.Span, msg string, err error) {
163 level.Error(s.logger).Log("msg", msg, "tenant", op.tenantID, "block", op.blockID, "err", err)
164 observeFailedOp(op)
165 span.RecordError(err)
166
167 delay := op.backoff()
168 op.at = time.Now().Add(delay)
169
170 metricCompletionRetries.Inc()
171
172 go func() {
173 time.Sleep(delay)
174
175 if err := s.requeueOp(op); err != nil {
176 _ = level.Error(s.logger).Log("msg", "failed to requeue block for flushing", "tenant", op.tenantID, "block", op.blockID, "err", err)
177 }
178 }()
179}
180
181func (s *LiveStore) startPerTenantCutToWalLoop(inst *instance) {
182 s.cutToWalWg.Add(1)

Callers 1

processCompleteOpMethod · 0.95

Calls 9

requeueOpMethod · 0.95
observeFailedOpFunction · 0.85
backoffMethod · 0.80
LogMethod · 0.65
ErrorMethod · 0.65
AddMethod · 0.65
NowMethod · 0.65
IncMethod · 0.65
SleepMethod · 0.65

Tested by

no test coverage detected