org.elasticsearch.action.support.replication
Class TransportIndexReplicationOperationAction<Request extends IndexReplicationOperationRequest,Response extends ActionResponse,ShardRequest extends ShardReplicationOperationRequest,ShardResponse extends ActionResponse>

java.lang.Object
  extended by org.elasticsearch.common.component.AbstractComponent
      extended by org.elasticsearch.action.support.BaseAction<Request,Response>
          extended by org.elasticsearch.action.support.replication.TransportIndexReplicationOperationAction<Request,Response,ShardRequest,ShardResponse>
All Implemented Interfaces:
Action<Request,Response>
Direct Known Subclasses:
TransportIndexDeleteAction, TransportIndexDeleteByQueryAction, TransportIndexReplicationPingAction

public abstract class TransportIndexReplicationOperationAction<Request extends IndexReplicationOperationRequest,Response extends ActionResponse,ShardRequest extends ShardReplicationOperationRequest,ShardResponse extends ActionResponse>
extends BaseAction<Request,Response>


Field Summary
protected  ClusterService clusterService
           
protected  TransportShardReplicationOperationAction<ShardRequest,ShardResponse> shardAction
           
protected  ThreadPool threadPool
           
 
Fields inherited from class org.elasticsearch.common.component.AbstractComponent
componentSettings, logger, settings
 
Constructor Summary
TransportIndexReplicationOperationAction(Settings settings, TransportService transportService, ClusterService clusterService, ThreadPool threadPool, TransportShardReplicationOperationAction<ShardRequest,ShardResponse> shardAction)
           
 
Method Summary
protected abstract  boolean accumulateExceptions()
           
protected  void checkBlock(Request request, ClusterState state)
           
protected  void doExecute(Request request, ActionListener<Response> listener)
           
protected abstract  Request newRequestInstance()
           
protected abstract  Response newResponseInstance(Request request, java.util.concurrent.atomic.AtomicReferenceArray shardsResponses)
           
protected abstract  ShardRequest newShardRequestInstance(Request request, int shardId)
           
protected abstract  GroupShardsIterator shards(Request request)
           
protected abstract  java.lang.String transportAction()
           
 
Methods inherited from class org.elasticsearch.action.support.BaseAction
execute, execute
 
Methods inherited from class org.elasticsearch.common.component.AbstractComponent
nodeName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

threadPool

protected final ThreadPool threadPool

clusterService

protected final ClusterService clusterService

shardAction

protected final TransportShardReplicationOperationAction<ShardRequest extends ShardReplicationOperationRequest,ShardResponse extends ActionResponse> shardAction
Constructor Detail

TransportIndexReplicationOperationAction

@Inject
public TransportIndexReplicationOperationAction(Settings settings,
                                                       TransportService transportService,
                                                       ClusterService clusterService,
                                                       ThreadPool threadPool,
                                                       TransportShardReplicationOperationAction<ShardRequest,ShardResponse> shardAction)
Method Detail

doExecute

protected void doExecute(Request request,
                         ActionListener<Response> listener)
Specified by:
doExecute in class BaseAction<Request extends IndexReplicationOperationRequest,Response extends ActionResponse>

newRequestInstance

protected abstract Request newRequestInstance()

newResponseInstance

protected abstract Response newResponseInstance(Request request,
                                                java.util.concurrent.atomic.AtomicReferenceArray shardsResponses)

transportAction

protected abstract java.lang.String transportAction()

shards

protected abstract GroupShardsIterator shards(Request request)
                                       throws ElasticSearchException
Throws:
ElasticSearchException

newShardRequestInstance

protected abstract ShardRequest newShardRequestInstance(Request request,
                                                        int shardId)

accumulateExceptions

protected abstract boolean accumulateExceptions()

checkBlock

protected void checkBlock(Request request,
                          ClusterState state)