Module org.elasticsearch.server
Class TransportRecoveryAction
java.lang.Object
org.elasticsearch.action.support.TransportAction<RecoveryRequest,RecoveryResponse>
org.elasticsearch.action.support.HandledTransportAction<RecoveryRequest,RecoveryResponse>
org.elasticsearch.action.support.broadcast.node.TransportBroadcastByNodeAction<RecoveryRequest,RecoveryResponse,RecoveryState>
org.elasticsearch.action.admin.indices.recovery.TransportRecoveryAction
public class TransportRecoveryAction
extends TransportBroadcastByNodeAction<RecoveryRequest,RecoveryResponse,RecoveryState>
Transport action for shard recovery operation. This transport action does not actually
perform shard recovery, it only reports on recoveries (both active and complete).
-
Nested Class Summary
Nested classes/interfaces inherited from class org.elasticsearch.action.support.broadcast.node.TransportBroadcastByNodeAction
TransportBroadcastByNodeAction.EmptyResult, TransportBroadcastByNodeAction.NodeResponse, TransportBroadcastByNodeAction.ResponseFactory<Response,ShardOperationResult> -
Field Summary
Fields inherited from class org.elasticsearch.action.support.broadcast.node.TransportBroadcastByNodeAction
clusterService, indexNameExpressionResolver, transportServiceFields inherited from class org.elasticsearch.action.support.TransportAction
actionName, taskManager -
Constructor Summary
ConstructorsConstructorDescriptionTransportRecoveryAction(ClusterService clusterService, TransportService transportService, IndicesService indicesService, ActionFilters actionFilters, IndexNameExpressionResolver indexNameExpressionResolver, ProjectResolver projectResolver) -
Method Summary
Modifier and TypeMethodDescriptionprotected ClusterBlockExceptioncheckGlobalBlock(ClusterState state, RecoveryRequest request) Executes a global block check before polling the cluster state.protected ClusterBlockExceptioncheckRequestBlock(ClusterState state, RecoveryRequest request, String[] concreteIndices) Executes a global request-level check before polling the cluster state.getResponseFactory(RecoveryRequest request, ClusterState clusterState) Create a response factory based on the requst and the cluster state captured at the time the request was handled.protected RecoveryRequestDeserialize a request from an input streamprotected RecoveryStateDeserialize a shard-level result from an input streamprotected voidshardOperation(RecoveryRequest request, ShardRouting shardRouting, Task task, ActionListener<RecoveryState> listener) Executes the shard-level operation.protected ShardsIteratorshards(ClusterState state, RecoveryRequest request, String[] concreteIndices) Determines the shards on which this operation will be executed on.Methods inherited from class org.elasticsearch.action.support.broadcast.node.TransportBroadcastByNodeAction
doExecute, resolveConcreteIndexNamesMethods inherited from class org.elasticsearch.action.support.TransportAction
execute, executeDirect, localOnly
-
Constructor Details
-
TransportRecoveryAction
@Inject public TransportRecoveryAction(ClusterService clusterService, TransportService transportService, IndicesService indicesService, ActionFilters actionFilters, IndexNameExpressionResolver indexNameExpressionResolver, ProjectResolver projectResolver)
-
-
Method Details
-
readShardResult
Description copied from class:TransportBroadcastByNodeActionDeserialize a shard-level result from an input stream- Specified by:
readShardResultin classTransportBroadcastByNodeAction<RecoveryRequest,RecoveryResponse, RecoveryState> - Parameters:
in- input stream- Returns:
- a deserialized shard-level result
- Throws:
IOException
-
getResponseFactory
protected TransportBroadcastByNodeAction.ResponseFactory<RecoveryResponse,RecoveryState> getResponseFactory(RecoveryRequest request, ClusterState clusterState) Description copied from class:TransportBroadcastByNodeActionCreate a response factory based on the requst and the cluster state captured at the time the request was handled. Implementations must avoid capturing the full cluster state if possible.- Specified by:
getResponseFactoryin classTransportBroadcastByNodeAction<RecoveryRequest,RecoveryResponse, RecoveryState>
-
readRequestFrom
Description copied from class:TransportBroadcastByNodeActionDeserialize a request from an input stream- Specified by:
readRequestFromin classTransportBroadcastByNodeAction<RecoveryRequest,RecoveryResponse, RecoveryState> - Parameters:
in- input stream- Returns:
- a de-serialized request
- Throws:
IOException
-
shardOperation
protected void shardOperation(RecoveryRequest request, ShardRouting shardRouting, Task task, ActionListener<RecoveryState> listener) Description copied from class:TransportBroadcastByNodeActionExecutes the shard-level operation. This method is called once per shard serially on the receiving node. This method should not throw an exception, but pass the exception to the listener instead.- Specified by:
shardOperationin classTransportBroadcastByNodeAction<RecoveryRequest,RecoveryResponse, RecoveryState> - Parameters:
request- the node-level requestshardRouting- the shard on which to execute the operationtask- the task for this node-level requestlistener- the listener to notify with the result of the shard-level operation
-
shards
protected ShardsIterator shards(ClusterState state, RecoveryRequest request, String[] concreteIndices) Description copied from class:TransportBroadcastByNodeActionDetermines the shards on which this operation will be executed on. The operation is executed once per shard.- Specified by:
shardsin classTransportBroadcastByNodeAction<RecoveryRequest,RecoveryResponse, RecoveryState> - Parameters:
state- the cluster staterequest- the underlying requestconcreteIndices- the concrete indices on which to execute the operation- Returns:
- the shards on which to execute the operation
-
checkGlobalBlock
Description copied from class:TransportBroadcastByNodeActionExecutes a global block check before polling the cluster state.- Specified by:
checkGlobalBlockin classTransportBroadcastByNodeAction<RecoveryRequest,RecoveryResponse, RecoveryState> - Parameters:
state- the cluster staterequest- the underlying request- Returns:
- a non-null exception if the operation is blocked
-
checkRequestBlock
protected ClusterBlockException checkRequestBlock(ClusterState state, RecoveryRequest request, String[] concreteIndices) Description copied from class:TransportBroadcastByNodeActionExecutes a global request-level check before polling the cluster state.- Specified by:
checkRequestBlockin classTransportBroadcastByNodeAction<RecoveryRequest,RecoveryResponse, RecoveryState> - Parameters:
state- the cluster staterequest- the underlying requestconcreteIndices- the concrete indices on which to execute the operation- Returns:
- a non-null exception if the operation if blocked
-