From a88a4969baa39735b867a7ac46f4f1fa4a9016ec Mon Sep 17 00:00:00 2001 From: Jonathan Buttner Date: Wed, 6 Aug 2025 09:31:16 -0400 Subject: [PATCH] Removing error object check --- .../http/retry/BaseResponseHandler.java | 27 +--------- .../ChatCompletionErrorResponseHandler.java | 13 ----- .../external/http/retry/ResponseHandler.java | 5 +- .../http/retry/RetryingHttpSender.java | 4 +- .../AmazonBedrockResponseHandler.java | 9 +--- ...eMistralOpenAiExternalResponseHandler.java | 9 +--- ...iUnifiedChatCompletionResponseHandler.java | 5 -- .../retry/AlwaysRetryingResponseHandler.java | 9 +--- .../http/retry/BaseResponseHandlerTests.java | 50 ++++++------------- .../http/retry/RetryingHttpSenderTests.java | 16 ++---- ...i21ChatCompletionResponseHandlerTests.java | 3 +- ...iedChatCompletionResponseHandlerTests.java | 3 +- ...aceChatCompletionResponseHandlerTests.java | 3 +- ...amaChatCompletionResponseHandlerTests.java | 3 +- ...iedChatCompletionResponseHandlerTests.java | 3 +- ...iedChatCompletionResponseHandlerTests.java | 3 +- 16 files changed, 35 insertions(+), 130 deletions(-) diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/http/retry/BaseResponseHandler.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/http/retry/BaseResponseHandler.java index e2dff96c6ecb7..7a28084dace09 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/http/retry/BaseResponseHandler.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/http/retry/BaseResponseHandler.java @@ -76,38 +76,13 @@ public String getRequestType() { } @Override - public void validateResponse( - ThrottlerManager throttlerManager, - Logger logger, - Request request, - HttpResult result, - boolean checkForErrorObject - ) { + public void validateResponse(ThrottlerManager throttlerManager, Logger logger, Request request, HttpResult result) { checkForFailureStatusCode(request, result); checkForEmptyBody(throttlerManager, logger, request, result); - - if (checkForErrorObject) { - // When the response is streamed the status code could be 200 but the error object will be set - // so we need to check for that specifically - checkForErrorObject(request, result); - } } protected abstract void checkForFailureStatusCode(Request request, HttpResult result); - protected void checkForErrorObject(Request request, HttpResult result) { - var errorEntity = errorParseFunction.apply(result); - - if (errorEntity.errorStructureFound()) { - // We don't really know what happened because the status code was 200 so we'll return a failure and let the - // client retry if necessary - // If we did want to retry here, we'll need to determine if this was a streaming request, if it was - // we shouldn't retry because that would replay the entire streaming request and the client would get - // duplicate chunks back - throw new RetryException(false, buildError(SERVER_ERROR_OBJECT, request, result, errorEntity)); - } - } - protected Exception buildError(String message, Request request, HttpResult result) { var errorEntityMsg = errorParseFunction.apply(result); return buildError(message, request, result, errorEntityMsg); diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/http/retry/ChatCompletionErrorResponseHandler.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/http/retry/ChatCompletionErrorResponseHandler.java index 89617478f01c0..9535acfc06f49 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/http/retry/ChatCompletionErrorResponseHandler.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/http/retry/ChatCompletionErrorResponseHandler.java @@ -28,19 +28,6 @@ public ChatCompletionErrorResponseHandler(UnifiedChatCompletionErrorParser error this.unifiedChatCompletionErrorParser = Objects.requireNonNull(errorParser); } - public void checkForErrorObject(Request request, HttpResult result) { - var errorEntity = unifiedChatCompletionErrorParser.parse(result); - - if (errorEntity.errorStructureFound()) { - // We don't really know what happened because the status code was 200 so we'll return a failure and let the - // client retry if necessary - // If we did want to retry here, we'll need to determine if this was a streaming request, if it was - // we shouldn't retry because that would replay the entire streaming request and the client would get - // duplicate chunks back - throw new RetryException(false, buildChatCompletionErrorInternal(SERVER_ERROR_OBJECT, request, result, errorEntity)); - } - } - public UnifiedChatCompletionException buildChatCompletionError(String message, Request request, HttpResult result) { var errorResponse = unifiedChatCompletionErrorParser.parse(result); return buildChatCompletionErrorInternal(message, request, result, errorResponse); diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/http/retry/ResponseHandler.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/http/retry/ResponseHandler.java index 24ad0132c576b..0452391a76023 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/http/retry/ResponseHandler.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/http/retry/ResponseHandler.java @@ -29,12 +29,9 @@ public interface ResponseHandler { * @param logger the logger to use for logging * @param request the original request * @param result the response from the server - * @param checkForErrorObject if true, the validation function should check for the presence of an error object even if the status code - * indicates a success * @throws RetryException if the response is invalid */ - void validateResponse(ThrottlerManager throttlerManager, Logger logger, Request request, HttpResult result, boolean checkForErrorObject) - throws RetryException; + void validateResponse(ThrottlerManager throttlerManager, Logger logger, Request request, HttpResult result) throws RetryException; /** * A method for parsing the response from the server. diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/http/retry/RetryingHttpSender.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/http/retry/RetryingHttpSender.java index d009ec87d5776..b71887ce6018f 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/http/retry/RetryingHttpSender.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/http/retry/RetryingHttpSender.java @@ -121,7 +121,7 @@ public void tryAction(ActionListener listener) { } else { r.readFullResponse(l.delegateFailureAndWrap((ll, httpResult) -> { try { - responseHandler.validateResponse(throttlerManager, logger, request, httpResult, true); + responseHandler.validateResponse(throttlerManager, logger, request, httpResult); InferenceServiceResults inferenceResults = responseHandler.parseResult(request, httpResult); ll.onResponse(inferenceResults); } catch (Exception e) { @@ -134,7 +134,7 @@ public void tryAction(ActionListener listener) { } else { httpClient.send(request.createHttpRequest(), context, retryableListener.delegateFailure((l, r) -> { try { - responseHandler.validateResponse(throttlerManager, logger, request, r, false); + responseHandler.validateResponse(throttlerManager, logger, request, r); InferenceServiceResults inferenceResults = responseHandler.parseResult(request, r); l.onResponse(inferenceResults); diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/amazonbedrock/response/AmazonBedrockResponseHandler.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/amazonbedrock/response/AmazonBedrockResponseHandler.java index 73a9b6d570a8f..cef709d001e22 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/amazonbedrock/response/AmazonBedrockResponseHandler.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/amazonbedrock/response/AmazonBedrockResponseHandler.java @@ -22,13 +22,8 @@ public boolean canHandleStreamingResponses() { } @Override - public final void validateResponse( - ThrottlerManager throttlerManager, - Logger logger, - Request request, - HttpResult result, - boolean checkForErrorObject - ) throws RetryException { + public final void validateResponse(ThrottlerManager throttlerManager, Logger logger, Request request, HttpResult result) + throws RetryException { // do nothing as the AWS SDK will take care of validation for us } } diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/azureopenai/response/AzureMistralOpenAiExternalResponseHandler.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/azureopenai/response/AzureMistralOpenAiExternalResponseHandler.java index 003b0f9e87720..cf4030f541d2a 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/azureopenai/response/AzureMistralOpenAiExternalResponseHandler.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/azureopenai/response/AzureMistralOpenAiExternalResponseHandler.java @@ -63,13 +63,8 @@ public AzureMistralOpenAiExternalResponseHandler( } @Override - public void validateResponse( - ThrottlerManager throttlerManager, - Logger logger, - Request request, - HttpResult result, - boolean checkForErrorObject - ) throws RetryException { + public void validateResponse(ThrottlerManager throttlerManager, Logger logger, Request request, HttpResult result) + throws RetryException { checkForFailureStatusCode(request, result); checkForEmptyBody(throttlerManager, logger, request, result); } diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/googlevertexai/GoogleVertexAiUnifiedChatCompletionResponseHandler.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/googlevertexai/GoogleVertexAiUnifiedChatCompletionResponseHandler.java index 77ec41c239989..382ef333bfe72 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/googlevertexai/GoogleVertexAiUnifiedChatCompletionResponseHandler.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/googlevertexai/GoogleVertexAiUnifiedChatCompletionResponseHandler.java @@ -65,11 +65,6 @@ protected UnifiedChatCompletionException buildError(String message, Request requ return chatCompletionErrorResponseHandler.buildChatCompletionError(message, request, result); } - @Override - protected void checkForErrorObject(Request request, HttpResult result) { - chatCompletionErrorResponseHandler.checkForErrorObject(request, result); - } - private static class GoogleVertexAiErrorParser implements UnifiedChatCompletionErrorParser { @Override diff --git a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/external/http/retry/AlwaysRetryingResponseHandler.java b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/external/http/retry/AlwaysRetryingResponseHandler.java index cb70b2a020f6f..15f9a679af1e3 100644 --- a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/external/http/retry/AlwaysRetryingResponseHandler.java +++ b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/external/http/retry/AlwaysRetryingResponseHandler.java @@ -36,13 +36,8 @@ public AlwaysRetryingResponseHandler( } @Override - public void validateResponse( - ThrottlerManager throttlerManager, - Logger logger, - Request request, - HttpResult result, - boolean checkForErrorObject - ) throws RetryException { + public void validateResponse(ThrottlerManager throttlerManager, Logger logger, Request request, HttpResult result) + throws RetryException { try { checkForFailureStatusCode(throttlerManager, logger, request, result); checkForEmptyBody(throttlerManager, logger, request, result); diff --git a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/external/http/retry/BaseResponseHandlerTests.java b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/external/http/retry/BaseResponseHandlerTests.java index 4d3957097a969..2371664fd03d6 100644 --- a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/external/http/retry/BaseResponseHandlerTests.java +++ b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/external/http/retry/BaseResponseHandlerTests.java @@ -59,12 +59,11 @@ public void testValidateResponse_DoesNotThrowAnExceptionWhenStatus200_AndNoError mock(ThrottlerManager.class), mock(Logger.class), request, - new HttpResult(response, responseJson.getBytes(StandardCharsets.UTF_8)), - true + new HttpResult(response, responseJson.getBytes(StandardCharsets.UTF_8)) ); } - public void testValidateResponse_ThrowsErrorWhenMalformedErrorObjectExists() { + public void testValidateResponse_DoesNotThrowError_WhenStatus200_AndMalformedErrorObject() { var handler = getBaseResponseHandler(); String responseJson = """ @@ -80,25 +79,15 @@ public void testValidateResponse_ThrowsErrorWhenMalformedErrorObjectExists() { var request = mock(Request.class); when(request.getInferenceEntityId()).thenReturn("abc"); - var exception = expectThrows( - RetryException.class, - () -> handler.validateResponse( - mock(ThrottlerManager.class), - mock(Logger.class), - request, - new HttpResult(response, responseJson.getBytes(StandardCharsets.UTF_8)), - true - ) - ); - - assertFalse(exception.shouldRetry()); - assertThat( - exception.getCause().getMessage(), - is("Received an error response for request from inference entity id [abc] status [200]") + handler.validateResponse( + mock(ThrottlerManager.class), + mock(Logger.class), + request, + new HttpResult(response, responseJson.getBytes(StandardCharsets.UTF_8)) ); } - public void testValidateResponse_ThrowsErrorWhenWellFormedErrorObjectExists() { + public void testValidateResponse_DoesNotThrow_WhenStatus200_AndWellFormedErrorObjectExists() { var handler = getBaseResponseHandler(); String responseJson = """ @@ -115,21 +104,11 @@ public void testValidateResponse_ThrowsErrorWhenWellFormedErrorObjectExists() { var request = mock(Request.class); when(request.getInferenceEntityId()).thenReturn("abc"); - var exception = expectThrows( - RetryException.class, - () -> handler.validateResponse( - mock(ThrottlerManager.class), - mock(Logger.class), - request, - new HttpResult(response, responseJson.getBytes(StandardCharsets.UTF_8)), - true - ) - ); - - assertFalse(exception.shouldRetry()); - assertThat( - exception.getCause().getMessage(), - is("Received an error response for request from inference entity id [abc] status [200]. Error message: [a message]") + handler.validateResponse( + mock(ThrottlerManager.class), + mock(Logger.class), + request, + new HttpResult(response, responseJson.getBytes(StandardCharsets.UTF_8)) ); } @@ -154,8 +133,7 @@ public void testValidateResponse_DoesNot_ThrowErrorWhenWellFormedErrorObjectExis mock(ThrottlerManager.class), mock(Logger.class), request, - new HttpResult(response, responseJson.getBytes(StandardCharsets.UTF_8)), - false + new HttpResult(response, responseJson.getBytes(StandardCharsets.UTF_8)) ); } diff --git a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/external/http/retry/RetryingHttpSenderTests.java b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/external/http/retry/RetryingHttpSenderTests.java index 5a79f5e0ce798..96401f0140813 100644 --- a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/external/http/retry/RetryingHttpSenderTests.java +++ b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/external/http/retry/RetryingHttpSenderTests.java @@ -42,7 +42,6 @@ import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.sameInstance; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.mock; @@ -77,7 +76,7 @@ public void testSend_CallsSenderAgain_AfterValidateResponseThrowsAnException() t Answer answer = (invocation) -> inferenceResults; var handler = mock(ResponseHandler.class); - doThrow(new RetryException(true, "failed")).doNothing().when(handler).validateResponse(any(), any(), any(), any(), anyBoolean()); + doThrow(new RetryException(true, "failed")).doNothing().when(handler).validateResponse(any(), any(), any(), any()); // Mockito.thenReturn() does not compile when returning a // bounded wild card list, thenAnswer must be used instead. when(handler.parseResult(any(Request.class), any(HttpResult.class))).thenAnswer(answer); @@ -352,7 +351,7 @@ public void testSend_ReturnsFailure_WhenValidateResponseThrowsAnException_AfterO var handler = mock(ResponseHandler.class); doThrow(new RetryException(true, "failed")).doThrow(new IllegalStateException("failed again")) .when(handler) - .validateResponse(any(), any(), any(), any(), anyBoolean()); + .validateResponse(any(), any(), any(), any()); when(handler.parseResult(any(Request.class), any(HttpResult.class))).thenAnswer(answer); var retrier = createRetrier(sender); @@ -389,7 +388,7 @@ public void testSend_ReturnsFailure_WhenValidateResponseThrowsAnElasticsearchExc var handler = mock(ResponseHandler.class); doThrow(new RetryException(true, "failed")).doThrow(new RetryException(false, "failed again")) .when(handler) - .validateResponse(any(), any(), any(), any(), anyBoolean()); + .validateResponse(any(), any(), any(), any()); when(handler.parseResult(any(Request.class), any(HttpResult.class))).thenAnswer(answer); var retrier = createRetrier(httpClient); @@ -702,13 +701,8 @@ private ResponseHandler createRetryingResponseHandler() { // testing failed requests return new ResponseHandler() { @Override - public void validateResponse( - ThrottlerManager throttlerManager, - Logger logger, - Request request, - HttpResult result, - boolean checkForErrorObject - ) throws RetryException { + public void validateResponse(ThrottlerManager throttlerManager, Logger logger, Request request, HttpResult result) + throws RetryException { throw new RetryException(true, new IOException("response handler validate failed as designed")); } diff --git a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/ai21/completion/Ai21ChatCompletionResponseHandlerTests.java b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/ai21/completion/Ai21ChatCompletionResponseHandlerTests.java index 5c1f0b8825a4c..59633d98cf195 100644 --- a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/ai21/completion/Ai21ChatCompletionResponseHandlerTests.java +++ b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/ai21/completion/Ai21ChatCompletionResponseHandlerTests.java @@ -112,8 +112,7 @@ private Exception invalidResponse(String responseJson, int statusCode) { mock(), mock(), mockRequest(), - new HttpResult(mockErrorResponse(statusCode), responseJson.getBytes(StandardCharsets.UTF_8)), - true + new HttpResult(mockErrorResponse(statusCode), responseJson.getBytes(StandardCharsets.UTF_8)) ) ); } diff --git a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/googlevertexai/GoogleVertexAiUnifiedChatCompletionResponseHandlerTests.java b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/googlevertexai/GoogleVertexAiUnifiedChatCompletionResponseHandlerTests.java index a82484e3fef24..2ed72d6888d3a 100644 --- a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/googlevertexai/GoogleVertexAiUnifiedChatCompletionResponseHandlerTests.java +++ b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/googlevertexai/GoogleVertexAiUnifiedChatCompletionResponseHandlerTests.java @@ -120,8 +120,7 @@ private Exception invalidResponse(String responseJson) { mock(), mock(), mockRequest(), - new HttpResult(mockHttpResponse(500), responseJson.getBytes(StandardCharsets.UTF_8)), - true + new HttpResult(mockHttpResponse(500), responseJson.getBytes(StandardCharsets.UTF_8)) ) ); } diff --git a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/huggingface/HuggingFaceChatCompletionResponseHandlerTests.java b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/huggingface/HuggingFaceChatCompletionResponseHandlerTests.java index f1560edc48ed0..dc0ef6a480caf 100644 --- a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/huggingface/HuggingFaceChatCompletionResponseHandlerTests.java +++ b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/huggingface/HuggingFaceChatCompletionResponseHandlerTests.java @@ -92,8 +92,7 @@ private Exception invalidResponse(String responseJson) { mock(), mock(), mockRequest(), - new HttpResult(mock500Response(), responseJson.getBytes(StandardCharsets.UTF_8)), - true + new HttpResult(mock500Response(), responseJson.getBytes(StandardCharsets.UTF_8)) ) ); } diff --git a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/llama/completion/LlamaChatCompletionResponseHandlerTests.java b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/llama/completion/LlamaChatCompletionResponseHandlerTests.java index c9b6069d383ed..c7620a8d5f999 100644 --- a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/llama/completion/LlamaChatCompletionResponseHandlerTests.java +++ b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/llama/completion/LlamaChatCompletionResponseHandlerTests.java @@ -123,8 +123,7 @@ private Exception invalidResponse(String responseJson, int statusCode) { mock(), mock(), mockRequest(), - new HttpResult(mockErrorResponse(statusCode), responseJson.getBytes(StandardCharsets.UTF_8)), - true + new HttpResult(mockErrorResponse(statusCode), responseJson.getBytes(StandardCharsets.UTF_8)) ) ); } diff --git a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/mistral/MistralUnifiedChatCompletionResponseHandlerTests.java b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/mistral/MistralUnifiedChatCompletionResponseHandlerTests.java index 7564fcf106898..59aac1f6af6fb 100644 --- a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/mistral/MistralUnifiedChatCompletionResponseHandlerTests.java +++ b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/mistral/MistralUnifiedChatCompletionResponseHandlerTests.java @@ -116,8 +116,7 @@ private Exception invalidResponse(String responseJson, int statusCode) { mock(), mock(), mockRequest(), - new HttpResult(mockErrorResponse(statusCode), responseJson.getBytes(StandardCharsets.UTF_8)), - true + new HttpResult(mockErrorResponse(statusCode), responseJson.getBytes(StandardCharsets.UTF_8)) ) ); } diff --git a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/openai/OpenAiUnifiedChatCompletionResponseHandlerTests.java b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/openai/OpenAiUnifiedChatCompletionResponseHandlerTests.java index c0c319b47b688..61d0be92b2ee0 100644 --- a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/openai/OpenAiUnifiedChatCompletionResponseHandlerTests.java +++ b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/openai/OpenAiUnifiedChatCompletionResponseHandlerTests.java @@ -96,8 +96,7 @@ private Exception invalidResponse(String responseJson) { mock(), mock(), mockRequest(), - new HttpResult(mock500Response(), responseJson.getBytes(StandardCharsets.UTF_8)), - true + new HttpResult(mock500Response(), responseJson.getBytes(StandardCharsets.UTF_8)) ) ); }