diff --git a/modules/reindex/build.gradle b/modules/reindex/build.gradle index 05cd906f61160..8ea52de5a23a8 100644 --- a/modules/reindex/build.gradle +++ b/modules/reindex/build.gradle @@ -167,3 +167,7 @@ if (OS.current() == OS.WINDOWS) { } } } + +tasks.named("yamlRestCompatTestTransform").configure { task -> + task.skipTest("reindex/20_validation/specifying size fails", "size is rejected in 9.0") +} diff --git a/modules/reindex/src/yamlRestTest/resources/rest-api-spec/test/reindex/20_validation.yml b/modules/reindex/src/yamlRestTest/resources/rest-api-spec/test/reindex/20_validation.yml index c96414e46f7e7..cb155bc2219ab 100644 --- a/modules/reindex/src/yamlRestTest/resources/rest-api-spec/test/reindex/20_validation.yml +++ b/modules/reindex/src/yamlRestTest/resources/rest-api-spec/test/reindex/20_validation.yml @@ -107,7 +107,7 @@ body: { "text": "test" } - do: - catch: /invalid parameter \[size\], use \[max_docs\] instead/ + catch: /(invalid parameter \[size\], use \[max_docs\] instead|unknown field \[size\])/ reindex: body: source: diff --git a/server/src/main/java/org/elasticsearch/index/reindex/ReindexRequest.java b/server/src/main/java/org/elasticsearch/index/reindex/ReindexRequest.java index f9d027e0c9c1c..c3e429af08a4e 100644 --- a/server/src/main/java/org/elasticsearch/index/reindex/ReindexRequest.java +++ b/server/src/main/java/org/elasticsearch/index/reindex/ReindexRequest.java @@ -21,7 +21,6 @@ import org.elasticsearch.common.settings.SecureString; import org.elasticsearch.common.xcontent.XContentHelper; import org.elasticsearch.core.TimeValue; -import org.elasticsearch.core.UpdateForV9; import org.elasticsearch.features.NodeFeature; import org.elasticsearch.index.VersionType; import org.elasticsearch.index.query.QueryBuilder; @@ -355,10 +354,6 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws ); PARSER.declareInt(ReindexRequest::setMaxDocsValidateIdentical, new ParseField("max_docs")); - - // avoid silently accepting an ignored size. - PARSER.declareInt((r, s) -> failOnSizeSpecified(), new ParseField("size")); - PARSER.declareField((p, v, c) -> v.setScript(Script.parse(p)), new ParseField("script"), ObjectParser.ValueType.OBJECT); PARSER.declareString(ReindexRequest::setConflicts, new ParseField("conflicts")); } @@ -498,10 +493,4 @@ static void setMaxDocsValidateIdentical(AbstractBulkByScrollRequest request, request.setMaxDocs(maxDocs); } } - - @UpdateForV9(owner = UpdateForV9.Owner.DISTRIBUTED_INDEXING) - // do we still need this ref to [max_docs] or can we remove the field entirely so it's rejected with the default message? - private static void failOnSizeSpecified() { - throw new IllegalArgumentException("invalid parameter [size], use [max_docs] instead"); - } }