From 7c824704dd3d06ad5e917a12859fa49647d7b46f Mon Sep 17 00:00:00 2001 From: Craig Perkins <cwperx@amazon.com> Date: Wed, 27 Nov 2024 10:32:32 -0500 Subject: [PATCH] Permissive warnings handler Signed-off-by: Craig Perkins <cwperx@amazon.com> --- .../resthandler/RestChangePolicyActionIT.kt | 5 +++++ .../rollup/resthandler/RestStartRollupActionIT.kt | 5 +++++ .../rollup/resthandler/RestStopRollupActionIT.kt | 5 +++++ .../resthandler/RestDeleteSnapshotManagementIT.kt | 5 +++++ .../resthandler/RestExplainSnapshotManagementIT.kt | 5 +++++ .../resthandler/RestGetSnapshotManagementIT.kt | 5 +++++ .../resthandler/RestIndexSnapshotManagementIT.kt | 5 +++++ .../resthandler/RestStartSnapshotManagementIT.kt | 9 +++++++-- .../resthandler/RestStopSnapshotManagementIT.kt | 5 +++++ .../transform/resthandler/RestDeleteTransformActionIT.kt | 5 +++++ .../resthandler/RestExplainTransformActionIT.kt | 5 +++++ 11 files changed, 57 insertions(+), 2 deletions(-) diff --git a/src/test/kotlin/org/opensearch/indexmanagement/indexstatemanagement/resthandler/RestChangePolicyActionIT.kt b/src/test/kotlin/org/opensearch/indexmanagement/indexstatemanagement/resthandler/RestChangePolicyActionIT.kt index ee2621bca..5d12c032b 100644 --- a/src/test/kotlin/org/opensearch/indexmanagement/indexstatemanagement/resthandler/RestChangePolicyActionIT.kt +++ b/src/test/kotlin/org/opensearch/indexmanagement/indexstatemanagement/resthandler/RestChangePolicyActionIT.kt @@ -7,7 +7,9 @@ package org.opensearch.indexmanagement.indexstatemanagement.resthandler import org.junit.Before import org.opensearch.client.Request +import org.opensearch.client.RequestOptions import org.opensearch.client.ResponseException +import org.opensearch.client.WarningsHandler import org.opensearch.common.settings.Settings import org.opensearch.core.rest.RestStatus import org.opensearch.indexmanagement.IndexManagementPlugin.Companion.INDEX_MANAGEMENT_INDEX @@ -92,6 +94,9 @@ class RestChangePolicyActionIT : IndexStateManagementRestTestCase() { fun `test nonexistent ism config index`() { if (indexExists(INDEX_MANAGEMENT_INDEX)) { val deleteISMIndexRequest = Request("DELETE", "/$INDEX_MANAGEMENT_INDEX") + val options = RequestOptions.DEFAULT.toBuilder() + options.setWarningsHandler(WarningsHandler.PERMISSIVE) + deleteISMIndexRequest.options = options.build() adminClient().performRequest(deleteISMIndexRequest) } try { diff --git a/src/test/kotlin/org/opensearch/indexmanagement/rollup/resthandler/RestStartRollupActionIT.kt b/src/test/kotlin/org/opensearch/indexmanagement/rollup/resthandler/RestStartRollupActionIT.kt index e165a5b71..02eea1a64 100644 --- a/src/test/kotlin/org/opensearch/indexmanagement/rollup/resthandler/RestStartRollupActionIT.kt +++ b/src/test/kotlin/org/opensearch/indexmanagement/rollup/resthandler/RestStartRollupActionIT.kt @@ -6,7 +6,9 @@ package org.opensearch.indexmanagement.rollup.resthandler import org.opensearch.client.Request +import org.opensearch.client.RequestOptions import org.opensearch.client.ResponseException +import org.opensearch.client.WarningsHandler import org.opensearch.common.settings.Settings import org.opensearch.core.rest.RestStatus import org.opensearch.indexmanagement.IndexManagementIndices @@ -203,6 +205,9 @@ class RestStartRollupActionIT : RollupRestAPITestCase() { fun `test start rollup when multiple shards configured for IM config index`() { // setup ism-config index with multiple primary shards val deleteISMIndexRequest = Request("DELETE", "/$INDEX_MANAGEMENT_INDEX") + val options = RequestOptions.DEFAULT.toBuilder() + options.setWarningsHandler(WarningsHandler.PERMISSIVE) + deleteISMIndexRequest.options = options.build() adminClient().performRequest(deleteISMIndexRequest) val mapping = IndexManagementIndices.indexManagementMappings.trim().trimStart('{').trimEnd('}') val settings = diff --git a/src/test/kotlin/org/opensearch/indexmanagement/rollup/resthandler/RestStopRollupActionIT.kt b/src/test/kotlin/org/opensearch/indexmanagement/rollup/resthandler/RestStopRollupActionIT.kt index 4789e1f50..ecc4f94b7 100644 --- a/src/test/kotlin/org/opensearch/indexmanagement/rollup/resthandler/RestStopRollupActionIT.kt +++ b/src/test/kotlin/org/opensearch/indexmanagement/rollup/resthandler/RestStopRollupActionIT.kt @@ -6,7 +6,9 @@ package org.opensearch.indexmanagement.rollup.resthandler import org.opensearch.client.Request +import org.opensearch.client.RequestOptions import org.opensearch.client.ResponseException +import org.opensearch.client.WarningsHandler import org.opensearch.common.settings.Settings import org.opensearch.core.rest.RestStatus import org.opensearch.indexmanagement.IndexManagementIndices @@ -259,6 +261,9 @@ class RestStopRollupActionIT : RollupRestAPITestCase() { fun `test stop rollup when multiple shards configured for IM config index`() { // setup ism-config index with multiple primary shards val deleteISMIndexRequest = Request("DELETE", "/$INDEX_MANAGEMENT_INDEX") + val options = RequestOptions.DEFAULT.toBuilder() + options.setWarningsHandler(WarningsHandler.PERMISSIVE) + deleteISMIndexRequest.options = options.build() adminClient().performRequest(deleteISMIndexRequest) val mapping = IndexManagementIndices.indexManagementMappings.trim().trimStart('{').trimEnd('}') val settings = diff --git a/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestDeleteSnapshotManagementIT.kt b/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestDeleteSnapshotManagementIT.kt index 13ecd4a71..07081bd65 100644 --- a/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestDeleteSnapshotManagementIT.kt +++ b/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestDeleteSnapshotManagementIT.kt @@ -6,7 +6,9 @@ package org.opensearch.indexmanagement.snapshotmanagement.resthandler import org.opensearch.client.Request +import org.opensearch.client.RequestOptions import org.opensearch.client.ResponseException +import org.opensearch.client.WarningsHandler import org.opensearch.core.rest.RestStatus import org.opensearch.indexmanagement.IndexManagementPlugin import org.opensearch.indexmanagement.IndexManagementPlugin.Companion.INDEX_MANAGEMENT_INDEX @@ -40,6 +42,9 @@ class RestDeleteSnapshotManagementIT : SnapshotManagementRestTestCase() { fun `test deleting a snapshot management policy that doesn't exist and config index doesnt exist`() { try { val deleteISMIndexRequest = Request("DELETE", "/$INDEX_MANAGEMENT_INDEX") + val options = RequestOptions.DEFAULT.toBuilder() + options.setWarningsHandler(WarningsHandler.PERMISSIVE) + deleteISMIndexRequest.options = options.build() adminClient().performRequest(deleteISMIndexRequest) client().makeRequest("DELETE", "${IndexManagementPlugin.SM_POLICIES_URI}/nonexistent_policy") fail("expected 404 ResponseException") diff --git a/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestExplainSnapshotManagementIT.kt b/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestExplainSnapshotManagementIT.kt index ce64e240f..bf5da3c56 100644 --- a/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestExplainSnapshotManagementIT.kt +++ b/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestExplainSnapshotManagementIT.kt @@ -6,7 +6,9 @@ package org.opensearch.indexmanagement.snapshotmanagement.resthandler import org.opensearch.client.Request +import org.opensearch.client.RequestOptions import org.opensearch.client.ResponseException +import org.opensearch.client.WarningsHandler import org.opensearch.common.xcontent.XContentType import org.opensearch.core.rest.RestStatus import org.opensearch.indexmanagement.IndexManagementPlugin.Companion.INDEX_MANAGEMENT_INDEX @@ -143,6 +145,9 @@ class RestExplainSnapshotManagementIT : SnapshotManagementRestTestCase() { fun `test explain sm policy when config index doesn't exist`() { try { val deleteISMIndexRequest = Request("DELETE", "/$INDEX_MANAGEMENT_INDEX") + val options = RequestOptions.DEFAULT.toBuilder() + options.setWarningsHandler(WarningsHandler.PERMISSIVE) + deleteISMIndexRequest.options = options.build() adminClient().performRequest(deleteISMIndexRequest) explainSMPolicy(randomAlphaOfLength(10)) fail("expected response exception") diff --git a/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestGetSnapshotManagementIT.kt b/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestGetSnapshotManagementIT.kt index ee9eba36c..f8e400b7e 100644 --- a/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestGetSnapshotManagementIT.kt +++ b/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestGetSnapshotManagementIT.kt @@ -8,7 +8,9 @@ package org.opensearch.indexmanagement.snapshotmanagement.resthandler import org.apache.hc.core5.http.HttpHeaders import org.apache.hc.core5.http.message.BasicHeader import org.opensearch.client.Request +import org.opensearch.client.RequestOptions import org.opensearch.client.ResponseException +import org.opensearch.client.WarningsHandler import org.opensearch.core.rest.RestStatus import org.opensearch.indexmanagement.IndexManagementPlugin import org.opensearch.indexmanagement.IndexManagementPlugin.Companion.INDEX_MANAGEMENT_INDEX @@ -51,6 +53,9 @@ class RestGetSnapshotManagementIT : SnapshotManagementRestTestCase() { fun `test getting a snapshot management policy that doesn't exist and config index doesnt exist`() { try { val deleteISMIndexRequest = Request("DELETE", "/$INDEX_MANAGEMENT_INDEX") + val options = RequestOptions.DEFAULT.toBuilder() + options.setWarningsHandler(WarningsHandler.PERMISSIVE) + deleteISMIndexRequest.options = options.build() adminClient().performRequest(deleteISMIndexRequest) getSMPolicy(randomAlphaOfLength(20)) fail("expected response exception") diff --git a/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestIndexSnapshotManagementIT.kt b/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestIndexSnapshotManagementIT.kt index f40467f81..0183300f3 100644 --- a/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestIndexSnapshotManagementIT.kt +++ b/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestIndexSnapshotManagementIT.kt @@ -6,7 +6,9 @@ package org.opensearch.indexmanagement.snapshotmanagement.resthandler import org.opensearch.client.Request +import org.opensearch.client.RequestOptions import org.opensearch.client.ResponseException +import org.opensearch.client.WarningsHandler import org.opensearch.common.xcontent.XContentType import org.opensearch.core.rest.RestStatus import org.opensearch.indexmanagement.IndexManagementPlugin.Companion.INDEX_MANAGEMENT_INDEX @@ -132,6 +134,9 @@ class RestIndexSnapshotManagementIT : SnapshotManagementRestTestCase() { @Suppress("UNCHECKED_CAST") fun `test mappings after sm policy creation`() { val deleteISMIndexRequest = Request("DELETE", "/$INDEX_MANAGEMENT_INDEX") + val options = RequestOptions.DEFAULT.toBuilder() + options.setWarningsHandler(WarningsHandler.PERMISSIVE) + deleteISMIndexRequest.options = options.build() adminClient().performRequest(deleteISMIndexRequest) createSMPolicy(randomSMPolicy()) diff --git a/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestStartSnapshotManagementIT.kt b/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestStartSnapshotManagementIT.kt index 8f8d0c67c..ac9ed0fd5 100644 --- a/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestStartSnapshotManagementIT.kt +++ b/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestStartSnapshotManagementIT.kt @@ -6,7 +6,9 @@ package org.opensearch.indexmanagement.snapshotmanagement.resthandler import org.opensearch.client.Request +import org.opensearch.client.RequestOptions import org.opensearch.client.ResponseException +import org.opensearch.client.WarningsHandler import org.opensearch.core.rest.RestStatus import org.opensearch.indexmanagement.IndexManagementPlugin import org.opensearch.indexmanagement.IndexManagementPlugin.Companion.INDEX_MANAGEMENT_INDEX @@ -61,8 +63,11 @@ class RestStartSnapshotManagementIT : SnapshotManagementRestTestCase() { fun `test starting a snapshot management policy with no config index fails`() { try { - val request = Request("DELETE", "/$INDEX_MANAGEMENT_INDEX") - adminClient().performRequest(request) + val deleteISMIndexRequest = Request("DELETE", "/$INDEX_MANAGEMENT_INDEX") + val options = RequestOptions.DEFAULT.toBuilder() + options.setWarningsHandler(WarningsHandler.PERMISSIVE) + deleteISMIndexRequest.options = options.build() + adminClient().performRequest(deleteISMIndexRequest) client().makeRequest("POST", "${IndexManagementPlugin.SM_POLICIES_URI}/nonexistent_foo/_start") fail("expected response exception") } catch (e: ResponseException) { diff --git a/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestStopSnapshotManagementIT.kt b/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestStopSnapshotManagementIT.kt index fa308e552..ef281e9ec 100644 --- a/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestStopSnapshotManagementIT.kt +++ b/src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestStopSnapshotManagementIT.kt @@ -6,7 +6,9 @@ package org.opensearch.indexmanagement.snapshotmanagement.resthandler import org.opensearch.client.Request +import org.opensearch.client.RequestOptions import org.opensearch.client.ResponseException +import org.opensearch.client.WarningsHandler import org.opensearch.core.rest.RestStatus import org.opensearch.indexmanagement.IndexManagementPlugin import org.opensearch.indexmanagement.IndexManagementPlugin.Companion.INDEX_MANAGEMENT_INDEX @@ -62,6 +64,9 @@ class RestStopSnapshotManagementIT : SnapshotManagementRestTestCase() { fun `test stopping a snapshot management policy with no config index fails`() { try { val deleteISMIndexRequest = Request("DELETE", "/$INDEX_MANAGEMENT_INDEX") + val options = RequestOptions.DEFAULT.toBuilder() + options.setWarningsHandler(WarningsHandler.PERMISSIVE) + deleteISMIndexRequest.options = options.build() adminClient().performRequest(deleteISMIndexRequest) client().makeRequest("POST", "${IndexManagementPlugin.SM_POLICIES_URI}/nonexistent_foo/_stop") fail("expected response exception") diff --git a/src/test/kotlin/org/opensearch/indexmanagement/transform/resthandler/RestDeleteTransformActionIT.kt b/src/test/kotlin/org/opensearch/indexmanagement/transform/resthandler/RestDeleteTransformActionIT.kt index bc58daa3e..e7ec92eb6 100644 --- a/src/test/kotlin/org/opensearch/indexmanagement/transform/resthandler/RestDeleteTransformActionIT.kt +++ b/src/test/kotlin/org/opensearch/indexmanagement/transform/resthandler/RestDeleteTransformActionIT.kt @@ -6,7 +6,9 @@ package org.opensearch.indexmanagement.transform.resthandler import org.opensearch.client.Request +import org.opensearch.client.RequestOptions import org.opensearch.client.ResponseException +import org.opensearch.client.WarningsHandler import org.opensearch.core.rest.RestStatus import org.opensearch.indexmanagement.IndexManagementPlugin.Companion.INDEX_MANAGEMENT_INDEX import org.opensearch.indexmanagement.IndexManagementPlugin.Companion.TRANSFORM_BASE_URI @@ -79,6 +81,9 @@ class RestDeleteTransformActionIT : TransformRestTestCase() { try { if (indexExists(INDEX_MANAGEMENT_INDEX)) { val deleteISMIndexRequest = Request("DELETE", "/$INDEX_MANAGEMENT_INDEX") + val options = RequestOptions.DEFAULT.toBuilder() + options.setWarningsHandler(WarningsHandler.PERMISSIVE) + deleteISMIndexRequest.options = options.build() adminClient().performRequest(deleteISMIndexRequest) } val res = client().makeRequest("DELETE", "$TRANSFORM_BASE_URI/foobarbaz") diff --git a/src/test/kotlin/org/opensearch/indexmanagement/transform/resthandler/RestExplainTransformActionIT.kt b/src/test/kotlin/org/opensearch/indexmanagement/transform/resthandler/RestExplainTransformActionIT.kt index b9af789d7..b301eb915 100644 --- a/src/test/kotlin/org/opensearch/indexmanagement/transform/resthandler/RestExplainTransformActionIT.kt +++ b/src/test/kotlin/org/opensearch/indexmanagement/transform/resthandler/RestExplainTransformActionIT.kt @@ -7,7 +7,9 @@ package org.opensearch.indexmanagement.transform.resthandler import org.junit.Assert import org.opensearch.client.Request +import org.opensearch.client.RequestOptions import org.opensearch.client.ResponseException +import org.opensearch.client.WarningsHandler import org.opensearch.core.rest.RestStatus import org.opensearch.indexmanagement.IndexManagementPlugin.Companion.INDEX_MANAGEMENT_INDEX import org.opensearch.indexmanagement.IndexManagementPlugin.Companion.TRANSFORM_BASE_URI @@ -162,6 +164,9 @@ class RestExplainTransformActionIT : TransformRestTestCase() { @Throws(Exception::class) fun `test explain transform when config doesnt exist`() { val deleteISMIndexRequest = Request("DELETE", "/$INDEX_MANAGEMENT_INDEX") + val options = RequestOptions.DEFAULT.toBuilder() + options.setWarningsHandler(WarningsHandler.PERMISSIVE) + deleteISMIndexRequest.options = options.build() adminClient().performRequest(deleteISMIndexRequest) val responseExplicit = client().makeRequest("GET", "$TRANSFORM_BASE_URI/no_config_some_transform/_explain") val expectedResponse = mapOf("no_config_some_transform" to "Failed to search transform metadata")