[7.x] Emit deprecation warning if multiple v1 templates match with a new index (#55558) (#56038)

* Emit deprecation warning if multiple v1 templates match with a new index (#55558)

* Emit deprecation warning if multiple v1 templates match with a new index

* DEPRECATION_LOGGER rename
This commit is contained in:
Przemko Robakowski 2020-04-30 17:36:17 +02:00 committed by GitHub
parent fc6422ffcc
commit 797f63e743
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 32 additions and 3 deletions

View File

@ -1,4 +1,6 @@
setup:
- skip:
features: allowed_warnings
- do:
indices.put_template:
name: index_template
@ -18,6 +20,8 @@ setup:
type: keyword
- do:
allowed_warnings:
- "index [test-0] matches multiple v1 templates [global, index_template], v2 index templates will only match a single index template"
bulk:
refresh: true
body:

View File

@ -342,6 +342,12 @@ public class MetadataCreateIndexService {
final List<IndexTemplateMetadata> v1Templates = MetadataIndexTemplateService.findV1Templates(currentState.metadata(),
request.index(), isHiddenFromRequest);
if (v1Templates.size() > 1) {
DEPRECATION_LOGGER.deprecatedAndMaybeLog("index_template_multiple_match", "index [{}] matches multiple v1 templates " +
"[{}], v2 index templates will only match a single index template", request.index(),
v1Templates.stream().map(IndexTemplateMetadata::name).sorted().collect(Collectors.joining(", ")));
}
return applyCreateIndexRequestWithV1Templates(currentState, request, silent, v1Templates, metadataTransformer);
}
}

View File

@ -235,6 +235,9 @@ public class TemplatePreferenceIT extends ESSingleNodeTestCase {
resp.getSetting(INDEX + "-000002", "index.priority"), equalTo("23"));
client().admin().indices().prepareDelete(INDEX + "*").get();
}
assertWarnings("index [index-000002] matches multiple v1 templates [one_shard_index_template, " +
"random-soft-deletes-template, v1], v2 index templates will only match a single index template");
}
private void assertUsedV1() {

View File

@ -1,11 +1,15 @@
---
setup:
- skip:
features: headers
features:
- headers
- allowed_warnings
- do:
headers:
Authorization: "Basic eF9wYWNrX3Jlc3RfdXNlcjp4LXBhY2stdGVzdC1wYXNzd29yZA==" # run as x_pack_rest_user, i.e. the test setup superuser
Content-Type: application/json
allowed_warnings:
- "index [.ml-meta] matches multiple v1 templates [.ml-meta, global], v2 index templates will only match a single index template"
index:
index: .ml-meta
id: filter_imposter-filter
@ -320,6 +324,8 @@ setup:
indices.delete:
index: ".ml-meta"
- do:
allowed_warnings:
- "index [.ml-meta] matches multiple v1 templates [.ml-meta, global], v2 index templates will only match a single index template"
indices.create:
index: ".ml-meta"

View File

@ -1,7 +1,11 @@
setup:
- skip:
features: headers
features:
- headers
- allowed_warnings
- do:
allowed_warnings:
- "index [.ml-inference-000002] matches multiple v1 templates [.ml-inference-000002, global], v2 index templates will only match a single index template"
headers:
Authorization: "Basic eF9wYWNrX3Jlc3RfdXNlcjp4LXBhY2stdGVzdC1wYXNzd29yZA==" # run as x_pack_rest_user, i.e. the test setup superuser
index:

View File

@ -1,7 +1,11 @@
setup:
- skip:
features: headers
features:
- headers
- allowed_warnings
- do:
allowed_warnings:
- "index [foo_rollup] matches multiple v1 templates [global, test], v2 index templates will only match a single index template"
indices.create:
index: foo
body:
@ -273,6 +277,8 @@ setup:
type: keyword
- do:
allowed_warnings:
- "index [foo_rollup] matches multiple v1 templates [global, test], v2 index templates will only match a single index template"
headers:
Authorization: "Basic eF9wYWNrX3Jlc3RfdXNlcjp4LXBhY2stdGVzdC1wYXNzd29yZA==" # run as x_pack_rest_user, i.e. the test setup superuser
rollup.put_job: