diff --git a/buildSrc/src/main/resources/checkstyle_suppressions.xml b/buildSrc/src/main/resources/checkstyle_suppressions.xml
index 9a550740fde..3e002803213 100644
--- a/buildSrc/src/main/resources/checkstyle_suppressions.xml
+++ b/buildSrc/src/main/resources/checkstyle_suppressions.xml
@@ -127,6 +127,7 @@
+
diff --git a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractAsyncBulkByScrollAction.java b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/AbstractAsyncBulkByScrollAction.java
similarity index 98%
rename from modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractAsyncBulkByScrollAction.java
rename to core/src/main/java/org/elasticsearch/action/bulk/byscroll/AbstractAsyncBulkByScrollAction.java
index 2a23823c858..3ba07ea5538 100644
--- a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractAsyncBulkByScrollAction.java
+++ b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/AbstractAsyncBulkByScrollAction.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
import org.apache.logging.log4j.Logger;
import org.elasticsearch.action.ActionListener;
@@ -31,7 +31,7 @@ import org.elasticsearch.action.bulk.BulkItemResponse.Failure;
import org.elasticsearch.action.bulk.BulkRequest;
import org.elasticsearch.action.bulk.BulkResponse;
import org.elasticsearch.action.bulk.Retry;
-import org.elasticsearch.index.reindex.ScrollableHitSource.SearchFailure;
+import org.elasticsearch.action.bulk.byscroll.ScrollableHitSource.SearchFailure;
import org.elasticsearch.action.delete.DeleteRequest;
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.client.ParentTaskAssigningClient;
@@ -77,7 +77,7 @@ import static java.lang.Math.min;
import static java.util.Collections.emptyList;
import static java.util.Collections.unmodifiableList;
import static org.elasticsearch.action.bulk.BackoffPolicy.exponentialBackoff;
-import static org.elasticsearch.index.reindex.AbstractBulkByScrollRequest.SIZE_ALL_MATCHES;
+import static org.elasticsearch.action.bulk.byscroll.AbstractBulkByScrollRequest.SIZE_ALL_MATCHES;
import static org.elasticsearch.common.unit.TimeValue.timeValueNanos;
import static org.elasticsearch.rest.RestStatus.CONFLICT;
import static org.elasticsearch.search.sort.SortBuilders.fieldSort;
@@ -116,8 +116,8 @@ public abstract class AbstractAsyncBulkByScrollAction, ScrollableHitSource.Hit, RequestWrapper>> scriptApplier;
public AbstractAsyncBulkByScrollAction(WorkingBulkByScrollTask task, Logger logger, ParentTaskAssigningClient client,
- ThreadPool threadPool, Request mainRequest, ScriptService scriptService,
- ClusterState clusterState, ActionListener listener) {
+ ThreadPool threadPool, Request mainRequest, ScriptService scriptService, ClusterState clusterState,
+ ActionListener listener) {
this(task, logger, client, threadPool, mainRequest, scriptService, clusterState, listener, client.settings());
}
@@ -741,7 +741,7 @@ public abstract class AbstractAsyncBulkByScrollAction wrap(DeleteRequest request) {
+ static RequestWrapper wrap(DeleteRequest request) {
return new DeleteRequestWrapper(request);
}
diff --git a/core/src/main/java/org/elasticsearch/index/reindex/AbstractBulkByScrollRequest.java b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/AbstractBulkByScrollRequest.java
similarity index 99%
rename from core/src/main/java/org/elasticsearch/index/reindex/AbstractBulkByScrollRequest.java
rename to core/src/main/java/org/elasticsearch/action/bulk/byscroll/AbstractBulkByScrollRequest.java
index a582248af11..44580875011 100644
--- a/core/src/main/java/org/elasticsearch/index/reindex/AbstractBulkByScrollRequest.java
+++ b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/AbstractBulkByScrollRequest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
import org.elasticsearch.Version;
import org.elasticsearch.action.ActionRequest;
@@ -355,7 +355,7 @@ public abstract class AbstractBulkByScrollRequest {
public AsyncDeleteByQueryAction(WorkingBulkByScrollTask task, Logger logger, ParentTaskAssigningClient client,
- ThreadPool threadPool, DeleteByQueryRequest request, ScriptService scriptService,
- ClusterState clusterState, ActionListener listener) {
+ ThreadPool threadPool, DeleteByQueryRequest request, ScriptService scriptService, ClusterState clusterState,
+ ActionListener listener) {
super(task, logger, client, threadPool, request, scriptService, clusterState, listener);
}
diff --git a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/BulkByScrollParallelizationHelper.java b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollParallelizationHelper.java
similarity index 88%
rename from modules/reindex/src/main/java/org/elasticsearch/index/reindex/BulkByScrollParallelizationHelper.java
rename to core/src/main/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollParallelizationHelper.java
index 48f10306454..f2bd62c2335 100644
--- a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/BulkByScrollParallelizationHelper.java
+++ b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollParallelizationHelper.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
import org.elasticsearch.action.Action;
import org.elasticsearch.action.ActionListener;
@@ -32,13 +32,13 @@ import org.elasticsearch.tasks.TaskManager;
/**
* Helps parallelize reindex requests using sliced scrolls.
*/
-class BulkByScrollParallelizationHelper {
+public class BulkByScrollParallelizationHelper {
private BulkByScrollParallelizationHelper() {}
- public static > void startSlices(Client client, TaskManager taskManager,
- Action action,
- String localNodeId, ParentBulkByScrollTask task, Request request,
- ActionListener listener) {
+ public static <
+ Request extends AbstractBulkByScrollRequest
+ > void startSlices(Client client, TaskManager taskManager, Action action,
+ String localNodeId, ParentBulkByScrollTask task, Request request, ActionListener listener) {
TaskId parentTaskId = new TaskId(localNodeId, task.getId());
for (final SearchRequest slice : sliceIntoSubRequests(request.getSearchRequest(), UidFieldMapper.NAME, request.getSlices())) {
// TODO move the request to the correct node. maybe here or somehow do it as part of startup for reindex in general....
diff --git a/core/src/main/java/org/elasticsearch/index/reindex/BulkByScrollResponse.java b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollResponse.java
similarity index 93%
rename from core/src/main/java/org/elasticsearch/index/reindex/BulkByScrollResponse.java
rename to core/src/main/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollResponse.java
index 400baf7b9e2..20f2cf2ed06 100644
--- a/core/src/main/java/org/elasticsearch/index/reindex/BulkByScrollResponse.java
+++ b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollResponse.java
@@ -17,10 +17,11 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
import org.elasticsearch.action.ActionResponse;
import org.elasticsearch.action.bulk.BulkItemResponse.Failure;
+import org.elasticsearch.action.bulk.byscroll.ScrollableHitSource.SearchFailure;
import org.elasticsearch.common.Nullable;
import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
@@ -44,14 +45,14 @@ public class BulkByScrollResponse extends ActionResponse implements ToXContent {
private TimeValue took;
private BulkByScrollTask.Status status;
private List bulkFailures;
- private List searchFailures;
+ private List searchFailures;
private boolean timedOut;
public BulkByScrollResponse() {
}
public BulkByScrollResponse(TimeValue took, BulkByScrollTask.Status status, List bulkFailures,
- List searchFailures, boolean timedOut) {
+ List searchFailures, boolean timedOut) {
this.took = took;
this.status = requireNonNull(status, "Null status not supported");
this.bulkFailures = bulkFailures;
@@ -138,7 +139,7 @@ public class BulkByScrollResponse extends ActionResponse implements ToXContent {
/**
* All search failures.
*/
- public List getSearchFailures() {
+ public List getSearchFailures() {
return searchFailures;
}
@@ -165,7 +166,7 @@ public class BulkByScrollResponse extends ActionResponse implements ToXContent {
took = new TimeValue(in);
status = new BulkByScrollTask.Status(in);
bulkFailures = in.readList(Failure::new);
- searchFailures = in.readList(ScrollableHitSource.SearchFailure::new);
+ searchFailures = in.readList(SearchFailure::new);
timedOut = in.readBoolean();
}
@@ -180,7 +181,7 @@ public class BulkByScrollResponse extends ActionResponse implements ToXContent {
failure.toXContent(builder, params);
builder.endObject();
}
- for (ScrollableHitSource.SearchFailure failure: searchFailures) {
+ for (SearchFailure failure: searchFailures) {
failure.toXContent(builder, params);
}
builder.endArray();
@@ -198,4 +199,4 @@ public class BulkByScrollResponse extends ActionResponse implements ToXContent {
builder.append(",search_failures=").append(getSearchFailures().subList(0, min(3, getSearchFailures().size())));
return builder.append(']').toString();
}
-}
+}
\ No newline at end of file
diff --git a/core/src/main/java/org/elasticsearch/index/reindex/BulkByScrollTask.java b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollTask.java
similarity index 99%
rename from core/src/main/java/org/elasticsearch/index/reindex/BulkByScrollTask.java
rename to core/src/main/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollTask.java
index 18c6dac9206..7c9124057b3 100644
--- a/core/src/main/java/org/elasticsearch/index/reindex/BulkByScrollTask.java
+++ b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollTask.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
import org.elasticsearch.ElasticsearchException;
import org.elasticsearch.Version;
diff --git a/core/src/main/java/org/elasticsearch/index/reindex/ClientScrollableHitSource.java b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/ClientScrollableHitSource.java
similarity index 99%
rename from core/src/main/java/org/elasticsearch/index/reindex/ClientScrollableHitSource.java
rename to core/src/main/java/org/elasticsearch/action/bulk/byscroll/ClientScrollableHitSource.java
index 2f6775a1eae..3bacc187ebb 100644
--- a/core/src/main/java/org/elasticsearch/index/reindex/ClientScrollableHitSource.java
+++ b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/ClientScrollableHitSource.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.message.ParameterizedMessage;
diff --git a/core/src/main/java/org/elasticsearch/index/reindex/DeleteByQueryRequest.java b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/DeleteByQueryRequest.java
similarity index 97%
rename from core/src/main/java/org/elasticsearch/index/reindex/DeleteByQueryRequest.java
rename to core/src/main/java/org/elasticsearch/action/bulk/byscroll/DeleteByQueryRequest.java
index ad70748f3e4..2644d0d9496 100644
--- a/core/src/main/java/org/elasticsearch/index/reindex/DeleteByQueryRequest.java
+++ b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/DeleteByQueryRequest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
import org.elasticsearch.action.ActionRequestValidationException;
import org.elasticsearch.action.IndicesRequest;
@@ -81,7 +81,7 @@ public class DeleteByQueryRequest extends AbstractBulkByScrollRequest listener, int sliceId, Exception e) {
+ void onSliceFailure(ActionListener listener, int sliceId, Exception e) {
results.setOnce(sliceId, new Result(sliceId, e));
recordSliceCompletionAndRespondIfAllDone(listener);
// TODO cancel when a slice fails?
diff --git a/core/src/main/java/org/elasticsearch/index/reindex/ScrollableHitSource.java b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/ScrollableHitSource.java
similarity index 99%
rename from core/src/main/java/org/elasticsearch/index/reindex/ScrollableHitSource.java
rename to core/src/main/java/org/elasticsearch/action/bulk/byscroll/ScrollableHitSource.java
index 3d1eb582db8..6426bad592f 100644
--- a/core/src/main/java/org/elasticsearch/index/reindex/ScrollableHitSource.java
+++ b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/ScrollableHitSource.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
import org.apache.logging.log4j.Logger;
import org.elasticsearch.ElasticsearchException;
@@ -111,7 +111,7 @@ public abstract class ScrollableHitSource {
/**
* Set the id of the last scroll. Used for debugging.
*/
- public final void setScroll(String scrollId) {
+ final void setScroll(String scrollId) {
this.scrollId.set(scrollId);
}
diff --git a/core/src/main/java/org/elasticsearch/index/reindex/SuccessfullyProcessed.java b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/SuccessfullyProcessed.java
similarity index 96%
rename from core/src/main/java/org/elasticsearch/index/reindex/SuccessfullyProcessed.java
rename to core/src/main/java/org/elasticsearch/action/bulk/byscroll/SuccessfullyProcessed.java
index 6547984900e..a0176e35202 100644
--- a/core/src/main/java/org/elasticsearch/index/reindex/SuccessfullyProcessed.java
+++ b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/SuccessfullyProcessed.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
/**
* Implemented by {@link BulkByScrollTask} and {@link BulkByScrollTask.Status} to consistently implement
diff --git a/core/src/main/java/org/elasticsearch/index/reindex/WorkingBulkByScrollTask.java b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/WorkingBulkByScrollTask.java
similarity index 95%
rename from core/src/main/java/org/elasticsearch/index/reindex/WorkingBulkByScrollTask.java
rename to core/src/main/java/org/elasticsearch/action/bulk/byscroll/WorkingBulkByScrollTask.java
index acb1c0e5547..28f08417abb 100644
--- a/core/src/main/java/org/elasticsearch/index/reindex/WorkingBulkByScrollTask.java
+++ b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/WorkingBulkByScrollTask.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
import org.apache.logging.log4j.Logger;
import org.elasticsearch.common.logging.ESLoggerFactory;
@@ -115,15 +115,15 @@ public class WorkingBulkByScrollTask extends BulkByScrollTask implements Success
return timeValueNanos(max(0, delayed.future.getDelay(TimeUnit.NANOSECONDS)));
}
- public void setTotal(long totalHits) {
+ void setTotal(long totalHits) {
total.set(totalHits);
}
- public void countBatch() {
+ void countBatch() {
batch.incrementAndGet();
}
- public void countNoop() {
+ void countNoop() {
noops.incrementAndGet();
}
@@ -132,7 +132,7 @@ public class WorkingBulkByScrollTask extends BulkByScrollTask implements Success
return created.get();
}
- public void countCreated() {
+ void countCreated() {
created.incrementAndGet();
}
@@ -141,7 +141,7 @@ public class WorkingBulkByScrollTask extends BulkByScrollTask implements Success
return updated.get();
}
- public void countUpdated() {
+ void countUpdated() {
updated.incrementAndGet();
}
@@ -150,15 +150,15 @@ public class WorkingBulkByScrollTask extends BulkByScrollTask implements Success
return deleted.get();
}
- public void countDeleted() {
+ void countDeleted() {
deleted.incrementAndGet();
}
- public void countVersionConflict() {
+ void countVersionConflict() {
versionConflicts.incrementAndGet();
}
- public void countBulkRetry() {
+ void countBulkRetry() {
bulkRetries.incrementAndGet();
}
@@ -174,8 +174,8 @@ public class WorkingBulkByScrollTask extends BulkByScrollTask implements Success
* Schedule prepareBulkRequestRunnable to run after some delay. This is where throttling plugs into reindexing so the request can be
* rescheduled over and over again.
*/
- public void delayPrepareBulkRequest(ThreadPool threadPool, TimeValue lastBatchStartTime, int lastBatchSize,
- AbstractRunnable prepareBulkRequestRunnable) {
+ void delayPrepareBulkRequest(ThreadPool threadPool, TimeValue lastBatchStartTime, int lastBatchSize,
+ AbstractRunnable prepareBulkRequestRunnable) {
// Synchronize so we are less likely to schedule the same request twice.
synchronized (delayedPrepareBulkRequestReference) {
TimeValue delay = throttleWaitTime(lastBatchStartTime, timeValueNanos(System.nanoTime()), lastBatchSize);
@@ -184,7 +184,7 @@ public class WorkingBulkByScrollTask extends BulkByScrollTask implements Success
}
}
- public TimeValue throttleWaitTime(TimeValue lastBatchStartTime, TimeValue now, int lastBatchSize) {
+ TimeValue throttleWaitTime(TimeValue lastBatchStartTime, TimeValue now, int lastBatchSize) {
long earliestNextBatchStartTime = now.nanos() + (long) perfectlyThrottledBatchTime(lastBatchSize);
return timeValueNanos(max(0, earliestNextBatchStartTime - System.nanoTime()));
}
diff --git a/core/src/main/java/org/elasticsearch/index/reindex/package-info.java b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/package-info.java
similarity index 87%
rename from core/src/main/java/org/elasticsearch/index/reindex/package-info.java
rename to core/src/main/java/org/elasticsearch/action/bulk/byscroll/package-info.java
index 00cb5106770..3a31ea2f654 100644
--- a/core/src/main/java/org/elasticsearch/index/reindex/package-info.java
+++ b/core/src/main/java/org/elasticsearch/action/bulk/byscroll/package-info.java
@@ -18,7 +18,6 @@
*/
/**
- * Infrastructure for actions that modify documents based on the results of a scrolling query
- * like reindex, update by query or delete by query.
+ * Infrastructure for actions that modify documents based on the results of a scrolling query.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
diff --git a/modules/reindex/src/test/java/org/elasticsearch/index/reindex/AsyncBulkByScrollActionTests.java b/core/src/test/java/org/elasticsearch/action/bulk/byscroll/AsyncBulkByScrollActionTests.java
similarity index 99%
rename from modules/reindex/src/test/java/org/elasticsearch/index/reindex/AsyncBulkByScrollActionTests.java
rename to core/src/test/java/org/elasticsearch/action/bulk/byscroll/AsyncBulkByScrollActionTests.java
index 5c437da3464..fa42573e439 100644
--- a/modules/reindex/src/test/java/org/elasticsearch/index/reindex/AsyncBulkByScrollActionTests.java
+++ b/core/src/test/java/org/elasticsearch/action/bulk/byscroll/AsyncBulkByScrollActionTests.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
import org.elasticsearch.ElasticsearchException;
import org.elasticsearch.ExceptionsHelper;
@@ -36,8 +36,8 @@ import org.elasticsearch.action.bulk.BulkItemResponse;
import org.elasticsearch.action.bulk.BulkItemResponse.Failure;
import org.elasticsearch.action.bulk.BulkRequest;
import org.elasticsearch.action.bulk.BulkResponse;
-import org.elasticsearch.index.reindex.ScrollableHitSource.Hit;
-import org.elasticsearch.index.reindex.ScrollableHitSource.SearchFailure;
+import org.elasticsearch.action.bulk.byscroll.ScrollableHitSource.Hit;
+import org.elasticsearch.action.bulk.byscroll.ScrollableHitSource.SearchFailure;
import org.elasticsearch.action.delete.DeleteRequest;
import org.elasticsearch.action.delete.DeleteResponse;
import org.elasticsearch.action.index.IndexRequest;
@@ -696,7 +696,7 @@ public class AsyncBulkByScrollActionTests extends ESTestCase {
}
@Override
- public DummyAbstractBulkByScrollRequest forSlice(TaskId slicingTask, SearchRequest slice) {
+ protected DummyAbstractBulkByScrollRequest forSlice(TaskId slicingTask, SearchRequest slice) {
throw new UnsupportedOperationException();
}
diff --git a/modules/reindex/src/test/java/org/elasticsearch/index/reindex/BulkByScrollParallelizationHelperTests.java b/core/src/test/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollParallelizationHelperTests.java
similarity index 94%
rename from modules/reindex/src/test/java/org/elasticsearch/index/reindex/BulkByScrollParallelizationHelperTests.java
rename to core/src/test/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollParallelizationHelperTests.java
index a64415d08b1..498c6bf5286 100644
--- a/modules/reindex/src/test/java/org/elasticsearch/index/reindex/BulkByScrollParallelizationHelperTests.java
+++ b/core/src/test/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollParallelizationHelperTests.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.index.mapper.IdFieldMapper;
@@ -27,7 +27,7 @@ import org.elasticsearch.test.ESTestCase;
import java.io.IOException;
import static java.util.Collections.emptyList;
-import static org.elasticsearch.index.reindex.BulkByScrollParallelizationHelper.sliceIntoSubRequests;
+import static org.elasticsearch.action.bulk.byscroll.BulkByScrollParallelizationHelper.sliceIntoSubRequests;
import static org.elasticsearch.search.RandomSearchRequestGenerator.randomSearchRequest;
import static org.elasticsearch.search.RandomSearchRequestGenerator.randomSearchSourceBuilder;
diff --git a/core/src/test/java/org/elasticsearch/index/reindex/BulkByScrollResponseTests.java b/core/src/test/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollResponseTests.java
similarity index 90%
rename from core/src/test/java/org/elasticsearch/index/reindex/BulkByScrollResponseTests.java
rename to core/src/test/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollResponseTests.java
index a288328391a..1d2146c1515 100644
--- a/core/src/test/java/org/elasticsearch/index/reindex/BulkByScrollResponseTests.java
+++ b/core/src/test/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollResponseTests.java
@@ -17,11 +17,12 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
import org.elasticsearch.ElasticsearchException;
import org.elasticsearch.Version;
import org.elasticsearch.action.bulk.BulkItemResponse.Failure;
+import org.elasticsearch.action.bulk.byscroll.ScrollableHitSource.SearchFailure;
import org.elasticsearch.common.io.stream.BytesStreamOutput;
import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.test.ESTestCase;
@@ -55,7 +56,7 @@ public class BulkByScrollResponseTests extends ESTestCase {
randomSimpleString(random()), new IllegalArgumentException("test")));
}
- private List randomSearchFailures() {
+ private List randomSearchFailures() {
if (randomBoolean()) {
return emptyList();
}
@@ -67,7 +68,7 @@ public class BulkByScrollResponseTests extends ESTestCase {
shardId = randomInt();
nodeId = usually() ? randomAlphaOfLength(5) : null;
}
- return singletonList(new ScrollableHitSource.SearchFailure(new ElasticsearchException("foo"), index, shardId, nodeId));
+ return singletonList(new SearchFailure(new ElasticsearchException("foo"), index, shardId, nodeId));
}
private void assertResponseEquals(BulkByScrollResponse expected, BulkByScrollResponse actual) {
@@ -85,8 +86,8 @@ public class BulkByScrollResponseTests extends ESTestCase {
}
assertEquals(expected.getSearchFailures().size(), actual.getSearchFailures().size());
for (int i = 0; i < expected.getSearchFailures().size(); i++) {
- ScrollableHitSource.SearchFailure expectedFailure = expected.getSearchFailures().get(i);
- ScrollableHitSource.SearchFailure actualFailure = actual.getSearchFailures().get(i);
+ SearchFailure expectedFailure = expected.getSearchFailures().get(i);
+ SearchFailure actualFailure = actual.getSearchFailures().get(i);
assertEquals(expectedFailure.getIndex(), actualFailure.getIndex());
assertEquals(expectedFailure.getShardId(), actualFailure.getShardId());
assertEquals(expectedFailure.getNodeId(), actualFailure.getNodeId());
diff --git a/core/src/test/java/org/elasticsearch/index/reindex/BulkByScrollTaskStatusTests.java b/core/src/test/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollTaskStatusTests.java
similarity index 97%
rename from core/src/test/java/org/elasticsearch/index/reindex/BulkByScrollTaskStatusTests.java
rename to core/src/test/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollTaskStatusTests.java
index 982198c8fee..503fe1db7cd 100644
--- a/core/src/test/java/org/elasticsearch/index/reindex/BulkByScrollTaskStatusTests.java
+++ b/core/src/test/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollTaskStatusTests.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
import org.apache.lucene.util.LuceneTestCase;
import org.elasticsearch.ElasticsearchException;
@@ -26,7 +26,6 @@ import org.elasticsearch.common.Randomness;
import org.elasticsearch.common.io.stream.BytesStreamOutput;
import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.test.ESTestCase;
-import org.hamcrest.Matchers;
import java.io.IOException;
import java.util.List;
@@ -76,7 +75,7 @@ public class BulkByScrollTaskStatusTests extends ESTestCase {
assertEquals(expected.getReasonCancelled(), actual.getReasonCancelled());
assertEquals(expected.getThrottledUntil(), actual.getThrottledUntil());
if (version.onOrAfter(Version.V_5_1_1_UNRELEASED)) {
- assertThat(actual.getSliceStatuses(), Matchers.hasSize(expected.getSliceStatuses().size()));
+ assertThat(actual.getSliceStatuses(), hasSize(expected.getSliceStatuses().size()));
for (int i = 0; i < expected.getSliceStatuses().size(); i++) {
BulkByScrollTask.StatusOrException sliceStatus = expected.getSliceStatuses().get(i);
if (sliceStatus == null) {
diff --git a/core/src/test/java/org/elasticsearch/index/reindex/BulkByScrollTaskTests.java b/core/src/test/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollTaskTests.java
similarity index 99%
rename from core/src/test/java/org/elasticsearch/index/reindex/BulkByScrollTaskTests.java
rename to core/src/test/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollTaskTests.java
index f4d4ea790bc..ff0eae55520 100644
--- a/core/src/test/java/org/elasticsearch/index/reindex/BulkByScrollTaskTests.java
+++ b/core/src/test/java/org/elasticsearch/action/bulk/byscroll/BulkByScrollTaskTests.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.common.xcontent.ToXContent;
diff --git a/core/src/test/java/org/elasticsearch/index/reindex/DeleteByQueryRequestTests.java b/core/src/test/java/org/elasticsearch/action/bulk/byscroll/DeleteByQueryRequestTests.java
similarity index 99%
rename from core/src/test/java/org/elasticsearch/index/reindex/DeleteByQueryRequestTests.java
rename to core/src/test/java/org/elasticsearch/action/bulk/byscroll/DeleteByQueryRequestTests.java
index 8c84c8f3f56..f5c00f63de9 100644
--- a/core/src/test/java/org/elasticsearch/index/reindex/DeleteByQueryRequestTests.java
+++ b/core/src/test/java/org/elasticsearch/action/bulk/byscroll/DeleteByQueryRequestTests.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
import org.elasticsearch.action.ActionRequestValidationException;
import org.elasticsearch.action.search.SearchRequest;
diff --git a/core/src/test/java/org/elasticsearch/index/reindex/ParentBulkByScrollTaskTests.java b/core/src/test/java/org/elasticsearch/action/bulk/byscroll/ParentBulkByScrollTaskTests.java
similarity index 99%
rename from core/src/test/java/org/elasticsearch/index/reindex/ParentBulkByScrollTaskTests.java
rename to core/src/test/java/org/elasticsearch/action/bulk/byscroll/ParentBulkByScrollTaskTests.java
index 6e2d44abed5..715fcaaad54 100644
--- a/core/src/test/java/org/elasticsearch/index/reindex/ParentBulkByScrollTaskTests.java
+++ b/core/src/test/java/org/elasticsearch/action/bulk/byscroll/ParentBulkByScrollTaskTests.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
import org.elasticsearch.action.ActionListener;
import org.elasticsearch.test.ESTestCase;
diff --git a/core/src/test/java/org/elasticsearch/index/reindex/WorkingBulkByScrollTaskTests.java b/core/src/test/java/org/elasticsearch/action/bulk/byscroll/WorkingBulkByScrollTaskTests.java
similarity index 98%
rename from core/src/test/java/org/elasticsearch/index/reindex/WorkingBulkByScrollTaskTests.java
rename to core/src/test/java/org/elasticsearch/action/bulk/byscroll/WorkingBulkByScrollTaskTests.java
index 5d594d080b8..7356d626c10 100644
--- a/core/src/test/java/org/elasticsearch/index/reindex/WorkingBulkByScrollTaskTests.java
+++ b/core/src/test/java/org/elasticsearch/action/bulk/byscroll/WorkingBulkByScrollTaskTests.java
@@ -17,8 +17,10 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
+import org.elasticsearch.action.bulk.byscroll.BulkByScrollTask;
+import org.elasticsearch.action.bulk.byscroll.WorkingBulkByScrollTask;
import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.common.util.concurrent.AbstractRunnable;
import org.elasticsearch.tasks.TaskId;
diff --git a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBaseReindexRestHandler.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBaseReindexRestHandler.java
index 64b02c4be81..d70b3c9c4ce 100644
--- a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBaseReindexRestHandler.java
+++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBaseReindexRestHandler.java
@@ -21,6 +21,9 @@ package org.elasticsearch.index.reindex;
import org.elasticsearch.action.ActionRequestValidationException;
import org.elasticsearch.action.GenericAction;
+import org.elasticsearch.action.bulk.byscroll.AbstractBulkByScrollRequest;
+import org.elasticsearch.action.bulk.byscroll.BulkByScrollResponse;
+import org.elasticsearch.action.bulk.byscroll.BulkByScrollTask;
import org.elasticsearch.action.support.ActiveShardCount;
import org.elasticsearch.client.node.NodeClient;
import org.elasticsearch.common.settings.Settings;
diff --git a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkByQueryRestHandler.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkByQueryRestHandler.java
index 32a252ccc4b..480ca80e2ee 100644
--- a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkByQueryRestHandler.java
+++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkByQueryRestHandler.java
@@ -21,6 +21,8 @@ package org.elasticsearch.index.reindex;
import org.apache.lucene.util.IOUtils;
import org.elasticsearch.action.GenericAction;
+import org.elasticsearch.action.bulk.byscroll.AbstractBulkByScrollRequest;
+import org.elasticsearch.action.bulk.byscroll.BulkByScrollResponse;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.xcontent.XContentBuilder;
@@ -33,7 +35,7 @@ import java.io.IOException;
import java.util.Map;
import java.util.function.Consumer;
-import static org.elasticsearch.index.reindex.AbstractBulkByScrollRequest.SIZE_ALL_MATCHES;
+import static org.elasticsearch.action.bulk.byscroll.AbstractBulkByScrollRequest.SIZE_ALL_MATCHES;
/**
* Rest handler for reindex actions that accepts a search request like Update-By-Query or Delete-By-Query
diff --git a/core/src/main/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollRequest.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollRequest.java
similarity index 97%
rename from core/src/main/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollRequest.java
rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollRequest.java
index 62c2635b301..6aad6e08a49 100644
--- a/core/src/main/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollRequest.java
+++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollRequest.java
@@ -19,6 +19,7 @@
package org.elasticsearch.index.reindex;
+import org.elasticsearch.action.bulk.byscroll.AbstractBulkByScrollRequest;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.common.Nullable;
import org.elasticsearch.common.io.stream.StreamInput;
diff --git a/core/src/main/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollRequestBuilder.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollRequestBuilder.java
similarity index 92%
rename from core/src/main/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollRequestBuilder.java
rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollRequestBuilder.java
index ca1c980995b..369510083d1 100644
--- a/core/src/main/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollRequestBuilder.java
+++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractBulkIndexByScrollRequestBuilder.java
@@ -20,6 +20,8 @@
package org.elasticsearch.index.reindex;
import org.elasticsearch.action.Action;
+import org.elasticsearch.action.bulk.byscroll.AbstractBulkByScrollRequestBuilder;
+import org.elasticsearch.action.bulk.byscroll.BulkByScrollResponse;
import org.elasticsearch.action.search.SearchRequestBuilder;
import org.elasticsearch.client.ElasticsearchClient;
import org.elasticsearch.script.Script;
diff --git a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/BulkIndexByScrollResponseContentListener.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/BulkIndexByScrollResponseContentListener.java
index 8e5dff170d4..a8d321a9fab 100644
--- a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/BulkIndexByScrollResponseContentListener.java
+++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/BulkIndexByScrollResponseContentListener.java
@@ -21,7 +21,8 @@ package org.elasticsearch.index.reindex;
import org.elasticsearch.ExceptionsHelper;
import org.elasticsearch.action.bulk.BulkItemResponse.Failure;
-import org.elasticsearch.index.reindex.ScrollableHitSource.SearchFailure;
+import org.elasticsearch.action.bulk.byscroll.BulkByScrollResponse;
+import org.elasticsearch.action.bulk.byscroll.ScrollableHitSource.SearchFailure;
import org.elasticsearch.common.xcontent.ToXContent;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.rest.BytesRestResponse;
diff --git a/core/src/main/java/org/elasticsearch/index/reindex/DeleteByQueryAction.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/DeleteByQueryAction.java
similarity index 91%
rename from core/src/main/java/org/elasticsearch/index/reindex/DeleteByQueryAction.java
rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/DeleteByQueryAction.java
index c1abb16ca39..b55fe33340e 100644
--- a/core/src/main/java/org/elasticsearch/index/reindex/DeleteByQueryAction.java
+++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/DeleteByQueryAction.java
@@ -20,6 +20,8 @@
package org.elasticsearch.index.reindex;
import org.elasticsearch.action.Action;
+import org.elasticsearch.action.bulk.byscroll.BulkByScrollResponse;
+import org.elasticsearch.action.bulk.byscroll.DeleteByQueryRequest;
import org.elasticsearch.client.ElasticsearchClient;
public class DeleteByQueryAction extends Action {
diff --git a/core/src/main/java/org/elasticsearch/index/reindex/DeleteByQueryRequestBuilder.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/DeleteByQueryRequestBuilder.java
similarity index 90%
rename from core/src/main/java/org/elasticsearch/index/reindex/DeleteByQueryRequestBuilder.java
rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/DeleteByQueryRequestBuilder.java
index e94d1308a74..3efbc1a562c 100644
--- a/core/src/main/java/org/elasticsearch/index/reindex/DeleteByQueryRequestBuilder.java
+++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/DeleteByQueryRequestBuilder.java
@@ -20,6 +20,9 @@
package org.elasticsearch.index.reindex;
import org.elasticsearch.action.Action;
+import org.elasticsearch.action.bulk.byscroll.AbstractBulkByScrollRequestBuilder;
+import org.elasticsearch.action.bulk.byscroll.BulkByScrollResponse;
+import org.elasticsearch.action.bulk.byscroll.DeleteByQueryRequest;
import org.elasticsearch.action.search.SearchAction;
import org.elasticsearch.action.search.SearchRequestBuilder;
import org.elasticsearch.client.ElasticsearchClient;
diff --git a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexAction.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexAction.java
index 1c53a925f0d..2c84cfc86be 100644
--- a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexAction.java
+++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexAction.java
@@ -20,6 +20,7 @@
package org.elasticsearch.index.reindex;
import org.elasticsearch.action.Action;
+import org.elasticsearch.action.bulk.byscroll.BulkByScrollResponse;
import org.elasticsearch.client.ElasticsearchClient;
public class ReindexAction extends Action {
diff --git a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexPlugin.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexPlugin.java
index d601f5c06e7..fb203ee5c6d 100644
--- a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexPlugin.java
+++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexPlugin.java
@@ -21,6 +21,7 @@ package org.elasticsearch.index.reindex;
import org.elasticsearch.action.ActionRequest;
import org.elasticsearch.action.ActionResponse;
+import org.elasticsearch.action.bulk.byscroll.BulkByScrollTask;
import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver;
import org.elasticsearch.cluster.node.DiscoveryNodes;
import org.elasticsearch.common.io.stream.NamedWriteableRegistry;
diff --git a/core/src/main/java/org/elasticsearch/index/reindex/ReindexRequest.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexRequest.java
similarity index 97%
rename from core/src/main/java/org/elasticsearch/index/reindex/ReindexRequest.java
rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexRequest.java
index 76944c7b804..2fa513f9c57 100644
--- a/core/src/main/java/org/elasticsearch/index/reindex/ReindexRequest.java
+++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/ReindexRequest.java
@@ -26,6 +26,7 @@ import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import org.elasticsearch.common.lucene.uid.Versions;
+import org.elasticsearch.index.reindex.remote.RemoteInfo;
import org.elasticsearch.tasks.TaskId;
import java.io.IOException;
@@ -127,7 +128,7 @@ public class ReindexRequest extends AbstractBulkIndexByScrollRequest {
diff --git a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/RestDeleteByQueryAction.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/RestDeleteByQueryAction.java
index f906ef7660d..0e11d64a405 100644
--- a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/RestDeleteByQueryAction.java
+++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/RestDeleteByQueryAction.java
@@ -20,6 +20,7 @@
package org.elasticsearch.index.reindex;
import org.elasticsearch.ElasticsearchException;
+import org.elasticsearch.action.bulk.byscroll.DeleteByQueryRequest;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.client.node.NodeClient;
import org.elasticsearch.common.settings.Settings;
diff --git a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/RestReindexAction.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/RestReindexAction.java
index 6c16c31efb1..57d3213da92 100644
--- a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/RestReindexAction.java
+++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/RestReindexAction.java
@@ -36,6 +36,7 @@ import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.common.xcontent.json.JsonXContent;
import org.elasticsearch.index.VersionType;
import org.elasticsearch.index.query.QueryParseContext;
+import org.elasticsearch.index.reindex.remote.RemoteInfo;
import org.elasticsearch.rest.RestController;
import org.elasticsearch.rest.RestRequest;
import org.elasticsearch.script.Script;
diff --git a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportDeleteByQueryAction.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportDeleteByQueryAction.java
index 99e1a9f166d..a17b2b81f91 100644
--- a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportDeleteByQueryAction.java
+++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportDeleteByQueryAction.java
@@ -20,6 +20,12 @@
package org.elasticsearch.index.reindex;
import org.elasticsearch.action.ActionListener;
+import org.elasticsearch.action.bulk.byscroll.AsyncDeleteByQueryAction;
+import org.elasticsearch.action.bulk.byscroll.BulkByScrollParallelizationHelper;
+import org.elasticsearch.action.bulk.byscroll.BulkByScrollResponse;
+import org.elasticsearch.action.bulk.byscroll.DeleteByQueryRequest;
+import org.elasticsearch.action.bulk.byscroll.ParentBulkByScrollTask;
+import org.elasticsearch.action.bulk.byscroll.WorkingBulkByScrollTask;
import org.elasticsearch.action.support.ActionFilters;
import org.elasticsearch.action.support.HandledTransportAction;
import org.elasticsearch.client.Client;
diff --git a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportReindexAction.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportReindexAction.java
index 737d885443a..b232c50c2b2 100644
--- a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportReindexAction.java
+++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportReindexAction.java
@@ -37,7 +37,13 @@ import org.elasticsearch.action.ActionListener;
import org.elasticsearch.action.ActionRequestValidationException;
import org.elasticsearch.action.bulk.BackoffPolicy;
import org.elasticsearch.action.bulk.BulkItemResponse.Failure;
-import org.elasticsearch.index.reindex.ScrollableHitSource.SearchFailure;
+import org.elasticsearch.action.bulk.byscroll.AbstractAsyncBulkByScrollAction;
+import org.elasticsearch.action.bulk.byscroll.BulkByScrollParallelizationHelper;
+import org.elasticsearch.action.bulk.byscroll.BulkByScrollResponse;
+import org.elasticsearch.action.bulk.byscroll.ParentBulkByScrollTask;
+import org.elasticsearch.action.bulk.byscroll.ScrollableHitSource;
+import org.elasticsearch.action.bulk.byscroll.ScrollableHitSource.SearchFailure;
+import org.elasticsearch.action.bulk.byscroll.WorkingBulkByScrollTask;
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.support.ActionFilters;
@@ -62,6 +68,7 @@ import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.common.xcontent.XContentType;
import org.elasticsearch.index.VersionType;
import org.elasticsearch.index.mapper.VersionFieldMapper;
+import org.elasticsearch.index.reindex.remote.RemoteInfo;
import org.elasticsearch.index.reindex.remote.RemoteScrollableHitSource;
import org.elasticsearch.script.Script;
import org.elasticsearch.script.ScriptService;
diff --git a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportRethrottleAction.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportRethrottleAction.java
index 0901e5ade31..88329f5cb17 100644
--- a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportRethrottleAction.java
+++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportRethrottleAction.java
@@ -24,6 +24,7 @@ import org.elasticsearch.action.ActionListener;
import org.elasticsearch.action.FailedNodeException;
import org.elasticsearch.action.TaskOperationFailure;
import org.elasticsearch.action.admin.cluster.node.tasks.list.ListTasksResponse;
+import org.elasticsearch.action.bulk.byscroll.BulkByScrollTask;
import org.elasticsearch.action.support.ActionFilters;
import org.elasticsearch.action.support.tasks.TransportTasksAction;
import org.elasticsearch.client.Client;
diff --git a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportUpdateByQueryAction.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportUpdateByQueryAction.java
index 8924c7038c9..12d8696319f 100644
--- a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportUpdateByQueryAction.java
+++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/TransportUpdateByQueryAction.java
@@ -21,6 +21,12 @@ package org.elasticsearch.index.reindex;
import org.apache.logging.log4j.Logger;
import org.elasticsearch.action.ActionListener;
+import org.elasticsearch.action.bulk.byscroll.AbstractAsyncBulkByScrollAction;
+import org.elasticsearch.action.bulk.byscroll.BulkByScrollResponse;
+import org.elasticsearch.action.bulk.byscroll.ParentBulkByScrollTask;
+import org.elasticsearch.action.bulk.byscroll.BulkByScrollParallelizationHelper;
+import org.elasticsearch.action.bulk.byscroll.ScrollableHitSource;
+import org.elasticsearch.action.bulk.byscroll.WorkingBulkByScrollTask;
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.action.support.ActionFilters;
import org.elasticsearch.action.support.HandledTransportAction;
diff --git a/core/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryAction.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryAction.java
similarity index 95%
rename from core/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryAction.java
rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryAction.java
index 1058f7f1307..cb716e82248 100644
--- a/core/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryAction.java
+++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryAction.java
@@ -20,6 +20,7 @@
package org.elasticsearch.index.reindex;
import org.elasticsearch.action.Action;
+import org.elasticsearch.action.bulk.byscroll.BulkByScrollResponse;
import org.elasticsearch.client.ElasticsearchClient;
public class UpdateByQueryAction extends
diff --git a/core/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryRequest.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryRequest.java
similarity index 97%
rename from core/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryRequest.java
rename to modules/reindex/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryRequest.java
index ad0123d76ce..3e7fac9d454 100644
--- a/core/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryRequest.java
+++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/UpdateByQueryRequest.java
@@ -71,7 +71,7 @@ public class UpdateByQueryRequest extends AbstractBulkIndexByScrollRequest,
diff --git a/test/framework/src/main/java/org/elasticsearch/index/reindex/AbstractAsyncBulkByScrollActionTestCase.java b/test/framework/src/main/java/org/elasticsearch/action/bulk/byscroll/AbstractAsyncBulkByScrollActionTestCase.java
similarity index 97%
rename from test/framework/src/main/java/org/elasticsearch/index/reindex/AbstractAsyncBulkByScrollActionTestCase.java
rename to test/framework/src/main/java/org/elasticsearch/action/bulk/byscroll/AbstractAsyncBulkByScrollActionTestCase.java
index b4e01b18a56..907f8965632 100644
--- a/test/framework/src/main/java/org/elasticsearch/index/reindex/AbstractAsyncBulkByScrollActionTestCase.java
+++ b/test/framework/src/main/java/org/elasticsearch/action/bulk/byscroll/AbstractAsyncBulkByScrollActionTestCase.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
import org.elasticsearch.action.support.PlainActionFuture;
import org.elasticsearch.tasks.TaskId;
diff --git a/core/src/test/java/org/elasticsearch/index/reindex/AbstractBulkByScrollRequestTestCase.java b/test/framework/src/main/java/org/elasticsearch/action/bulk/byscroll/AbstractBulkByScrollRequestTestCase.java
similarity index 98%
rename from core/src/test/java/org/elasticsearch/index/reindex/AbstractBulkByScrollRequestTestCase.java
rename to test/framework/src/main/java/org/elasticsearch/action/bulk/byscroll/AbstractBulkByScrollRequestTestCase.java
index debeab52d97..c4ac9587e82 100644
--- a/core/src/test/java/org/elasticsearch/index/reindex/AbstractBulkByScrollRequestTestCase.java
+++ b/test/framework/src/main/java/org/elasticsearch/action/bulk/byscroll/AbstractBulkByScrollRequestTestCase.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.support.ActiveShardCount;
diff --git a/modules/reindex/src/test/java/org/elasticsearch/index/reindex/BulkIndexByScrollResponseMatcher.java b/test/framework/src/main/java/org/elasticsearch/action/bulk/byscroll/BulkIndexByScrollResponseMatcher.java
similarity index 98%
rename from modules/reindex/src/test/java/org/elasticsearch/index/reindex/BulkIndexByScrollResponseMatcher.java
rename to test/framework/src/main/java/org/elasticsearch/action/bulk/byscroll/BulkIndexByScrollResponseMatcher.java
index cb2ff1a7ae2..2902e02a30c 100644
--- a/modules/reindex/src/test/java/org/elasticsearch/index/reindex/BulkIndexByScrollResponseMatcher.java
+++ b/test/framework/src/main/java/org/elasticsearch/action/bulk/byscroll/BulkIndexByScrollResponseMatcher.java
@@ -17,8 +17,9 @@
* under the License.
*/
-package org.elasticsearch.index.reindex;
+package org.elasticsearch.action.bulk.byscroll;
+import org.elasticsearch.action.bulk.byscroll.BulkByScrollResponse;
import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.hamcrest.TypeSafeMatcher;
@@ -154,4 +155,4 @@ public class BulkIndexByScrollResponseMatcher extends TypeSafeMatcher