Search in sources :

Example 1 with ClusterSettings

use of org.opensearch.common.settings.ClusterSettings 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 2 with ClusterSettings

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

the class TimeoutTaskCancellationUtility method wrapWithCancellationListener.

/**
 * Wraps a listener with a timeout listener {@link TimeoutRunnableListener} to schedule the task cancellation for provided tasks on
 * generic thread pool
 * @param client - {@link NodeClient}
 * @param taskToCancel - task to schedule cancellation for
 * @param clusterSettings - {@link ClusterSettings}
 * @param listener - original listener associated with the task
 * @return wrapped listener
 */
public static <Response> ActionListener<Response> wrapWithCancellationListener(NodeClient client, CancellableTask taskToCancel, ClusterSettings clusterSettings, ActionListener<Response> listener) {
    final TimeValue globalTimeout = clusterSettings.get(SEARCH_CANCEL_AFTER_TIME_INTERVAL_SETTING);
    final TimeValue timeoutInterval = (taskToCancel.getCancellationTimeout() == null) ? globalTimeout : taskToCancel.getCancellationTimeout();
    // Note: -1 (or no timeout) will help to turn off cancellation. The combinations will be request level set at -1 or request level
    // set to null and cluster level set to -1.
    ActionListener<Response> listenerToReturn = listener;
    if (timeoutInterval.equals(SearchService.NO_TIMEOUT)) {
        return listenerToReturn;
    }
    try {
        final TimeoutRunnableListener<Response> wrappedListener = new TimeoutRunnableListener<>(timeoutInterval, listener, () -> {
            final CancelTasksRequest cancelTasksRequest = new CancelTasksRequest();
            cancelTasksRequest.setTaskId(new TaskId(client.getLocalNodeId(), taskToCancel.getId()));
            cancelTasksRequest.setReason("Cancellation timeout of " + timeoutInterval + " is expired");
            // force the origin to execute the cancellation as a system user
            new OriginSettingClient(client, TASKS_ORIGIN).admin().cluster().cancelTasks(cancelTasksRequest, ActionListener.wrap(r -> logger.debug("Scheduled cancel task with timeout: {} for original task: {} is successfully completed", timeoutInterval, cancelTasksRequest.getTaskId()), e -> logger.error(new ParameterizedMessage("Scheduled cancel task with timeout: {} for original task: {} is failed", timeoutInterval, cancelTasksRequest.getTaskId()), e)));
        });
        wrappedListener.cancellable = client.threadPool().schedule(wrappedListener, timeoutInterval, ThreadPool.Names.GENERIC);
        listenerToReturn = wrappedListener;
    } catch (Exception ex) {
        // if there is any exception in scheduling the cancellation task then continue without it
        logger.warn("Failed to schedule the cancellation task for original task: {}, will continue without it", taskToCancel.getId());
    }
    return listenerToReturn;
}
Also used : TimeValue(org.opensearch.common.unit.TimeValue) NodeClient(org.opensearch.client.node.NodeClient) ThreadPool(org.opensearch.threadpool.ThreadPool) TaskId(org.opensearch.tasks.TaskId) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) ParameterizedMessage(org.apache.logging.log4j.message.ParameterizedMessage) TimeUnit(java.util.concurrent.TimeUnit) Logger(org.apache.logging.log4j.Logger) CancelTasksRequest(org.opensearch.action.admin.cluster.node.tasks.cancel.CancelTasksRequest) SEARCH_CANCEL_AFTER_TIME_INTERVAL_SETTING(org.opensearch.action.search.TransportSearchAction.SEARCH_CANCEL_AFTER_TIME_INTERVAL_SETTING) ActionListener(org.opensearch.action.ActionListener) ClusterSettings(org.opensearch.common.settings.ClusterSettings) LogManager(org.apache.logging.log4j.LogManager) OriginSettingClient(org.opensearch.client.OriginSettingClient) CancellableTask(org.opensearch.tasks.CancellableTask) Scheduler(org.opensearch.threadpool.Scheduler) SearchService(org.opensearch.search.SearchService) TASKS_ORIGIN(org.opensearch.action.admin.cluster.node.tasks.get.GetTaskAction.TASKS_ORIGIN) TaskId(org.opensearch.tasks.TaskId) CancelTasksRequest(org.opensearch.action.admin.cluster.node.tasks.cancel.CancelTasksRequest) ParameterizedMessage(org.apache.logging.log4j.message.ParameterizedMessage) OriginSettingClient(org.opensearch.client.OriginSettingClient) TimeValue(org.opensearch.common.unit.TimeValue)

