Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/containers/Tenant/Query/QueryEditor/QueryEditor.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@ export default function QueryEditor(props: QueryEditorProps) {
setLastQueryExecutionSettings(querySettings);
}
const queryId = uuidv4();
queryManagerInstance.abortQuery();

if (isStreamingEnabled) {
const query = streamQuery({
Expand Down
11 changes: 10 additions & 1 deletion src/store/reducers/query/query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,10 @@ export const queryApi = api.injectEndpoints({
return {data: null};
} catch (error) {
const state = getState() as RootState;
if (state.query.result?.startTime !== startTime) {
// This query is no longer current, don't update state
return {error};
}
dispatch(
setQueryResult({
...state.query.result,
Expand All @@ -321,7 +325,7 @@ export const queryApi = api.injectEndpoints({
enableTracingLevel,
queryId,
},
{signal, dispatch},
{signal, dispatch, getState},
) => {
const startTime = Date.now();
dispatch(
Expand Down Expand Up @@ -410,6 +414,11 @@ export const queryApi = api.injectEndpoints({
);
return {data: null};
} catch (error) {
const state = getState() as RootState;
if (state.query.result?.startTime !== startTime) {
// This query is no longer current, don't update state
return {error};
}
dispatch(
setQueryResult({
type: actionType,
Expand Down
Loading