Class TransportRecoveryAction
java.lang.Object
org.elasticsearch.action.support.TransportAction<Request,Response>
org.elasticsearch.action.support.HandledTransportAction<Request,Response>
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.AsyncAction, TransportBroadcastByNodeAction.EmptyResult, TransportBroadcastByNodeAction.NodeRequest
-
Field Summary
Fields inherited from class org.elasticsearch.action.support.TransportAction
actionName, localConnection, logger, taskManager
-
Constructor Summary
ConstructorDescriptionTransportRecoveryAction
(ClusterService clusterService, TransportService transportService, IndicesService indicesService, ActionFilters actionFilters, IndexNameExpressionResolver indexNameExpressionResolver) -
Method Summary
Modifier and TypeMethodDescriptionprotected ClusterBlockException
checkGlobalBlock
(ClusterState state, RecoveryRequest request) Executes a global block check before polling the cluster state.protected ClusterBlockException
checkRequestBlock
(ClusterState state, RecoveryRequest request, String[] concreteIndices) Executes a global request-level check before polling the cluster state.protected RecoveryResponse
newResponse
(RecoveryRequest request, int totalShards, int successfulShards, int failedShards, List<RecoveryState> responses, List<DefaultShardOperationFailedException> shardFailures, ClusterState clusterState) Creates a new response to the underlying request.protected RecoveryRequest
Deserialize a request from an input streamprotected RecoveryState
Deserialize a shard-level result from an input streamprotected void
shardOperation
(RecoveryRequest request, ShardRouting shardRouting, Task task, ActionListener<RecoveryState> listener) Executes the shard-level operation.protected ShardsIterator
shards
(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, resolveConcreteIndexNames
Methods inherited from class org.elasticsearch.action.support.TransportAction
execute, execute, execute
-
Constructor Details
-
TransportRecoveryAction
@Inject public TransportRecoveryAction(ClusterService clusterService, TransportService transportService, IndicesService indicesService, ActionFilters actionFilters, IndexNameExpressionResolver indexNameExpressionResolver)
-
-
Method Details
-
readShardResult
Description copied from class:TransportBroadcastByNodeAction
Deserialize a shard-level result from an input stream- Specified by:
readShardResult
in classTransportBroadcastByNodeAction<RecoveryRequest,
RecoveryResponse, RecoveryState> - Parameters:
in
- input stream- Returns:
- a deserialized shard-level result
- Throws:
IOException
-
newResponse
protected RecoveryResponse newResponse(RecoveryRequest request, int totalShards, int successfulShards, int failedShards, List<RecoveryState> responses, List<DefaultShardOperationFailedException> shardFailures, ClusterState clusterState) Description copied from class:TransportBroadcastByNodeAction
Creates a new response to the underlying request.- Specified by:
newResponse
in classTransportBroadcastByNodeAction<RecoveryRequest,
RecoveryResponse, RecoveryState> - Parameters:
request
- the underlying requesttotalShards
- the total number of shards considered for execution of the operationsuccessfulShards
- the total number of shards for which execution of the operation was successfulfailedShards
- the total number of shards for which execution of the operation failedresponses
- the per-node aggregated shard-level resultsshardFailures
- the exceptions corresponding to shard operation failuresclusterState
- the cluster state- Returns:
- the response
-
readRequestFrom
Description copied from class:TransportBroadcastByNodeAction
Deserialize a request from an input stream- Specified by:
readRequestFrom
in 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:TransportBroadcastByNodeAction
Executes 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:
shardOperation
in 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:TransportBroadcastByNodeAction
Determines the shards on which this operation will be executed on. The operation is executed once per shard.- Specified by:
shards
in 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:TransportBroadcastByNodeAction
Executes a global block check before polling the cluster state.- Specified by:
checkGlobalBlock
in 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:TransportBroadcastByNodeAction
Executes a global request-level check before polling the cluster state.- Specified by:
checkRequestBlock
in 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
-