Example 3 with ClusterSettings

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

the class ClusterModule method createAllocationDeciders.

// TODO: this is public so allocation benchmark can access the default deciders...can we do that in another way?
/**
 * Return a new {@link AllocationDecider} instance with builtin deciders as well as those from plugins.
 */
public static Collection<AllocationDecider> createAllocationDeciders(Settings settings, ClusterSettings clusterSettings, List<ClusterPlugin> clusterPlugins) {
    // collect deciders by class so that we can detect duplicates
    Map<Class, AllocationDecider> deciders = new LinkedHashMap<>();
    addAllocationDecider(deciders, new MaxRetryAllocationDecider());
    addAllocationDecider(deciders, new ResizeAllocationDecider());
    addAllocationDecider(deciders, new ReplicaAfterPrimaryActiveAllocationDecider());
    addAllocationDecider(deciders, new RebalanceOnlyWhenActiveAllocationDecider());
    addAllocationDecider(deciders, new ClusterRebalanceAllocationDecider(settings, clusterSettings));
    addAllocationDecider(deciders, new ConcurrentRebalanceAllocationDecider(settings, clusterSettings));
    addAllocationDecider(deciders, new ConcurrentRecoveriesAllocationDecider(settings, clusterSettings));
    addAllocationDecider(deciders, new EnableAllocationDecider(settings, clusterSettings));
    addAllocationDecider(deciders, new NodeVersionAllocationDecider());
    addAllocationDecider(deciders, new SnapshotInProgressAllocationDecider());
    addAllocationDecider(deciders, new RestoreInProgressAllocationDecider());
    addAllocationDecider(deciders, new FilterAllocationDecider(settings, clusterSettings));
    addAllocationDecider(deciders, new SameShardAllocationDecider(settings, clusterSettings));
    addAllocationDecider(deciders, new DiskThresholdDecider(settings, clusterSettings));
    addAllocationDecider(deciders, new ThrottlingAllocationDecider(settings, clusterSettings));
    addAllocationDecider(deciders, new ShardsLimitAllocationDecider(settings, clusterSettings));
    addAllocationDecider(deciders, new AwarenessAllocationDecider(settings, clusterSettings));
    addAllocationDecider(deciders, new NodeLoadAwareAllocationDecider(settings, clusterSettings));
    clusterPlugins.stream().flatMap(p -> p.createAllocationDeciders(settings, clusterSettings).stream()).forEach(d -> addAllocationDecider(deciders, d));
    return deciders.values();
}
Also used : IndexGraveyard(org.opensearch.cluster.metadata.IndexGraveyard) NamedWriteable(org.opensearch.common.io.stream.NamedWriteable) Metadata(org.opensearch.cluster.metadata.Metadata) EnableAllocationDecider(org.opensearch.cluster.routing.allocation.decider.EnableAllocationDecider) MetadataDeleteIndexService(org.opensearch.cluster.metadata.MetadataDeleteIndexService) AllocationService(org.opensearch.cluster.routing.allocation.AllocationService) ClusterRebalanceAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ClusterRebalanceAllocationDecider) SnapshotInProgressAllocationDecider(org.opensearch.cluster.routing.allocation.decider.SnapshotInProgressAllocationDecider) ThrottlingAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ThrottlingAllocationDecider) Entry(org.opensearch.common.io.stream.NamedWriteableRegistry.Entry) ThreadContext(org.opensearch.common.util.concurrent.ThreadContext) ComponentTemplateMetadata(org.opensearch.cluster.metadata.ComponentTemplateMetadata) DelayedAllocationService(org.opensearch.cluster.routing.DelayedAllocationService) AllocationDecider(org.opensearch.cluster.routing.allocation.decider.AllocationDecider) ComposableIndexTemplateMetadata(org.opensearch.cluster.metadata.ComposableIndexTemplateMetadata) Property(org.opensearch.common.settings.Setting.Property) Map(java.util.Map) BalancedShardsAllocator(org.opensearch.cluster.routing.allocation.allocator.BalancedShardsAllocator) ShardStateAction(org.opensearch.cluster.action.shard.ShardStateAction) ShardsAllocator(org.opensearch.cluster.routing.allocation.allocator.ShardsAllocator) TaskResultsService(org.opensearch.tasks.TaskResultsService) AllocationDeciders(org.opensearch.cluster.routing.allocation.decider.AllocationDeciders) DiskThresholdDecider(org.opensearch.cluster.routing.allocation.decider.DiskThresholdDecider) ResizeAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ResizeAllocationDecider) SameShardAllocationDecider(org.opensearch.cluster.routing.allocation.decider.SameShardAllocationDecider) ClusterPlugin(org.opensearch.plugins.ClusterPlugin) AwarenessAllocationDecider(org.opensearch.cluster.routing.allocation.decider.AwarenessAllocationDecider) Collection(java.util.Collection) PersistentTasksCustomMetadata(org.opensearch.persistent.PersistentTasksCustomMetadata) Set(java.util.Set) Settings(org.opensearch.common.settings.Settings) Task(org.opensearch.tasks.Task) PersistentTasksNodeService(org.opensearch.persistent.PersistentTasksNodeService) Objects(java.util.Objects) List(java.util.List) DataStreamMetadata(org.opensearch.cluster.metadata.DataStreamMetadata) ExistingShardsAllocator(org.opensearch.cluster.routing.allocation.ExistingShardsAllocator) GatewayAllocator(org.opensearch.gateway.GatewayAllocator) Reader(org.opensearch.common.io.stream.Writeable.Reader) ScriptMetadata(org.opensearch.script.ScriptMetadata) IndexNameExpressionResolver(org.opensearch.cluster.metadata.IndexNameExpressionResolver) SnapshotsInfoService(org.opensearch.snapshots.SnapshotsInfoService) RestoreInProgressAllocationDecider(org.opensearch.cluster.routing.allocation.decider.RestoreInProgressAllocationDecider) ConcurrentRecoveriesAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ConcurrentRecoveriesAllocationDecider) MetadataIndexAliasesService(org.opensearch.cluster.metadata.MetadataIndexAliasesService) MetadataUpdateSettingsService(org.opensearch.cluster.metadata.MetadataUpdateSettingsService) HashMap(java.util.HashMap) ParseField(org.opensearch.common.ParseField) Function(java.util.function.Function) Supplier(java.util.function.Supplier) ArrayList(java.util.ArrayList) MappingUpdatedAction(org.opensearch.cluster.action.index.MappingUpdatedAction) NodeVersionAllocationDecider(org.opensearch.cluster.routing.allocation.decider.NodeVersionAllocationDecider) LinkedHashMap(java.util.LinkedHashMap) ShardsLimitAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ShardsLimitAllocationDecider) MetadataMappingService(org.opensearch.cluster.metadata.MetadataMappingService) AbstractModule(org.opensearch.common.inject.AbstractModule) NodeMappingRefreshAction(org.opensearch.cluster.action.index.NodeMappingRefreshAction) ClusterSettings(org.opensearch.common.settings.ClusterSettings) ReplicaAfterPrimaryActiveAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ReplicaAfterPrimaryActiveAllocationDecider) MetadataIndexStateService(org.opensearch.cluster.metadata.MetadataIndexStateService) RebalanceOnlyWhenActiveAllocationDecider(org.opensearch.cluster.routing.allocation.decider.RebalanceOnlyWhenActiveAllocationDecider) IngestMetadata(org.opensearch.ingest.IngestMetadata) FilterAllocationDecider(org.opensearch.cluster.routing.allocation.decider.FilterAllocationDecider) MetadataIndexTemplateService(org.opensearch.cluster.metadata.MetadataIndexTemplateService) Setting(org.opensearch.common.settings.Setting) RepositoriesMetadata(org.opensearch.cluster.metadata.RepositoriesMetadata) MaxRetryAllocationDecider(org.opensearch.cluster.routing.allocation.decider.MaxRetryAllocationDecider) Sets(org.opensearch.common.util.set.Sets) ConcurrentRebalanceAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ConcurrentRebalanceAllocationDecider) NodeLoadAwareAllocationDecider(org.opensearch.cluster.routing.allocation.decider.NodeLoadAwareAllocationDecider) NamedXContentRegistry(org.opensearch.common.xcontent.NamedXContentRegistry) ClusterService(org.opensearch.cluster.service.ClusterService) Collections(java.util.Collections) ResizeAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ResizeAllocationDecider) SnapshotInProgressAllocationDecider(org.opensearch.cluster.routing.allocation.decider.SnapshotInProgressAllocationDecider) EnableAllocationDecider(org.opensearch.cluster.routing.allocation.decider.EnableAllocationDecider) NodeLoadAwareAllocationDecider(org.opensearch.cluster.routing.allocation.decider.NodeLoadAwareAllocationDecider) RebalanceOnlyWhenActiveAllocationDecider(org.opensearch.cluster.routing.allocation.decider.RebalanceOnlyWhenActiveAllocationDecider) ThrottlingAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ThrottlingAllocationDecider) MaxRetryAllocationDecider(org.opensearch.cluster.routing.allocation.decider.MaxRetryAllocationDecider) ReplicaAfterPrimaryActiveAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ReplicaAfterPrimaryActiveAllocationDecider) ConcurrentRecoveriesAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ConcurrentRecoveriesAllocationDecider) LinkedHashMap(java.util.LinkedHashMap) ClusterRebalanceAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ClusterRebalanceAllocationDecider) SameShardAllocationDecider(org.opensearch.cluster.routing.allocation.decider.SameShardAllocationDecider) RestoreInProgressAllocationDecider(org.opensearch.cluster.routing.allocation.decider.RestoreInProgressAllocationDecider) FilterAllocationDecider(org.opensearch.cluster.routing.allocation.decider.FilterAllocationDecider) DiskThresholdDecider(org.opensearch.cluster.routing.allocation.decider.DiskThresholdDecider) ShardsLimitAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ShardsLimitAllocationDecider) AwarenessAllocationDecider(org.opensearch.cluster.routing.allocation.decider.AwarenessAllocationDecider) NodeVersionAllocationDecider(org.opensearch.cluster.routing.allocation.decider.NodeVersionAllocationDecider) EnableAllocationDecider(org.opensearch.cluster.routing.allocation.decider.EnableAllocationDecider) ClusterRebalanceAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ClusterRebalanceAllocationDecider) SnapshotInProgressAllocationDecider(org.opensearch.cluster.routing.allocation.decider.SnapshotInProgressAllocationDecider) ThrottlingAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ThrottlingAllocationDecider) AllocationDecider(org.opensearch.cluster.routing.allocation.decider.AllocationDecider) ResizeAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ResizeAllocationDecider) SameShardAllocationDecider(org.opensearch.cluster.routing.allocation.decider.SameShardAllocationDecider) AwarenessAllocationDecider(org.opensearch.cluster.routing.allocation.decider.AwarenessAllocationDecider) RestoreInProgressAllocationDecider(org.opensearch.cluster.routing.allocation.decider.RestoreInProgressAllocationDecider) ConcurrentRecoveriesAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ConcurrentRecoveriesAllocationDecider) NodeVersionAllocationDecider(org.opensearch.cluster.routing.allocation.decider.NodeVersionAllocationDecider) ShardsLimitAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ShardsLimitAllocationDecider) ReplicaAfterPrimaryActiveAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ReplicaAfterPrimaryActiveAllocationDecider) RebalanceOnlyWhenActiveAllocationDecider(org.opensearch.cluster.routing.allocation.decider.RebalanceOnlyWhenActiveAllocationDecider) FilterAllocationDecider(org.opensearch.cluster.routing.allocation.decider.FilterAllocationDecider) MaxRetryAllocationDecider(org.opensearch.cluster.routing.allocation.decider.MaxRetryAllocationDecider) ConcurrentRebalanceAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ConcurrentRebalanceAllocationDecider) NodeLoadAwareAllocationDecider(org.opensearch.cluster.routing.allocation.decider.NodeLoadAwareAllocationDecider) ConcurrentRebalanceAllocationDecider(org.opensearch.cluster.routing.allocation.decider.ConcurrentRebalanceAllocationDecider)

