Search in sources :

Example 1 with IndexScopedSettings

use of org.opensearch.common.settings.IndexScopedSettings in project OpenSearch by opensearch-project.

the class GetIndexResponseTests method createServerTestInstance.

@Override
protected org.opensearch.action.admin.indices.get.GetIndexResponse createServerTestInstance(XContentType xContentType) {
    String[] indices = generateRandomStringArray(5, 5, false, false);
    ImmutableOpenMap.Builder<String, MappingMetadata> mappings = ImmutableOpenMap.builder();
    ImmutableOpenMap.Builder<String, List<AliasMetadata>> aliases = ImmutableOpenMap.builder();
    ImmutableOpenMap.Builder<String, Settings> settings = ImmutableOpenMap.builder();
    ImmutableOpenMap.Builder<String, Settings> defaultSettings = ImmutableOpenMap.builder();
    ImmutableOpenMap.Builder<String, String> dataStreams = ImmutableOpenMap.builder();
    IndexScopedSettings indexScopedSettings = IndexScopedSettings.DEFAULT_SCOPED_SETTINGS;
    boolean includeDefaults = randomBoolean();
    for (String index : indices) {
        mappings.put(index, createMappingsForIndex());
        List<AliasMetadata> aliasMetadataList = new ArrayList<>();
        int aliasesNum = randomIntBetween(0, 3);
        for (int i = 0; i < aliasesNum; i++) {
            aliasMetadataList.add(GetAliasesResponseTests.createAliasMetadata());
        }
        CollectionUtil.timSort(aliasMetadataList, Comparator.comparing(AliasMetadata::alias));
        aliases.put(index, Collections.unmodifiableList(aliasMetadataList));
        Settings.Builder builder = Settings.builder();
        builder.put(RandomCreateIndexGenerator.randomIndexSettings());
        settings.put(index, builder.build());
        if (includeDefaults) {
            defaultSettings.put(index, indexScopedSettings.diff(settings.get(index), Settings.EMPTY));
        }
        if (randomBoolean()) {
            dataStreams.put(index, randomAlphaOfLength(5).toLowerCase(Locale.ROOT));
        }
    }
    return new org.opensearch.action.admin.indices.get.GetIndexResponse(indices, mappings.build(), aliases.build(), settings.build(), defaultSettings.build(), dataStreams.build());
}
Also used : AliasMetadata(org.opensearch.cluster.metadata.AliasMetadata) IndexScopedSettings(org.opensearch.common.settings.IndexScopedSettings) ArrayList(java.util.ArrayList) ImmutableOpenMap(org.opensearch.common.collect.ImmutableOpenMap) ArrayList(java.util.ArrayList) List(java.util.List) MappingMetadata(org.opensearch.cluster.metadata.MappingMetadata) IndexScopedSettings(org.opensearch.common.settings.IndexScopedSettings) Settings(org.opensearch.common.settings.Settings)

Example 2 with IndexScopedSettings

use of org.opensearch.common.settings.IndexScopedSettings in project OpenSearch by opensearch-project.

the class ActionModule method initRestHandlers.

