/** * Get the combined statuses of sliced subtasks */ public BulkByScrollTask.Status getStatus() { return getStatus(Arrays.asList(new BulkByScrollTask.StatusOrException[results.length()])); }
/** * Get the combined statuses of slice subtasks, merged with the given list of statuses */ public BulkByScrollTask.Status getStatus(List<BulkByScrollTask.StatusOrException> statuses) { // We only have access to the statuses of requests that have finished so we return them if (statuses.size() != results.length()) { throw new IllegalArgumentException("Given number of statuses does not match amount of expected results"); } addResultsToList(statuses); return new BulkByScrollTask.Status(unmodifiableList(statuses), task.getReasonCancelled()); }
private void finishHim() { listener.onResponse(new MultiTermVectorsResponse( responses.toArray(new MultiTermVectorsItemResponse[responses.length()]))); } });
private void finishHim() { listener.onResponse(new BulkResponse(responses.toArray(new BulkItemResponse[responses.length()]), buildTookInMillis(startTimeNanos))); } });
private void finish() { listener.onResponse(new MultiSearchResponse(responses.toArray(new MultiSearchResponse.Item[responses.length()]))); } });
private void finishHim() { listener.onResponse(new MultiGetResponse(responses.toArray(new MultiGetItemResponse[responses.length()]))); } });
private void recordSliceCompletionAndRespondIfAllDone(ActionListener<BulkByScrollResponse> listener) { if (runningSubtasks.decrementAndGet() != 0) { return; } List<BulkByScrollResponse> responses = new ArrayList<>(results.length()); Exception exception = null; for (Result t : results.asList()) { if (t.response == null) { assert t.failure != null : "exception shouldn't be null if value is null"; if (exception == null) { exception = t.failure; } else { exception.addSuppressed(t.failure); } } else { assert t.failure == null : "exception should be null if response is not null"; responses.add(t.response); } } if (exception == null) { listener.onResponse(new BulkByScrollResponse(responses, task.getReasonCancelled())); } else { listener.onFailure(exception); } }
/** * Returns the number of expected results this class should collect */ final int getNumShards() { return results.length(); }
String scrollId = isScrollSearch ? TransportSearchHelper.buildScrollId(queryResults) : null; final SearchPhaseController.ReducedQueryPhase reducedQueryPhase = resultConsumer.reduce(); final boolean queryAndFetchOptimization = queryResults.length() == 1; final Runnable finishPhase = () -> moveToNextPhase(searchPhaseController, scrollId, reducedQueryPhase, queryAndFetchOptimization ?
static String buildScrollId(AtomicArray<? extends SearchPhaseResult> searchPhaseResults) throws IOException { try (RAMOutputStream out = new RAMOutputStream()) { out.writeString(searchPhaseResults.length() == 1 ? ParsedScrollId.QUERY_AND_FETCH_TYPE : ParsedScrollId.QUERY_THEN_FETCH_TYPE); out.writeVInt(searchPhaseResults.asList().size()); for (SearchPhaseResult searchPhaseResult : searchPhaseResults.asList()) { out.writeLong(searchPhaseResult.getRequestId()); SearchShardTarget searchShardTarget = searchPhaseResult.getSearchShardTarget(); if (searchShardTarget.getClusterAlias() != null) { out.writeString(RemoteClusterAware.buildRemoteIndexName(searchShardTarget.getClusterAlias(), searchShardTarget.getNodeId())); } else { out.writeString(searchShardTarget.getNodeId()); } } byte[] bytes = new byte[(int) out.getFilePointer()]; out.writeTo(bytes, 0); return Base64.getUrlEncoder().encodeToString(bytes); } }
final IntArrayList[] docIdsToLoad = searchPhaseController.fillDocIdsToLoad(queryResults.length(), scoreDocs); final ScoreDoc[] lastEmittedDocPerShard = searchPhaseController.getLastEmittedDocPerShard(reducedQueryPhase, queryResults.length()); final CountDown counter = new CountDown(docIdsToLoad.length); for (int i = 0; i < docIdsToLoad.length; i++) {
listener.onResponse(new MultiGetResponse(responses.toArray(new MultiGetItemResponse[responses.length()])));
listener.onResponse(new BulkResponse(responses.toArray(new BulkItemResponse[responses.length()]), buildTookInMillis(startTimeNanos))); return;
/** * Get the combined statuses of sliced subtasks */ public BulkByScrollTask.Status getStatus() { return getStatus(Arrays.asList(new BulkByScrollTask.StatusOrException[results.length()])); }
listener.onResponse(new MultiTermVectorsResponse(responses.toArray(new MultiTermVectorsItemResponse[responses.length()])));
/** * Get the combined statuses of slice subtasks, merged with the given list of statuses */ public BulkByScrollTask.Status getStatus(List<BulkByScrollTask.StatusOrException> statuses) { // We only have access to the statuses of requests that have finished so we return them if (statuses.size() != results.length()) { throw new IllegalArgumentException("Given number of statuses does not match amount of expected results"); } addResultsToList(statuses); return new BulkByScrollTask.Status(unmodifiableList(statuses), task.getReasonCancelled()); }
private void finishHim() { listener.onResponse(new MultiTermVectorsResponse( responses.toArray(new MultiTermVectorsItemResponse[responses.length()]))); } });
@Override public Status getStatus() { // We only have access to the statuses of requests that have finished so we return them List<StatusOrException> statuses = Arrays.asList(new StatusOrException[results.length()]); addResultsToList(statuses); return new Status(unmodifiableList(statuses), getReasonCancelled()); }
private void finish() { listener.onResponse(new MultiSearchResponse(responses.toArray(new MultiSearchResponse.Item[responses.length()]))); } });
private void finishHim() { listener.onResponse(new MultiTermVectorsResponse( responses.toArray(new MultiTermVectorsItemResponse[responses.length()]))); } });