Example 4 with ClusterSettings

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

the class Netty4HttpServerTransportTests method testBadRequest.

public void testBadRequest() throws InterruptedException {
    final AtomicReference<Throwable> causeReference = new AtomicReference<>();
    final HttpServerTransport.Dispatcher dispatcher = new HttpServerTransport.Dispatcher() {

        @Override
        public void dispatchRequest(final RestRequest request, final RestChannel channel, final ThreadContext threadContext) {
            logger.error("--> Unexpected successful request [{}]", FakeRestRequest.requestToString(request));
            throw new AssertionError();
        }

        @Override
        public void dispatchBadRequest(final RestChannel channel, final ThreadContext threadContext, final Throwable cause) {
            causeReference.set(cause);
            try {
                final OpenSearchException e = new OpenSearchException("you sent a bad request and you should feel bad");
                channel.sendResponse(new BytesRestResponse(channel, BAD_REQUEST, e));
            } catch (final IOException e) {
                throw new AssertionError(e);
            }
        }
    };
    final Settings settings;
    final int maxInitialLineLength;
    final Setting<ByteSizeValue> httpMaxInitialLineLengthSetting = HttpTransportSettings.SETTING_HTTP_MAX_INITIAL_LINE_LENGTH;
    if (randomBoolean()) {
        maxInitialLineLength = httpMaxInitialLineLengthSetting.getDefault(Settings.EMPTY).bytesAsInt();
        settings = createSettings();
    } else {
        maxInitialLineLength = randomIntBetween(1, 8192);
        settings = createBuilderWithPort().put(httpMaxInitialLineLengthSetting.getKey(), maxInitialLineLength + "b").build();
    }
    try (Netty4HttpServerTransport transport = new Netty4HttpServerTransport(settings, networkService, bigArrays, threadPool, xContentRegistry(), dispatcher, clusterSettings, new SharedGroupFactory(settings))) {
        transport.start();
        final TransportAddress remoteAddress = randomFrom(transport.boundAddress().boundAddresses());
        try (Netty4HttpClient client = new Netty4HttpClient()) {
            final String url = "/" + new String(new byte[maxInitialLineLength], Charset.forName("UTF-8"));
            final FullHttpRequest request = new DefaultFullHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.GET, url);
            final FullHttpResponse response = client.send(remoteAddress.address(), request);
            try {
                assertThat(response.status(), equalTo(HttpResponseStatus.BAD_REQUEST));
                assertThat(new String(response.content().array(), Charset.forName("UTF-8")), containsString("you sent a bad request and you should feel bad"));
            } finally {
                response.release();
            }
        }
    }
    assertNotNull(causeReference.get());
    assertThat(causeReference.get(), instanceOf(TooLongFrameException.class));
}
Also used : DefaultFullHttpRequest(io.netty.handler.codec.http.DefaultFullHttpRequest) FullHttpRequest(io.netty.handler.codec.http.FullHttpRequest) TooLongFrameException(io.netty.handler.codec.TooLongFrameException) TransportAddress(org.opensearch.common.transport.TransportAddress) ByteSizeValue(org.opensearch.common.unit.ByteSizeValue) Matchers.containsString(org.hamcrest.Matchers.containsString) HttpServerTransport(org.opensearch.http.HttpServerTransport) NullDispatcher(org.opensearch.http.NullDispatcher) BytesRestResponse(org.opensearch.rest.BytesRestResponse) FullHttpResponse(io.netty.handler.codec.http.FullHttpResponse) Settings(org.opensearch.common.settings.Settings) HttpTransportSettings(org.opensearch.http.HttpTransportSettings) ClusterSettings(org.opensearch.common.settings.ClusterSettings) DefaultFullHttpRequest(io.netty.handler.codec.http.DefaultFullHttpRequest) ThreadContext(org.opensearch.common.util.concurrent.ThreadContext) AtomicReference(java.util.concurrent.atomic.AtomicReference) RestChannel(org.opensearch.rest.RestChannel) SharedGroupFactory(org.opensearch.transport.SharedGroupFactory) IOException(java.io.IOException) FakeRestRequest(org.opensearch.test.rest.FakeRestRequest) RestRequest(org.opensearch.rest.RestRequest) OpenSearchException(org.opensearch.OpenSearchException)