public void initRestHandlers(Supplier<DiscoveryNodes> nodesInCluster) {
    List<AbstractCatAction> catActions = new ArrayList<>();
    Consumer<RestHandler> registerHandler = handler -> {
        if (handler instanceof AbstractCatAction) {
            catActions.add((AbstractCatAction) handler);
        }
        restController.registerHandler(handler);
    };
    registerHandler.accept(new RestAddVotingConfigExclusionAction());
    registerHandler.accept(new RestClearVotingConfigExclusionsAction());
    registerHandler.accept(new RestMainAction());
    registerHandler.accept(new RestNodesInfoAction(settingsFilter));
    registerHandler.accept(new RestRemoteClusterInfoAction());
    registerHandler.accept(new RestNodesStatsAction());
    registerHandler.accept(new RestNodesUsageAction());
    registerHandler.accept(new RestNodesHotThreadsAction());
    registerHandler.accept(new RestClusterAllocationExplainAction());
    registerHandler.accept(new RestClusterStatsAction());
    registerHandler.accept(new RestClusterStateAction(settingsFilter));
    registerHandler.accept(new RestClusterHealthAction());
    registerHandler.accept(new RestClusterUpdateSettingsAction());
    registerHandler.accept(new RestClusterGetSettingsAction(settings, clusterSettings, settingsFilter));
    registerHandler.accept(new RestClusterRerouteAction(settingsFilter));
    registerHandler.accept(new RestClusterSearchShardsAction());
    registerHandler.accept(new RestPendingClusterTasksAction());
    registerHandler.accept(new RestPutRepositoryAction());
    registerHandler.accept(new RestGetRepositoriesAction(settingsFilter));
    registerHandler.accept(new RestDeleteRepositoryAction());
    registerHandler.accept(new RestVerifyRepositoryAction());
    registerHandler.accept(new RestCleanupRepositoryAction());
    registerHandler.accept(new RestGetSnapshotsAction());
    registerHandler.accept(new RestCreateSnapshotAction());
    registerHandler.accept(new RestCloneSnapshotAction());
    registerHandler.accept(new RestRestoreSnapshotAction());
    registerHandler.accept(new RestDeleteSnapshotAction());
    registerHandler.accept(new RestSnapshotsStatusAction());
    registerHandler.accept(new RestGetIndicesAction());
    registerHandler.accept(new RestIndicesStatsAction());
    registerHandler.accept(new RestIndicesSegmentsAction());
    registerHandler.accept(new RestIndicesShardStoresAction());
    registerHandler.accept(new RestGetAliasesAction());
    registerHandler.accept(new RestIndexDeleteAliasesAction());
    registerHandler.accept(new RestIndexPutAliasAction());
    registerHandler.accept(new RestIndicesAliasesAction());
    registerHandler.accept(new RestCreateIndexAction());
    registerHandler.accept(new RestResizeHandler.RestShrinkIndexAction());
    registerHandler.accept(new RestResizeHandler.RestSplitIndexAction());
    registerHandler.accept(new RestResizeHandler.RestCloneIndexAction());
    registerHandler.accept(new RestRolloverIndexAction());
    registerHandler.accept(new RestDeleteIndexAction());
    registerHandler.accept(new RestCloseIndexAction());
    registerHandler.accept(new RestOpenIndexAction());
    registerHandler.accept(new RestAddIndexBlockAction());
    registerHandler.accept(new RestUpdateSettingsAction());
    registerHandler.accept(new RestGetSettingsAction());
    registerHandler.accept(new RestAnalyzeAction());
    registerHandler.accept(new RestGetIndexTemplateAction());
    registerHandler.accept(new RestPutIndexTemplateAction());
    registerHandler.accept(new RestDeleteIndexTemplateAction());
    registerHandler.accept(new RestPutComponentTemplateAction());
    registerHandler.accept(new RestGetComponentTemplateAction());
    registerHandler.accept(new RestDeleteComponentTemplateAction());
    registerHandler.accept(new RestPutComposableIndexTemplateAction());
    registerHandler.accept(new RestGetComposableIndexTemplateAction());
    registerHandler.accept(new RestDeleteComposableIndexTemplateAction());
    registerHandler.accept(new RestSimulateIndexTemplateAction());
    registerHandler.accept(new RestSimulateTemplateAction());
    registerHandler.accept(new RestPutMappingAction());
    registerHandler.accept(new RestGetMappingAction(threadPool));
    registerHandler.accept(new RestGetFieldMappingAction());
    registerHandler.accept(new RestRefreshAction());
    registerHandler.accept(new RestFlushAction());
    registerHandler.accept(new RestSyncedFlushAction());
    registerHandler.accept(new RestForceMergeAction());
    registerHandler.accept(new RestUpgradeAction());
    registerHandler.accept(new RestUpgradeStatusAction());
    registerHandler.accept(new RestClearIndicesCacheAction());
    registerHandler.accept(new RestIndexAction());
    registerHandler.accept(new CreateHandler());
    registerHandler.accept(new AutoIdHandler(nodesInCluster));
    registerHandler.accept(new RestGetAction());
    registerHandler.accept(new RestGetSourceAction());
    registerHandler.accept(new RestMultiGetAction(settings));
    registerHandler.accept(new RestDeleteAction());
    registerHandler.accept(new RestCountAction());
    registerHandler.accept(new RestTermVectorsAction());
    registerHandler.accept(new RestMultiTermVectorsAction());
    registerHandler.accept(new RestBulkAction(settings));
    registerHandler.accept(new RestUpdateAction());
    registerHandler.accept(new RestSearchAction());
    registerHandler.accept(new RestSearchScrollAction());
    registerHandler.accept(new RestClearScrollAction());
    registerHandler.accept(new RestMultiSearchAction(settings));
    registerHandler.accept(new RestValidateQueryAction());
    registerHandler.accept(new RestExplainAction());
    registerHandler.accept(new RestRecoveryAction());
    registerHandler.accept(new RestReloadSecureSettingsAction());
    // Scripts API
    registerHandler.accept(new RestGetStoredScriptAction());
    registerHandler.accept(new RestPutStoredScriptAction());
    registerHandler.accept(new RestDeleteStoredScriptAction());
    registerHandler.accept(new RestGetScriptContextAction());
    registerHandler.accept(new RestGetScriptLanguageAction());
    registerHandler.accept(new RestFieldCapabilitiesAction());
    // Tasks API
    registerHandler.accept(new RestListTasksAction(nodesInCluster));
    registerHandler.accept(new RestGetTaskAction());
    registerHandler.accept(new RestCancelTasksAction(nodesInCluster));
    // Ingest API
    registerHandler.accept(new RestPutPipelineAction());
    registerHandler.accept(new RestGetPipelineAction());
    registerHandler.accept(new RestDeletePipelineAction());
    registerHandler.accept(new RestSimulatePipelineAction());
    // Dangling indices API
    registerHandler.accept(new RestListDanglingIndicesAction());
    registerHandler.accept(new RestImportDanglingIndexAction());
    registerHandler.accept(new RestDeleteDanglingIndexAction());
    // Data Stream API
    registerHandler.accept(new RestCreateDataStreamAction());
    registerHandler.accept(new RestDeleteDataStreamAction());
    registerHandler.accept(new RestGetDataStreamsAction());
    registerHandler.accept(new RestResolveIndexAction());
    registerHandler.accept(new RestDataStreamsStatsAction());
    // CAT API
    registerHandler.accept(new RestAllocationAction());
    registerHandler.accept(new RestShardsAction());
    registerHandler.accept(new RestMasterAction());
    registerHandler.accept(new RestNodesAction());
    registerHandler.accept(new RestTasksAction(nodesInCluster));
    registerHandler.accept(new RestIndicesAction());
    registerHandler.accept(new RestSegmentsAction());
    // Fully qualified to prevent interference with rest.action.count.RestCountAction
    registerHandler.accept(new org.opensearch.rest.action.cat.RestCountAction());
    // Fully qualified to prevent interference with rest.action.indices.RestRecoveryAction
    registerHandler.accept(new RestCatRecoveryAction());
    registerHandler.accept(new RestHealthAction());
    registerHandler.accept(new org.opensearch.rest.action.cat.RestPendingClusterTasksAction());
    registerHandler.accept(new RestAliasAction());
    registerHandler.accept(new RestThreadPoolAction());
    registerHandler.accept(new RestPluginsAction());
    registerHandler.accept(new RestFielddataAction());
    registerHandler.accept(new RestNodeAttrsAction());
    registerHandler.accept(new RestRepositoriesAction());
    registerHandler.accept(new RestSnapshotAction());
    registerHandler.accept(new RestTemplatesAction());
    for (ActionPlugin plugin : actionPlugins) {
        for (RestHandler handler : plugin.getRestHandlers(settings, restController, clusterSettings, indexScopedSettings, settingsFilter, indexNameExpressionResolver, nodesInCluster)) {
            registerHandler.accept(handler);
        }
    }
    registerHandler.accept(new RestCatAction(catActions));
}
Also used : RestCloseIndexAction(org.opensearch.rest.action.admin.indices.RestCloseIndexAction) SimulatePipelineAction(org.opensearch.action.ingest.SimulatePipelineAction) RestGetPipelineAction(org.opensearch.rest.action.ingest.RestGetPipelineAction) TransportPutStoredScriptAction(org.opensearch.action.admin.cluster.storedscripts.TransportPutStoredScriptAction) TransportPutMappingAction(org.opensearch.action.admin.indices.mapping.put.TransportPutMappingAction) BulkAction(org.opensearch.action.bulk.BulkAction) RestDeletePipelineAction(org.opensearch.rest.action.ingest.RestDeletePipelineAction) RestIndicesShardStoresAction(org.opensearch.rest.action.admin.indices.RestIndicesShardStoresAction) TransportGetStoredScriptAction(org.opensearch.action.admin.cluster.storedscripts.TransportGetStoredScriptAction) ClusterStatsAction(org.opensearch.action.admin.cluster.stats.ClusterStatsAction) TransportFieldCapabilitiesIndexAction(org.opensearch.action.fieldcaps.TransportFieldCapabilitiesIndexAction) TransportMultiSearchAction(org.opensearch.action.search.TransportMultiSearchAction) IndicesAliasesAction(org.opensearch.action.admin.indices.alias.IndicesAliasesAction) MultiGetAction(org.opensearch.action.get.MultiGetAction) ClearVotingConfigExclusionsAction(org.opensearch.action.admin.cluster.configuration.ClearVotingConfigExclusionsAction) TransportListDanglingIndicesAction(org.opensearch.action.admin.indices.dangling.list.TransportListDanglingIndicesAction) GetMappingsAction(org.opensearch.action.admin.indices.mapping.get.GetMappingsAction) RestThreadPoolAction(org.opensearch.rest.action.cat.RestThreadPoolAction) RestFieldCapabilitiesAction(org.opensearch.rest.action.RestFieldCapabilitiesAction) GetIndexAction(org.opensearch.action.admin.indices.get.GetIndexAction) TransportClusterRerouteAction(org.opensearch.action.admin.cluster.reroute.TransportClusterRerouteAction) AliasesExistAction(org.opensearch.action.admin.indices.alias.exists.AliasesExistAction) RestDeleteIndexTemplateAction(org.opensearch.rest.action.admin.indices.RestDeleteIndexTemplateAction) IndexAction(org.opensearch.action.index.IndexAction) RestCreateDataStreamAction(org.opensearch.rest.action.admin.indices.RestCreateDataStreamAction) RestPendingClusterTasksAction(org.opensearch.rest.action.admin.cluster.RestPendingClusterTasksAction) RestDeleteIndexAction(org.opensearch.rest.action.admin.indices.RestDeleteIndexAction) RestHeaderDefinition(org.opensearch.rest.RestHeaderDefinition) TransportSearchScrollAction(org.opensearch.action.search.TransportSearchScrollAction) RestAddVotingConfigExclusionAction(org.opensearch.rest.action.admin.cluster.RestAddVotingConfigExclusionAction) TransportUpgradeSettingsAction(org.opensearch.action.admin.indices.upgrade.post.TransportUpgradeSettingsAction) TransportMultiGetAction(org.opensearch.action.get.TransportMultiGetAction) TransportRolloverAction(org.opensearch.action.admin.indices.rollover.TransportRolloverAction) TransportLivenessAction(org.opensearch.action.admin.cluster.node.liveness.TransportLivenessAction) MultiTermVectorsAction(org.opensearch.action.termvectors.MultiTermVectorsAction) TransportGetIndexTemplatesAction(org.opensearch.action.admin.indices.template.get.TransportGetIndexTemplatesAction) Supplier(java.util.function.Supplier) TransportAddIndexBlockAction(org.opensearch.action.admin.indices.readonly.TransportAddIndexBlockAction) RestDeleteComponentTemplateAction(org.opensearch.rest.action.admin.indices.RestDeleteComponentTemplateAction) CloneSnapshotAction(org.opensearch.action.admin.cluster.snapshots.clone.CloneSnapshotAction) RestIndexAction(org.opensearch.rest.action.document.RestIndexAction) PutPipelineAction(org.opensearch.action.ingest.PutPipelineAction) TransportNodesHotThreadsAction(org.opensearch.action.admin.cluster.node.hotthreads.TransportNodesHotThreadsAction) SimulateIndexTemplateAction(org.opensearch.action.admin.indices.template.post.SimulateIndexTemplateAction) TransportSnapshotsStatusAction(org.opensearch.action.admin.cluster.snapshots.status.TransportSnapshotsStatusAction) RestClusterUpdateSettingsAction(org.opensearch.rest.action.admin.cluster.RestClusterUpdateSettingsAction) RestRestoreSnapshotAction(org.opensearch.rest.action.admin.cluster.RestRestoreSnapshotAction) TransportAnalyzeAction(org.opensearch.action.admin.indices.analyze.TransportAnalyzeAction) RestNodeAttrsAction(org.opensearch.rest.action.cat.RestNodeAttrsAction) ClusterAllocationExplainAction(org.opensearch.action.admin.cluster.allocation.ClusterAllocationExplainAction) TransportSimulateIndexTemplateAction(org.opensearch.action.admin.indices.template.post.TransportSimulateIndexTemplateAction) RestGetIndicesAction(org.opensearch.rest.action.admin.indices.RestGetIndicesAction) DestructiveOperations(org.opensearch.action.support.DestructiveOperations) RestSearchScrollAction(org.opensearch.rest.action.search.RestSearchScrollAction) RestReloadSecureSettingsAction(org.opensearch.rest.action.admin.cluster.RestReloadSecureSettingsAction) RestPutComposableIndexTemplateAction(org.opensearch.rest.action.admin.indices.RestPutComposableIndexTemplateAction) RestGetComponentTemplateAction(org.opensearch.rest.action.admin.indices.RestGetComponentTemplateAction) RefreshAction(org.opensearch.action.admin.indices.refresh.RefreshAction) TransportDeleteRepositoryAction(org.opensearch.action.admin.cluster.repositories.delete.TransportDeleteRepositoryAction) ClusterSearchShardsAction(org.opensearch.action.admin.cluster.shards.ClusterSearchShardsAction) RestClusterRerouteAction(org.opensearch.rest.action.admin.cluster.RestClusterRerouteAction) TransportAutoPutMappingAction(org.opensearch.action.admin.indices.mapping.put.TransportAutoPutMappingAction) ClusterStateAction(org.opensearch.action.admin.cluster.state.ClusterStateAction) CreateSnapshotAction(org.opensearch.action.admin.cluster.snapshots.create.CreateSnapshotAction) Collectors(java.util.stream.Collectors) GetFieldMappingsAction(org.opensearch.action.admin.indices.mapping.get.GetFieldMappingsAction) TransportPutIndexTemplateAction(org.opensearch.action.admin.indices.template.put.TransportPutIndexTemplateAction) TransportSimulateTemplateAction(org.opensearch.action.admin.indices.template.post.TransportSimulateTemplateAction) RestRefreshAction(org.opensearch.rest.action.admin.indices.RestRefreshAction) RestGetSourceAction(org.opensearch.rest.action.document.RestGetSourceAction) RestCountAction(org.opensearch.rest.action.search.RestCountAction) CompletionPersistentTaskAction(org.opensearch.persistent.CompletionPersistentTaskAction) RestHealthAction(org.opensearch.rest.action.cat.RestHealthAction) RestHandler(org.opensearch.rest.RestHandler) GetSettingsAction(org.opensearch.action.admin.indices.settings.get.GetSettingsAction) DeleteIndexAction(org.opensearch.action.admin.indices.delete.DeleteIndexAction) TransportUpgradeAction(org.opensearch.action.admin.indices.upgrade.post.TransportUpgradeAction) RestClusterStatsAction(org.opensearch.rest.action.admin.cluster.RestClusterStatsAction) TransportShardBulkAction(org.opensearch.action.bulk.TransportShardBulkAction) ClearScrollAction(org.opensearch.action.search.ClearScrollAction) RestMultiGetAction(org.opensearch.rest.action.document.RestMultiGetAction) RestBulkAction(org.opensearch.rest.action.document.RestBulkAction) SettingsFilter(org.opensearch.common.settings.SettingsFilter) RestResizeHandler(org.opensearch.rest.action.admin.indices.RestResizeHandler) RestAnalyzeAction(org.opensearch.rest.action.admin.indices.RestAnalyzeAction) AutoIdHandler(org.opensearch.rest.action.document.RestIndexAction.AutoIdHandler) ClearIndicesCacheAction(org.opensearch.action.admin.indices.cache.clear.ClearIndicesCacheAction) TransportFieldCapabilitiesAction(org.opensearch.action.fieldcaps.TransportFieldCapabilitiesAction) RestClusterStateAction(org.opensearch.rest.action.admin.cluster.RestClusterStateAction) GetScriptLanguageAction(org.opensearch.action.admin.cluster.storedscripts.GetScriptLanguageAction) TransportIndicesExistsAction(org.opensearch.action.admin.indices.exists.indices.TransportIndicesExistsAction) TransportFlushAction(org.opensearch.action.admin.indices.flush.TransportFlushAction) TransportNodesReloadSecureSettingsAction(org.opensearch.action.admin.cluster.node.reload.TransportNodesReloadSecureSettingsAction) GetAction(org.opensearch.action.get.GetAction) Consumer(java.util.function.Consumer) IndicesAliasesRequest(org.opensearch.action.admin.indices.alias.IndicesAliasesRequest) TransportOpenIndexAction(org.opensearch.action.admin.indices.open.TransportOpenIndexAction) TransportClearIndicesCacheAction(org.opensearch.action.admin.indices.cache.clear.TransportClearIndicesCacheAction) UpdateAction(org.opensearch.action.update.UpdateAction) GetComposableIndexTemplateAction(org.opensearch.action.admin.indices.template.get.GetComposableIndexTemplateAction) LogManager(org.apache.logging.log4j.LogManager) RemovePersistentTaskAction(org.opensearch.persistent.RemovePersistentTaskAction) RestDeleteAction(org.opensearch.rest.action.document.RestDeleteAction) ActionPlugin(org.opensearch.plugins.ActionPlugin) TransportGetScriptLanguageAction(org.opensearch.action.admin.cluster.storedscripts.TransportGetScriptLanguageAction) TransportClusterSearchShardsAction(org.opensearch.action.admin.cluster.shards.TransportClusterSearchShardsAction) ClusterRerouteAction(org.opensearch.action.admin.cluster.reroute.ClusterRerouteAction) DeleteComponentTemplateAction(org.opensearch.action.admin.indices.template.delete.DeleteComponentTemplateAction) RestFlushAction(org.opensearch.rest.action.admin.indices.RestFlushAction) CleanupRepositoryAction(org.opensearch.action.admin.cluster.repositories.cleanup.CleanupRepositoryAction) RestDeleteRepositoryAction(org.opensearch.rest.action.admin.cluster.RestDeleteRepositoryAction) TransportClusterHealthAction(org.opensearch.action.admin.cluster.health.TransportClusterHealthAction) RestOpenIndexAction(org.opensearch.rest.action.admin.indices.RestOpenIndexAction) TransportGetAliasesAction(org.opensearch.action.admin.indices.alias.get.TransportGetAliasesAction) TransportNodesInfoAction(org.opensearch.action.admin.cluster.node.info.TransportNodesInfoAction) TransportTermVectorsAction(org.opensearch.action.termvectors.TransportTermVectorsAction) MapBinder(org.opensearch.common.inject.multibindings.MapBinder) StartPersistentTaskAction(org.opensearch.persistent.StartPersistentTaskAction) RestUpgradeStatusAction(org.opensearch.rest.action.admin.indices.RestUpgradeStatusAction) TransportPendingClusterTasksAction(org.opensearch.action.admin.cluster.tasks.TransportPendingClusterTasksAction) TransportDeleteStoredScriptAction(org.opensearch.action.admin.cluster.storedscripts.TransportDeleteStoredScriptAction) TransportShardMultiTermsVectorAction(org.opensearch.action.termvectors.TransportShardMultiTermsVectorAction) TransportDeleteComponentTemplateAction(org.opensearch.action.admin.indices.template.delete.TransportDeleteComponentTemplateAction) ActionFilters(org.opensearch.action.support.ActionFilters) TypesExistsAction(org.opensearch.action.admin.indices.exists.types.TypesExistsAction) RestMultiSearchAction(org.opensearch.rest.action.search.RestMultiSearchAction) RestDeleteDanglingIndexAction(org.opensearch.rest.action.admin.cluster.dangling.RestDeleteDanglingIndexAction) RestAllocationAction(org.opensearch.rest.action.cat.RestAllocationAction) DeleteIndexTemplateAction(org.opensearch.action.admin.indices.template.delete.DeleteIndexTemplateAction) PutComposableIndexTemplateAction(org.opensearch.action.admin.indices.template.put.PutComposableIndexTemplateAction) TransportDeleteAction(org.opensearch.action.delete.TransportDeleteAction) UpgradeAction(org.opensearch.action.admin.indices.upgrade.post.UpgradeAction) TransportDeleteSnapshotAction(org.opensearch.action.admin.cluster.snapshots.delete.TransportDeleteSnapshotAction) RestPutRepositoryAction(org.opensearch.rest.action.admin.cluster.RestPutRepositoryAction) ArrayList(java.util.ArrayList) TransportClusterStateAction(org.opensearch.action.admin.cluster.state.TransportClusterStateAction) TransportGetSnapshotsAction(org.opensearch.action.admin.cluster.snapshots.get.TransportGetSnapshotsAction) FindDanglingIndexAction(org.opensearch.action.admin.indices.dangling.find.FindDanglingIndexAction) RestClearVotingConfigExclusionsAction(org.opensearch.rest.action.admin.cluster.RestClearVotingConfigExclusionsAction) GetRepositoriesAction(org.opensearch.action.admin.cluster.repositories.get.GetRepositoriesAction) RestTemplatesAction(org.opensearch.rest.action.cat.RestTemplatesAction) ListTasksAction(org.opensearch.action.admin.cluster.node.tasks.list.ListTasksAction) TransportIndicesShardStoresAction(org.opensearch.action.admin.indices.shards.TransportIndicesShardStoresAction) RestController(org.opensearch.rest.RestController) RestGetStoredScriptAction(org.opensearch.rest.action.admin.cluster.RestGetStoredScriptAction) NodesStatsAction(org.opensearch.action.admin.cluster.node.stats.NodesStatsAction) RestPutMappingAction(org.opensearch.rest.action.admin.indices.RestPutMappingAction) RestGetAliasesAction(org.opensearch.rest.action.admin.indices.RestGetAliasesAction) SystemIndices(org.opensearch.indices.SystemIndices) RestClusterSearchShardsAction(org.opensearch.rest.action.admin.cluster.RestClusterSearchShardsAction) RestGetScriptContextAction(org.opensearch.rest.action.admin.cluster.RestGetScriptContextAction) RestSimulateTemplateAction(org.opensearch.rest.action.admin.indices.RestSimulateTemplateAction) NodesUsageAction(org.opensearch.action.admin.cluster.node.usage.NodesUsageAction) NodesReloadSecureSettingsAction(org.opensearch.action.admin.cluster.node.reload.NodesReloadSecureSettingsAction) RestIndicesAliasesAction(org.opensearch.rest.action.admin.indices.RestIndicesAliasesAction) TransportRefreshAction(org.opensearch.action.admin.indices.refresh.TransportRefreshAction) RestMainAction(org.opensearch.rest.action.RestMainAction) TransportUpdateSettingsAction(org.opensearch.action.admin.indices.settings.put.TransportUpdateSettingsAction) RestGetTaskAction(org.opensearch.rest.action.admin.cluster.RestGetTaskAction) DeletePipelineAction(org.opensearch.action.ingest.DeletePipelineAction) TransportUpdateAction(org.opensearch.action.update.TransportUpdateAction) TransportSearchAction(org.opensearch.action.search.TransportSearchAction) DeleteComposableIndexTemplateAction(org.opensearch.action.admin.indices.template.delete.DeleteComposableIndexTemplateAction) TransportPutComposableIndexTemplateAction(org.opensearch.action.admin.indices.template.put.TransportPutComposableIndexTemplateAction) IndicesSegmentsAction(org.opensearch.action.admin.indices.segments.IndicesSegmentsAction) AutoCreateAction(org.opensearch.action.admin.indices.create.AutoCreateAction) RestIndexPutAliasAction(org.opensearch.rest.action.admin.indices.RestIndexPutAliasAction) DeleteStoredScriptAction(org.opensearch.action.admin.cluster.storedscripts.DeleteStoredScriptAction) RestGetMappingAction(org.opensearch.rest.action.admin.indices.RestGetMappingAction) RestDeleteDataStreamAction(org.opensearch.rest.action.admin.indices.RestDeleteDataStreamAction) RestCloneSnapshotAction(org.opensearch.rest.action.admin.cluster.RestCloneSnapshotAction) RestGetAction(org.opensearch.rest.action.document.RestGetAction) ClusterHealthAction(org.opensearch.action.admin.cluster.health.ClusterHealthAction) CreateIndexAction(org.opensearch.action.admin.indices.create.CreateIndexAction) TransportDeleteComposableIndexTemplateAction(org.opensearch.action.admin.indices.template.delete.TransportDeleteComposableIndexTemplateAction) List(java.util.List) RestDataStreamsStatsAction(org.opensearch.rest.action.admin.indices.RestDataStreamsStatsAction) TransportAliasesExistAction(org.opensearch.action.admin.indices.alias.exists.TransportAliasesExistAction) RestNodesStatsAction(org.opensearch.rest.action.admin.cluster.RestNodesStatsAction) RemoteInfoAction(org.opensearch.action.admin.cluster.remote.RemoteInfoAction) RestTasksAction(org.opensearch.rest.action.cat.RestTasksAction) RestGetRepositoriesAction(org.opensearch.rest.action.admin.cluster.RestGetRepositoriesAction) TransportVerifyRepositoryAction(org.opensearch.action.admin.cluster.repositories.verify.TransportVerifyRepositoryAction) RestRolloverIndexAction(org.opensearch.rest.action.admin.indices.RestRolloverIndexAction) RestGetScriptLanguageAction(org.opensearch.rest.action.admin.cluster.RestGetScriptLanguageAction) ValidateQueryAction(org.opensearch.action.admin.indices.validate.query.ValidateQueryAction) TransportClusterStatsAction(org.opensearch.action.admin.cluster.stats.TransportClusterStatsAction) AddVotingConfigExclusionsAction(org.opensearch.action.admin.cluster.configuration.AddVotingConfigExclusionsAction) RestDeleteSnapshotAction(org.opensearch.rest.action.admin.cluster.RestDeleteSnapshotAction) ClusterSettings(org.opensearch.common.settings.ClusterSettings) RestClearIndicesCacheAction(org.opensearch.rest.action.admin.indices.RestClearIndicesCacheAction) ListDanglingIndicesAction(org.opensearch.action.admin.indices.dangling.list.ListDanglingIndicesAction) MainAction(org.opensearch.action.main.MainAction) DeleteRepositoryAction(org.opensearch.action.admin.cluster.repositories.delete.DeleteRepositoryAction) RestSimulateIndexTemplateAction(org.opensearch.rest.action.admin.indices.RestSimulateIndexTemplateAction) ResolveIndexAction(org.opensearch.action.admin.indices.resolve.ResolveIndexAction) TransportMainAction(org.opensearch.action.main.TransportMainAction) RestRemoteClusterInfoAction(org.opensearch.rest.action.admin.cluster.RestRemoteClusterInfoAction) GetSnapshotsAction(org.opensearch.action.admin.cluster.snapshots.get.GetSnapshotsAction) TransportPutRepositoryAction(org.opensearch.action.admin.cluster.repositories.put.TransportPutRepositoryAction) RestMultiTermVectorsAction(org.opensearch.rest.action.document.RestMultiTermVectorsAction) NodesInfoAction(org.opensearch.action.admin.cluster.node.info.NodesInfoAction) RestCatRecoveryAction(org.opensearch.rest.action.cat.RestCatRecoveryAction) Map(java.util.Map) PutMappingAction(org.opensearch.action.admin.indices.mapping.put.PutMappingAction) RestExplainAction(org.opensearch.rest.action.search.RestExplainAction) TransportExplainAction(org.opensearch.action.explain.TransportExplainAction) NodeClient(org.opensearch.client.node.NodeClient) RestClusterHealthAction(org.opensearch.rest.action.admin.cluster.RestClusterHealthAction) RestMasterAction(org.opensearch.rest.action.cat.RestMasterAction) RestShardsAction(org.opensearch.rest.action.cat.RestShardsAction) TransportListTasksAction(org.opensearch.action.admin.cluster.node.tasks.list.TransportListTasksAction) TransportClusterUpdateSettingsAction(org.opensearch.action.admin.cluster.settings.TransportClusterUpdateSettingsAction) Logger(org.apache.logging.log4j.Logger) Stream(java.util.stream.Stream) RestSegmentsAction(org.opensearch.rest.action.cat.RestSegmentsAction) VerifyRepositoryAction(org.opensearch.action.admin.cluster.repositories.verify.VerifyRepositoryAction) IndexNameExpressionResolver(org.opensearch.cluster.metadata.IndexNameExpressionResolver) PendingClusterTasksAction(org.opensearch.action.admin.cluster.tasks.PendingClusterTasksAction) SearchAction(org.opensearch.action.search.SearchAction) RestNodesAction(org.opensearch.rest.action.cat.RestNodesAction) UpdateSettingsAction(org.opensearch.action.admin.indices.settings.put.UpdateSettingsAction) RestSnapshotAction(org.opensearch.rest.action.cat.RestSnapshotAction) TransportGetComposableIndexTemplateAction(org.opensearch.action.admin.indices.template.get.TransportGetComposableIndexTemplateAction) ThreadPool(org.opensearch.threadpool.ThreadPool) TransportIndexAction(org.opensearch.action.index.TransportIndexAction) PutPipelineTransportAction(org.opensearch.action.ingest.PutPipelineTransportAction) RestoreSnapshotAction(org.opensearch.action.admin.cluster.snapshots.restore.RestoreSnapshotAction) GetPipelineTransportAction(org.opensearch.action.ingest.GetPipelineTransportAction) TransportGetFieldMappingsIndexAction(org.opensearch.action.admin.indices.mapping.get.TransportGetFieldMappingsIndexAction) RestRecoveryAction(org.opensearch.rest.action.admin.indices.RestRecoveryAction) TransportRemoteInfoAction(org.opensearch.action.admin.cluster.remote.TransportRemoteInfoAction) RestDeleteStoredScriptAction(org.opensearch.rest.action.admin.cluster.RestDeleteStoredScriptAction) TermVectorsAction(org.opensearch.action.termvectors.TermVectorsAction) DeleteDanglingIndexAction(org.opensearch.action.admin.indices.dangling.delete.DeleteDanglingIndexAction) GetAliasesAction(org.opensearch.action.admin.indices.alias.get.GetAliasesAction) FlushAction(org.opensearch.action.admin.indices.flush.FlushAction) TransportGetSettingsAction(org.opensearch.action.admin.indices.settings.get.TransportGetSettingsAction) TransportIndicesSegmentsAction(org.opensearch.action.admin.indices.segments.TransportIndicesSegmentsAction) UpgradeSettingsAction(org.opensearch.action.admin.indices.upgrade.post.UpgradeSettingsAction) NamedRegistry(org.opensearch.common.NamedRegistry) IndicesExistsAction(org.opensearch.action.admin.indices.exists.indices.IndicesExistsAction) TransportResizeAction(org.opensearch.action.admin.indices.shrink.TransportResizeAction) DeleteSnapshotAction(org.opensearch.action.admin.cluster.snapshots.delete.DeleteSnapshotAction) ImportDanglingIndexAction(org.opensearch.action.admin.indices.dangling.import_index.ImportDanglingIndexAction) RestGetSettingsAction(org.opensearch.rest.action.admin.indices.RestGetSettingsAction) RestImportDanglingIndexAction(org.opensearch.rest.action.admin.cluster.dangling.RestImportDanglingIndexAction) IndicesShardStoresAction(org.opensearch.action.admin.indices.shards.IndicesShardStoresAction) RestGetFieldMappingAction(org.opensearch.rest.action.admin.indices.RestGetFieldMappingAction) RestValidateQueryAction(org.opensearch.rest.action.admin.indices.RestValidateQueryAction) PutStoredScriptAction(org.opensearch.action.admin.cluster.storedscripts.PutStoredScriptAction) TransportDeleteDanglingIndexAction(org.opensearch.action.admin.indices.dangling.delete.TransportDeleteDanglingIndexAction) PutMappingRequest(org.opensearch.action.admin.indices.mapping.put.PutMappingRequest) CancelTasksAction(org.opensearch.action.admin.cluster.node.tasks.cancel.CancelTasksAction) AutoPutMappingAction(org.opensearch.action.admin.indices.mapping.put.AutoPutMappingAction) TransportCancelTasksAction(org.opensearch.action.admin.cluster.node.tasks.cancel.TransportCancelTasksAction) Task(org.opensearch.tasks.Task) RestGetSnapshotsAction(org.opensearch.rest.action.admin.cluster.RestGetSnapshotsAction) TypeLiteral(org.opensearch.common.inject.TypeLiteral) RestPluginsAction(org.opensearch.rest.action.cat.RestPluginsAction) TransportValidateQueryAction(org.opensearch.action.admin.indices.validate.query.TransportValidateQueryAction) RestResolveIndexAction(org.opensearch.rest.action.admin.indices.RestResolveIndexAction) CreateHandler(org.opensearch.rest.action.document.RestIndexAction.CreateHandler) UpgradeStatusAction(org.opensearch.action.admin.indices.upgrade.get.UpgradeStatusAction) UsageService(org.opensearch.usage.UsageService) TransportClearScrollAction(org.opensearch.action.search.TransportClearScrollAction) TransportCloseIndexAction(org.opensearch.action.admin.indices.close.TransportCloseIndexAction) TransportUpgradeStatusAction(org.opensearch.action.admin.indices.upgrade.get.TransportUpgradeStatusAction) RestCancelTasksAction(org.opensearch.rest.action.admin.cluster.RestCancelTasksAction) TransportGetRepositoriesAction(org.opensearch.action.admin.cluster.repositories.get.TransportGetRepositoriesAction) AnalyzeAction(org.opensearch.action.admin.indices.analyze.AnalyzeAction) TransportCreateIndexAction(org.opensearch.action.admin.indices.create.TransportCreateIndexAction) CloseIndexAction(org.opensearch.action.admin.indices.close.CloseIndexAction) RecoveryAction(org.opensearch.action.admin.indices.recovery.RecoveryAction) PutRepositoryAction(org.opensearch.action.admin.cluster.repositories.put.PutRepositoryAction) TransportGetIndexAction(org.opensearch.action.admin.indices.get.TransportGetIndexAction) CreateDataStreamAction(org.opensearch.action.admin.indices.datastream.CreateDataStreamAction) RestVerifyRepositoryAction(org.opensearch.rest.action.admin.cluster.RestVerifyRepositoryAction) GetDataStreamAction(org.opensearch.action.admin.indices.datastream.GetDataStreamAction) RestIndicesSegmentsAction(org.opensearch.rest.action.admin.indices.RestIndicesSegmentsAction) TransportGetTaskAction(org.opensearch.action.admin.cluster.node.tasks.get.TransportGetTaskAction) DataStreamsStatsAction(org.opensearch.action.admin.indices.datastream.DataStreamsStatsAction) TransportPutComponentTemplateAction(org.opensearch.action.admin.indices.template.put.TransportPutComponentTemplateAction) FieldCapabilitiesAction(org.opensearch.action.fieldcaps.FieldCapabilitiesAction) RestNodesInfoAction(org.opensearch.rest.action.admin.cluster.RestNodesInfoAction) TransportGetFieldMappingsAction(org.opensearch.action.admin.indices.mapping.get.TransportGetFieldMappingsAction) RestUpgradeAction(org.opensearch.rest.action.admin.indices.RestUpgradeAction) TransportGetMappingsAction(org.opensearch.action.admin.indices.mapping.get.TransportGetMappingsAction) IndexScopedSettings(org.opensearch.common.settings.IndexScopedSettings) RestTermVectorsAction(org.opensearch.rest.action.document.RestTermVectorsAction) UnaryOperator(java.util.function.UnaryOperator) RestCreateSnapshotAction(org.opensearch.rest.action.admin.cluster.RestCreateSnapshotAction) RestCreateIndexAction(org.opensearch.rest.action.admin.indices.RestCreateIndexAction) RestDeleteComposableIndexTemplateAction(org.opensearch.rest.action.admin.indices.RestDeleteComposableIndexTemplateAction) RestIndicesStatsAction(org.opensearch.rest.action.admin.indices.RestIndicesStatsAction) RestPutComponentTemplateAction(org.opensearch.rest.action.admin.indices.RestPutComponentTemplateAction) TransportClearVotingConfigExclusionsAction(org.opensearch.action.admin.cluster.configuration.TransportClearVotingConfigExclusionsAction) TransportCreateSnapshotAction(org.opensearch.action.admin.cluster.snapshots.create.TransportCreateSnapshotAction) TransportAddVotingConfigExclusionsAction(org.opensearch.action.admin.cluster.configuration.TransportAddVotingConfigExclusionsAction) NodesHotThreadsAction(org.opensearch.action.admin.cluster.node.hotthreads.NodesHotThreadsAction) RestForceMergeAction(org.opensearch.rest.action.admin.indices.RestForceMergeAction) RestCleanupRepositoryAction(org.opensearch.rest.action.admin.cluster.RestCleanupRepositoryAction) RestPutPipelineAction(org.opensearch.rest.action.ingest.RestPutPipelineAction) TransportGetScriptContextAction(org.opensearch.action.admin.cluster.storedscripts.TransportGetScriptContextAction) AbstractCatAction(org.opensearch.rest.action.cat.AbstractCatAction) Set(java.util.Set) AddIndexBlockAction(org.opensearch.action.admin.indices.readonly.AddIndexBlockAction) Settings(org.opensearch.common.settings.Settings) RestGetComposableIndexTemplateAction(org.opensearch.rest.action.admin.indices.RestGetComposableIndexTemplateAction) RestSimulatePipelineAction(org.opensearch.rest.action.ingest.RestSimulatePipelineAction) OpenIndexAction(org.opensearch.action.admin.indices.open.OpenIndexAction) RetentionLeaseActions(org.opensearch.index.seqno.RetentionLeaseActions) TransportNodesUsageAction(org.opensearch.action.admin.cluster.node.usage.TransportNodesUsageAction) TransportForceMergeAction(org.opensearch.action.admin.indices.forcemerge.TransportForceMergeAction) RestIndicesAction(org.opensearch.rest.action.cat.RestIndicesAction) RestRepositoriesAction(org.opensearch.rest.action.cat.RestRepositoriesAction) TransportCloneSnapshotAction(org.opensearch.action.admin.cluster.snapshots.clone.TransportCloneSnapshotAction) SearchScrollAction(org.opensearch.action.search.SearchScrollAction) RestCatAction(org.opensearch.rest.action.cat.RestCatAction) RestPutIndexTemplateAction(org.opensearch.rest.action.admin.indices.RestPutIndexTemplateAction) GetComponentTemplateAction(org.opensearch.action.admin.indices.template.get.GetComponentTemplateAction) TransportShardMultiGetAction(org.opensearch.action.get.TransportShardMultiGetAction) PutComponentTemplateAction(org.opensearch.action.admin.indices.template.put.PutComponentTemplateAction) GetPipelineAction(org.opensearch.action.ingest.GetPipelineAction) DeleteDataStreamAction(org.opensearch.action.admin.indices.datastream.DeleteDataStreamAction) RestSearchAction(org.opensearch.rest.action.search.RestSearchAction) AbstractModule(org.opensearch.common.inject.AbstractModule) TransportClusterAllocationExplainAction(org.opensearch.action.admin.cluster.allocation.TransportClusterAllocationExplainAction) RestPutStoredScriptAction(org.opensearch.rest.action.admin.cluster.RestPutStoredScriptAction) TransportFindDanglingIndexAction(org.opensearch.action.admin.indices.dangling.find.TransportFindDanglingIndexAction) UpdatePersistentTaskStatusAction(org.opensearch.persistent.UpdatePersistentTaskStatusAction) DeleteAction(org.opensearch.action.delete.DeleteAction) RestListTasksAction(org.opensearch.rest.action.admin.cluster.RestListTasksAction) TransportTypesExistsAction(org.opensearch.action.admin.indices.exists.types.TransportTypesExistsAction) MultiSearchAction(org.opensearch.action.search.MultiSearchAction) RestSyncedFlushAction(org.opensearch.rest.action.admin.indices.RestSyncedFlushAction) RestNodesUsageAction(org.opensearch.rest.action.admin.cluster.RestNodesUsageAction) TransportRestoreSnapshotAction(org.opensearch.action.admin.cluster.snapshots.restore.TransportRestoreSnapshotAction) RestFielddataAction(org.opensearch.rest.action.cat.RestFielddataAction) RestSnapshotsStatusAction(org.opensearch.rest.action.admin.cluster.RestSnapshotsStatusAction) TransportIndicesStatsAction(org.opensearch.action.admin.indices.stats.TransportIndicesStatsAction) TransportCleanupRepositoryAction(org.opensearch.action.admin.cluster.repositories.cleanup.TransportCleanupRepositoryAction) TransportNodesStatsAction(org.opensearch.action.admin.cluster.node.stats.TransportNodesStatsAction) GetStoredScriptAction(org.opensearch.action.admin.cluster.storedscripts.GetStoredScriptAction) ResizeAction(org.opensearch.action.admin.indices.shrink.ResizeAction) RestNodesHotThreadsAction(org.opensearch.rest.action.admin.cluster.RestNodesHotThreadsAction) RestUpdateAction(org.opensearch.rest.action.document.RestUpdateAction) RestIndexDeleteAliasesAction(org.opensearch.rest.action.admin.indices.RestIndexDeleteAliasesAction) TransportAction(org.opensearch.action.support.TransportAction) RestClusterGetSettingsAction(org.opensearch.rest.action.admin.cluster.RestClusterGetSettingsAction) IndicesStatsAction(org.opensearch.action.admin.indices.stats.IndicesStatsAction) TransportGetComponentTemplateAction(org.opensearch.action.admin.indices.template.get.TransportGetComponentTemplateAction) TransportBulkAction(org.opensearch.action.bulk.TransportBulkAction) TransportGetAction(org.opensearch.action.get.TransportGetAction) DiscoveryNodes(org.opensearch.cluster.node.DiscoveryNodes) SnapshotsStatusAction(org.opensearch.action.admin.cluster.snapshots.status.SnapshotsStatusAction) ForceMergeAction(org.opensearch.action.admin.indices.forcemerge.ForceMergeAction) GetIndexTemplatesAction(org.opensearch.action.admin.indices.template.get.GetIndexTemplatesAction) RestListDanglingIndicesAction(org.opensearch.rest.action.admin.cluster.dangling.RestListDanglingIndicesAction) RestAliasAction(org.opensearch.rest.action.cat.RestAliasAction) RestClusterAllocationExplainAction(org.opensearch.rest.action.admin.cluster.RestClusterAllocationExplainAction) ExplainAction(org.opensearch.action.explain.ExplainAction) AutoCreateIndex(org.opensearch.action.support.AutoCreateIndex) RestGetIndexTemplateAction(org.opensearch.rest.action.admin.indices.RestGetIndexTemplateAction) ActionHandler(org.opensearch.plugins.ActionPlugin.ActionHandler) PutIndexTemplateAction(org.opensearch.action.admin.indices.template.put.PutIndexTemplateAction) TransportMultiTermVectorsAction(org.opensearch.action.termvectors.TransportMultiTermVectorsAction) DeletePipelineTransportAction(org.opensearch.action.ingest.DeletePipelineTransportAction) GetScriptContextAction(org.opensearch.action.admin.cluster.storedscripts.GetScriptContextAction) RestGetDataStreamsAction(org.opensearch.rest.action.admin.indices.RestGetDataStreamsAction) TransportDeleteIndexAction(org.opensearch.action.admin.indices.delete.TransportDeleteIndexAction) ClusterUpdateSettingsAction(org.opensearch.action.admin.cluster.settings.ClusterUpdateSettingsAction) RestUpdateSettingsAction(org.opensearch.rest.action.admin.indices.RestUpdateSettingsAction) GetTaskAction(org.opensearch.action.admin.cluster.node.tasks.get.GetTaskAction) TransportDeleteIndexTemplateAction(org.opensearch.action.admin.indices.template.delete.TransportDeleteIndexTemplateAction) TransportImportDanglingIndexAction(org.opensearch.action.admin.indices.dangling.import_index.TransportImportDanglingIndexAction) RestClearScrollAction(org.opensearch.rest.action.search.RestClearScrollAction) SimulateTemplateAction(org.opensearch.action.admin.indices.template.post.SimulateTemplateAction) CircuitBreakerService(org.opensearch.indices.breaker.CircuitBreakerService) TransportRecoveryAction(org.opensearch.action.admin.indices.recovery.TransportRecoveryAction) RolloverAction(org.opensearch.action.admin.indices.rollover.RolloverAction) RestAddIndexBlockAction(org.opensearch.rest.action.admin.indices.RestAddIndexBlockAction) Collections.unmodifiableMap(java.util.Collections.unmodifiableMap) TransportIndicesAliasesAction(org.opensearch.action.admin.indices.alias.TransportIndicesAliasesAction) Collections(java.util.Collections) SimulatePipelineTransportAction(org.opensearch.action.ingest.SimulatePipelineTransportAction) AbstractCatAction(org.opensearch.rest.action.cat.AbstractCatAction) RestIndicesAliasesAction(org.opensearch.rest.action.admin.indices.RestIndicesAliasesAction) RestGetMappingAction(org.opensearch.rest.action.admin.indices.RestGetMappingAction) ArrayList(java.util.ArrayList) RestExplainAction(org.opensearch.rest.action.search.RestExplainAction) RestReloadSecureSettingsAction(org.opensearch.rest.action.admin.cluster.RestReloadSecureSettingsAction) ActionPlugin(org.opensearch.plugins.ActionPlugin) RestDeletePipelineAction(org.opensearch.rest.action.ingest.RestDeletePipelineAction) RestTasksAction(org.opensearch.rest.action.cat.RestTasksAction) RestGetPipelineAction(org.opensearch.rest.action.ingest.RestGetPipelineAction) RestGetScriptContextAction(org.opensearch.rest.action.admin.cluster.RestGetScriptContextAction) RestGetStoredScriptAction(org.opensearch.rest.action.admin.cluster.RestGetStoredScriptAction) RestUpdateAction(org.opensearch.rest.action.document.RestUpdateAction) RestVerifyRepositoryAction(org.opensearch.rest.action.admin.cluster.RestVerifyRepositoryAction) RestGetComponentTemplateAction(org.opensearch.rest.action.admin.indices.RestGetComponentTemplateAction) RestMultiSearchAction(org.opensearch.rest.action.search.RestMultiSearchAction) RestMasterAction(org.opensearch.rest.action.cat.RestMasterAction) RestClearIndicesCacheAction(org.opensearch.rest.action.admin.indices.RestClearIndicesCacheAction) RestGetComposableIndexTemplateAction(org.opensearch.rest.action.admin.indices.RestGetComposableIndexTemplateAction) RestSimulateIndexTemplateAction(org.opensearch.rest.action.admin.indices.RestSimulateIndexTemplateAction) RestDataStreamsStatsAction(org.opensearch.rest.action.admin.indices.RestDataStreamsStatsAction) RestAllocationAction(org.opensearch.rest.action.cat.RestAllocationAction) RestCatAction(org.opensearch.rest.action.cat.RestCatAction) RestIndexPutAliasAction(org.opensearch.rest.action.admin.indices.RestIndexPutAliasAction) RestPutIndexTemplateAction(org.opensearch.rest.action.admin.indices.RestPutIndexTemplateAction) RestClearScrollAction(org.opensearch.rest.action.search.RestClearScrollAction) RestHandler(org.opensearch.rest.RestHandler) RestRestoreSnapshotAction(org.opensearch.rest.action.admin.cluster.RestRestoreSnapshotAction) RestPutPipelineAction(org.opensearch.rest.action.ingest.RestPutPipelineAction) RestPutMappingAction(org.opensearch.rest.action.admin.indices.RestPutMappingAction) RestRolloverIndexAction(org.opensearch.rest.action.admin.indices.RestRolloverIndexAction) RestSearchScrollAction(org.opensearch.rest.action.search.RestSearchScrollAction) RestImportDanglingIndexAction(org.opensearch.rest.action.admin.cluster.dangling.RestImportDanglingIndexAction) RestDeleteDanglingIndexAction(org.opensearch.rest.action.admin.cluster.dangling.RestDeleteDanglingIndexAction) RestPendingClusterTasksAction(org.opensearch.rest.action.admin.cluster.RestPendingClusterTasksAction) RestDeleteDataStreamAction(org.opensearch.rest.action.admin.indices.RestDeleteDataStreamAction) RestPutRepositoryAction(org.opensearch.rest.action.admin.cluster.RestPutRepositoryAction) RestDeleteIndexTemplateAction(org.opensearch.rest.action.admin.indices.RestDeleteIndexTemplateAction) AutoIdHandler(org.opensearch.rest.action.document.RestIndexAction.AutoIdHandler) RestDeleteRepositoryAction(org.opensearch.rest.action.admin.cluster.RestDeleteRepositoryAction) RestOpenIndexAction(org.opensearch.rest.action.admin.indices.RestOpenIndexAction) RestSimulatePipelineAction(org.opensearch.rest.action.ingest.RestSimulatePipelineAction) RestGetAction(org.opensearch.rest.action.document.RestGetAction) RestIndicesAction(org.opensearch.rest.action.cat.RestIndicesAction) RestResolveIndexAction(org.opensearch.rest.action.admin.indices.RestResolveIndexAction) RestCountAction(org.opensearch.rest.action.search.RestCountAction) RestFieldCapabilitiesAction(org.opensearch.rest.action.RestFieldCapabilitiesAction) RestCancelTasksAction(org.opensearch.rest.action.admin.cluster.RestCancelTasksAction) RestAddIndexBlockAction(org.opensearch.rest.action.admin.indices.RestAddIndexBlockAction) RestAddVotingConfigExclusionAction(org.opensearch.rest.action.admin.cluster.RestAddVotingConfigExclusionAction) RestAnalyzeAction(org.opensearch.rest.action.admin.indices.RestAnalyzeAction) RestSyncedFlushAction(org.opensearch.rest.action.admin.indices.RestSyncedFlushAction) CreateHandler(org.opensearch.rest.action.document.RestIndexAction.CreateHandler) RestCreateSnapshotAction(org.opensearch.rest.action.admin.cluster.RestCreateSnapshotAction) RestSimulateTemplateAction(org.opensearch.rest.action.admin.indices.RestSimulateTemplateAction) RestGetTaskAction(org.opensearch.rest.action.admin.cluster.RestGetTaskAction) RestMainAction(org.opensearch.rest.action.RestMainAction) RestDeleteSnapshotAction(org.opensearch.rest.action.admin.cluster.RestDeleteSnapshotAction) RestClusterHealthAction(org.opensearch.rest.action.admin.cluster.RestClusterHealthAction) RestRefreshAction(org.opensearch.rest.action.admin.indices.RestRefreshAction) RestClusterGetSettingsAction(org.opensearch.rest.action.admin.cluster.RestClusterGetSettingsAction) RestSnapshotsStatusAction(org.opensearch.rest.action.admin.cluster.RestSnapshotsStatusAction) RestResizeHandler(org.opensearch.rest.action.admin.indices.RestResizeHandler) RestNodesInfoAction(org.opensearch.rest.action.admin.cluster.RestNodesInfoAction) RestGetIndexTemplateAction(org.opensearch.rest.action.admin.indices.RestGetIndexTemplateAction) RestAliasAction(org.opensearch.rest.action.cat.RestAliasAction) RestClusterRerouteAction(org.opensearch.rest.action.admin.cluster.RestClusterRerouteAction) RestTemplatesAction(org.opensearch.rest.action.cat.RestTemplatesAction) RestSearchAction(org.opensearch.rest.action.search.RestSearchAction) RestPutComposableIndexTemplateAction(org.opensearch.rest.action.admin.indices.RestPutComposableIndexTemplateAction) RestCreateDataStreamAction(org.opensearch.rest.action.admin.indices.RestCreateDataStreamAction) RestNodesAction(org.opensearch.rest.action.cat.RestNodesAction) RestGetIndicesAction(org.opensearch.rest.action.admin.indices.RestGetIndicesAction) RestThreadPoolAction(org.opensearch.rest.action.cat.RestThreadPoolAction) RestDeleteComposableIndexTemplateAction(org.opensearch.rest.action.admin.indices.RestDeleteComposableIndexTemplateAction) RestHealthAction(org.opensearch.rest.action.cat.RestHealthAction) RestFielddataAction(org.opensearch.rest.action.cat.RestFielddataAction) RestRemoteClusterInfoAction(org.opensearch.rest.action.admin.cluster.RestRemoteClusterInfoAction) RestUpgradeAction(org.opensearch.rest.action.admin.indices.RestUpgradeAction) RestSegmentsAction(org.opensearch.rest.action.cat.RestSegmentsAction) RestClusterUpdateSettingsAction(org.opensearch.rest.action.admin.cluster.RestClusterUpdateSettingsAction) RestGetSnapshotsAction(org.opensearch.rest.action.admin.cluster.RestGetSnapshotsAction) RestGetFieldMappingAction(org.opensearch.rest.action.admin.indices.RestGetFieldMappingAction) RestGetSourceAction(org.opensearch.rest.action.document.RestGetSourceAction) RestNodesHotThreadsAction(org.opensearch.rest.action.admin.cluster.RestNodesHotThreadsAction) RestDeleteStoredScriptAction(org.opensearch.rest.action.admin.cluster.RestDeleteStoredScriptAction) RestClusterStateAction(org.opensearch.rest.action.admin.cluster.RestClusterStateAction) RestUpgradeStatusAction(org.opensearch.rest.action.admin.indices.RestUpgradeStatusAction) RestClusterSearchShardsAction(org.opensearch.rest.action.admin.cluster.RestClusterSearchShardsAction) RestPluginsAction(org.opensearch.rest.action.cat.RestPluginsAction) RestGetAliasesAction(org.opensearch.rest.action.admin.indices.RestGetAliasesAction) RestMultiGetAction(org.opensearch.rest.action.document.RestMultiGetAction) RestClusterStatsAction(org.opensearch.rest.action.admin.cluster.RestClusterStatsAction) RestCreateIndexAction(org.opensearch.rest.action.admin.indices.RestCreateIndexAction) RestSnapshotAction(org.opensearch.rest.action.cat.RestSnapshotAction) RestClearVotingConfigExclusionsAction(org.opensearch.rest.action.admin.cluster.RestClearVotingConfigExclusionsAction) RestRepositoriesAction(org.opensearch.rest.action.cat.RestRepositoriesAction) RestGetScriptLanguageAction(org.opensearch.rest.action.admin.cluster.RestGetScriptLanguageAction) RestListDanglingIndicesAction(org.opensearch.rest.action.admin.cluster.dangling.RestListDanglingIndicesAction) RestGetDataStreamsAction(org.opensearch.rest.action.admin.indices.RestGetDataStreamsAction) RestDeleteComponentTemplateAction(org.opensearch.rest.action.admin.indices.RestDeleteComponentTemplateAction) RestIndicesSegmentsAction(org.opensearch.rest.action.admin.indices.RestIndicesSegmentsAction) RestMultiTermVectorsAction(org.opensearch.rest.action.document.RestMultiTermVectorsAction) RestClusterAllocationExplainAction(org.opensearch.rest.action.admin.cluster.RestClusterAllocationExplainAction) RestIndexDeleteAliasesAction(org.opensearch.rest.action.admin.indices.RestIndexDeleteAliasesAction) RestCatRecoveryAction(org.opensearch.rest.action.cat.RestCatRecoveryAction) RestBulkAction(org.opensearch.rest.action.document.RestBulkAction) RestIndicesShardStoresAction(org.opensearch.rest.action.admin.indices.RestIndicesShardStoresAction) RestCloneSnapshotAction(org.opensearch.rest.action.admin.cluster.RestCloneSnapshotAction) RestCloseIndexAction(org.opensearch.rest.action.admin.indices.RestCloseIndexAction) RestGetRepositoriesAction(org.opensearch.rest.action.admin.cluster.RestGetRepositoriesAction) RestListTasksAction(org.opensearch.rest.action.admin.cluster.RestListTasksAction) RestValidateQueryAction(org.opensearch.rest.action.admin.indices.RestValidateQueryAction) RestIndicesStatsAction(org.opensearch.rest.action.admin.indices.RestIndicesStatsAction) RestForceMergeAction(org.opensearch.rest.action.admin.indices.RestForceMergeAction) RestCleanupRepositoryAction(org.opensearch.rest.action.admin.cluster.RestCleanupRepositoryAction) RestUpdateSettingsAction(org.opensearch.rest.action.admin.indices.RestUpdateSettingsAction) RestPutStoredScriptAction(org.opensearch.rest.action.admin.cluster.RestPutStoredScriptAction) RestDeleteIndexAction(org.opensearch.rest.action.admin.indices.RestDeleteIndexAction) RestIndexAction(org.opensearch.rest.action.document.RestIndexAction) RestRecoveryAction(org.opensearch.rest.action.admin.indices.RestRecoveryAction) RestShardsAction(org.opensearch.rest.action.cat.RestShardsAction) RestPutComponentTemplateAction(org.opensearch.rest.action.admin.indices.RestPutComponentTemplateAction) RestNodesStatsAction(org.opensearch.rest.action.admin.cluster.RestNodesStatsAction) RestFlushAction(org.opensearch.rest.action.admin.indices.RestFlushAction) RestTermVectorsAction(org.opensearch.rest.action.document.RestTermVectorsAction) RestNodeAttrsAction(org.opensearch.rest.action.cat.RestNodeAttrsAction) RestGetSettingsAction(org.opensearch.rest.action.admin.indices.RestGetSettingsAction) RestDeleteAction(org.opensearch.rest.action.document.RestDeleteAction) RestNodesUsageAction(org.opensearch.rest.action.admin.cluster.RestNodesUsageAction)

