Skip to content

Commit 120042b

Browse files
authored
Adapt BWC after backporting #78765 (#79350)
1 parent 8510766 commit 120042b

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

server/src/main/java/org/elasticsearch/action/search/CanMatchNodeRequest.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@
88

99
package org.elasticsearch.action.search;
1010

11+
import org.elasticsearch.Version;
1112
import org.elasticsearch.action.IndicesRequest;
1213
import org.elasticsearch.action.OriginalIndices;
1314
import org.elasticsearch.action.support.IndicesOptions;
15+
import org.elasticsearch.common.Strings;
1416
import org.elasticsearch.common.io.stream.StreamInput;
1517
import org.elasticsearch.common.io.stream.StreamOutput;
1618
import org.elasticsearch.common.io.stream.Writeable;
@@ -149,6 +151,14 @@ public CanMatchNodeRequest(StreamInput in) throws IOException {
149151
source = in.readOptionalWriteable(SearchSourceBuilder::new);
150152
indicesOptions = IndicesOptions.readIndicesOptions(in);
151153
searchType = SearchType.fromId(in.readByte());
154+
if (in.getVersion().before(Version.V_8_0_0)) {
155+
// types no longer relevant so ignore
156+
String[] types = in.readStringArray();
157+
if (types.length > 0) {
158+
throw new IllegalStateException(
159+
"types are no longer supported in search requests but found [" + Arrays.toString(types) + "]");
160+
}
161+
}
152162
scroll = in.readOptionalWriteable(Scroll::new);
153163
requestCache = in.readOptionalBoolean();
154164
allowPartialSearchResults = in.readBoolean();
@@ -167,6 +177,10 @@ public void writeTo(StreamOutput out) throws IOException {
167177
out.writeOptionalWriteable(source);
168178
indicesOptions.writeIndicesOptions(out);
169179
out.writeByte(searchType.id());
180+
if (out.getVersion().before(Version.V_8_0_0)) {
181+
// types not supported so send an empty array to previous versions
182+
out.writeStringArray(Strings.EMPTY_ARRAY);
183+
}
170184
out.writeOptionalWriteable(scroll);
171185
out.writeOptionalBoolean(requestCache);
172186
out.writeBoolean(allowPartialSearchResults);

server/src/main/java/org/elasticsearch/action/search/SearchTransportService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,8 @@ public void sendCanMatch(Transport.Connection connection, final ShardSearchReque
131131

132132
public void sendCanMatch(Transport.Connection connection, final CanMatchNodeRequest request, SearchTask task, final
133133
ActionListener<CanMatchNodeResponse> listener) {
134-
if (connection.getVersion().onOrAfter(Version.V_8_0_0) &&
135-
connection.getNode().getVersion().onOrAfter(Version.V_8_0_0)) {
134+
if (connection.getVersion().onOrAfter(Version.V_7_16_0) &&
135+
connection.getNode().getVersion().onOrAfter(Version.V_7_16_0)) {
136136
transportService.sendChildRequest(connection, QUERY_CAN_MATCH_NODE_NAME, request, task,
137137
TransportRequestOptions.EMPTY, new ActionListenerResponseHandler<>(listener, CanMatchNodeResponse::new));
138138
} else {

0 commit comments

Comments
 (0)