From 0e49cc91963549d73c2c9d9b5ac1d2ea0708d2b1 Mon Sep 17 00:00:00 2001 From: Charles Korn Date: Mon, 23 Oct 2023 11:46:36 +1100 Subject: [PATCH 1/3] Check for errors when iterating through chunks or samples in response to a query. --- pkg/ingester/ingester.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkg/ingester/ingester.go b/pkg/ingester/ingester.go index 9283ffe5ae0..92f7b0d1290 100644 --- a/pkg/ingester/ingester.go +++ b/pkg/ingester/ingester.go @@ -1762,6 +1762,11 @@ func (i *Ingester) executeSamplesQuery(ctx context.Context, db *userTSDB, from, return 0, 0, fmt.Errorf("unsupported value type: %v", valType) } } + + if err := it.Err(); err != nil { + return 0, 0, err + } + numSamples += len(ts.Samples) + len(ts.Histograms) numSeries++ tsSize := ts.Size() @@ -1858,6 +1863,11 @@ func (i *Ingester) executeChunksQuery(ctx context.Context, db *userTSDB, from, t ts.Chunks = append(ts.Chunks, ch) numSamples += meta.Chunk.NumSamples() } + + if err := it.Err(); err != nil { + return 0, 0, err + } + numSeries++ tsSize := ts.Size() @@ -2077,6 +2087,10 @@ func (i *Ingester) sendStreamingQueryChunks(allSeries *chunkSeriesNode, stream c numSamples += meta.Chunk.NumSamples() } + if err := it.Err(); err != nil { + return 0, 0, 0, err + } + numChunks += len(seriesChunks.Chunks) msgSize := seriesChunks.Size() From 58296dfb19c3edadd684d00eb5ee5cfd55eca87c Mon Sep 17 00:00:00 2001 From: Charles Korn Date: Mon, 23 Oct 2023 11:52:36 +1100 Subject: [PATCH 2/3] Add changelog entry. --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index dc702a6349b..78196b8cd98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -57,6 +57,7 @@ * [BUGFIX] Querier: reduce log volume when querying ingesters with zone-awareness enabled and one or more instances in a single zone unavailable. #6381 * [BUGFIX] Querier: don't try to query further ingesters if ingester query request minimization is enabled and a query limit is reached as a result of the responses from the initial set of ingesters. #6402 * [BUGFIX] Ingester: Don't cache context cancellation error when querying. #6446 +* [BUGFIX] Ingester: don't ignore errors encountered while iterating through chunks or samples in response to a query request. #6451 ### Mixin From 224eaf50511a47f8640cc923173afe7d3e13b9b3 Mon Sep 17 00:00:00 2001 From: Charles Korn Date: Tue, 24 Oct 2023 14:51:43 +1100 Subject: [PATCH 3/3] Fix changelog PR order --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 086550f7fad..55fa4c9469b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -60,7 +60,7 @@ * [BUGFIX] Querier: reduce log volume when querying ingesters with zone-awareness enabled and one or more instances in a single zone unavailable. #6381 * [BUGFIX] Querier: don't try to query further ingesters if ingester query request minimization is enabled and a query limit is reached as a result of the responses from the initial set of ingesters. #6402 * [BUGFIX] Ingester: Don't cache context cancellation error when querying. #6446 -* [BUGFIX] Ingester: don't ignore errors encountered while iterating through chunks or samples in response to a query request. #6469 #6451 +* [BUGFIX] Ingester: don't ignore errors encountered while iterating through chunks or samples in response to a query request. #6451 #6469 ### Mixin