Example 3 with IndexScopedSettings

use of org.opensearch.common.settings.IndexScopedSettings in project OpenSearch by opensearch-project.

the class MetadataCreateIndexService method applyCreateIndexRequestWithV1Templates.

private ClusterState applyCreateIndexRequestWithV1Templates(final ClusterState currentState, final CreateIndexClusterStateUpdateRequest request, final boolean silent, final List<IndexTemplateMetadata> templates, final BiConsumer<Metadata.Builder, IndexMetadata> metadataTransformer) throws Exception {
    logger.debug("applying create index request using legacy templates {}", templates.stream().map(IndexTemplateMetadata::name).collect(Collectors.toList()));
    final Map<String, Map<String, Object>> mappings = Collections.unmodifiableMap(parseV1Mappings(request.mappings(), templates.stream().map(IndexTemplateMetadata::getMappings).map(iom -> {
        Map<String, CompressedXContent> converted = new HashMap<>(iom.size());
        for (ObjectObjectCursor<String, CompressedXContent> cursor : iom) {
            converted.put(cursor.key, cursor.value);
        }
        return converted;
    }).collect(toList()), xContentRegistry));
    final Settings aggregatedIndexSettings = aggregateIndexSettings(currentState, request, MetadataIndexTemplateService.resolveSettings(templates), null, settings, indexScopedSettings, shardLimitValidator, indexSettingProviders);
    int routingNumShards = getIndexNumberOfRoutingShards(aggregatedIndexSettings, null);
    IndexMetadata tmpImd = buildAndValidateTemporaryIndexMetadata(currentState, aggregatedIndexSettings, request, routingNumShards);
    return applyCreateIndexWithTemporaryService(currentState, request, silent, null, tmpImd, Collections.singletonList(mappings), indexService -> resolveAndValidateAliases(request.index(), request.aliases(), MetadataIndexTemplateService.resolveAliases(templates), currentState.metadata(), aliasValidator, // shard id and the current timestamp
    xContentRegistry, indexService.newQueryShardContext(0, null, () -> 0L, null)), templates.stream().map(IndexTemplateMetadata::getName).collect(toList()), metadataTransformer);
}
Also used : CreateIndexClusterStateUpdateRequest(org.opensearch.action.admin.indices.create.CreateIndexClusterStateUpdateRequest) SETTING_AUTO_EXPAND_REPLICAS(org.opensearch.cluster.metadata.IndexMetadata.SETTING_AUTO_EXPAND_REPLICAS) IndexScopedSettings(org.opensearch.common.settings.IndexScopedSettings) BiFunction(java.util.function.BiFunction) AllocationService(org.opensearch.cluster.routing.allocation.AllocationService) Level(org.apache.logging.log4j.Level) INDEX_NUMBER_OF_SHARDS_SETTING(org.opensearch.cluster.metadata.IndexMetadata.INDEX_NUMBER_OF_SHARDS_SETTING) Version(org.opensearch.Version) OpenSearchException(org.opensearch.OpenSearchException) Strings(org.opensearch.common.Strings) ObjectObjectCursor(com.carrotsearch.hppc.cursors.ObjectObjectCursor) MapperService(org.opensearch.index.mapper.MapperService) Alias(org.opensearch.action.admin.indices.alias.Alias) ClusterBlock(org.opensearch.cluster.block.ClusterBlock) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Locale(java.util.Locale) Map(java.util.Map) ActionListener(org.opensearch.action.ActionListener) IndexSettingProvider(org.opensearch.index.shard.IndexSettingProvider) IndexModule(org.opensearch.index.IndexModule) Path(java.nio.file.Path) SETTING_NUMBER_OF_REPLICAS(org.opensearch.cluster.metadata.IndexMetadata.SETTING_NUMBER_OF_REPLICAS) Index(org.opensearch.index.Index) Predicate(java.util.function.Predicate) IndicesService(org.opensearch.indices.IndicesService) Set(java.util.Set) Settings(org.opensearch.common.settings.Settings) Instant(java.time.Instant) Collectors(java.util.stream.Collectors) Nullable(org.opensearch.common.Nullable) ValidationException(org.opensearch.common.ValidationException) InvalidIndexNameException(org.opensearch.indices.InvalidIndexNameException) List(java.util.List) Logger(org.apache.logging.log4j.Logger) SystemIndexDescriptor(org.opensearch.indices.SystemIndexDescriptor) IndexSettings(org.opensearch.index.IndexSettings) QueryShardContext(org.opensearch.index.query.QueryShardContext) SETTING_CREATION_DATE(org.opensearch.cluster.metadata.IndexMetadata.SETTING_CREATION_DATE) ResourceAlreadyExistsException(org.opensearch.ResourceAlreadyExistsException) IndexCreationException(org.opensearch.indices.IndexCreationException) ClusterStateUpdateResponse(org.opensearch.cluster.ack.ClusterStateUpdateResponse) UnsupportedEncodingException(java.io.UnsupportedEncodingException) PathUtils(org.opensearch.common.io.PathUtils) IntStream(java.util.stream.IntStream) DiscoveryNodes(org.opensearch.cluster.node.DiscoveryNodes) INDEX_NUMBER_OF_REPLICAS_SETTING(org.opensearch.cluster.metadata.IndexMetadata.INDEX_NUMBER_OF_REPLICAS_SETTING) ThreadPool(org.opensearch.threadpool.ThreadPool) CompressedXContent(org.opensearch.common.compress.CompressedXContent) SETTING_INDEX_UUID(org.opensearch.cluster.metadata.IndexMetadata.SETTING_INDEX_UUID) CreateIndexClusterStateUpdateResponse(org.opensearch.cluster.ack.CreateIndexClusterStateUpdateResponse) Priority(org.opensearch.common.Priority) HashMap(java.util.HashMap) ParameterizedMessage(org.apache.logging.log4j.message.ParameterizedMessage) Function(java.util.function.Function) Supplier(java.util.function.Supplier) ArrayList(java.util.ArrayList) DeprecationLogger(org.opensearch.common.logging.DeprecationLogger) HashSet(java.util.HashSet) IndexRoutingTable(org.opensearch.cluster.routing.IndexRoutingTable) ClusterState(org.opensearch.cluster.ClusterState) LegacyESVersion(org.opensearch.LegacyESVersion) AckedClusterStateUpdateTask(org.opensearch.cluster.AckedClusterStateUpdateTask) ShardRoutingState(org.opensearch.cluster.routing.ShardRoutingState) BiConsumer(java.util.function.BiConsumer) Collections.singletonMap(java.util.Collections.singletonMap) UUIDs(org.opensearch.common.UUIDs) ClusterBlocks(org.opensearch.cluster.block.ClusterBlocks) Environment(org.opensearch.env.Environment) ResizeType(org.opensearch.action.admin.indices.shrink.ResizeType) Setting(org.opensearch.common.settings.Setting) ShardLimitValidator(org.opensearch.indices.ShardLimitValidator) ClusterBlockLevel(org.opensearch.cluster.block.ClusterBlockLevel) IndexNotFoundException(org.opensearch.index.IndexNotFoundException) IOException(java.io.IOException) IndexService(org.opensearch.index.IndexService) ActiveShardCount(org.opensearch.action.support.ActiveShardCount) DocumentMapper(org.opensearch.index.mapper.DocumentMapper) ShardRouting(org.opensearch.cluster.routing.ShardRouting) XContentHelper(org.opensearch.common.xcontent.XContentHelper) SystemIndices(org.opensearch.indices.SystemIndices) Collectors.toList(java.util.stream.Collectors.toList) MergeReason(org.opensearch.index.mapper.MapperService.MergeReason) ActiveShardsObserver(org.opensearch.action.support.ActiveShardsObserver) NamedXContentRegistry(org.opensearch.common.xcontent.NamedXContentRegistry) ClusterService(org.opensearch.cluster.service.ClusterService) RoutingTable(org.opensearch.cluster.routing.RoutingTable) SETTING_NUMBER_OF_SHARDS(org.opensearch.cluster.metadata.IndexMetadata.SETTING_NUMBER_OF_SHARDS) LogManager(org.apache.logging.log4j.LogManager) Collections(java.util.Collections) ObjectObjectCursor(com.carrotsearch.hppc.cursors.ObjectObjectCursor) Map(java.util.Map) HashMap(java.util.HashMap) Collections.singletonMap(java.util.Collections.singletonMap) IndexScopedSettings(org.opensearch.common.settings.IndexScopedSettings) Settings(org.opensearch.common.settings.Settings) IndexSettings(org.opensearch.index.IndexSettings)

