Skip to content

Commit da42d77

Browse files
authored
Reinstate old TransportVersion BwC condition (#119669)
QueryBuilderBWCIT needs to read serialized data created by <8.8 nodes throughout 9.x releases
1 parent 5baf5af commit da42d77

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

muted-tests.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -155,12 +155,6 @@ tests:
155155
- class: org.elasticsearch.xpack.ml.integration.RegressionIT
156156
method: testTwoJobsWithSameRandomizeSeedUseSameTrainingSet
157157
issue: https://github.com/elastic/elasticsearch/issues/117805
158-
- class: org.elasticsearch.upgrades.QueryBuilderBWCIT
159-
method: testQueryBuilderBWC {cluster=UPGRADED}
160-
issue: https://github.com/elastic/elasticsearch/issues/116990
161-
- class: org.elasticsearch.xpack.restart.QueryBuilderBWCIT
162-
method: testQueryBuilderBWC {p0=UPGRADED}
163-
issue: https://github.com/elastic/elasticsearch/issues/116989
164158
- class: org.elasticsearch.xpack.remotecluster.CrossClusterEsqlRCS2UnavailableRemotesIT
165159
method: testEsqlRcs2UnavailableRemoteScenarios
166160
issue: https://github.com/elastic/elasticsearch/issues/117419

qa/full-cluster-restart/src/javaRestTest/java/org/elasticsearch/upgrades/QueryBuilderBWCIT.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
import com.carrotsearch.randomizedtesting.annotations.Name;
1313

1414
import org.elasticsearch.TransportVersion;
15+
import org.elasticsearch.TransportVersions;
16+
import org.elasticsearch.Version;
1517
import org.elasticsearch.client.Request;
1618
import org.elasticsearch.client.Response;
1719
import org.elasticsearch.common.Strings;
@@ -21,6 +23,7 @@
2123
import org.elasticsearch.common.io.stream.StreamInput;
2224
import org.elasticsearch.common.settings.Settings;
2325
import org.elasticsearch.common.unit.Fuzziness;
26+
import org.elasticsearch.core.UpdateForV10;
2427
import org.elasticsearch.index.query.BoolQueryBuilder;
2528
import org.elasticsearch.index.query.ConstantScoreQueryBuilder;
2629
import org.elasticsearch.index.query.DisMaxQueryBuilder;
@@ -51,6 +54,7 @@
5154
import java.util.List;
5255
import java.util.Map;
5356

57+
import static org.elasticsearch.cluster.ClusterState.VERSION_INTRODUCING_TRANSPORT_VERSIONS;
5458
import static org.elasticsearch.xcontent.XContentFactory.jsonBuilder;
5559

5660
/**
@@ -245,7 +249,19 @@ public void testQueryBuilderBWC() throws Exception {
245249
InputStream in = new ByteArrayInputStream(qbSource, 0, qbSource.length);
246250
StreamInput input = new NamedWriteableAwareStreamInput(new InputStreamStreamInput(in), registry)
247251
) {
248-
input.setTransportVersion(TransportVersion.readVersion(input));
252+
@UpdateForV10(owner = UpdateForV10.Owner.SEARCH_FOUNDATIONS) // won't need to read <8.8 data anymore
253+
boolean originalClusterHasTransportVersion = parseLegacyVersion(getOldClusterVersion()).map(
254+
v -> v.onOrAfter(VERSION_INTRODUCING_TRANSPORT_VERSIONS)
255+
).orElse(true);
256+
TransportVersion transportVersion;
257+
if (originalClusterHasTransportVersion == false) {
258+
transportVersion = TransportVersion.fromId(
259+
parseLegacyVersion(getOldClusterVersion()).map(Version::id).orElse(TransportVersions.MINIMUM_COMPATIBLE.id())
260+
);
261+
} else {
262+
transportVersion = TransportVersion.readVersion(input);
263+
}
264+
input.setTransportVersion(transportVersion);
249265
QueryBuilder queryBuilder = input.readNamedWriteable(QueryBuilder.class);
250266
assert in.read() == -1;
251267
assertEquals(expectedQueryBuilder, queryBuilder);

0 commit comments

Comments
 (0)