From a935a8e70b52748921928cb11404b68e33775d6a Mon Sep 17 00:00:00 2001 From: Nhat Nguyen Date: Thu, 20 Mar 2025 00:26:41 -0700 Subject: [PATCH] Adjust bwc for ES|QL partial failures from remote --- .../src/main/java/org/elasticsearch/TransportVersions.java | 1 + .../elasticsearch/xpack/esql/plugin/ComputeResponse.java | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/TransportVersions.java b/server/src/main/java/org/elasticsearch/TransportVersions.java index 80ffe4d0e94c3..a37c20aeac461 100644 --- a/server/src/main/java/org/elasticsearch/TransportVersions.java +++ b/server/src/main/java/org/elasticsearch/TransportVersions.java @@ -149,6 +149,7 @@ static TransportVersion def(int id) { public static final TransportVersion INFERENCE_CONTEXT_8_X = def(8_841_0_08); public static final TransportVersion ML_INFERENCE_DEEPSEEK_8_19 = def(8_841_0_09); public static final TransportVersion ESQL_SERIALIZE_BLOCK_TYPE_CODE_8_19 = def(8_841_0_10); + public static final TransportVersion ESQL_FAILURE_FROM_REMOTE_8_19 = def(8_841_0_11); public static final TransportVersion INITIAL_ELASTICSEARCH_9_0 = def(9_000_0_00); public static final TransportVersion REMOVE_SNAPSHOT_FAILURES_90 = def(9_000_0_01); public static final TransportVersion TRANSPORT_STATS_HANDLING_TIME_REQUIRED_90 = def(9_000_0_02); diff --git a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/plugin/ComputeResponse.java b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/plugin/ComputeResponse.java index 35899219be1e8..289186ae38e6e 100644 --- a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/plugin/ComputeResponse.java +++ b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/plugin/ComputeResponse.java @@ -77,7 +77,8 @@ final class ComputeResponse extends TransportResponse { this.skippedShards = 0; this.failedShards = 0; } - if (in.getTransportVersion().onOrAfter(TransportVersions.ESQL_FAILURE_FROM_REMOTE)) { + if (in.getTransportVersion().onOrAfter(TransportVersions.ESQL_FAILURE_FROM_REMOTE) + || in.getTransportVersion().isPatchFrom(TransportVersions.ESQL_FAILURE_FROM_REMOTE_8_19)) { this.failures = in.readCollectionAsImmutableList(ShardSearchFailure::readShardSearchFailure); } else { this.failures = List.of(); @@ -101,7 +102,8 @@ public void writeTo(StreamOutput out) throws IOException { out.writeVInt(skippedShards); out.writeVInt(failedShards); } - if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_FAILURE_FROM_REMOTE)) { + if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_FAILURE_FROM_REMOTE) + || out.getTransportVersion().isPatchFrom(TransportVersions.ESQL_FAILURE_FROM_REMOTE_8_19)) { out.writeCollection(failures, (o, v) -> v.writeTo(o)); } }