Example 4 with IndexScopedSettings

use of org.opensearch.common.settings.IndexScopedSettings in project OpenSearch by opensearch-project.

the class MetadataCreateIndexService method aggregateIndexSettings.

/**
 * Validates and creates the settings for the new index based on the explicitly configured settings via the
 * {@link CreateIndexClusterStateUpdateRequest}, inherited from templates and, if recovering from another index (ie. split, shrink,
 * clone), the resize settings.
 *
 * The template mappings are applied in the order they are encountered in the list (clients should make sure the lower index, closer
 * to the head of the list, templates have the highest {@link IndexTemplateMetadata#order()})
 *
 * @return the aggregated settings for the new index
 */
static Settings aggregateIndexSettings(ClusterState currentState, CreateIndexClusterStateUpdateRequest request, Settings combinedTemplateSettings, @Nullable IndexMetadata sourceMetadata, Settings settings, IndexScopedSettings indexScopedSettings, ShardLimitValidator shardLimitValidator, Set<IndexSettingProvider> indexSettingProviders) {
    // Create builders for the template and request settings. We transform these into builders
    // because we may want settings to be "removed" from these prior to being set on the new
    // index (see more comments below)
    final Settings.Builder templateSettings = Settings.builder().put(combinedTemplateSettings);
    final Settings.Builder requestSettings = Settings.builder().put(request.settings());
    final Settings.Builder indexSettingsBuilder = Settings.builder();
    if (sourceMetadata == null) {
        final Settings.Builder additionalIndexSettings = Settings.builder();
        final Settings templateAndRequestSettings = Settings.builder().put(combinedTemplateSettings).put(request.settings()).build();
        final boolean isDataStreamIndex = request.dataStreamName() != null;
        // additionalIndexSettings map
        for (IndexSettingProvider provider : indexSettingProviders) {
            additionalIndexSettings.put(provider.getAdditionalIndexSettings(request.index(), isDataStreamIndex, templateAndRequestSettings));
        }
        // value).
        for (String explicitSetting : additionalIndexSettings.keys()) {
            if (templateSettings.keys().contains(explicitSetting) && templateSettings.get(explicitSetting) == null) {
                logger.debug("removing default [{}] setting as it in set to null in a template for [{}] creation", explicitSetting, request.index());
                additionalIndexSettings.remove(explicitSetting);
                templateSettings.remove(explicitSetting);
            }
            if (requestSettings.keys().contains(explicitSetting) && requestSettings.get(explicitSetting) == null) {
                logger.debug("removing default [{}] setting as it in set to null in the request for [{}] creation", explicitSetting, request.index());
                additionalIndexSettings.remove(explicitSetting);
                requestSettings.remove(explicitSetting);
            }
        }
        // Finally, we actually add the explicit defaults prior to the template settings and the
        // request settings, so that the precedence goes:
        // Explicit Defaults -> Template -> Request -> Necessary Settings (# of shards, uuid, etc)
        indexSettingsBuilder.put(additionalIndexSettings.build());
        indexSettingsBuilder.put(templateSettings.build());
    }
    // now, put the request settings, so they override templates
    indexSettingsBuilder.put(requestSettings.build());
    if (indexSettingsBuilder.get(IndexMetadata.SETTING_INDEX_VERSION_CREATED.getKey()) == null) {
        final DiscoveryNodes nodes = currentState.nodes();
        final Version createdVersion = Version.min(Version.CURRENT, nodes.getSmallestNonClientNodeVersion());
        indexSettingsBuilder.put(IndexMetadata.SETTING_INDEX_VERSION_CREATED.getKey(), createdVersion);
    }
    if (INDEX_NUMBER_OF_SHARDS_SETTING.exists(indexSettingsBuilder) == false) {
        final int numberOfShards;
        if (INDEX_NUMBER_OF_SHARDS_SETTING.exists(settings)) {
            numberOfShards = INDEX_NUMBER_OF_SHARDS_SETTING.get(settings);
        } else {
            numberOfShards = getNumberOfShards(indexSettingsBuilder);
        }
        indexSettingsBuilder.put(SETTING_NUMBER_OF_SHARDS, numberOfShards);
    }
    if (INDEX_NUMBER_OF_REPLICAS_SETTING.exists(indexSettingsBuilder) == false) {
        indexSettingsBuilder.put(SETTING_NUMBER_OF_REPLICAS, INDEX_NUMBER_OF_REPLICAS_SETTING.get(settings));
    }
    if (settings.get(SETTING_AUTO_EXPAND_REPLICAS) != null && indexSettingsBuilder.get(SETTING_AUTO_EXPAND_REPLICAS) == null) {
        indexSettingsBuilder.put(SETTING_AUTO_EXPAND_REPLICAS, settings.get(SETTING_AUTO_EXPAND_REPLICAS));
    }
    if (indexSettingsBuilder.get(SETTING_CREATION_DATE) == null) {
        indexSettingsBuilder.put(SETTING_CREATION_DATE, Instant.now().toEpochMilli());
    }
    indexSettingsBuilder.put(IndexMetadata.SETTING_INDEX_PROVIDED_NAME, request.getProvidedName());
    indexSettingsBuilder.put(SETTING_INDEX_UUID, UUIDs.randomBase64UUID());
    if (sourceMetadata != null) {
        assert request.resizeType() != null;
        prepareResizeIndexSettings(currentState, indexSettingsBuilder, request.recoverFrom(), request.index(), request.resizeType(), request.copySettings(), indexScopedSettings);
    }
    Settings indexSettings = indexSettingsBuilder.build();
    /*
         * We can not validate settings until we have applied templates, otherwise we do not know the actual settings
         * that will be used to create this index.
         */
    shardLimitValidator.validateShardLimit(indexSettings, currentState);
    if (IndexSettings.INDEX_SOFT_DELETES_SETTING.get(indexSettings) == false && IndexMetadata.SETTING_INDEX_VERSION_CREATED.get(indexSettings).onOrAfter(Version.V_2_0_0)) {
        throw new IllegalArgumentException("Creating indices with soft-deletes disabled is no longer supported. " + "Please do not specify a value for setting [index.soft_deletes.enabled].");
    }
    validateTranslogRetentionSettings(indexSettings);
    validateStoreTypeSettings(indexSettings);
    return indexSettings;
}
Also used : Version(org.opensearch.Version) LegacyESVersion(org.opensearch.LegacyESVersion) IndexScopedSettings(org.opensearch.common.settings.IndexScopedSettings) Settings(org.opensearch.common.settings.Settings) IndexSettings(org.opensearch.index.IndexSettings) IndexSettingProvider(org.opensearch.index.shard.IndexSettingProvider) DiscoveryNodes(org.opensearch.cluster.node.DiscoveryNodes)

