Don't update metrics on context cancellation

Signed-off-by: Goutham Veeramachaneni <gouthamve@gmail.com>
This commit is contained in:
Goutham Veeramachaneni 2022-01-04 10:46:52 +01:00
parent 1af81dc5c9
commit 6696b7a5f0
No known key found for this signature in database
GPG Key ID: F1C217E8E9023CAD
1 changed files with 6 additions and 0 deletions

View File

@ -15,6 +15,7 @@ package remote
import (
"context"
"errors"
"math"
"strconv"
"sync"
@ -1311,6 +1312,11 @@ func (s *shards) sendSamplesWithBackoff(ctx context.Context, samples []prompb.Ti
}
err = sendWriteRequestWithBackoff(ctx, s.qm.cfg, s.qm.logger, attemptStore, onRetry)
if errors.Is(err, context.Canceled) {
// When there is resharding, we cancel the context for this queue, which means the data is not sent.
// So we exit early to not update the metrics.
return err
}
s.qm.metrics.sentBytesTotal.Add(float64(reqSize))
s.qm.metrics.highestSentTimestamp.Set(float64(highest / 1000))