-
Notifications
You must be signed in to change notification settings - Fork 25.6k
Allow private settings when system provided #133789
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
b7c8100
1376d1a
55b5da2
249626b
9e76f7b
5bd6c26
0db669a
5ddcb16
b5ccfa3
dfe0da4
7db8764
654cbe4
e8c6f9e
953c886
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -786,8 +786,7 @@ void validateIndexTemplateV2(ProjectMetadata projectMetadata, String name, Compo | |
|
|
||
| final var combinedMappings = collectMappings(indexTemplate, projectMetadata.componentTemplates(), "tmp_idx"); | ||
| final var combinedSettings = resolveSettings(indexTemplate, projectMetadata.componentTemplates()); | ||
| // First apply settings sourced from index setting providers: | ||
| var finalSettings = Settings.builder(); | ||
| var additionalSettingsBuilder = Settings.builder(); | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Minor suggestion (take it or leave it), perhaps call this There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. OTOH, it's coming from the |
||
| ImmutableOpenMap.Builder<String, Map<String, String>> customMetadataBuilder = ImmutableOpenMap.builder(); | ||
| for (var provider : indexSettingProviders) { | ||
| Settings.Builder builder = Settings.builder(); | ||
|
|
@@ -803,9 +802,13 @@ void validateIndexTemplateV2(ProjectMetadata projectMetadata, String name, Compo | |
| customMetadataBuilder::put | ||
| ); | ||
| var newAdditionalSettings = builder.build(); | ||
| MetadataCreateIndexService.validateAdditionalSettings(provider, newAdditionalSettings, finalSettings); | ||
| finalSettings.put(newAdditionalSettings); | ||
| MetadataCreateIndexService.validateAdditionalSettings(provider, newAdditionalSettings, additionalSettingsBuilder); | ||
| additionalSettingsBuilder.put(newAdditionalSettings); | ||
| } | ||
| Settings additionalSettings = additionalSettingsBuilder.build(); | ||
| var finalSettings = Settings.builder(); | ||
| // First apply settings sourced from index setting providers: | ||
| finalSettings.put(additionalSettings); | ||
| // Then apply setting from component templates: | ||
| finalSettings.put(combinedSettings); | ||
| // Then finally apply settings resolved from index template: | ||
|
|
@@ -815,7 +818,7 @@ void validateIndexTemplateV2(ProjectMetadata projectMetadata, String name, Compo | |
|
|
||
| var templateToValidate = indexTemplate.toBuilder().template(Template.builder(finalTemplate).settings(finalSettings)).build(); | ||
|
|
||
| validate(name, templateToValidate); | ||
| validate(name, templateToValidate, additionalSettings); | ||
| validateDataStreamsStillReferenced(projectMetadata, name, templateToValidate); | ||
| validateLifecycle(projectMetadata, name, templateToValidate, globalRetentionSettings.get(false)); | ||
| validateDataStreamOptions(projectMetadata, name, templateToValidate, globalRetentionSettings.get(true)); | ||
|
|
@@ -2059,18 +2062,19 @@ public static void validateTemplate(Settings validateSettings, CompressedXConten | |
| } | ||
|
|
||
| public void validate(String name, ComponentTemplate template) { | ||
| validate(name, template.template(), Collections.emptyList()); | ||
| validate(name, template.template(), Collections.emptyList(), null); | ||
| } | ||
|
|
||
| private void validate(String name, ComposableIndexTemplate template) { | ||
| validate(name, template.template(), template.indexPatterns()); | ||
| private void validate(String name, ComposableIndexTemplate template, @Nullable Settings systemProvided) { | ||
| validate(name, template.template(), template.indexPatterns(), systemProvided); | ||
| } | ||
|
|
||
| private void validate(String name, Template template, List<String> indexPatterns) { | ||
| private void validate(String name, Template template, List<String> indexPatterns, @Nullable Settings systemProvided) { | ||
| Optional<Template> maybeTemplate = Optional.ofNullable(template); | ||
| validate( | ||
| name, | ||
| maybeTemplate.map(Template::settings).orElse(Settings.EMPTY), | ||
| systemProvided, | ||
| indexPatterns, | ||
| maybeTemplate.map(Template::aliases).orElse(emptyMap()).values().stream().map(MetadataIndexTemplateService::toAlias).toList() | ||
| ); | ||
|
|
@@ -2089,10 +2093,16 @@ private static Alias toAlias(AliasMetadata aliasMeta) { | |
| } | ||
|
|
||
| private void validate(PutRequest putRequest) { | ||
| validate(putRequest.name, putRequest.settings, putRequest.indexPatterns, putRequest.aliases); | ||
| validate(putRequest.name, putRequest.settings, null, putRequest.indexPatterns, putRequest.aliases); | ||
| } | ||
|
|
||
| private void validate(String name, @Nullable Settings settings, List<String> indexPatterns, List<Alias> aliases) { | ||
| private void validate( | ||
| String name, | ||
| @Nullable Settings settings, | ||
| @Nullable Settings systemProvided, | ||
| List<String> indexPatterns, | ||
| List<Alias> aliases | ||
| ) { | ||
| List<String> validationErrors = new ArrayList<>(); | ||
| if (name.contains(" ")) { | ||
| validationErrors.add("name must not contain a space"); | ||
|
|
@@ -2145,7 +2155,11 @@ private void validate(String name, @Nullable Settings settings, List<String> ind | |
| validationErrors.add(t.getMessage()); | ||
| } | ||
| } | ||
| List<String> indexSettingsValidation = metadataCreateIndexService.getIndexSettingsValidationErrors(settings, true); | ||
| List<String> indexSettingsValidation = metadataCreateIndexService.getIndexSettingsValidationErrors( | ||
| settings, | ||
| systemProvided, | ||
| true | ||
| ); | ||
| validationErrors.addAll(indexSettingsValidation); | ||
| } | ||
|
|
||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.