From 72d1fc4322602739332dcf1120d3effa1111e2b4 Mon Sep 17 00:00:00 2001 From: Patryk Prus
Date: Fri, 28 Feb 2025 10:11:45 -0500 Subject: [PATCH] move directory scan outside of the loop Signed-off-by: Patryk Prus
--- tsdb/head_wal.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tsdb/head_wal.go b/tsdb/head_wal.go index 014db5673b..447ad23a17 100644 --- a/tsdb/head_wal.go +++ b/tsdb/head_wal.go @@ -74,6 +74,11 @@ func (h *Head) loadWAL(r *wlog.Reader, syms *labels.SymbolTable, multiRef map[ch decodeErr, seriesCreationErr error ) + _, last, err := wlog.Segments(h.wal.Dir()) + if err != nil { + return fmt.Errorf("failed to get last segment to mark duplicate series as deleted: %w", err) + } + defer func() { // For CorruptionErr ensure to terminate all workers before exiting. _, ok := err.(*wlog.CorruptionErr) @@ -237,12 +242,7 @@ Outer: } if !created { multiRef[walSeries.Ref] = mSeries.ref - // Mark the walSeries as deleted, so it is kept in subsequent WAL checkpoints. - _, last, err := wlog.Segments(h.wal.Dir()) - if err != nil { - h.logger.Error("failed to get last segment to mark duplicate series as deleted", "err", err) - } h.markDeleted(walSeries.Ref, last) }