From 0a31ce64a9ff3ff3516b60eca41549f280714cb4 Mon Sep 17 00:00:00 2001 From: David Turner Date: Tue, 3 Oct 2023 22:54:52 +0100 Subject: [PATCH] Remove dangerous default executor from HandledTransportAction (#100162) Today subclasses of `HandledTransportAction` can specify the executor on which they run, but the executor is optional and if omitted will use `DIRECT_EXECUTOR_SERVICE`, which means the action runs on a transport thread. This is a dangerous default behaviour because it makes it easy to add new transport actions which implicitly run on a network thread, which is very hard to pick up in reviews. This commit makes the executor explicit in all callers, and marks the dangerous methods for removal. --- .../action/bulk/TransportNoopBulkAction.java | 3 +- .../search/TransportNoopSearchAction.java | 9 +++++- .../ingest/common/GrokProcessorGetAction.java | 3 +- .../TransportMultiSearchTemplateAction.java | 9 +++++- .../TransportSearchTemplateAction.java | 3 +- .../action/PainlessContextAction.java | 3 +- .../rankeval/TransportRankEvalAction.java | 3 +- .../reindex/TransportDeleteByQueryAction.java | 3 +- .../reindex/TransportReindexAction.java | 3 +- .../reindex/TransportUpdateByQueryAction.java | 3 +- .../rest/root/TransportMainAction.java | 3 +- .../admin/cluster/tasks/ListTasksIT.java | 3 +- .../coordination/MasterHistoryAction.java | 3 +- .../tasks/get/TransportGetTaskAction.java | 2 +- .../remote/RemoteClusterNodesAction.java | 3 +- .../remote/TransportRemoteInfoAction.java | 3 +- .../TransportGetScriptContextAction.java | 9 +++++- .../TransportGetScriptLanguageAction.java | 9 +++++- .../TransportImportDanglingIndexAction.java | 9 +++++- .../get/TransportGetFieldMappingsAction.java | 9 +++++- .../indices/resolve/ResolveIndexAction.java | 2 +- .../TransportSingleItemBulkWriteAction.java | 3 +- .../action/get/TransportMultiGetAction.java | 3 +- .../SimulatePipelineTransportAction.java | 9 +++++- .../search/TransportClearScrollAction.java | 3 +- .../TransportClosePointInTimeAction.java | 9 +++++- .../search/TransportMultiSearchAction.java | 16 ++++++++-- .../TransportOpenPointInTimeAction.java | 8 ++++- .../action/search/TransportSearchAction.java | 9 +++++- .../search/TransportSearchScrollAction.java | 3 +- .../support/HandledTransportAction.java | 31 ++++++++++--------- ...ervedStateAwareHandledTransportAction.java | 3 +- .../TransportBroadcastUnpromotableAction.java | 3 +- .../master/TransportMasterNodeAction.java | 3 +- .../TransportBroadcastReplicationAction.java | 3 +- ...ransportInstanceSingleOperationAction.java | 2 +- .../TransportDeleteSynonymRuleAction.java | 9 +++++- .../TransportDeleteSynonymsAction.java | 9 +++++- .../TransportGetSynonymRuleAction.java | 9 +++++- .../synonyms/TransportGetSynonymsAction.java | 3 +- .../TransportGetSynonymsSetsAction.java | 9 +++++- .../TransportPutSynonymRuleAction.java | 9 +++++- .../synonyms/TransportPutSynonymsAction.java | 3 +- .../TransportMultiTermVectorsAction.java | 9 +++++- .../action/TransportHealthNodeAction.java | 3 +- .../search/TransportGetAsyncSearchAction.java | 2 +- .../search/TransportGetAsyncStatusAction.java | 2 +- .../TransportSubmitAsyncSearchAction.java | 9 +++++- .../TransportGetFeatureUsageAction.java | 3 +- .../AbstractTransportGetResourcesAction.java | 3 +- .../core/action/TransportXPackInfoAction.java | 3 +- .../XPackInfoFeatureTransportAction.java | 3 +- .../TransportDeleteAsyncResultAction.java | 8 ++++- .../TransportGetCertificateInfoAction.java | 9 +++++- .../action/TransportTermsEnumAction.java | 2 +- .../action/EnrichCoordinatorProxyAction.java | 3 +- .../action/InternalExecutePolicyAction.java | 3 +- .../TransportPostAnalyticsEventAction.java | 9 +++++- .../TransportDeleteQueryRulesetAction.java | 9 +++++- .../TransportGetQueryRulesetAction.java | 9 +++++- .../TransportListQueryRulesetsAction.java | 9 +++++- .../TransportPutQueryRulesetAction.java | 9 +++++- ...ransportDeleteSearchApplicationAction.java | 9 +++++- .../TransportGetSearchApplicationAction.java | 9 +++++- .../TransportListSearchApplicationAction.java | 9 +++++- .../TransportPutSearchApplicationAction.java | 9 +++++- ...TransportQuerySearchApplicationAction.java | 9 +++++- ...ortRenderSearchApplicationQueryAction.java | 9 +++++- .../eql/plugin/TransportEqlSearchAction.java | 2 +- .../action/TransportDeleteSecretAction.java | 3 +- .../action/TransportGetSecretAction.java | 3 +- .../action/TransportPostSecretAction.java | 3 +- .../action/TransportGraphExploreAction.java | 3 +- ...nsportDeleteSamlServiceProviderAction.java | 9 +++++- ...TransportPutSamlServiceProviderAction.java | 9 +++++- ...ansportSamlInitiateSingleSignOnAction.java | 9 +++++- .../action/TransportSamlMetadataAction.java | 3 +- ...ansportSamlValidateAuthnRequestAction.java | 9 +++++- .../TransportGetInferenceModelAction.java | 9 +++++- .../action/TransportInferenceAction.java | 3 +- .../action/TransportDeletePipelineAction.java | 3 +- .../action/TransportGetPipelineAction.java | 3 +- .../action/TransportPutPipelineAction.java | 3 +- .../TransportAuditMlNotificationAction.java | 9 +++++- ...rtCancelJobModelSnapshotUpgradeAction.java | 3 +- .../action/TransportDeleteCalendarAction.java | 9 +++++- .../TransportDeleteCalendarEventAction.java | 9 +++++- .../action/TransportDeleteFilterAction.java | 9 +++++- .../action/TransportDeleteForecastAction.java | 9 +++++- .../TransportDeleteModelSnapshotAction.java | 9 +++++- .../TransportEstimateModelMemoryAction.java | 9 +++++- .../TransportEvaluateDataFrameAction.java | 9 +++++- ...nsportExplainDataFrameAnalyticsAction.java | 9 +++++- .../ml/action/TransportGetBucketsAction.java | 3 +- .../TransportGetCalendarEventsAction.java | 9 +++++- .../action/TransportGetCalendarsAction.java | 9 +++++- .../action/TransportGetCategoriesAction.java | 9 +++++- .../TransportGetDatafeedsStatsAction.java | 3 +- .../action/TransportGetInfluencersAction.java | 9 +++++- .../TransportGetModelSnapshotsAction.java | 9 +++++- .../TransportGetOverallBucketsAction.java | 9 +++++- .../ml/action/TransportGetRecordsAction.java | 3 +- .../TransportGetTrainedModelsAction.java | 9 +++++- .../TransportGetTrainedModelsStatsAction.java | 9 +++++- .../TransportInternalInferModelAction.java | 2 +- .../ml/action/TransportMlInfoAction.java | 3 +- .../TransportPostCalendarEventsAction.java | 9 +++++- ...nsportPreviewDataFrameAnalyticsAction.java | 3 +- .../TransportPreviewDatafeedAction.java | 9 +++++- .../ml/action/TransportPutCalendarAction.java | 3 +- .../ml/action/TransportPutFilterAction.java | 3 +- ...rtPutTrainedModelDefinitionPartAction.java | 3 +- .../TransportUpdateCalendarJobAction.java | 9 +++++- .../action/TransportUpdateFilterAction.java | 9 +++++- .../TransportUpdateModelSnapshotAction.java | 9 +++++- .../TransportValidateDetectorAction.java | 9 +++++- .../TransportValidateJobConfigAction.java | 9 +++++- .../action/TransportMonitoringBulkAction.java | 3 +- .../monitoring/LocalStateMonitoring.java | 11 +++++-- .../TransportGetFlamegraphAction.java | 3 +- .../TransportGetStackTracesAction.java | 3 +- ...tractTransportQlAsyncGetResultsAction.java | 2 +- ...stractTransportQlAsyncGetStatusAction.java | 2 +- .../action/cache/FrozenCacheInfoAction.java | 3 +- .../cache/FrozenCacheInfoNodeAction.java | 3 +- ...nsportDelegatePkiAuthenticationAction.java | 9 +++++- .../security/action/TransportGrantAction.java | 3 +- .../TransportBaseUpdateApiKeyAction.java | 3 +- .../apikey/TransportCreateApiKeyAction.java | 3 +- ...ansportCreateCrossClusterApiKeyAction.java | 9 +++++- .../apikey/TransportGetApiKeyAction.java | 3 +- .../TransportInvalidateApiKeyAction.java | 4 ++- .../apikey/TransportQueryApiKeyAction.java | 3 +- .../TransportKibanaEnrollmentAction.java | 9 +++++- .../TransportNodeEnrollmentAction.java | 3 +- ...nsportOpenIdConnectAuthenticateAction.java | 4 ++- .../TransportOpenIdConnectLogoutAction.java | 4 ++- ...nIdConnectPrepareAuthenticationAction.java | 4 ++- .../TransportDeletePrivilegesAction.java | 9 +++++- .../TransportGetBuiltinPrivilegesAction.java | 9 +++++- .../TransportGetPrivilegesAction.java | 3 +- .../TransportPutPrivilegesAction.java | 3 +- .../profile/TransportGetProfilesAction.java | 3 +- .../TransportProfileHasPrivilegesAction.java | 9 +++++- .../TransportSetProfileEnabledAction.java | 9 +++++- .../TransportSuggestProfilesAction.java | 9 +++++- .../TransportUpdateProfileDataAction.java | 9 +++++- .../role/TransportDeleteRoleAction.java | 3 +- .../action/role/TransportGetRolesAction.java | 3 +- .../action/role/TransportPutRoleAction.java | 3 +- .../TransportGetRoleMappingsAction.java | 9 +++++- .../saml/TransportSamlAuthenticateAction.java | 9 +++++- .../TransportSamlCompleteLogoutAction.java | 9 +++++- .../TransportSamlInvalidateSessionAction.java | 9 +++++- .../saml/TransportSamlLogoutAction.java | 3 +- ...nsportSamlPrepareAuthenticationAction.java | 9 +++++- .../saml/TransportSamlSpMetadataAction.java | 3 +- ...nsportCreateServiceAccountTokenAction.java | 9 +++++- ...nsportDeleteServiceAccountTokenAction.java | 9 +++++- .../TransportGetServiceAccountAction.java | 9 +++++- ...ortGetServiceAccountCredentialsAction.java | 9 +++++- .../token/TransportCreateTokenAction.java | 3 +- .../token/TransportInvalidateTokenAction.java | 9 +++++- .../token/TransportRefreshTokenAction.java | 3 +- .../user/TransportAuthenticateAction.java | 3 +- .../user/TransportChangePasswordAction.java | 3 +- .../user/TransportDeleteUserAction.java | 3 +- .../TransportGetUserPrivilegesAction.java | 9 +++++- .../action/user/TransportGetUsersAction.java | 3 +- .../user/TransportHasPrivilegesAction.java | 3 +- .../action/user/TransportPutUserAction.java | 3 +- .../user/TransportSetEnabledAction.java | 3 +- .../plugin/TransportSqlClearCursorAction.java | 3 +- .../sql/plugin/TransportSqlQueryAction.java | 2 +- .../plugin/TransportSqlTranslateAction.java | 3 +- .../TransportFindStructureAction.java | 9 +++++- .../action/TransportGetCheckpointAction.java | 3 +- .../TransportGetCheckpointNodeAction.java | 3 +- .../TransportPreviewTransformAction.java | 3 +- .../TransportValidateTransformAction.java | 3 +- .../actions/TransportDeleteWatchAction.java | 3 +- .../actions/WatcherTransportAction.java | 3 +- 182 files changed, 869 insertions(+), 197 deletions(-) diff --git a/client/client-benchmark-noop-api-plugin/src/main/java/org/elasticsearch/plugin/noop/action/bulk/TransportNoopBulkAction.java b/client/client-benchmark-noop-api-plugin/src/main/java/org/elasticsearch/plugin/noop/action/bulk/TransportNoopBulkAction.java index cf91d07ed568..53283251f453 100644 --- a/client/client-benchmark-noop-api-plugin/src/main/java/org/elasticsearch/plugin/noop/action/bulk/TransportNoopBulkAction.java +++ b/client/client-benchmark-noop-api-plugin/src/main/java/org/elasticsearch/plugin/noop/action/bulk/TransportNoopBulkAction.java @@ -17,6 +17,7 @@ import org.elasticsearch.action.support.ActionFilters; import org.elasticsearch.action.support.HandledTransportAction; import org.elasticsearch.action.update.UpdateResponse; import org.elasticsearch.common.inject.Inject; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.index.shard.ShardId; import org.elasticsearch.tasks.Task; import org.elasticsearch.transport.TransportService; @@ -30,7 +31,7 @@ public class TransportNoopBulkAction extends HandledTransportAction { @Inject public TransportNoopSearchAction(TransportService transportService, ActionFilters actionFilters) { - super(NoopSearchAction.NAME, transportService, actionFilters, (Writeable.Reader) SearchRequest::new); + super( + NoopSearchAction.NAME, + transportService, + actionFilters, + (Writeable.Reader) SearchRequest::new, + EsExecutors.DIRECT_EXECUTOR_SERVICE + ); } @Override diff --git a/modules/ingest-common/src/main/java/org/elasticsearch/ingest/common/GrokProcessorGetAction.java b/modules/ingest-common/src/main/java/org/elasticsearch/ingest/common/GrokProcessorGetAction.java index a41c42260dec..c7ab9f264c68 100644 --- a/modules/ingest-common/src/main/java/org/elasticsearch/ingest/common/GrokProcessorGetAction.java +++ b/modules/ingest-common/src/main/java/org/elasticsearch/ingest/common/GrokProcessorGetAction.java @@ -19,6 +19,7 @@ import org.elasticsearch.client.internal.node.NodeClient; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.grok.GrokBuiltinPatterns; import org.elasticsearch.grok.PatternBank; import org.elasticsearch.rest.BaseRestHandler; @@ -139,7 +140,7 @@ public class GrokProcessorGetAction extends ActionType(this.legacyGrokPatterns); this.ecsV1GrokPatterns = ecsV1GrokPatterns.bank(); diff --git a/modules/lang-mustache/src/main/java/org/elasticsearch/script/mustache/TransportMultiSearchTemplateAction.java b/modules/lang-mustache/src/main/java/org/elasticsearch/script/mustache/TransportMultiSearchTemplateAction.java index b3573fbd0665..8df836e1cfe7 100644 --- a/modules/lang-mustache/src/main/java/org/elasticsearch/script/mustache/TransportMultiSearchTemplateAction.java +++ b/modules/lang-mustache/src/main/java/org/elasticsearch/script/mustache/TransportMultiSearchTemplateAction.java @@ -16,6 +16,7 @@ import org.elasticsearch.action.support.ActionFilters; import org.elasticsearch.action.support.HandledTransportAction; import org.elasticsearch.client.internal.node.NodeClient; import org.elasticsearch.common.inject.Inject; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.script.ScriptService; import org.elasticsearch.tasks.Task; import org.elasticsearch.transport.TransportService; @@ -44,7 +45,13 @@ public class TransportMultiSearchTemplateAction extends HandledTransportAction) Request::new); + super(NAME, transportService, actionFilters, (Writeable.Reader) Request::new, EsExecutors.DIRECT_EXECUTOR_SERVICE); this.painlessScriptEngine = painlessScriptEngine; } diff --git a/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/TransportRankEvalAction.java b/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/TransportRankEvalAction.java index 8bd47dfc941c..f543111f4a8d 100644 --- a/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/TransportRankEvalAction.java +++ b/modules/rank-eval/src/main/java/org/elasticsearch/index/rankeval/TransportRankEvalAction.java @@ -20,6 +20,7 @@ import org.elasticsearch.client.internal.Client; import org.elasticsearch.common.bytes.BytesArray; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.util.Maps; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.common.xcontent.LoggingDeprecationHandler; import org.elasticsearch.script.Script; import org.elasticsearch.script.ScriptService; @@ -69,7 +70,7 @@ public class TransportRankEvalAction extends HandledTransportAction new TestRequest()); + super(NAME, transportService, actionFilters, in -> new TestRequest(), EsExecutors.DIRECT_EXECUTOR_SERVICE); testPlugin = pluginsService.filterPlugins(TestPlugin.class).get(0); this.threadPool = threadPool; } diff --git a/server/src/main/java/org/elasticsearch/action/admin/cluster/coordination/MasterHistoryAction.java b/server/src/main/java/org/elasticsearch/action/admin/cluster/coordination/MasterHistoryAction.java index 71d4bc8b0fad..db7ad98a178a 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/cluster/coordination/MasterHistoryAction.java +++ b/server/src/main/java/org/elasticsearch/action/admin/cluster/coordination/MasterHistoryAction.java @@ -20,6 +20,7 @@ import org.elasticsearch.cluster.node.DiscoveryNode; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.tasks.Task; import org.elasticsearch.transport.TransportService; @@ -129,7 +130,7 @@ public class MasterHistoryAction extends ActionType ActionFilters actionFilters, IndexNameExpressionResolver indexNameExpressionResolver ) { - super(NAME, transportService, actionFilters, Request::new); + super(NAME, transportService, actionFilters, Request::new, EsExecutors.DIRECT_EXECUTOR_SERVICE); this.threadPool = threadPool; this.clusterService = clusterService; this.remoteClusterService = transportService.getRemoteClusterService(); diff --git a/server/src/main/java/org/elasticsearch/action/bulk/TransportSingleItemBulkWriteAction.java b/server/src/main/java/org/elasticsearch/action/bulk/TransportSingleItemBulkWriteAction.java index 804b9b6b701c..8853e2da3abc 100644 --- a/server/src/main/java/org/elasticsearch/action/bulk/TransportSingleItemBulkWriteAction.java +++ b/server/src/main/java/org/elasticsearch/action/bulk/TransportSingleItemBulkWriteAction.java @@ -17,6 +17,7 @@ import org.elasticsearch.action.support.WriteResponse; import org.elasticsearch.action.support.replication.ReplicatedWriteRequest; import org.elasticsearch.action.support.replication.ReplicationResponse; import org.elasticsearch.common.io.stream.Writeable; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.tasks.Task; import org.elasticsearch.transport.TransportService; @@ -38,7 +39,7 @@ public abstract class TransportSingleItemBulkWriteAction< Writeable.Reader requestReader, TransportBulkAction bulkAction ) { - super(actionName, transportService, actionFilters, requestReader); + super(actionName, transportService, actionFilters, requestReader, EsExecutors.DIRECT_EXECUTOR_SERVICE); this.bulkAction = bulkAction; } diff --git a/server/src/main/java/org/elasticsearch/action/get/TransportMultiGetAction.java b/server/src/main/java/org/elasticsearch/action/get/TransportMultiGetAction.java index 338d592d6625..e09554d0ec3e 100644 --- a/server/src/main/java/org/elasticsearch/action/get/TransportMultiGetAction.java +++ b/server/src/main/java/org/elasticsearch/action/get/TransportMultiGetAction.java @@ -20,6 +20,7 @@ import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver; import org.elasticsearch.cluster.service.ClusterService; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.util.concurrent.AtomicArray; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.index.shard.ShardId; import org.elasticsearch.indices.IndicesService; import org.elasticsearch.tasks.Task; @@ -44,7 +45,7 @@ public class TransportMultiGetAction extends HandledTransportAction) MultiSearchRequest::new); + super( + MultiSearchAction.NAME, + transportService, + actionFilters, + (Writeable.Reader) MultiSearchRequest::new, + EsExecutors.DIRECT_EXECUTOR_SERVICE + ); this.threadPool = threadPool; this.clusterService = clusterService; this.allocatedProcessors = EsExecutors.allocatedProcessors(settings); @@ -64,7 +70,13 @@ public class TransportMultiSearchAction extends HandledTransportAction) MultiSearchRequest::new); + super( + MultiSearchAction.NAME, + transportService, + actionFilters, + (Writeable.Reader) MultiSearchRequest::new, + EsExecutors.DIRECT_EXECUTOR_SERVICE + ); this.threadPool = threadPool; this.clusterService = clusterService; this.allocatedProcessors = allocatedProcessors; diff --git a/server/src/main/java/org/elasticsearch/action/search/TransportOpenPointInTimeAction.java b/server/src/main/java/org/elasticsearch/action/search/TransportOpenPointInTimeAction.java index eb854be99562..aeb71a3b03d8 100644 --- a/server/src/main/java/org/elasticsearch/action/search/TransportOpenPointInTimeAction.java +++ b/server/src/main/java/org/elasticsearch/action/search/TransportOpenPointInTimeAction.java @@ -62,7 +62,13 @@ public class TransportOpenPointInTimeAction extends HandledTransportAction) SearchRequest::new); + super( + SearchAction.NAME, + transportService, + actionFilters, + (Writeable.Reader) SearchRequest::new, + EsExecutors.DIRECT_EXECUTOR_SERVICE + ); this.threadPool = threadPool; this.circuitBreaker = circuitBreakerService.getBreaker(CircuitBreaker.REQUEST); this.searchPhaseController = searchPhaseController; diff --git a/server/src/main/java/org/elasticsearch/action/search/TransportSearchScrollAction.java b/server/src/main/java/org/elasticsearch/action/search/TransportSearchScrollAction.java index 8077a286a576..d097b10b7162 100644 --- a/server/src/main/java/org/elasticsearch/action/search/TransportSearchScrollAction.java +++ b/server/src/main/java/org/elasticsearch/action/search/TransportSearchScrollAction.java @@ -13,6 +13,7 @@ import org.elasticsearch.action.support.ActionFilters; import org.elasticsearch.action.support.HandledTransportAction; import org.elasticsearch.cluster.service.ClusterService; import org.elasticsearch.common.inject.Inject; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.tasks.Task; import org.elasticsearch.transport.TransportService; @@ -32,7 +33,7 @@ public class TransportSearchScrollAction extends HandledTransportAction extends TransportAction< Request, Response> { + /** + * @deprecated always specify an executor + */ + @Deprecated(forRemoval = true) protected HandledTransportAction( String actionName, TransportService transportService, @@ -44,6 +45,10 @@ public abstract class HandledTransportAction execute(task, request, new ChannelActionListener<>(channel)) + ); } - - class TransportHandler implements TransportRequestHandler { - @Override - public final void messageReceived(final Request request, final TransportChannel channel, Task task) { - // We already got the task created on the network layer - no need to create it again on the transport layer - execute(task, request, new ChannelActionListener<>(channel)); - } - } - } diff --git a/server/src/main/java/org/elasticsearch/action/support/ReservedStateAwareHandledTransportAction.java b/server/src/main/java/org/elasticsearch/action/support/ReservedStateAwareHandledTransportAction.java index 30d1947f1dc8..dfe950b3e32c 100644 --- a/server/src/main/java/org/elasticsearch/action/support/ReservedStateAwareHandledTransportAction.java +++ b/server/src/main/java/org/elasticsearch/action/support/ReservedStateAwareHandledTransportAction.java @@ -13,6 +13,7 @@ import org.elasticsearch.action.ActionRequest; import org.elasticsearch.action.ActionResponse; import org.elasticsearch.cluster.service.ClusterService; import org.elasticsearch.common.io.stream.Writeable; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.reservedstate.ActionWithReservedState; import org.elasticsearch.tasks.Task; import org.elasticsearch.transport.TransportService; @@ -34,7 +35,7 @@ public abstract class ReservedStateAwareHandledTransportAction requestReader ) { - super(actionName, transportService, actionFilters, requestReader); + super(actionName, transportService, actionFilters, requestReader, EsExecutors.DIRECT_EXECUTOR_SERVICE); this.clusterService = clusterService; } diff --git a/server/src/main/java/org/elasticsearch/action/support/broadcast/unpromotable/TransportBroadcastUnpromotableAction.java b/server/src/main/java/org/elasticsearch/action/support/broadcast/unpromotable/TransportBroadcastUnpromotableAction.java index 4b360a3e2f7d..a6cc9ca4f836 100644 --- a/server/src/main/java/org/elasticsearch/action/support/broadcast/unpromotable/TransportBroadcastUnpromotableAction.java +++ b/server/src/main/java/org/elasticsearch/action/support/broadcast/unpromotable/TransportBroadcastUnpromotableAction.java @@ -22,6 +22,7 @@ import org.elasticsearch.cluster.routing.ShardRouting; import org.elasticsearch.cluster.service.ClusterService; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.Writeable; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.core.Strings; import org.elasticsearch.tasks.Task; import org.elasticsearch.transport.TransportChannel; @@ -53,7 +54,7 @@ public abstract class TransportBroadcastUnpromotableAction requestReader, Executor executor ) { - super(actionName, transportService, actionFilters, requestReader); + super(actionName, transportService, actionFilters, requestReader, EsExecutors.DIRECT_EXECUTOR_SERVICE); this.clusterService = clusterService; this.shardStateAction = shardStateAction; this.transportService = transportService; diff --git a/server/src/main/java/org/elasticsearch/action/support/master/TransportMasterNodeAction.java b/server/src/main/java/org/elasticsearch/action/support/master/TransportMasterNodeAction.java index 41d817c22be8..71964d737e8d 100644 --- a/server/src/main/java/org/elasticsearch/action/support/master/TransportMasterNodeAction.java +++ b/server/src/main/java/org/elasticsearch/action/support/master/TransportMasterNodeAction.java @@ -27,6 +27,7 @@ import org.elasticsearch.cluster.node.DiscoveryNodes; import org.elasticsearch.cluster.service.ClusterService; import org.elasticsearch.cluster.service.MasterService; import org.elasticsearch.common.io.stream.Writeable; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.core.TimeValue; import org.elasticsearch.discovery.MasterNotDiscoveredException; import org.elasticsearch.gateway.GatewayService; @@ -104,7 +105,7 @@ public abstract class TransportMasterNodeAction response, Executor executor ) { - super(actionName, canTripCircuitBreaker, transportService, actionFilters, request); + super(actionName, canTripCircuitBreaker, transportService, actionFilters, request, EsExecutors.DIRECT_EXECUTOR_SERVICE); this.transportService = transportService; this.clusterService = clusterService; this.threadPool = threadPool; diff --git a/server/src/main/java/org/elasticsearch/action/support/replication/TransportBroadcastReplicationAction.java b/server/src/main/java/org/elasticsearch/action/support/replication/TransportBroadcastReplicationAction.java index 6eafd692e2b4..602d5dd620c9 100644 --- a/server/src/main/java/org/elasticsearch/action/support/replication/TransportBroadcastReplicationAction.java +++ b/server/src/main/java/org/elasticsearch/action/support/replication/TransportBroadcastReplicationAction.java @@ -26,6 +26,7 @@ import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver; import org.elasticsearch.cluster.routing.IndexRoutingTable; import org.elasticsearch.cluster.service.ClusterService; import org.elasticsearch.common.io.stream.Writeable; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.core.CheckedConsumer; import org.elasticsearch.index.shard.ShardId; import org.elasticsearch.tasks.Task; @@ -65,7 +66,7 @@ public abstract class TransportBroadcastReplicationAction< ActionType replicatedBroadcastShardAction, Executor executor ) { - super(name, transportService, actionFilters, requestReader); + super(name, transportService, actionFilters, requestReader, EsExecutors.DIRECT_EXECUTOR_SERVICE); this.client = client; this.replicatedBroadcastShardAction = replicatedBroadcastShardAction; this.clusterService = clusterService; diff --git a/server/src/main/java/org/elasticsearch/action/support/single/instance/TransportInstanceSingleOperationAction.java b/server/src/main/java/org/elasticsearch/action/support/single/instance/TransportInstanceSingleOperationAction.java index c526a2679306..4f637c4792cd 100644 --- a/server/src/main/java/org/elasticsearch/action/support/single/instance/TransportInstanceSingleOperationAction.java +++ b/server/src/main/java/org/elasticsearch/action/support/single/instance/TransportInstanceSingleOperationAction.java @@ -66,7 +66,7 @@ public abstract class TransportInstanceSingleOperationAction< IndexNameExpressionResolver indexNameExpressionResolver, Writeable.Reader request ) { - super(actionName, transportService, actionFilters, request); + super(actionName, transportService, actionFilters, request, EsExecutors.DIRECT_EXECUTOR_SERVICE); this.threadPool = threadPool; this.clusterService = clusterService; this.transportService = transportService; diff --git a/server/src/main/java/org/elasticsearch/action/synonyms/TransportDeleteSynonymRuleAction.java b/server/src/main/java/org/elasticsearch/action/synonyms/TransportDeleteSynonymRuleAction.java index 5b606176d580..68a6caa4b055 100644 --- a/server/src/main/java/org/elasticsearch/action/synonyms/TransportDeleteSynonymRuleAction.java +++ b/server/src/main/java/org/elasticsearch/action/synonyms/TransportDeleteSynonymRuleAction.java @@ -13,6 +13,7 @@ import org.elasticsearch.action.support.ActionFilters; import org.elasticsearch.action.support.HandledTransportAction; import org.elasticsearch.client.internal.Client; import org.elasticsearch.common.inject.Inject; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.synonyms.SynonymsManagementAPIService; import org.elasticsearch.tasks.Task; import org.elasticsearch.transport.TransportService; @@ -23,7 +24,13 @@ public class TransportDeleteSynonymRuleAction extends HandledTransportAction response, Executor executor ) { - super(actionName, true, transportService, actionFilters, request); + super(actionName, true, transportService, actionFilters, request, EsExecutors.DIRECT_EXECUTOR_SERVICE); this.transportService = transportService; this.clusterService = clusterService; this.threadPool = threadPool; diff --git a/x-pack/plugin/async-search/src/main/java/org/elasticsearch/xpack/search/TransportGetAsyncSearchAction.java b/x-pack/plugin/async-search/src/main/java/org/elasticsearch/xpack/search/TransportGetAsyncSearchAction.java index 54c1a97c85bd..d499c4a57ac1 100644 --- a/x-pack/plugin/async-search/src/main/java/org/elasticsearch/xpack/search/TransportGetAsyncSearchAction.java +++ b/x-pack/plugin/async-search/src/main/java/org/elasticsearch/xpack/search/TransportGetAsyncSearchAction.java @@ -43,7 +43,7 @@ public class TransportGetAsyncSearchAction extends HandledTransportAction( diff --git a/x-pack/plugin/async-search/src/main/java/org/elasticsearch/xpack/search/TransportSubmitAsyncSearchAction.java b/x-pack/plugin/async-search/src/main/java/org/elasticsearch/xpack/search/TransportSubmitAsyncSearchAction.java index 0c3c339adb8b..f6cf0bf6583b 100644 --- a/x-pack/plugin/async-search/src/main/java/org/elasticsearch/xpack/search/TransportSubmitAsyncSearchAction.java +++ b/x-pack/plugin/async-search/src/main/java/org/elasticsearch/xpack/search/TransportSubmitAsyncSearchAction.java @@ -20,6 +20,7 @@ import org.elasticsearch.common.UUIDs; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.io.stream.NamedWriteableRegistry; import org.elasticsearch.common.util.BigArrays; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.common.util.concurrent.ThreadContext; import org.elasticsearch.core.TimeValue; import org.elasticsearch.search.SearchService; @@ -62,7 +63,13 @@ public class TransportSubmitAsyncSearchAction extends HandledTransportAction searchService.aggReduceContextBuilder( diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/license/TransportGetFeatureUsageAction.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/license/TransportGetFeatureUsageAction.java index d57269b131e2..6be7e7305836 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/license/TransportGetFeatureUsageAction.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/license/TransportGetFeatureUsageAction.java @@ -12,6 +12,7 @@ import org.elasticsearch.action.ActionType; import org.elasticsearch.action.support.ActionFilters; import org.elasticsearch.action.support.HandledTransportAction; import org.elasticsearch.common.inject.Inject; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.tasks.Task; import org.elasticsearch.transport.TransportService; @@ -33,7 +34,7 @@ public class TransportGetFeatureUsageAction extends HandledTransportAction { public XPackInfoFeatureTransportAction(String name, TransportService transportService, ActionFilters actionFilters) { - super(name, transportService, actionFilters, XPackInfoRequest::new); + super(name, transportService, actionFilters, XPackInfoRequest::new, EsExecutors.DIRECT_EXECUTOR_SERVICE); } protected abstract String name(); diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/async/TransportDeleteAsyncResultAction.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/async/TransportDeleteAsyncResultAction.java index 24c370b87d7b..ac9645980c8f 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/async/TransportDeleteAsyncResultAction.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/async/TransportDeleteAsyncResultAction.java @@ -40,7 +40,13 @@ public class TransportDeleteAsyncResultAction extends HandledTransportAction store = new AsyncTaskIndexService<>( diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ssl/action/TransportGetCertificateInfoAction.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ssl/action/TransportGetCertificateInfoAction.java index 277efaae357e..90a6397e90b5 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ssl/action/TransportGetCertificateInfoAction.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ssl/action/TransportGetCertificateInfoAction.java @@ -10,6 +10,7 @@ import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.support.ActionFilters; import org.elasticsearch.action.support.HandledTransportAction; import org.elasticsearch.common.inject.Inject; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.tasks.Task; import org.elasticsearch.transport.TransportService; import org.elasticsearch.xpack.core.ssl.SSLService; @@ -27,7 +28,13 @@ public class TransportGetCertificateInfoAction extends HandledTransportAction< @Inject public TransportGetCertificateInfoAction(TransportService transportService, ActionFilters actionFilters, SSLService sslService) { - super(GetCertificateInfoAction.NAME, transportService, actionFilters, GetCertificateInfoAction.Request::new); + super( + GetCertificateInfoAction.NAME, + transportService, + actionFilters, + GetCertificateInfoAction.Request::new, + EsExecutors.DIRECT_EXECUTOR_SERVICE + ); this.sslService = sslService; } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/termsenum/action/TransportTermsEnumAction.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/termsenum/action/TransportTermsEnumAction.java index 1c09fcb746f4..a630358775d4 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/termsenum/action/TransportTermsEnumAction.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/termsenum/action/TransportTermsEnumAction.java @@ -118,7 +118,7 @@ public class TransportTermsEnumAction extends HandledTransportAction { @Inject public TransportAction(TransportService transportService, ActionFilters actionFilters, Coordinator coordinator) { - super(NAME, transportService, actionFilters, SearchRequest::new); + super(NAME, transportService, actionFilters, SearchRequest::new, EsExecutors.DIRECT_EXECUTOR_SERVICE); this.coordinator = coordinator; } diff --git a/x-pack/plugin/enrich/src/main/java/org/elasticsearch/xpack/enrich/action/InternalExecutePolicyAction.java b/x-pack/plugin/enrich/src/main/java/org/elasticsearch/xpack/enrich/action/InternalExecutePolicyAction.java index ef933e526961..ff2759244a2f 100644 --- a/x-pack/plugin/enrich/src/main/java/org/elasticsearch/xpack/enrich/action/InternalExecutePolicyAction.java +++ b/x-pack/plugin/enrich/src/main/java/org/elasticsearch/xpack/enrich/action/InternalExecutePolicyAction.java @@ -21,6 +21,7 @@ import org.elasticsearch.common.Randomness; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.tasks.Task; import org.elasticsearch.tasks.TaskAwareRequest; import org.elasticsearch.tasks.TaskCancelledException; @@ -116,7 +117,7 @@ public class InternalExecutePolicyAction extends ActionType { ClusterService clusterService, EnrichPolicyExecutor policyExecutor ) { - super(NAME, transportService, actionFilters, Request::new); + super(NAME, transportService, actionFilters, Request::new, EsExecutors.DIRECT_EXECUTOR_SERVICE); this.clusterService = clusterService; this.transportService = transportService; this.policyExecutor = policyExecutor; diff --git a/x-pack/plugin/ent-search/src/main/java/org/elasticsearch/xpack/application/analytics/action/TransportPostAnalyticsEventAction.java b/x-pack/plugin/ent-search/src/main/java/org/elasticsearch/xpack/application/analytics/action/TransportPostAnalyticsEventAction.java index 12762ec5131b..1e57ab91c116 100644 --- a/x-pack/plugin/ent-search/src/main/java/org/elasticsearch/xpack/application/analytics/action/TransportPostAnalyticsEventAction.java +++ b/x-pack/plugin/ent-search/src/main/java/org/elasticsearch/xpack/application/analytics/action/TransportPostAnalyticsEventAction.java @@ -11,6 +11,7 @@ import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.support.ActionFilters; import org.elasticsearch.action.support.HandledTransportAction; import org.elasticsearch.common.inject.Inject; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.tasks.Task; import org.elasticsearch.transport.TransportService; import org.elasticsearch.xpack.application.analytics.AnalyticsEventIngestService; @@ -32,7 +33,13 @@ public class TransportPostAnalyticsEventAction extends HandledTransportAction< ActionFilters actionFilters, AnalyticsEventIngestService eventEmitterService ) { - super(PostAnalyticsEventAction.NAME, transportService, actionFilters, PostAnalyticsEventAction.Request::new); + super( + PostAnalyticsEventAction.NAME, + transportService, + actionFilters, + PostAnalyticsEventAction.Request::new, + EsExecutors.DIRECT_EXECUTOR_SERVICE + ); this.eventEmitterService = eventEmitterService; } diff --git a/x-pack/plugin/ent-search/src/main/java/org/elasticsearch/xpack/application/rules/action/TransportDeleteQueryRulesetAction.java b/x-pack/plugin/ent-search/src/main/java/org/elasticsearch/xpack/application/rules/action/TransportDeleteQueryRulesetAction.java index 8d2cf521ab8b..f939d48d3ba7 100644 --- a/x-pack/plugin/ent-search/src/main/java/org/elasticsearch/xpack/application/rules/action/TransportDeleteQueryRulesetAction.java +++ b/x-pack/plugin/ent-search/src/main/java/org/elasticsearch/xpack/application/rules/action/TransportDeleteQueryRulesetAction.java @@ -14,6 +14,7 @@ import org.elasticsearch.action.support.master.AcknowledgedResponse; import org.elasticsearch.client.internal.Client; import org.elasticsearch.cluster.service.ClusterService; import org.elasticsearch.common.inject.Inject; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.tasks.Task; import org.elasticsearch.transport.TransportService; import org.elasticsearch.xpack.application.rules.QueryRulesIndexService; @@ -28,7 +29,13 @@ public class TransportDeleteQueryRulesetAction extends HandledTransportAction asynkTaskClass ) { - super(actionName, transportService, actionFilters, GetAsyncResultRequest::new); + super(actionName, transportService, actionFilters, GetAsyncResultRequest::new, EsExecutors.DIRECT_EXECUTOR_SERVICE); this.actionName = actionName; this.transportService = transportService; this.resultsService = createResultsService( diff --git a/x-pack/plugin/ql/src/main/java/org/elasticsearch/xpack/ql/plugin/AbstractTransportQlAsyncGetStatusAction.java b/x-pack/plugin/ql/src/main/java/org/elasticsearch/xpack/ql/plugin/AbstractTransportQlAsyncGetStatusAction.java index ecf161a96dd1..06d8c14692a0 100644 --- a/x-pack/plugin/ql/src/main/java/org/elasticsearch/xpack/ql/plugin/AbstractTransportQlAsyncGetStatusAction.java +++ b/x-pack/plugin/ql/src/main/java/org/elasticsearch/xpack/ql/plugin/AbstractTransportQlAsyncGetStatusAction.java @@ -54,7 +54,7 @@ public abstract class AbstractTransportQlAsyncGetStatusAction< BigArrays bigArrays, Class asyncTaskClass ) { - super(actionName, transportService, actionFilters, GetAsyncStatusRequest::new); + super(actionName, transportService, actionFilters, GetAsyncStatusRequest::new, EsExecutors.DIRECT_EXECUTOR_SERVICE); this.actionName = actionName; this.transportService = transportService; this.clusterService = clusterService; diff --git a/x-pack/plugin/searchable-snapshots/src/main/java/org/elasticsearch/xpack/searchablesnapshots/action/cache/FrozenCacheInfoAction.java b/x-pack/plugin/searchable-snapshots/src/main/java/org/elasticsearch/xpack/searchablesnapshots/action/cache/FrozenCacheInfoAction.java index ed504d51f6e5..eac2bd5644a9 100644 --- a/x-pack/plugin/searchable-snapshots/src/main/java/org/elasticsearch/xpack/searchablesnapshots/action/cache/FrozenCacheInfoAction.java +++ b/x-pack/plugin/searchable-snapshots/src/main/java/org/elasticsearch/xpack/searchablesnapshots/action/cache/FrozenCacheInfoAction.java @@ -18,6 +18,7 @@ import org.elasticsearch.action.support.HandledTransportAction; import org.elasticsearch.cluster.node.DiscoveryNode; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.io.stream.StreamInput; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.tasks.Task; import org.elasticsearch.transport.TransportRequestOptions; import org.elasticsearch.transport.TransportResponseHandler; @@ -65,7 +66,7 @@ public class FrozenCacheInfoAction extends ActionType { @Inject public TransportAction(TransportService transportService, ActionFilters actionFilters) { - super(NAME, transportService, actionFilters, FrozenCacheInfoAction.Request::new); + super(NAME, transportService, actionFilters, FrozenCacheInfoAction.Request::new, EsExecutors.DIRECT_EXECUTOR_SERVICE); this.transportService = transportService; } diff --git a/x-pack/plugin/searchable-snapshots/src/main/java/org/elasticsearch/xpack/searchablesnapshots/action/cache/FrozenCacheInfoNodeAction.java b/x-pack/plugin/searchable-snapshots/src/main/java/org/elasticsearch/xpack/searchablesnapshots/action/cache/FrozenCacheInfoNodeAction.java index fc1acb36892d..bb34940628d2 100644 --- a/x-pack/plugin/searchable-snapshots/src/main/java/org/elasticsearch/xpack/searchablesnapshots/action/cache/FrozenCacheInfoNodeAction.java +++ b/x-pack/plugin/searchable-snapshots/src/main/java/org/elasticsearch/xpack/searchablesnapshots/action/cache/FrozenCacheInfoNodeAction.java @@ -16,6 +16,7 @@ import org.elasticsearch.action.support.HandledTransportAction; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.settings.Settings; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.tasks.Task; import org.elasticsearch.transport.TransportService; @@ -52,7 +53,7 @@ public class FrozenCacheInfoNodeAction extends ActionType requestReader, final SecurityContext context ) { - super(actionName, transportService, actionFilters, requestReader); + super(actionName, transportService, actionFilters, requestReader, EsExecutors.DIRECT_EXECUTOR_SERVICE); this.securityContext = context; } diff --git a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/apikey/TransportCreateApiKeyAction.java b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/apikey/TransportCreateApiKeyAction.java index c9656d68e0dc..568e0fe5eb07 100644 --- a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/apikey/TransportCreateApiKeyAction.java +++ b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/apikey/TransportCreateApiKeyAction.java @@ -11,6 +11,7 @@ import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.support.ActionFilters; import org.elasticsearch.action.support.HandledTransportAction; import org.elasticsearch.common.inject.Inject; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.tasks.Task; import org.elasticsearch.transport.TransportService; import org.elasticsearch.xcontent.NamedXContentRegistry; @@ -42,7 +43,7 @@ public final class TransportCreateApiKeyAction extends HandledTransportAction) InvalidateApiKeyRequest::new + (Writeable.Reader) InvalidateApiKeyRequest::new, + EsExecutors.DIRECT_EXECUTOR_SERVICE ); this.apiKeyService = apiKeyService; this.securityContext = context; diff --git a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/apikey/TransportQueryApiKeyAction.java b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/apikey/TransportQueryApiKeyAction.java index 5d1de1857ecc..4077597a7ef1 100644 --- a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/apikey/TransportQueryApiKeyAction.java +++ b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/apikey/TransportQueryApiKeyAction.java @@ -12,6 +12,7 @@ import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.support.ActionFilters; import org.elasticsearch.action.support.HandledTransportAction; import org.elasticsearch.common.inject.Inject; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.sort.FieldSortBuilder; import org.elasticsearch.tasks.Task; @@ -41,7 +42,7 @@ public final class TransportQueryApiKeyAction extends HandledTransportAction) OpenIdConnectAuthenticateRequest::new + (Writeable.Reader) OpenIdConnectAuthenticateRequest::new, + EsExecutors.DIRECT_EXECUTOR_SERVICE ); this.threadPool = threadPool; this.authenticationService = authenticationService; diff --git a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/oidc/TransportOpenIdConnectLogoutAction.java b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/oidc/TransportOpenIdConnectLogoutAction.java index e1cd7da99b88..9c5db3a25558 100644 --- a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/oidc/TransportOpenIdConnectLogoutAction.java +++ b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/oidc/TransportOpenIdConnectLogoutAction.java @@ -18,6 +18,7 @@ import org.elasticsearch.action.support.HandledTransportAction; import org.elasticsearch.common.Strings; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.io.stream.Writeable; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.tasks.Task; import org.elasticsearch.transport.TransportService; import org.elasticsearch.xpack.core.security.action.oidc.OpenIdConnectLogoutAction; @@ -54,7 +55,8 @@ public class TransportOpenIdConnectLogoutAction extends HandledTransportAction) OpenIdConnectLogoutRequest::new + (Writeable.Reader) OpenIdConnectLogoutRequest::new, + EsExecutors.DIRECT_EXECUTOR_SERVICE ); this.realms = realms; this.tokenService = tokenService; diff --git a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/oidc/TransportOpenIdConnectPrepareAuthenticationAction.java b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/oidc/TransportOpenIdConnectPrepareAuthenticationAction.java index f92421dc662a..183ad9206924 100644 --- a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/oidc/TransportOpenIdConnectPrepareAuthenticationAction.java +++ b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/oidc/TransportOpenIdConnectPrepareAuthenticationAction.java @@ -13,6 +13,7 @@ import org.elasticsearch.action.support.ActionFilters; import org.elasticsearch.action.support.HandledTransportAction; import org.elasticsearch.common.Strings; import org.elasticsearch.common.inject.Inject; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.tasks.Task; import org.elasticsearch.transport.TransportService; import org.elasticsearch.xpack.core.security.action.oidc.OpenIdConnectPrepareAuthenticationAction; @@ -40,7 +41,8 @@ public class TransportOpenIdConnectPrepareAuthenticationAction extends HandledTr OpenIdConnectPrepareAuthenticationAction.NAME, transportService, actionFilters, - OpenIdConnectPrepareAuthenticationRequest::new + OpenIdConnectPrepareAuthenticationRequest::new, + EsExecutors.DIRECT_EXECUTOR_SERVICE ); this.realms = realms; } diff --git a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/privilege/TransportDeletePrivilegesAction.java b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/privilege/TransportDeletePrivilegesAction.java index 0e9bf37beadf..69366911f365 100644 --- a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/privilege/TransportDeletePrivilegesAction.java +++ b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/privilege/TransportDeletePrivilegesAction.java @@ -10,6 +10,7 @@ import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.support.ActionFilters; import org.elasticsearch.action.support.HandledTransportAction; import org.elasticsearch.common.inject.Inject; +import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.common.util.set.Sets; import org.elasticsearch.tasks.Task; import org.elasticsearch.transport.TransportService; @@ -34,7 +35,13 @@ public class TransportDeletePrivilegesAction extends HandledTransportAction request ) { - super(actionName, transportService, actionFilters, request); + super(actionName, transportService, actionFilters, request, EsExecutors.DIRECT_EXECUTOR_SERVICE); this.licenseState = licenseState; }