Skip to content

Commit 7e8a69d

Browse files
authored
Raise MetadataIndexTemplateService construction out of ActionModule (elastic#132868)
The MetadataIndexTemplateService used to be created as part of initializing the reserved project state handlers. Since the instance was never bound I suspect that a second one was being created in the injector. This PR raises the construction of the service out of the action module where it was previously created and binds the instance.
1 parent ef89fed commit 7e8a69d

File tree

3 files changed

+14
-30
lines changed

3 files changed

+14
-30
lines changed

server/src/main/java/org/elasticsearch/cluster/ClusterModule.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import org.elasticsearch.cluster.metadata.MetadataDeleteIndexService;
2323
import org.elasticsearch.cluster.metadata.MetadataIndexAliasesService;
2424
import org.elasticsearch.cluster.metadata.MetadataIndexStateService;
25-
import org.elasticsearch.cluster.metadata.MetadataIndexTemplateService;
2625
import org.elasticsearch.cluster.metadata.MetadataMappingService;
2726
import org.elasticsearch.cluster.metadata.NodesShutdownMetadata;
2827
import org.elasticsearch.cluster.metadata.RepositoriesMetadata;
@@ -553,7 +552,6 @@ protected void configure() {
553552
bind(MetadataIndexStateService.class).asEagerSingleton();
554553
bind(MetadataMappingService.class).asEagerSingleton();
555554
bind(MetadataIndexAliasesService.class).asEagerSingleton();
556-
bind(MetadataIndexTemplateService.class).asEagerSingleton();
557555
bind(IndexNameExpressionResolver.class).toInstance(indexNameExpressionResolver);
558556
bind(DelayedAllocationService.class).asEagerSingleton();
559557
bind(ShardStateAction.class).asEagerSingleton();

server/src/main/java/org/elasticsearch/cluster/metadata/MetadataIndexTemplateService.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@
5454
import org.elasticsearch.indices.SystemIndices;
5555
import org.elasticsearch.ingest.IngestMetadata;
5656
import org.elasticsearch.ingest.PipelineConfiguration;
57-
import org.elasticsearch.injection.guice.Inject;
5857
import org.elasticsearch.xcontent.NamedXContentRegistry;
5958

6059
import java.io.IOException;
@@ -187,7 +186,6 @@ public void onFailure(Exception e) {
187186
}
188187
}
189188

190-
@Inject
191189
public MetadataIndexTemplateService(
192190
ClusterService clusterService,
193191
MetadataCreateIndexService metadataCreateIndexService,

server/src/main/java/org/elasticsearch/node/NodeConstruction.java

Lines changed: 14 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -969,6 +969,17 @@ public Map<String, String> queryFields() {
969969
metadataCreateIndexService
970970
);
971971

972+
final MetadataIndexTemplateService metadataIndexTemplateService = new MetadataIndexTemplateService(
973+
clusterService,
974+
metadataCreateIndexService,
975+
indicesService,
976+
settingsModule.getIndexScopedSettings(),
977+
xContentRegistry,
978+
systemIndices,
979+
indexSettingProviders,
980+
dataStreamGlobalRetentionSettings
981+
);
982+
972983
final IndexingPressure indexingLimits = new IndexingPressure(settings);
973984

974985
final var linkedProjectConfigService = pluginsService.loadSingletonServiceProvider(
@@ -1061,16 +1072,7 @@ public Map<String, String> queryFields() {
10611072
clusterService,
10621073
rerouteService,
10631074
buildReservedClusterStateHandlers(reservedStateHandlerProviders, settingsModule),
1064-
buildReservedProjectStateHandlers(
1065-
reservedStateHandlerProviders,
1066-
settingsModule,
1067-
clusterService,
1068-
indicesService,
1069-
systemIndices,
1070-
indexSettingProviders,
1071-
metadataCreateIndexService,
1072-
dataStreamGlobalRetentionSettings
1073-
),
1075+
buildReservedProjectStateHandlers(reservedStateHandlerProviders, settingsModule, metadataIndexTemplateService),
10741076
pluginsService.loadSingletonServiceProvider(RestExtension.class, RestExtension::allowAll),
10751077
incrementalBulkService,
10761078
projectResolver
@@ -1305,6 +1307,7 @@ public Map<String, String> queryFields() {
13051307
b.bind(IndicesService.class).toInstance(indicesService);
13061308
b.bind(MetadataCreateIndexService.class).toInstance(metadataCreateIndexService);
13071309
b.bind(MetadataUpdateSettingsService.class).toInstance(metadataUpdateSettingsService);
1310+
b.bind(MetadataIndexTemplateService.class).toInstance(metadataIndexTemplateService);
13081311
b.bind(SearchService.class).toInstance(searchService);
13091312
b.bind(SearchResponseMetrics.class).toInstance(searchResponseMetrics);
13101313
b.bind(SearchTransportService.class).toInstance(searchTransportService);
@@ -1671,25 +1674,10 @@ private List<ReservedClusterStateHandler<?>> buildReservedClusterStateHandlers(
16711674
private List<ReservedProjectStateHandler<?>> buildReservedProjectStateHandlers(
16721675
List<? extends ReservedStateHandlerProvider> handlers,
16731676
SettingsModule settingsModule,
1674-
ClusterService clusterService,
1675-
IndicesService indicesService,
1676-
SystemIndices systemIndices,
1677-
IndexSettingProviders indexSettingProviders,
1678-
MetadataCreateIndexService metadataCreateIndexService,
1679-
DataStreamGlobalRetentionSettings globalRetentionSettings
1677+
MetadataIndexTemplateService templateService
16801678
) {
16811679
List<ReservedProjectStateHandler<?>> reservedStateHandlers = new ArrayList<>();
16821680

1683-
var templateService = new MetadataIndexTemplateService(
1684-
clusterService,
1685-
metadataCreateIndexService,
1686-
indicesService,
1687-
settingsModule.getIndexScopedSettings(),
1688-
xContentRegistry,
1689-
systemIndices,
1690-
indexSettingProviders,
1691-
globalRetentionSettings
1692-
);
16931681
reservedStateHandlers.add(new ReservedComposableIndexTemplateAction(templateService, settingsModule.getIndexScopedSettings()));
16941682

16951683
// add all reserved state handlers from plugins

0 commit comments

Comments
 (0)