diff --git a/x-pack/plugins/fleet/server/errors/handlers.test.ts b/x-pack/plugins/fleet/server/errors/handlers.test.ts index dc6f90d64180da..2d3fddeb951f48 100644 --- a/x-pack/plugins/fleet/server/errors/handlers.test.ts +++ b/x-pack/plugins/fleet/server/errors/handlers.test.ts @@ -6,7 +6,6 @@ */ import Boom from '@hapi/boom'; -import { errors } from 'elasticsearch'; import { httpServerMock } from 'src/core/server/mocks'; import { createAppContextStartContractMock } from '../mocks'; @@ -20,9 +19,6 @@ import { defaultIngestErrorHandler, } from './index'; -const LegacyESErrors = errors as Record; -type ITestEsErrorsFnParams = [errorCode: string, error: any, expectedMessage: string]; - describe('defaultIngestErrorHandler', () => { let mockContract: ReturnType; beforeEach(async () => { @@ -36,55 +32,6 @@ describe('defaultIngestErrorHandler', () => { appContextService.stop(); }); - async function testEsErrorsFn(...args: ITestEsErrorsFnParams) { - const [, error, expectedMessage] = args; - jest.clearAllMocks(); - const response = httpServerMock.createResponseFactory(); - await defaultIngestErrorHandler({ error, response }); - - // response - expect(response.ok).toHaveBeenCalledTimes(0); - expect(response.customError).toHaveBeenCalledTimes(1); - expect(response.customError).toHaveBeenCalledWith({ - statusCode: error.status, - body: { message: expectedMessage }, - }); - - // logging - expect(mockContract.logger?.error).toHaveBeenCalledTimes(1); - expect(mockContract.logger?.error).toHaveBeenCalledWith(expectedMessage); - } - - describe('use the HTTP error status code provided by LegacyESErrors', () => { - const statusCodes = Object.keys(LegacyESErrors).filter((key) => /^\d+$/.test(key)); - const errorCodes = statusCodes.filter((key) => parseInt(key, 10) >= 400); - const casesWithPathResponse: ITestEsErrorsFnParams[] = errorCodes.map((errorCode) => [ - errorCode, - new LegacyESErrors[errorCode]('the root message', { - path: '/path/to/call', - response: 'response is here', - }), - 'the root message response from /path/to/call: response is here', - ]); - const casesWithOtherMeta: ITestEsErrorsFnParams[] = errorCodes.map((errorCode) => [ - errorCode, - new LegacyESErrors[errorCode]('the root message', { - other: '/path/to/call', - props: 'response is here', - }), - 'the root message', - ]); - const casesWithoutMeta: ITestEsErrorsFnParams[] = errorCodes.map((errorCode) => [ - errorCode, - new LegacyESErrors[errorCode]('some message'), - 'some message', - ]); - - test.each(casesWithPathResponse)('%d - with path & response', testEsErrorsFn); - test.each(casesWithOtherMeta)('%d - with other metadata', testEsErrorsFn); - test.each(casesWithoutMeta)('%d - without metadata', testEsErrorsFn); - }); - describe('IngestManagerError', () => { it('502: RegistryError', async () => { const error = new RegistryError('xyz'); diff --git a/x-pack/plugins/fleet/server/errors/handlers.ts b/x-pack/plugins/fleet/server/errors/handlers.ts index 073727729ad840..c47b1a07780ec3 100644 --- a/x-pack/plugins/fleet/server/errors/handlers.ts +++ b/x-pack/plugins/fleet/server/errors/handlers.ts @@ -7,7 +7,6 @@ import type Boom from '@hapi/boom'; import { isBoom } from '@hapi/boom'; -import { errors as LegacyESErrors } from 'elasticsearch'; import type { IKibanaResponse, @@ -40,26 +39,6 @@ interface IngestErrorHandlerParams { // unsure if this is correct. would prefer to use something "official" // this type is based on BadRequest values observed while debugging https://github.com/elastic/kibana/issues/75862 -interface LegacyESClientError { - message: string; - stack: string; - status: number; - displayName: string; - path?: string; - query?: string | undefined; - body?: { - error: { - type: string; - }; - status: number; - }; - statusCode?: number; - response?: string; -} -export const isLegacyESClientError = (error: any): error is LegacyESClientError => { - return error instanceof LegacyESErrors._Abstract; -}; - const getHTTPResponseCode = (error: IngestManagerError): number => { if (error instanceof RegistryError) { return 502; // Bad Gateway @@ -84,23 +63,6 @@ const getHTTPResponseCode = (error: IngestManagerError): number => { export function ingestErrorToResponseOptions(error: IngestErrorHandlerParams['error']) { const logger = appContextService.getLogger(); - if (isLegacyESClientError(error)) { - // there was a problem communicating with ES (e.g. via `callCluster`) - // only log the message - const message = - error?.path && error?.response - ? // if possible, return the failing endpoint and its response - `${error.message} response from ${error.path}: ${error.response}` - : error.message; - - logger.error(message); - - return { - statusCode: error?.statusCode || error.status, - body: { message }, - }; - } - // our "expected" errors if (error instanceof IngestManagerError) { // only log the message diff --git a/x-pack/plugins/fleet/server/errors/index.ts b/x-pack/plugins/fleet/server/errors/index.ts index 335bd147ab5850..f31719d6c43645 100644 --- a/x-pack/plugins/fleet/server/errors/index.ts +++ b/x-pack/plugins/fleet/server/errors/index.ts @@ -8,11 +8,7 @@ /* eslint-disable max-classes-per-file */ import { isESClientError } from './utils'; -export { - defaultIngestErrorHandler, - ingestErrorToResponseOptions, - isLegacyESClientError, -} from './handlers'; +export { defaultIngestErrorHandler, ingestErrorToResponseOptions } from './handlers'; export { isESClientError } from './utils';