diff --git a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractAsyncBulkByScrollAction.java b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractAsyncBulkByScrollAction.java index a1564aa136a..84b7ab58ef2 100644 --- a/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractAsyncBulkByScrollAction.java +++ b/modules/reindex/src/main/java/org/elasticsearch/index/reindex/AbstractAsyncBulkByScrollAction.java @@ -354,7 +354,7 @@ public abstract class AbstractAsyncBulkByScrollAction indexingFailures, List searchFailures, boolean timedOut) { - if (task.isCancelled() || false == mainRequest.isRefresh()) { + if (task.isCancelled() || false == mainRequest.isRefresh() || destinationIndices.isEmpty()) { finishHim(null, indexingFailures, searchFailures, timedOut); return; } diff --git a/modules/reindex/src/test/java/org/elasticsearch/index/reindex/AsyncBulkByScrollActionTests.java b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/AsyncBulkByScrollActionTests.java index daf9a15daea..06f5226a7f4 100644 --- a/modules/reindex/src/test/java/org/elasticsearch/index/reindex/AsyncBulkByScrollActionTests.java +++ b/modules/reindex/src/test/java/org/elasticsearch/index/reindex/AsyncBulkByScrollActionTests.java @@ -458,23 +458,29 @@ public class AsyncBulkByScrollActionTests extends ESTestCase { } public void testRefreshIsFalseByDefault() throws Exception { - refreshTestCase(null, false); + refreshTestCase(null, true, false); } - public void testRefreshFalseDoesntMakeVisible() throws Exception { - refreshTestCase(false, false); + public void testRefreshFalseDoesntExecuteRefresh() throws Exception { + refreshTestCase(false, true, false); } - public void testRefreshTrueMakesVisible() throws Exception { - refreshTestCase(true, true); + public void testRefreshTrueExecutesRefresh() throws Exception { + refreshTestCase(true, true, true); } - private void refreshTestCase(Boolean refresh, boolean shouldRefresh) { + public void testRefreshTrueSkipsRefreshIfNoDestinationIndexes() throws Exception { + refreshTestCase(true, false, false); + } + + private void refreshTestCase(Boolean refresh, boolean addDestinationIndexes, boolean shouldRefresh) { if (refresh != null) { mainRequest.setRefresh(refresh); } DummyAbstractAsyncBulkByScrollAction action = new DummyAbstractAsyncBulkByScrollAction(); - action.addDestinationIndices(singleton("foo")); + if (addDestinationIndexes) { + action.addDestinationIndices(singleton("foo")); + } action.startNormalTermination(emptyList(), emptyList(), false); if (shouldRefresh) { assertArrayEquals(new String[] {"foo"}, client.lastRefreshRequest.get().indices());