Class TransportRecoveryAction
- java.lang.Object
-
- org.elasticsearch.common.component.AbstractComponent
-
- 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, indexNameExpressionResolver, taskManager, threadPool
-
Fields inherited from class org.elasticsearch.common.component.AbstractComponent
logger
-
-
Constructor Summary
Constructors Constructor Description TransportRecoveryAction(Settings settings, ThreadPool threadPool, ClusterService clusterService, TransportService transportService, IndicesService indicesService, ActionFilters actionFilters, IndexNameExpressionResolver indexNameExpressionResolver)
-
Method Summary
Modifier and Type Method Description protected ClusterBlockException
checkGlobalBlock(ClusterState state, RecoveryRequest request)
Executes a global block check before polling the cluster state.protected ClusterBlockException
checkRequestBlock(ClusterState state, RecoveryRequest request, java.lang.String[] concreteIndices)
Executes a global request-level check before polling the cluster state.protected RecoveryResponse
newResponse(RecoveryRequest request, int totalShards, int successfulShards, int failedShards, java.util.List<RecoveryState> responses, java.util.List<DefaultShardOperationFailedException> shardFailures, ClusterState clusterState)
Creates a new response to the underlying request.protected RecoveryRequest
readRequestFrom(StreamInput in)
Deserialize a request from an input streamprotected RecoveryState
readShardResult(StreamInput in)
Deserialize a shard-level result from an input streamprotected RecoveryState
shardOperation(RecoveryRequest request, ShardRouting shardRouting)
Executes the shard-level operation.protected ShardsIterator
shards(ClusterState state, RecoveryRequest request, java.lang.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, doExecute
-
Methods inherited from class org.elasticsearch.action.support.TransportAction
execute, execute, execute, execute
-
-
-
-
Constructor Detail
-
TransportRecoveryAction
@Inject public TransportRecoveryAction(Settings settings, ThreadPool threadPool, ClusterService clusterService, TransportService transportService, IndicesService indicesService, ActionFilters actionFilters, IndexNameExpressionResolver indexNameExpressionResolver)
-
-
Method Detail
-
readShardResult
protected RecoveryState readShardResult(StreamInput in) throws java.io.IOException
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:
java.io.IOException
-
newResponse
protected RecoveryResponse newResponse(RecoveryRequest request, int totalShards, int successfulShards, int failedShards, java.util.List<RecoveryState> responses, java.util.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
protected RecoveryRequest readRequestFrom(StreamInput in) throws java.io.IOException
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:
java.io.IOException
-
shardOperation
protected RecoveryState shardOperation(RecoveryRequest request, ShardRouting shardRouting)
Description copied from class:TransportBroadcastByNodeAction
Executes the shard-level operation. This method is called once per shard serially on the receiving node.- Specified by:
shardOperation
in classTransportBroadcastByNodeAction<RecoveryRequest,RecoveryResponse,RecoveryState>
- Parameters:
request
- the node-level requestshardRouting
- the shard on which to execute the operation- Returns:
- the result of the shard-level operation for the shard
-
shards
protected ShardsIterator shards(ClusterState state, RecoveryRequest request, java.lang.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
protected ClusterBlockException checkGlobalBlock(ClusterState state, RecoveryRequest request)
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, java.lang.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
-
-