chore: do not store query name in cache (#8838)

This commit is contained in:
Srikanth Chekuri 2025-08-19 13:01:55 +05:30 committed by GitHub
parent 019083983a
commit e30de5f13e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 11 additions and 14 deletions

View File

@ -490,7 +490,6 @@ func (bc *bucketCache) mergeTimeSeriesValues(ctx context.Context, buckets []*cac
key string key string
} }
seriesMap := make(map[seriesKey]*qbtypes.TimeSeries, estimatedSeries) seriesMap := make(map[seriesKey]*qbtypes.TimeSeries, estimatedSeries)
var queryName string
for _, bucket := range buckets { for _, bucket := range buckets {
var tsData *qbtypes.TimeSeriesData var tsData *qbtypes.TimeSeriesData
@ -499,11 +498,6 @@ func (bc *bucketCache) mergeTimeSeriesValues(ctx context.Context, buckets []*cac
continue continue
} }
// Preserve the query name from the first bucket
if queryName == "" && tsData.QueryName != "" {
queryName = tsData.QueryName
}
for _, aggBucket := range tsData.Aggregations { for _, aggBucket := range tsData.Aggregations {
for _, series := range aggBucket.Series { for _, series := range aggBucket.Series {
// Create series key from labels // Create series key from labels
@ -549,7 +543,6 @@ func (bc *bucketCache) mergeTimeSeriesValues(ctx context.Context, buckets []*cac
// Convert map back to slice // Convert map back to slice
result := &qbtypes.TimeSeriesData{ result := &qbtypes.TimeSeriesData{
QueryName: queryName,
Aggregations: make([]*qbtypes.AggregationBucket, 0, len(aggMap)), Aggregations: make([]*qbtypes.AggregationBucket, 0, len(aggMap)),
} }
@ -738,9 +731,7 @@ func (bc *bucketCache) trimResultToFluxBoundary(result *qbtypes.Result, fluxBoun
case qbtypes.RequestTypeTimeSeries: case qbtypes.RequestTypeTimeSeries:
// Trim time series data // Trim time series data
if tsData, ok := result.Value.(*qbtypes.TimeSeriesData); ok && tsData != nil { if tsData, ok := result.Value.(*qbtypes.TimeSeriesData); ok && tsData != nil {
trimmedData := &qbtypes.TimeSeriesData{ trimmedData := &qbtypes.TimeSeriesData{}
QueryName: tsData.QueryName,
}
for _, aggBucket := range tsData.Aggregations { for _, aggBucket := range tsData.Aggregations {
trimmedBucket := &qbtypes.AggregationBucket{ trimmedBucket := &qbtypes.AggregationBucket{
@ -807,7 +798,6 @@ func (bc *bucketCache) filterResultToTimeRange(result *qbtypes.Result, startMs,
case qbtypes.RequestTypeTimeSeries: case qbtypes.RequestTypeTimeSeries:
if tsData, ok := result.Value.(*qbtypes.TimeSeriesData); ok { if tsData, ok := result.Value.(*qbtypes.TimeSeriesData); ok {
filteredData := &qbtypes.TimeSeriesData{ filteredData := &qbtypes.TimeSeriesData{
QueryName: tsData.QueryName,
Aggregations: make([]*qbtypes.AggregationBucket, 0, len(tsData.Aggregations)), Aggregations: make([]*qbtypes.AggregationBucket, 0, len(tsData.Aggregations)),
} }

View File

@ -169,9 +169,8 @@ func TestBucketCache_Put_And_Get(t *testing.T) {
assert.Equal(t, []string{"test warning"}, cached.Warnings) assert.Equal(t, []string{"test warning"}, cached.Warnings)
// Verify the time series data // Verify the time series data
tsData, ok := cached.Value.(*qbtypes.TimeSeriesData) _, ok := cached.Value.(*qbtypes.TimeSeriesData)
require.True(t, ok) require.True(t, ok)
assert.Equal(t, "A", tsData.QueryName)
} }
func TestBucketCache_PartialHit(t *testing.T) { func TestBucketCache_PartialHit(t *testing.T) {
@ -1077,7 +1076,6 @@ func TestBucketCache_FilteredCachedResults(t *testing.T) {
// Verify the cached result only contains values within the requested range // Verify the cached result only contains values within the requested range
tsData, ok := cached.Value.(*qbtypes.TimeSeriesData) tsData, ok := cached.Value.(*qbtypes.TimeSeriesData)
require.True(t, ok) require.True(t, ok)
assert.Equal(t, "A", tsData.QueryName)
require.Len(t, tsData.Aggregations, 1) require.Len(t, tsData.Aggregations, 1)
require.Len(t, tsData.Aggregations[0].Series, 1) require.Len(t, tsData.Aggregations[0].Series, 1)

View File

@ -385,6 +385,15 @@ func (q *querier) run(
if err != nil { if err != nil {
return nil, err return nil, err
} }
switch v := result.Value.(type) {
case *qbtypes.TimeSeriesData:
v.QueryName = name
case *qbtypes.ScalarData:
v.QueryName = name
case *qbtypes.RawData:
v.QueryName = name
}
results[name] = result.Value results[name] = result.Value
warnings = append(warnings, result.Warnings...) warnings = append(warnings, result.Warnings...)
warningsDocURL = result.WarningsDocURL warningsDocURL = result.WarningsDocURL