Skip to content

Commit

Permalink
[Discover] Cancel long running request after navigating out from Disc…
Browse files Browse the repository at this point in the history
…over (#129444)

* [Discover] cancel search on navigating out

* [Discover] fix abortController reference

Co-authored-by: Kibana Machine <[email protected]>
  • Loading branch information
dimaanj and kibanamachine authored Apr 12, 2022
1 parent 35593dd commit 36e4ddd
Showing 1 changed file with 8 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,6 @@ export const useSavedSearch = ({
* Values that shouldn't trigger re-rendering when changed
*/
const refs = useRef<{
abortController?: AbortController;
autoRefreshDone?: AutoRefreshDoneFn;
}>({});

Expand All @@ -172,19 +171,20 @@ export const useSavedSearch = ({
searchSource,
initialFetchStatus,
});
let abortController: AbortController;

const subscription = fetch$.subscribe(async (val) => {
if (!validateTimeRange(timefilter.getTime(), services.toastNotifications)) {
return;
}
inspectorAdapters.requests.reset();

refs.current.abortController?.abort();
refs.current.abortController = new AbortController();
abortController?.abort();
abortController = new AbortController();
const autoRefreshDone = refs.current.autoRefreshDone;

await fetchAll(dataSubjects, searchSource, val === 'reset', {
abortController: refs.current.abortController,
abortController,
appStateContainer: stateContainer.appStateContainer,
data,
initialFetchStatus,
Expand All @@ -205,7 +205,10 @@ export const useSavedSearch = ({
}
});

return () => subscription.unsubscribe();
return () => {
abortController?.abort();
subscription.unsubscribe();
};
}, [
data,
data.query.queryString,
Expand Down

0 comments on commit 36e4ddd

Please sign in to comment.