mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Query Splitting: Fix for handling queries with no requestId (#66161)
Loki query splitting fix for when there's no request id
This commit is contained in:
parent
e10ef2241d
commit
5dc529a55d
@ -111,7 +111,6 @@ export function runSplitGroupedQueries(datasource: LokiDatasource, requests: Lok
|
||||
};
|
||||
|
||||
const group = requests[requestGroup];
|
||||
const requestId = `${group.request.requestId}_${requestN}`;
|
||||
const range = group.partition[requestN - 1];
|
||||
const targets = adjustTargetsFromResponseState(group.request.targets, mergedResponse);
|
||||
|
||||
@ -120,23 +119,27 @@ export function runSplitGroupedQueries(datasource: LokiDatasource, requests: Lok
|
||||
return;
|
||||
}
|
||||
|
||||
subquerySubsciption = datasource
|
||||
.runQuery({ ...requests[requestGroup].request, range, requestId, targets })
|
||||
.subscribe({
|
||||
next: (partialResponse) => {
|
||||
mergedResponse = combineResponses(mergedResponse, partialResponse);
|
||||
if ((mergedResponse.errors ?? []).length > 0 || mergedResponse.error != null) {
|
||||
shouldStop = true;
|
||||
}
|
||||
},
|
||||
complete: () => {
|
||||
subscriber.next(mergedResponse);
|
||||
nextRequest();
|
||||
},
|
||||
error: (error) => {
|
||||
subscriber.error(error);
|
||||
},
|
||||
});
|
||||
const subRequest = { ...requests[requestGroup].request, range, targets };
|
||||
// request may not have a request id
|
||||
if (group.request.requestId) {
|
||||
subRequest.requestId = `${group.request.requestId}_${requestN}`;
|
||||
}
|
||||
|
||||
subquerySubsciption = datasource.runQuery(subRequest).subscribe({
|
||||
next: (partialResponse) => {
|
||||
mergedResponse = combineResponses(mergedResponse, partialResponse);
|
||||
if ((mergedResponse.errors ?? []).length > 0 || mergedResponse.error != null) {
|
||||
shouldStop = true;
|
||||
}
|
||||
},
|
||||
complete: () => {
|
||||
subscriber.next(mergedResponse);
|
||||
nextRequest();
|
||||
},
|
||||
error: (error) => {
|
||||
subscriber.error(error);
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
const response = new Observable<DataQueryResponse>((subscriber) => {
|
||||
@ -176,7 +179,6 @@ export function runSplitQuery(datasource: LokiDatasource, request: DataQueryRequ
|
||||
const [logQueries, metricQueries] = partition(normalQueries, (query) => isLogsQuery(query.expr));
|
||||
|
||||
request.queryGroupId = uuidv4();
|
||||
|
||||
const oneDayMs = 24 * 60 * 60 * 1000;
|
||||
const rangePartitionedLogQueries = groupBy(logQueries, (query) =>
|
||||
query.splitDuration ? durationToMilliseconds(parseDuration(query.splitDuration)) : oneDayMs
|
||||
|
Loading…
Reference in New Issue
Block a user