From 9130ed465231e9356c00af25e15a2e635266f852 Mon Sep 17 00:00:00 2001 From: markharwood Date: Mon, 4 Feb 2019 09:46:44 +0000 Subject: [PATCH 1/2] =?UTF-8?q?Relax=20test=20warning=20message=20checking?= =?UTF-8?q?=20to=20pre-empt=20PR=2038022=20landing=20in=206.7=20with=20new?= =?UTF-8?q?=20warning=20messages.=20The=20relaxed=20test=20now=20just=20as?= =?UTF-8?q?sumes=20any=20warning=20message=20starting=20with=20=E2=80=9C[t?= =?UTF-8?q?ypes=20removal]=E2=80=9D=20is=20tolerated=20rather=20than=20the?= =?UTF-8?q?=20precise=20phrasing=20used=20in=20the=206.7=20branch.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../upgrades/FullClusterRestartIT.java | 6 ++--- .../test/rest/ESRestTestCase.java | 22 +++++++++++++++++++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/qa/full-cluster-restart/src/test/java/org/elasticsearch/upgrades/FullClusterRestartIT.java b/qa/full-cluster-restart/src/test/java/org/elasticsearch/upgrades/FullClusterRestartIT.java index 93b3354afdc82..229562884af40 100644 --- a/qa/full-cluster-restart/src/test/java/org/elasticsearch/upgrades/FullClusterRestartIT.java +++ b/qa/full-cluster-restart/src/test/java/org/elasticsearch/upgrades/FullClusterRestartIT.java @@ -36,8 +36,6 @@ import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.json.JsonXContent; import org.elasticsearch.common.xcontent.support.XContentMapValues; -import org.elasticsearch.rest.action.admin.indices.RestGetIndexTemplateAction; -import org.elasticsearch.rest.action.admin.indices.RestPutIndexTemplateAction; import org.elasticsearch.rest.action.document.RestBulkAction; import org.elasticsearch.rest.action.document.RestGetAction; import org.elasticsearch.rest.action.document.RestUpdateAction; @@ -925,7 +923,7 @@ public void testSnapshotRestore() throws IOException { // We therefore use the deprecated typed APIs when running against the current version. if (isRunningAgainstOldCluster() == false) { createTemplateRequest.addParameter(INCLUDE_TYPE_NAME_PARAMETER, "true"); - createTemplateRequest.setOptions(expectWarnings(RestPutIndexTemplateAction.TYPES_DEPRECATION_MESSAGE)); + createTemplateRequest.setOptions(expectTypeRemovalWarnings()); } client().performRequest(createTemplateRequest); @@ -1135,7 +1133,7 @@ && getOldClusterVersion().onOrAfter(Version.V_6_1_0) && getOldClusterVersion().b // We therefore use the deprecated typed APIs when running against the current version. if (isRunningAgainstOldCluster() == false) { getTemplateRequest.addParameter(INCLUDE_TYPE_NAME_PARAMETER, "true"); - getTemplateRequest.setOptions(expectWarnings(RestGetIndexTemplateAction.TYPES_DEPRECATION_MESSAGE)); + getTemplateRequest.setOptions(expectTypeRemovalWarnings()); } Map getTemplateResponse = entityAsMap(client().performRequest(getTemplateRequest)); diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java index c363b7f4f6c92..e0e3bef8bde56 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java @@ -257,6 +257,28 @@ public static RequestOptions expectVersionSpecificWarnings(Consumer consumer.current(warnings)); } + + /** + * Creates RequestOptions designed to ignore [types removal] warnings but nothing else + * @deprecated this method is only required while we deprecate types and can be removed in 8.0 + */ + @Deprecated + public static RequestOptions expectTypeRemovalWarnings() { + Builder builder = RequestOptions.DEFAULT.toBuilder(); + builder.setWarningsHandler(new WarningsHandler() { + @Override + public boolean warningsShouldFailRequest(List warnings) { + for (String warning : warnings) { + if(warning.startsWith("[types removal]") == false) { + //Something other than a types removal message - return true + return true; + } + } + return false; + } + }); + return builder.build(); + } /** * Construct an HttpHost from the given host and port From b2a2b845ab193055fa53b6adf543f14cc1048eb8 Mon Sep 17 00:00:00 2001 From: markharwood Date: Mon, 4 Feb 2019 17:40:58 +0000 Subject: [PATCH 2/2] Changed method name and relaxed when it is called --- .../java/org/elasticsearch/upgrades/FullClusterRestartIT.java | 4 ++-- .../main/java/org/elasticsearch/test/rest/ESRestTestCase.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/qa/full-cluster-restart/src/test/java/org/elasticsearch/upgrades/FullClusterRestartIT.java b/qa/full-cluster-restart/src/test/java/org/elasticsearch/upgrades/FullClusterRestartIT.java index 229562884af40..a5d939af5e405 100644 --- a/qa/full-cluster-restart/src/test/java/org/elasticsearch/upgrades/FullClusterRestartIT.java +++ b/qa/full-cluster-restart/src/test/java/org/elasticsearch/upgrades/FullClusterRestartIT.java @@ -923,8 +923,8 @@ public void testSnapshotRestore() throws IOException { // We therefore use the deprecated typed APIs when running against the current version. if (isRunningAgainstOldCluster() == false) { createTemplateRequest.addParameter(INCLUDE_TYPE_NAME_PARAMETER, "true"); - createTemplateRequest.setOptions(expectTypeRemovalWarnings()); } + createTemplateRequest.setOptions(allowTypeRemovalWarnings()); client().performRequest(createTemplateRequest); @@ -1133,8 +1133,8 @@ && getOldClusterVersion().onOrAfter(Version.V_6_1_0) && getOldClusterVersion().b // We therefore use the deprecated typed APIs when running against the current version. if (isRunningAgainstOldCluster() == false) { getTemplateRequest.addParameter(INCLUDE_TYPE_NAME_PARAMETER, "true"); - getTemplateRequest.setOptions(expectTypeRemovalWarnings()); } + getTemplateRequest.setOptions(allowTypeRemovalWarnings()); Map getTemplateResponse = entityAsMap(client().performRequest(getTemplateRequest)); Map expectedTemplate = new HashMap<>(); diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java index e0e3bef8bde56..56f8881a5f529 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/ESRestTestCase.java @@ -263,7 +263,7 @@ public static RequestOptions expectWarnings(String... warnings) { * @deprecated this method is only required while we deprecate types and can be removed in 8.0 */ @Deprecated - public static RequestOptions expectTypeRemovalWarnings() { + public static RequestOptions allowTypeRemovalWarnings() { Builder builder = RequestOptions.DEFAULT.toBuilder(); builder.setWarningsHandler(new WarningsHandler() { @Override