Skip to content

Commit 8385993

Browse files
committed
Fix serialization bug introduced in elastic#120504
1 parent 873d93d commit 8385993

File tree

4 files changed

+29
-19
lines changed

4 files changed

+29
-19
lines changed

server/src/main/java/org/elasticsearch/TransportVersions.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ static TransportVersion def(int id) {
165165
public static final TransportVersion ADD_INCLUDE_FAILURE_INDICES_OPTION = def(8_831_00_0);
166166
public static final TransportVersion ESQL_RESPONSE_PARTIAL = def(8_832_00_0);
167167
public static final TransportVersion RANK_DOC_OPTIONAL_METADATA_FOR_EXPLAIN = def(8_833_00_0);
168+
public static final TransportVersion ESQL_FIX_SERIALIZATION_MATCH_OPERATOR = def(8_834_00_0);
168169

169170
/*
170171
* STOP! READ THIS FIRST! No, really,

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/AbstractMatchFullTextFunction.java

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
package org.elasticsearch.xpack.esql.expression.function.fulltext;
99

1010
import org.apache.lucene.util.BytesRef;
11-
import org.elasticsearch.TransportVersions;
12-
import org.elasticsearch.common.io.stream.StreamOutput;
1311
import org.elasticsearch.index.query.QueryBuilder;
1412
import org.elasticsearch.xpack.esql.capabilities.PostOptimizationVerificationAware;
1513
import org.elasticsearch.xpack.esql.common.Failure;
@@ -28,7 +26,6 @@
2826
import org.elasticsearch.xpack.esql.querydsl.query.MatchQuery;
2927
import org.elasticsearch.xpack.esql.type.EsqlDataTypeConverter;
3028

31-
import java.io.IOException;
3229
import java.util.List;
3330
import java.util.Map;
3431
import java.util.Set;
@@ -101,16 +98,6 @@ public Expression field() {
10198
return field;
10299
}
103100

104-
@Override
105-
public void writeTo(StreamOutput out) throws IOException {
106-
source().writeTo(out);
107-
out.writeNamedWriteable(field());
108-
out.writeNamedWriteable(query());
109-
if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_QUERY_BUILDER_IN_SEARCH_FUNCTIONS)) {
110-
out.writeOptionalNamedWriteable(queryBuilder());
111-
}
112-
}
113-
114101
@Override
115102
protected TypeResolution resolveParams() {
116103
return resolveField().and(resolveQuery()).and(checkParamCompatibility());

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/Match.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.elasticsearch.TransportVersions;
1212
import org.elasticsearch.common.io.stream.NamedWriteableRegistry;
1313
import org.elasticsearch.common.io.stream.StreamInput;
14+
import org.elasticsearch.common.io.stream.StreamOutput;
1415
import org.elasticsearch.common.unit.Fuzziness;
1516
import org.elasticsearch.index.query.QueryBuilder;
1617
import org.elasticsearch.xpack.esql.core.InvalidArgumentException;
@@ -220,6 +221,16 @@ private static Match readFrom(StreamInput in) throws IOException {
220221
return new Match(source, field, query, null, queryBuilder);
221222
}
222223

224+
@Override
225+
public void writeTo(StreamOutput out) throws IOException {
226+
source().writeTo(out);
227+
out.writeNamedWriteable(field());
228+
out.writeNamedWriteable(query());
229+
if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_QUERY_BUILDER_IN_SEARCH_FUNCTIONS)) {
230+
out.writeOptionalNamedWriteable(queryBuilder());
231+
}
232+
}
233+
223234
@Override
224235
public String getWriteableName() {
225236
return ENTRY.name;

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/MatchOperator.java

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.elasticsearch.TransportVersions;
1111
import org.elasticsearch.common.io.stream.NamedWriteableRegistry;
1212
import org.elasticsearch.common.io.stream.StreamInput;
13+
import org.elasticsearch.common.io.stream.StreamOutput;
1314
import org.elasticsearch.index.query.QueryBuilder;
1415
import org.elasticsearch.xpack.esql.core.expression.Expression;
1516
import org.elasticsearch.xpack.esql.core.tree.NodeInfo;
@@ -74,12 +75,27 @@ private static MatchOperator readFrom(StreamInput in) throws IOException {
7475
Expression field = in.readNamedWriteable(Expression.class);
7576
Expression query = in.readNamedWriteable(Expression.class);
7677
QueryBuilder queryBuilder = null;
77-
if (in.getTransportVersion().onOrAfter(TransportVersions.ESQL_QUERY_BUILDER_IN_SEARCH_FUNCTIONS)) {
78+
if (in.getTransportVersion().onOrAfter(TransportVersions.ESQL_FIX_SERIALIZATION_MATCH_OPERATOR)) {
7879
queryBuilder = in.readOptionalNamedWriteable(QueryBuilder.class);
7980
}
8081
return new MatchOperator(source, field, query, queryBuilder);
8182
}
8283

84+
@Override
85+
public void writeTo(StreamOutput out) throws IOException {
86+
source().writeTo(out);
87+
out.writeNamedWriteable(field());
88+
out.writeNamedWriteable(query());
89+
if (out.getTransportVersion().onOrAfter(TransportVersions.ESQL_FIX_SERIALIZATION_MATCH_OPERATOR)) {
90+
out.writeOptionalNamedWriteable(queryBuilder());
91+
}
92+
}
93+
94+
@Override
95+
public String getWriteableName() {
96+
return ENTRY.name;
97+
}
98+
8399
@Override
84100
public String functionType() {
85101
return "operator";
@@ -90,11 +106,6 @@ public String functionName() {
90106
return ":";
91107
}
92108

93-
@Override
94-
public String getWriteableName() {
95-
return ENTRY.name;
96-
}
97-
98109
@Override
99110
protected NodeInfo<? extends Expression> info() {
100111
return NodeInfo.create(this, MatchOperator::new, field(), query());

0 commit comments

Comments
 (0)