diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/action/filter/ShardBulkInferenceActionFilter.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/action/filter/ShardBulkInferenceActionFilter.java index 3127361de6d11..ca55434454422 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/action/filter/ShardBulkInferenceActionFilter.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/action/filter/ShardBulkInferenceActionFilter.java @@ -637,7 +637,9 @@ private boolean incrementIndexingPressure(IndexRequestWithIndexingPressure index addInferenceResponseFailure( itemIndex, new InferenceException( - "Insufficient memory available to update source on document [" + indexRequest.getIndexRequest().id() + "]", + "Unable to insert inference results into document [" + + indexRequest.getIndexRequest().id() + + "] due to memory pressure. Please retry the bulk request with fewer documents or smaller document sizes.", e ) ); @@ -749,7 +751,9 @@ private void applyInferenceResponses(BulkItemRequest item, FieldInferenceRespons item.abort( item.index(), new InferenceException( - "Insufficient memory available to insert inference results into document [" + indexRequest.id() + "]", + "Unable to insert inference results into document [" + + indexRequest.id() + + "] due to memory pressure. Please retry the bulk request with fewer documents or smaller document sizes.", e ) ); diff --git a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/action/filter/ShardBulkInferenceActionFilterTests.java b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/action/filter/ShardBulkInferenceActionFilterTests.java index 5b4925d8fb0a3..08334de00543d 100644 --- a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/action/filter/ShardBulkInferenceActionFilterTests.java +++ b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/action/filter/ShardBulkInferenceActionFilterTests.java @@ -709,7 +709,10 @@ public void testIndexingPressureTripsOnInferenceRequestGeneration() throws Excep BulkItemResponse.Failure doc1Failure = doc1Response.getFailure(); assertThat( doc1Failure.getCause().getMessage(), - containsString("Insufficient memory available to update source on document [doc_1]") + containsString( + "Unable to insert inference results into document [doc_1]" + + " due to memory pressure. Please retry the bulk request with fewer documents or smaller document sizes." + ) ); assertThat(doc1Failure.getCause().getCause(), instanceOf(EsRejectedExecutionException.class)); assertThat(doc1Failure.getStatus(), is(RestStatus.TOO_MANY_REQUESTS)); @@ -791,7 +794,10 @@ public void testIndexingPressureTripsOnInferenceResponseHandling() throws Except BulkItemResponse.Failure doc1Failure = doc1Response.getFailure(); assertThat( doc1Failure.getCause().getMessage(), - containsString("Insufficient memory available to insert inference results into document [doc_1]") + containsString( + "Unable to insert inference results into document [doc_1]" + + " due to memory pressure. Please retry the bulk request with fewer documents or smaller document sizes." + ) ); assertThat(doc1Failure.getCause().getCause(), instanceOf(EsRejectedExecutionException.class)); assertThat(doc1Failure.getStatus(), is(RestStatus.TOO_MANY_REQUESTS)); @@ -902,7 +908,10 @@ public void testIndexingPressurePartialFailure() throws Exception { BulkItemResponse.Failure doc2Failure = doc2Response.getFailure(); assertThat( doc2Failure.getCause().getMessage(), - containsString("Insufficient memory available to insert inference results into document [doc_2]") + containsString( + "Unable to insert inference results into document [doc_2]" + + " due to memory pressure. Please retry the bulk request with fewer documents or smaller document sizes." + ) ); assertThat(doc2Failure.getCause().getCause(), instanceOf(EsRejectedExecutionException.class)); assertThat(doc2Failure.getStatus(), is(RestStatus.TOO_MANY_REQUESTS));