diff --git a/src/plugins/data/common/search/utils.ts b/src/plugins/data/common/search/utils.ts index eeb65c04ecc582..a3695019813280 100644 --- a/src/plugins/data/common/search/utils.ts +++ b/src/plugins/data/common/search/utils.ts @@ -23,9 +23,7 @@ export const isAbortResponse = (response?: IKibanaSearchResponse) => { /** * @returns true if request is still running */ -export const isRunningResponse = (response?: IKibanaSearchResponse) => { - return response?.isRunning ?? false; -}; +export const isRunningResponse = (response?: IKibanaSearchResponse) => response?.isRunning ?? false; export const getUserTimeZone = ( getConfig: AggTypesDependencies['getConfig'], diff --git a/src/plugins/data/server/search/routes/bsearch.ts b/src/plugins/data/server/search/routes/bsearch.ts index 95b094a3793cca..581920feef89d6 100644 --- a/src/plugins/data/server/search/routes/bsearch.ts +++ b/src/plugins/data/server/search/routes/bsearch.ts @@ -11,7 +11,6 @@ import { catchError } from 'rxjs/operators'; import { BfetchServerSetup } from '@kbn/bfetch-plugin/server'; import type { ExecutionContextSetup } from '@kbn/core/server'; import apm from 'elastic-apm-node'; -import { getRequestAbortedSignal } from '../..'; import { IKibanaSearchRequest, IKibanaSearchResponse, @@ -29,7 +28,6 @@ export function registerBsearchRoute( IKibanaSearchResponse >('/internal/bsearch', (request) => { const search = getScoped(request); - const abortSignal = getRequestAbortedSignal(request.events.aborted$); return { /** * @param requestOptions @@ -41,7 +39,7 @@ export function registerBsearchRoute( apm.addLabels(executionContextService.getAsLabels()); return firstValueFrom( - search.search(requestData, { ...restOptions, abortSignal }).pipe( + search.search(requestData, restOptions).pipe( catchError((err) => { // Re-throw as object, to get attributes passed to the client // eslint-disable-next-line no-throw-literal diff --git a/src/plugins/data/server/search/strategies/ese_search/ese_search_strategy.test.ts b/src/plugins/data/server/search/strategies/ese_search/ese_search_strategy.test.ts index 96e401204978f5..627bb5fe29293b 100644 --- a/src/plugins/data/server/search/strategies/ese_search/ese_search_strategy.test.ts +++ b/src/plugins/data/server/search/strategies/ese_search/ese_search_strategy.test.ts @@ -259,38 +259,6 @@ describe('ES search strategy', () => { expect(mockApiCaller).toBeCalledTimes(0); }); - - it('should delete when aborted', async () => { - mockSubmitCaller.mockResolvedValueOnce({ - ...mockAsyncResponse, - body: { - ...mockAsyncResponse.body, - is_running: true, - }, - }); - - const params = { index: 'logstash-*', body: { query: {} } }; - const esSearch = await enhancedEsSearchStrategyProvider( - mockLegacyConfig$, - mockSearchConfig, - mockLogger - ); - const abortController = new AbortController(); - const abortSignal = abortController.signal; - - // Abort after an incomplete first response is returned - setTimeout(() => abortController.abort(), 100); - - let err: KbnServerError | undefined; - try { - await esSearch.search({ params }, { abortSignal }, mockDeps).toPromise(); - } catch (e) { - err = e; - } - expect(mockSubmitCaller).toBeCalled(); - expect(err).not.toBeUndefined(); - expect(mockDeleteCaller).toBeCalled(); - }); }); describe('with sessionId', () => { @@ -398,44 +366,6 @@ describe('ES search strategy', () => { expect(request).toHaveProperty('wait_for_completion_timeout'); expect(request).not.toHaveProperty('keep_alive'); }); - - it('should not delete a saved session when aborted', async () => { - mockSubmitCaller.mockResolvedValueOnce({ - ...mockAsyncResponse, - body: { - ...mockAsyncResponse.body, - is_running: true, - }, - }); - - const params = { index: 'logstash-*', body: { query: {} } }; - const esSearch = await enhancedEsSearchStrategyProvider( - mockLegacyConfig$, - mockSearchConfig, - mockLogger - ); - const abortController = new AbortController(); - const abortSignal = abortController.signal; - - // Abort after an incomplete first response is returned - setTimeout(() => abortController.abort(), 100); - - let err: KbnServerError | undefined; - try { - await esSearch - .search( - { params }, - { abortSignal, sessionId: '1', isSearchStored: true, isStored: true }, - mockDeps - ) - .toPromise(); - } catch (e) { - err = e; - } - expect(mockSubmitCaller).toBeCalled(); - expect(err).not.toBeUndefined(); - expect(mockDeleteCaller).not.toBeCalled(); - }); }); it('throws normalized error if ResponseError is thrown', async () => { diff --git a/src/plugins/data/server/search/strategies/ese_search/ese_search_strategy.ts b/src/plugins/data/server/search/strategies/ese_search/ese_search_strategy.ts index 88d1606935562c..298933907b8bb1 100644 --- a/src/plugins/data/server/search/strategies/ese_search/ese_search_strategy.ts +++ b/src/plugins/data/server/search/strategies/ese_search/ese_search_strategy.ts @@ -82,7 +82,7 @@ export const enhancedEsSearchStrategyProvider = ( }; const cancel = async () => { - if (id && !options.isStored) { + if (id) { await cancelAsyncSearch(id, esClient); } };