Skip to content

Commit 8a8e816

Browse files
authored
[9.1] Cutover to the new transport version system (#135045)
This commit updates the latest transport version ids to use the new gradle managed system. It also adds a test to ensure new constants are not added to TransportVersions.java.
1 parent a6d8251 commit 8a8e816

File tree

15 files changed

+34
-60
lines changed

15 files changed

+34
-60
lines changed

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/transport/ValidateTransportVersionResourcesTask.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ private void validateUpperBound(
237237
}
238238

239239
TransportVersionUpperBound existingUpperBound = getResources().get().getUpperBoundFromUpstream(upperBound.name());
240-
if (existingUpperBound != null) {
240+
if (existingUpperBound != null && getShouldValidatePrimaryIdNotPatch().get()) {
241241
if (upperBound.definitionId().patch() != 0 && upperBound.definitionId().base() != existingUpperBound.definitionId().base()) {
242242
throwUpperBoundFailure(
243243
upperBound,

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

Lines changed: 11 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,16 @@
2020
import java.util.TreeSet;
2121

2222
/**
23-
* <p>Transport version is used to coordinate compatible wire protocol communication between nodes, at a fine-grained level. This replaces
24-
* and supersedes the old Version constants.</p>
23+
* Legacy container for transport version constants.
2524
*
26-
* <p>Before adding a new version constant, please read the block comment at the end of the list of constants.</p>
25+
* ____ ___ _ _ ___ _____ _____ ____ ___ _____ _____ _ _ ___ ____ _____ ___ _ _____
26+
* | _ \ / _ \ | \ | |/ _ \_ _| | ____| _ \_ _|_ _| |_ _| | | |_ _/ ___| | ___|_ _| | | ____|
27+
* | | | | | | | | \| | | | || | | _| | | | | | | | | | | |_| || |\___ \ | |_ | || | | _|
28+
* | |_| | |_| | | |\ | |_| || | | |___| |_| | | | | | | | _ || | ___) | | _| | || |___| |___
29+
* |____/ \___/ |_| \_|\___/ |_| |_____|____/___| |_| |_| |_| |_|___|____/ |_| |___|_____|_____|
30+
*
31+
* DO NOT EDIT THIS FILE! New transport versions should be added using the new transport version system.
32+
* See docs/internal/Versioning.md.
2733
*/
2834
public class TransportVersions {
2935

@@ -136,8 +142,6 @@ static TransportVersion def(int id) {
136142
public static final TransportVersion ML_INFERENCE_IBM_WATSONX_RERANK_ADDED = def(8_840_0_00);
137143
public static final TransportVersion REMOVE_ALL_APPLICABLE_SELECTOR_BACKPORT_8_18 = def(8_840_0_01);
138144
public static final TransportVersion RETRY_ILM_ASYNC_ACTION_REQUIRE_ERROR_8_18 = def(8_840_0_02);
139-
public static final TransportVersion INITIAL_ELASTICSEARCH_8_18_7 = def(8_840_0_09);
140-
public static final TransportVersion INITIAL_ELASTICSEARCH_8_18_8 = def(8_840_0_10);
141145
public static final TransportVersion INITIAL_ELASTICSEARCH_8_19 = def(8_841_0_00);
142146
public static final TransportVersion COHERE_BIT_EMBEDDING_TYPE_SUPPORT_ADDED_BACKPORT_8_X = def(8_841_0_01);
143147
public static final TransportVersion REMOVE_ALL_APPLICABLE_SELECTOR_BACKPORT_8_19 = def(8_841_0_02);
@@ -200,8 +204,6 @@ static TransportVersion def(int id) {
200204
public static final TransportVersion ML_INFERENCE_COHERE_API_VERSION_8_19 = def(8_841_0_60);
201205
public static final TransportVersion ESQL_DOCUMENTS_FOUND_AND_VALUES_LOADED_8_19 = def(8_841_0_61);
202206
public static final TransportVersion ESQL_PROFILE_INCLUDE_PLAN_8_19 = def(8_841_0_62);
203-
public static final TransportVersion INITIAL_ELASTICSEARCH_8_19_4 = def(8_841_0_68);
204-
public static final TransportVersion INITIAL_ELASTICSEARCH_8_19_5 = def(8_841_0_69);
205207
public static final TransportVersion INITIAL_ELASTICSEARCH_9_0 = def(9_000_0_00);
206208
public static final TransportVersion REMOVE_SNAPSHOT_FAILURES_90 = def(9_000_0_01);
207209
public static final TransportVersion TRANSPORT_STATS_HANDLING_TIME_REQUIRED_90 = def(9_000_0_02);
@@ -212,8 +214,6 @@ static TransportVersion def(int id) {
212214
public static final TransportVersion RETRY_ILM_ASYNC_ACTION_REQUIRE_ERROR_90 = def(9_000_0_07);
213215
public static final TransportVersion RE_REMOVE_MIN_COMPATIBLE_SHARD_NODE_90 = def(9_000_0_08);
214216
public static final TransportVersion STORED_SCRIPT_CONTENT_LENGTH_90 = def(9_000_0_09);
215-
public static final TransportVersion INITIAL_ELASTICSEARCH_9_0_7 = def(9_000_0_16);
216-
public static final TransportVersion INITIAL_ELASTICSEARCH_9_0_8 = def(9_000_0_17);
217217
public static final TransportVersion COHERE_BIT_EMBEDDING_TYPE_SUPPORT_ADDED = def(9_001_0_00);
218218
public static final TransportVersion REMOVE_SNAPSHOT_FAILURES = def(9_002_0_00);
219219
public static final TransportVersion TRANSPORT_STATS_HANDLING_TIME_REQUIRED = def(9_003_0_00);
@@ -324,8 +324,6 @@ static TransportVersion def(int id) {
324324
public static final TransportVersion ML_INFERENCE_ELASTIC_DENSE_TEXT_EMBEDDINGS_ADDED = def(9_109_00_0);
325325
public static final TransportVersion ML_INFERENCE_COHERE_API_VERSION = def(9_110_0_00);
326326
public static final TransportVersion ESQL_PROFILE_INCLUDE_PLAN = def(9_111_0_00);
327-
public static final TransportVersion INITIAL_ELASTICSEARCH_9_1_4 = def(9_112_0_07);
328-
public static final TransportVersion INITIAL_ELASTICSEARCH_9_1_5 = def(9_112_0_08);
329327

330328
/*
331329
* STOP! READ THIS FIRST! No, really,
@@ -335,51 +333,9 @@ static TransportVersion def(int id) {
335333
* ___) || || |_| | __/|_| | _ <| |___ / ___ \| |_| | | | | _ || | ___) | | _| | || _ < ___) || | |_|
336334
* |____/ |_| \___/|_| (_) |_| \_\_____/_/ \_\____/ |_| |_| |_|___|____/ |_| |___|_| \_\____/ |_| (_)
337335
*
338-
* A new transport version should be added EVERY TIME a change is made to the serialization protocol of one or more classes. Each
339-
* transport version should only be used in a single merged commit (apart from the BwC versions copied from o.e.Version, ≤V_8_8_1).
340-
*
341-
* More information about versions and backporting at docs/internal/Versioning.md
342-
*
343-
* ADDING A TRANSPORT VERSION
344-
* To add a new transport version, add a new constant at the bottom of the list, above this comment. Don't add other lines,
345-
* comments, etc. The version id has the following layout:
346-
*
347-
* M_NNN_S_PP
348-
*
349-
* M - The major version of Elasticsearch
350-
* NNN - The server version part
351-
* S - The subsidiary version part. It should always be 0 here, it is only used in subsidiary repositories.
352-
* PP - The patch version part
353-
*
354-
* To determine the id of the next TransportVersion constant, do the following:
355-
* - Use the same major version, unless bumping majors
356-
* - Bump the server version part by 1, unless creating a patch version
357-
* - Leave the subsidiary part as 0
358-
* - Bump the patch part if creating a patch version
359-
*
360-
* If a patch version is created, it should be placed sorted among the other existing constants.
361-
*
362-
* REVERTING A TRANSPORT VERSION
363-
*
364-
* If you revert a commit with a transport version change, you MUST ensure there is a NEW transport version representing the reverted
365-
* change. DO NOT let the transport version go backwards, it must ALWAYS be incremented.
366-
*
367-
* DETERMINING TRANSPORT VERSIONS FROM GIT HISTORY
368-
*
369-
* If your git checkout has the expected minor-version-numbered branches and the expected release-version tags then you can find the
370-
* transport versions known by a particular release ...
371-
*
372-
* git show v8.11.0:server/src/main/java/org/elasticsearch/TransportVersions.java | grep '= def'
373-
*
374-
* ... or by a particular branch ...
375-
*
376-
* git show 8.11:server/src/main/java/org/elasticsearch/TransportVersions.java | grep '= def'
377-
*
378-
* ... and you can see which versions were added in between two versions too ...
379-
*
380-
* git diff v8.11.0..main -- server/src/main/java/org/elasticsearch/TransportVersions.java
336+
* DO NOT EDIT THIS FILE.
381337
*
382-
* In branches 8.7-8.10 see server/src/main/java/org/elasticsearch/TransportVersion.java for the equivalent definitions.
338+
* Transport version must now be added with the new transport version system. See docs/internal/Versioning.md
383339
*/
384340

385341
/**
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
8840009
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
8840010
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
8841068
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
8841069
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
9000016
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
9000017
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
9112007
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
9112008

0 commit comments

Comments
 (0)