From bb690a23b9b8b0eae99a246976a3222dfdced423 Mon Sep 17 00:00:00 2001 From: Lukasz Mierzwa Date: Tue, 29 Apr 2025 09:24:27 +0100 Subject: [PATCH] Make sure we never call trackStaleness with nil cache entry Signed-off-by: Lukasz Mierzwa --- scrape/scrape.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scrape/scrape.go b/scrape/scrape.go index 9ba5c6669b..cf26d16ae2 100644 --- a/scrape/scrape.go +++ b/scrape/scrape.go @@ -1820,8 +1820,9 @@ loop: // it in the scrape cache because we don't need to emit StaleNaNs for it when it disappears. if !seriesCached && sampleAdded { ce = sl.cache.addRef(met, ref, lset, hash) - if parsedTimestamp == nil || sl.trackTimestampsStaleness { + if ce != nil && (parsedTimestamp == nil || sl.trackTimestampsStaleness) { // Bypass staleness logic if there is an explicit timestamp. + // But make sure we only do this if we have a cache entry (ce) for our series. sl.cache.trackStaleness(hash, ce) } if sampleAdded && sampleLimitErr == nil && bucketLimitErr == nil {