Example 5 with ClusterSettings

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

the class Netty4HttpServerTransportTests method testReadTimeout.

public void testReadTimeout() throws Exception {
    final HttpServerTransport.Dispatcher dispatcher = new HttpServerTransport.Dispatcher() {

        @Override
        public void dispatchRequest(final RestRequest request, final RestChannel channel, final ThreadContext threadContext) {
            logger.error("--> Unexpected successful request [{}]", FakeRestRequest.requestToString(request));
            throw new AssertionError("Should not have received a dispatched request");
        }

        @Override
        public void dispatchBadRequest(final RestChannel channel, final ThreadContext threadContext, final Throwable cause) {
            logger.error(new ParameterizedMessage("--> Unexpected bad request [{}]", FakeRestRequest.requestToString(channel.request())), cause);
            throw new AssertionError("Should not have received a dispatched request");
        }
    };
    Settings settings = createBuilderWithPort().put(HttpTransportSettings.SETTING_HTTP_READ_TIMEOUT.getKey(), new TimeValue(randomIntBetween(100, 300))).build();
    NioEventLoopGroup group = new NioEventLoopGroup();
    try (Netty4HttpServerTransport transport = new Netty4HttpServerTransport(settings, networkService, bigArrays, threadPool, xContentRegistry(), dispatcher, new ClusterSettings(Settings.EMPTY, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS), new SharedGroupFactory(settings))) {
        transport.start();
        final TransportAddress remoteAddress = randomFrom(transport.boundAddress().boundAddresses());
        CountDownLatch channelClosedLatch = new CountDownLatch(1);
        Bootstrap clientBootstrap = new Bootstrap().option(ChannelOption.ALLOCATOR, NettyAllocator.getAllocator()).channel(NioSocketChannel.class).handler(new ChannelInitializer<SocketChannel>() {

            @Override
            protected void initChannel(SocketChannel ch) {
                ch.pipeline().addLast(new ChannelHandlerAdapter() {
                });
            }
        }).group(group);
        ChannelFuture connect = clientBootstrap.connect(remoteAddress.address());
        connect.channel().closeFuture().addListener(future -> channelClosedLatch.countDown());
        assertTrue("Channel should be closed due to read timeout", channelClosedLatch.await(1, TimeUnit.MINUTES));
    } finally {
        group.shutdownGracefully().await();
    }
}
Also used : ChannelFuture(io.netty.channel.ChannelFuture) SocketChannel(io.netty.channel.socket.SocketChannel) NioSocketChannel(io.netty.channel.socket.nio.NioSocketChannel) ClusterSettings(org.opensearch.common.settings.ClusterSettings) TransportAddress(org.opensearch.common.transport.TransportAddress) ThreadContext(org.opensearch.common.util.concurrent.ThreadContext) RestChannel(org.opensearch.rest.RestChannel) SharedGroupFactory(org.opensearch.transport.SharedGroupFactory) HttpServerTransport(org.opensearch.http.HttpServerTransport) NullDispatcher(org.opensearch.http.NullDispatcher) CountDownLatch(java.util.concurrent.CountDownLatch) ChannelHandlerAdapter(io.netty.channel.ChannelHandlerAdapter) FakeRestRequest(org.opensearch.test.rest.FakeRestRequest) RestRequest(org.opensearch.rest.RestRequest) Bootstrap(io.netty.bootstrap.Bootstrap) ParameterizedMessage(org.apache.logging.log4j.message.ParameterizedMessage) ChannelInitializer(io.netty.channel.ChannelInitializer) Settings(org.opensearch.common.settings.Settings) HttpTransportSettings(org.opensearch.http.HttpTransportSettings) ClusterSettings(org.opensearch.common.settings.ClusterSettings) TimeValue(org.opensearch.common.unit.TimeValue) NioEventLoopGroup(io.netty.channel.nio.NioEventLoopGroup)