Example 5 with IndexScopedSettings

use of org.opensearch.common.settings.IndexScopedSettings in project OpenSearch by opensearch-project.

the class MetadataCreateIndexService method applyCreateIndexRequestWithV2Template.

private ClusterState applyCreateIndexRequestWithV2Template(final ClusterState currentState, final CreateIndexClusterStateUpdateRequest request, final boolean silent, final String templateName, final BiConsumer<Metadata.Builder, IndexMetadata> metadataTransformer) throws Exception {
    logger.debug("applying create index request using composable template [{}]", templateName);
    ComposableIndexTemplate template = currentState.getMetadata().templatesV2().get(templateName);
    if (request.dataStreamName() == null && template.getDataStreamTemplate() != null) {
        throw new IllegalArgumentException("cannot create index with name [" + request.index() + "], because it matches with template [" + templateName + "] that creates data streams only, " + "use create data stream api instead");
    }
    final List<Map<String, Map<String, Object>>> mappings = collectV2Mappings(request.mappings(), currentState, templateName, xContentRegistry, request.index());
    final Settings aggregatedIndexSettings = aggregateIndexSettings(currentState, request, MetadataIndexTemplateService.resolveSettings(currentState.metadata(), templateName), null, settings, indexScopedSettings, shardLimitValidator, indexSettingProviders);
    int routingNumShards = getIndexNumberOfRoutingShards(aggregatedIndexSettings, null);
    IndexMetadata tmpImd = buildAndValidateTemporaryIndexMetadata(currentState, aggregatedIndexSettings, request, routingNumShards);
    return applyCreateIndexWithTemporaryService(currentState, request, silent, null, tmpImd, mappings, indexService -> resolveAndValidateAliases(request.index(), request.aliases(), MetadataIndexTemplateService.resolveAliases(currentState.metadata(), templateName), currentState.metadata(), aliasValidator, // shard id and the current timestamp
    xContentRegistry, indexService.newQueryShardContext(0, null, () -> 0L, null)), Collections.singletonList(templateName), metadataTransformer);
}
Also used : Map(java.util.Map) HashMap(java.util.HashMap) Collections.singletonMap(java.util.Collections.singletonMap) IndexScopedSettings(org.opensearch.common.settings.IndexScopedSettings) Settings(org.opensearch.common.settings.Settings) IndexSettings(org.opensearch.index.IndexSettings)

Aggregations

IndexScopedSettings (org.opensearch.common.settings.IndexScopedSettings)24 Settings (org.opensearch.common.settings.Settings)19 IndexSettings (org.opensearch.index.IndexSettings)11 ArrayList (java.util.ArrayList)6 IOException (java.io.IOException)5 List (java.util.List)5 IndexMetadata (org.opensearch.cluster.metadata.IndexMetadata)5 SystemIndices (org.opensearch.indices.SystemIndices)5 ThreadPool (org.opensearch.threadpool.ThreadPool)5 HashMap (java.util.HashMap)4 HashSet (java.util.HashSet)4 Map (java.util.Map)4 Supplier (java.util.function.Supplier)4 DiscoveryNodes (org.opensearch.cluster.node.DiscoveryNodes)4 Setting (org.opensearch.common.settings.Setting)4 Environment (org.opensearch.env.Environment)4 Collections (java.util.Collections)3 Collections.singletonMap (java.util.Collections.singletonMap)3 Set (java.util.Set)3 Collectors (java.util.stream.Collectors)3