diff --git a/tsdb/record/record_test.go b/tsdb/record/record_test.go index 030b7e2bc7..e26f964072 100644 --- a/tsdb/record/record_test.go +++ b/tsdb/record/record_test.go @@ -216,6 +216,7 @@ func TestRecord_EncodeDecode(t *testing.T) { decGaugeFloatHistograms, err := dec.FloatHistogramSamples(gaugeFloatHistSamples, nil) require.NoError(t, err) decCustomBucketsGaugeFloatHistograms, err := dec.FloatHistogramSamples(customBucketsGaugeFloatHistSamples, nil) + require.NoError(t, err) decGaugeFloatHistograms = append(decGaugeFloatHistograms, decCustomBucketsGaugeFloatHistograms...) require.Equal(t, floatHistograms, decGaugeFloatHistograms) } diff --git a/tsdb/wlog/checkpoint.go b/tsdb/wlog/checkpoint.go index 63a7737b3a..45c506e802 100644 --- a/tsdb/wlog/checkpoint.go +++ b/tsdb/wlog/checkpoint.go @@ -227,6 +227,9 @@ func Checkpoint(logger *slog.Logger, w *WL, from, to int, keep func(id chunks.He stats.DroppedSamples += len(histogramSamples) - len(repl) case record.CustomBucketsHistogramSamples: histogramSamples, err = dec.HistogramSamples(rec, histogramSamples) + if err != nil { + return nil, fmt.Errorf("decode histogram samples: %w", err) + } // Drop irrelevant histogramSamples in place. repl := histogramSamples[:0] for _, h := range histogramSamples {