mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Range Splitting: ignore empty queries from splitting and fix result resetting (#64053)
Range splitting: ignore empty queries from splitting
This commit is contained in:
parent
accef84ca5
commit
69d3ae8ec1
@ -13,6 +13,7 @@ import {
|
||||
obfuscate,
|
||||
combineResponses,
|
||||
cloneQueryResponse,
|
||||
requestSupportsPartitioning,
|
||||
} from './queryUtils';
|
||||
import { LokiQuery, LokiQueryType } from './types';
|
||||
|
||||
@ -526,3 +527,47 @@ describe('combineResponses', () => {
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('requestSupportsPartitioning', () => {
|
||||
it('hidden requests are not partitioned', () => {
|
||||
const requests: LokiQuery[] = [
|
||||
{
|
||||
expr: '{a="b"}',
|
||||
refId: 'A',
|
||||
hide: true,
|
||||
},
|
||||
];
|
||||
expect(requestSupportsPartitioning(requests)).toBe(false);
|
||||
});
|
||||
it('special requests are not partitioned', () => {
|
||||
const requests: LokiQuery[] = [
|
||||
{
|
||||
expr: '{a="b"}',
|
||||
refId: 'do-not-chunk',
|
||||
},
|
||||
];
|
||||
expect(requestSupportsPartitioning(requests)).toBe(false);
|
||||
});
|
||||
it('empty requests are not partitioned', () => {
|
||||
const requests: LokiQuery[] = [
|
||||
{
|
||||
expr: '',
|
||||
refId: 'A',
|
||||
},
|
||||
];
|
||||
expect(requestSupportsPartitioning(requests)).toBe(false);
|
||||
});
|
||||
it('all other requests are partitioned', () => {
|
||||
const requests: LokiQuery[] = [
|
||||
{
|
||||
expr: '{a="b"}',
|
||||
refId: 'A',
|
||||
},
|
||||
{
|
||||
expr: 'count_over_time({a="b"}[1h])',
|
||||
refId: 'B',
|
||||
},
|
||||
];
|
||||
expect(requestSupportsPartitioning(requests)).toBe(true);
|
||||
});
|
||||
});
|
||||
|
@ -305,7 +305,10 @@ export function getStreamSelectorsFromQuery(query: string): string[] {
|
||||
}
|
||||
|
||||
export function requestSupportsPartitioning(allQueries: LokiQuery[]) {
|
||||
const queries = allQueries.filter((query) => !query.hide).filter((query) => !query.refId.includes('do-not-chunk'));
|
||||
const queries = allQueries
|
||||
.filter((query) => !query.hide)
|
||||
.filter((query) => !query.refId.includes('do-not-chunk'))
|
||||
.filter((query) => query.expr);
|
||||
|
||||
const instantQueries = queries.some((query) => query.queryType === LokiQueryType.Instant);
|
||||
if (instantQueries) {
|
||||
|
Loading…
Reference in New Issue
Block a user