Aggregations

ClusterSettings (org.opensearch.common.settings.ClusterSettings)162 Settings (org.opensearch.common.settings.Settings)100 ClusterState (org.opensearch.cluster.ClusterState)67 Metadata (org.opensearch.cluster.metadata.Metadata)36 Matchers.containsString (org.hamcrest.Matchers.containsString)35 DiscoveryNode (org.opensearch.cluster.node.DiscoveryNode)30 IndexMetadata (org.opensearch.cluster.metadata.IndexMetadata)28 RoutingTable (org.opensearch.cluster.routing.RoutingTable)25 ClusterName (org.opensearch.cluster.ClusterName)24 ClusterService (org.opensearch.cluster.service.ClusterService)24 AtomicReference (java.util.concurrent.atomic.AtomicReference)23 TestThreadPool (org.opensearch.threadpool.TestThreadPool)23 HashSet (java.util.HashSet)20 ArrayList (java.util.ArrayList)19 BalancedShardsAllocator (org.opensearch.cluster.routing.allocation.allocator.BalancedShardsAllocator)19 ThreadContext (org.opensearch.common.util.concurrent.ThreadContext)18 DiscoveryNodes (org.opensearch.cluster.node.DiscoveryNodes)17 ShardRouting (org.opensearch.cluster.routing.ShardRouting)17 AllocationService (org.opensearch.cluster.routing.allocation.AllocationService)17 TestGatewayAllocator (org.opensearch.test.gateway.TestGatewayAllocator)17