@Override protected ClusterBlockException checkRequestBlock(ClusterState state, InternalRequest request) { if (request.concreteIndex() != null) { return super.checkRequestBlock(state, request); } return null; }
/** * Sets the index. */ @SuppressWarnings("unchecked") public final RequestBuilder setIndex(String index) { request.index(index); return (RequestBuilder) this; } }
@Override public ActionRequestValidationException validate() { return super.validateNonNullIndex(); }
protected TransportSingleShardAction(Settings settings, String actionName, ThreadPool threadPool, ClusterService clusterService, TransportService transportService, ActionFilters actionFilters, IndexNameExpressionResolver indexNameExpressionResolver, Supplier<Request> request, String executor) { super(settings, actionName, threadPool, actionFilters, indexNameExpressionResolver, transportService.getTaskManager()); this.clusterService = clusterService; this.transportService = transportService; this.transportShardAction = actionName + "[s]"; this.executor = executor; if (!isSubAction()) { transportService.registerRequestHandler(actionName, request, ThreadPool.Names.SAME, new TransportHandler()); } transportService.registerRequestHandler(transportShardAction, request, ThreadPool.Names.SAME, new ShardTransportHandler()); }
@Override public void readFrom(StreamInput in) throws IOException { super.readFrom(in); fields = in.readStringArray(); if (in.getVersion().onOrAfter(Version.V_6_2_0)) { originalIndices = OriginalIndices.readOriginalIndices(in); } else { originalIndices = OriginalIndices.NONE; } }
@Override protected void doExecute(Request request, ActionListener<Response> listener) { new AsyncSingleAction(request, listener).start(); }
@Override protected ClusterBlockException checkRequestBlock(ClusterState state, InternalRequest request) { return state.blocks().indexBlockedException(ClusterBlockLevel.METADATA_READ, request.concreteIndex()); } }
@Override public void writeTo(StreamOutput out) throws IOException { super.writeTo(out); out.writeStringArray(types); out.writeStringArray(fields); out.writeBoolean(includeDefaults); out.writeBoolean(probablySingleFieldRequest); OriginalIndices.writeOriginalIndices(originalIndices, out); }
} else if (request instanceof SingleShardRequest) { final SingleShardRequest<?> gr = (SingleShardRequest<?>) request; final String[] indices = gr.indices(); final String index = gr.index(); return false; ((SingleShardRequest) request).index(newIndices.length!=1?null:newIndices[0]); } else if (request instanceof IndexRequest) { String[] newIndices = provider.provide(((IndexRequest) request).indices(), request, true);
@Override protected void doExecute(ExplainRequest request, ActionListener<ExplainResponse> listener) { request.nowInMillis = System.currentTimeMillis(); super.doExecute(request, listener); }
@Override protected void doRun() throws Exception { listener.onResponse(shardOperation(request, shardId)); } });
protected void asyncShardOperation(Request request, ShardId shardId, ActionListener<Response> listener) throws IOException { threadPool.executor(getExecutor(request, shardId)).execute(new AbstractRunnable() { @Override public void onFailure(Exception e) { listener.onFailure(e); } @Override protected void doRun() throws Exception { listener.onResponse(shardOperation(request, shardId)); } }); }
@Override public void readFrom(StreamInput in) throws IOException { super.readFrom(in); types = in.readStringArray(); fields = in.readStringArray(); includeDefaults = in.readBoolean(); probablySingleFieldRequest = in.readBoolean(); originalIndices = OriginalIndices.readOriginalIndices(in); }
@Override protected ClusterBlockException checkRequestBlock(ClusterState state, InternalRequest request) { return state.blocks().indexBlockedException(ClusterBlockLevel.METADATA_READ, request.concreteIndex()); }
@Override public void writeTo(StreamOutput out) throws IOException { super.writeTo(out); out.writeString(type); out.writeString(id); out.writeOptionalString(routing); out.writeOptionalString(preference); out.writeNamedWriteable(query); filteringAlias.writeTo(out); out.writeOptionalStringArray(storedFields); out.writeOptionalWriteable(fetchSourceContext); out.writeVLong(nowInMillis); }
@Override public ActionRequestValidationException validate() { return super.validateNonNullIndex(); }
@Override public void readFrom(StreamInput in) throws IOException { super.readFrom(in); type = in.readString(); id = in.readString(); routing = in.readOptionalString(); preference = in.readOptionalString(); query = in.readNamedWriteable(QueryBuilder.class); filteringAlias = new AliasFilter(in); storedFields = in.readOptionalStringArray(); fetchSourceContext = in.readOptionalWriteable(FetchSourceContext::new); nowInMillis = in.readVLong(); }
protected ClusterBlockException checkRequestBlock(ClusterState state, InternalRequest request) { return state.blocks().indexBlockedException(ClusterBlockLevel.READ, request.concreteIndex()); }
@Override public ActionRequestValidationException validate() { ActionRequestValidationException validationException = super.validateNonNullIndex(); if (type == null) { validationException = ValidateActions.addValidationError("type is missing", validationException); } if (id == null && doc == null) { validationException = ValidateActions.addValidationError("id or doc is missing", validationException); } return validationException; }
@Override public ActionRequestValidationException validate() { ActionRequestValidationException validationException = super.validateNonNullIndex(); if (Strings.isEmpty(type)) { validationException = addValidationError("type is missing", validationException); } if (Strings.isEmpty(id)) { validationException = addValidationError("id is missing", validationException); } if (query == null) { validationException = ValidateActions.addValidationError("query is missing", validationException); } return validationException; }