Skip to content

Commit a560782

Browse files
authored
Remove any references to V_7 (#118103)
This PR removes any references to org.elasticsearch.core.RestApiVersion#V_7.
1 parent c6b42bb commit a560782

File tree

22 files changed

+33
-171
lines changed

22 files changed

+33
-171
lines changed

docs/changelog/118103.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
pr: 118103
2+
summary: "Remove any references to org.elasticsearch.core.RestApiVersion#V_7"
3+
area: Infra/Core
4+
type: breaking
5+
issues: []
6+
breaking:
7+
title: "Remove any references to org.elasticsearch.core.RestApiVersion#V_7"
8+
area: REST API
9+
details: "This PR removes all references to V_7 in the Rest API. V7 features marked for deprecation have been removed."
10+
impact: "This change is breaking for any external plugins/clients that rely on the V_7 enum or deprecated version 7 functionality"
11+
notable: false

libs/core/src/main/java/org/elasticsearch/core/RestApiVersion.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,7 @@ public enum RestApiVersion {
2020

2121
V_9(9),
2222

23-
V_8(8),
24-
25-
@UpdateForV9(owner = UpdateForV9.Owner.CORE_INFRA) // remove all references to V_7 then delete this annotation
26-
V_7(7);
23+
V_8(8);
2724

2825
public final byte major;
2926

@@ -54,23 +51,18 @@ public static Predicate<RestApiVersion> equalTo(RestApiVersion restApiVersion) {
5451
return switch (restApiVersion) {
5552
case V_9 -> r -> r.major == V_9.major;
5653
case V_8 -> r -> r.major == V_8.major;
57-
case V_7 -> r -> r.major == V_7.major;
5854
};
5955
}
6056

6157
public static Predicate<RestApiVersion> onOrAfter(RestApiVersion restApiVersion) {
6258
return switch (restApiVersion) {
6359
case V_9 -> r -> r.major >= V_9.major;
6460
case V_8 -> r -> r.major >= V_8.major;
65-
case V_7 -> r -> r.major >= V_7.major;
6661
};
6762
}
6863

6964
public static RestApiVersion forMajor(int major) {
7065
switch (major) {
71-
case 7 -> {
72-
return V_7;
73-
}
7466
case 8 -> {
7567
return V_8;
7668
}

server/src/main/java/org/elasticsearch/action/ingest/SimulatePipelineRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ private static List<IngestDocument> parseDocs(Map<String, Object> config, RestAp
177177
String index = ConfigurationUtils.readStringOrIntProperty(null, null, dataMap, Metadata.INDEX.getFieldName(), "_index");
178178
String id = ConfigurationUtils.readStringOrIntProperty(null, null, dataMap, Metadata.ID.getFieldName(), "_id");
179179
String routing = ConfigurationUtils.readOptionalStringOrIntProperty(null, null, dataMap, Metadata.ROUTING.getFieldName());
180-
if (restApiVersion != RestApiVersion.V_8 && dataMap.containsKey(Metadata.TYPE.getFieldName())) {
180+
if (dataMap.containsKey(Metadata.TYPE.getFieldName())) {
181181
deprecationLogger.compatibleCritical(
182182
"simulate_pipeline_with_types",
183183
"[types removal] specifying _type in pipeline simulation requests is deprecated"

server/src/main/java/org/elasticsearch/common/xcontent/ChunkedToXContent.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ static ChunkedToXContentBuilder builder(ToXContent.Params params) {
4949
*/
5050
default Iterator<? extends ToXContent> toXContentChunked(RestApiVersion restApiVersion, ToXContent.Params params) {
5151
return switch (restApiVersion) {
52-
case V_7 -> throw new AssertionError("v7 API not supported");
5352
case V_8 -> toXContentChunkedV8(params);
5453
case V_9 -> toXContentChunked(params);
5554
};

server/src/main/java/org/elasticsearch/ingest/IngestDocument.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import org.elasticsearch.common.util.CollectionUtils;
1414
import org.elasticsearch.common.util.Maps;
1515
import org.elasticsearch.common.util.set.Sets;
16+
import org.elasticsearch.core.UpdateForV10;
1617
import org.elasticsearch.index.VersionType;
1718
import org.elasticsearch.index.mapper.IdFieldMapper;
1819
import org.elasticsearch.index.mapper.IndexFieldMapper;
@@ -957,6 +958,8 @@ void resetTerminate() {
957958
terminate = false;
958959
}
959960

961+
// Unconditionally deprecate the _type field once V7 BWC support is removed
962+
@UpdateForV10(owner = UpdateForV10.Owner.DATA_MANAGEMENT)
960963
public enum Metadata {
961964
INDEX(IndexFieldMapper.NAME),
962965
TYPE("_type"),

server/src/test/java/org/elasticsearch/action/bulk/BulkRequestParserTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public class BulkRequestParserTests extends ESTestCase {
3030

3131
@UpdateForV10(owner = UpdateForV10.Owner.DATA_MANAGEMENT) // Replace with just RestApiVersion.values() when V8 no longer exists
3232
public static final List<RestApiVersion> REST_API_VERSIONS_POST_V8 = Stream.of(RestApiVersion.values())
33-
.filter(v -> v.compareTo(RestApiVersion.V_8) > 0)
33+
.filter(v -> v.matches(RestApiVersion.onOrAfter(RestApiVersion.V_9)))
3434
.toList();
3535

3636
public void testParserCannotBeReusedAfterFailure() {

server/src/test/java/org/elasticsearch/action/ingest/SimulatePipelineRequestParsingTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ public void testIngestPipelineWithDocumentsWithType() throws Exception {
342342
requestContent,
343343
false,
344344
ingestService,
345-
RestApiVersion.V_7
345+
RestApiVersion.V_8
346346
);
347347
assertThat(actualRequest.verbose(), equalTo(false));
348348
assertThat(actualRequest.documents().size(), equalTo(numDocs));

x-pack/plugin/core/src/main/java/org/elasticsearch/license/License.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import org.elasticsearch.common.io.stream.StreamOutput;
1616
import org.elasticsearch.common.xcontent.LoggingDeprecationHandler;
1717
import org.elasticsearch.common.xcontent.XContentHelper;
18-
import org.elasticsearch.core.RestApiVersion;
1918
import org.elasticsearch.core.UpdateForV9;
2019
import org.elasticsearch.features.NodeFeature;
2120
import org.elasticsearch.xcontent.ToXContentObject;
@@ -142,7 +141,7 @@ static boolean isEnterprise(String typeName) {
142141
*/
143142
public static final String LICENSE_VERSION_MODE = "license_version";
144143
/**
145-
* Set for {@link RestApiVersion#V_7} requests only
144+
* Set for RestApiVersion#V_7 requests only
146145
* XContent param name to map the "enterprise" license type to "platinum"
147146
* for backwards compatibility with older clients
148147
*/

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/MachineLearningField.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@
2222

2323
public final class MachineLearningField {
2424

25-
public static final String DEPRECATED_ALLOW_NO_JOBS_PARAM = "allow_no_jobs";
26-
public static final String DEPRECATED_ALLOW_NO_DATAFEEDS_PARAM = "allow_no_datafeeds";
27-
2825
public static final Setting<Boolean> AUTODETECT_PROCESS = Setting.boolSetting(
2926
"xpack.ml.autodetect_process",
3027
true,

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/action/CloseJobAction.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@
1212
import org.elasticsearch.common.io.stream.StreamInput;
1313
import org.elasticsearch.common.io.stream.StreamOutput;
1414
import org.elasticsearch.common.io.stream.Writeable;
15-
import org.elasticsearch.core.RestApiVersion;
1615
import org.elasticsearch.core.TimeValue;
17-
import org.elasticsearch.core.UpdateForV9;
1816
import org.elasticsearch.tasks.Task;
1917
import org.elasticsearch.xcontent.ObjectParser;
2018
import org.elasticsearch.xcontent.ParseField;
@@ -27,10 +25,6 @@
2725
import java.io.IOException;
2826
import java.util.Objects;
2927

30-
import static org.elasticsearch.core.RestApiVersion.equalTo;
31-
import static org.elasticsearch.core.RestApiVersion.onOrAfter;
32-
import static org.elasticsearch.xpack.core.ml.MachineLearningField.DEPRECATED_ALLOW_NO_JOBS_PARAM;
33-
3428
public class CloseJobAction extends ActionType<CloseJobAction.Response> {
3529

3630
public static final CloseJobAction INSTANCE = new CloseJobAction();
@@ -45,11 +39,7 @@ public static class Request extends BaseTasksRequest<Request> implements ToXCont
4539
public static final ParseField TIMEOUT = new ParseField("timeout");
4640
public static final ParseField FORCE = new ParseField("force");
4741

48-
@UpdateForV9(owner = UpdateForV9.Owner.MACHINE_LEARNING) // v7 REST API no longer exists: eliminate forRestApiVersion
49-
public static final ParseField ALLOW_NO_MATCH = new ParseField("allow_no_match").forRestApiVersion(onOrAfter(RestApiVersion.V_8));
50-
@UpdateForV9(owner = UpdateForV9.Owner.MACHINE_LEARNING) // v7 REST API no longer exists: eliminate ref to RestApiVersion.V_7
51-
public static final ParseField ALLOW_NO_MATCH_V7 = new ParseField("allow_no_match", DEPRECATED_ALLOW_NO_JOBS_PARAM)
52-
.forRestApiVersion(equalTo(RestApiVersion.V_7));
42+
public static final ParseField ALLOW_NO_MATCH = new ParseField("allow_no_match");
5343
public static final ObjectParser<Request, Void> PARSER = new ObjectParser<>(NAME, Request::new);
5444

5545
static {
@@ -60,7 +50,6 @@ public static class Request extends BaseTasksRequest<Request> implements ToXCont
6050
);
6151
PARSER.declareBoolean(Request::setForce, FORCE);
6252
PARSER.declareBoolean(Request::setAllowNoMatch, ALLOW_NO_MATCH);
63-
PARSER.declareBoolean(Request::setAllowNoMatch, ALLOW_NO_MATCH_V7);
6453
}
6554

6655
public static Request parseRequest(String jobId, XContentParser parser) {

0 commit comments

Comments
 (0)