@@ -732,50 +732,56 @@ Iterable<T> objects,
732
732
int batchSize,
733
733
RequestOptions requestOptions
734
734
) {
735
- Random rnd = new Random();
736
- String tmpIndexName = indexName + "_tmp_" + rnd.nextInt(100);
737
-
738
- // Copy settings, synonyms and rules
739
- UpdatedAtResponse copyOperationResponse = operationIndex(
740
- indexName,
741
- new OperationIndexParams()
742
- .setOperation(OperationType.COPY)
743
- .setDestination(tmpIndexName)
744
- .addScope(ScopeType.SETTINGS)
745
- .addScope(ScopeType.RULES)
746
- .addScope(ScopeType.SYNONYMS),
747
- requestOptions
748
- );
735
+ Random rnd = new Random();
736
+ String tmpIndexName = indexName + "_tmp_" + rnd.nextInt(100);
749
737
750
- // Save new objects
751
- List<BatchResponse> batchResponses = chunkedBatch(tmpIndexName, objects, Action.ADD_OBJECT, true, batchSize, requestOptions);
738
+ try {
739
+ // Copy settings, synonyms and rules
740
+ UpdatedAtResponse copyOperationResponse = operationIndex(
741
+ indexName,
742
+ new OperationIndexParams()
743
+ .setOperation(OperationType.COPY)
744
+ .setDestination(tmpIndexName)
745
+ .addScope(ScopeType.SETTINGS)
746
+ .addScope(ScopeType.RULES)
747
+ .addScope(ScopeType.SYNONYMS),
748
+ requestOptions
749
+ );
752
750
753
- waitForTask(tmpIndexName, copyOperationResponse.getTaskID(), requestOptions);
751
+ // Save new objects
752
+ List<BatchResponse> batchResponses = chunkedBatch(tmpIndexName, objects, Action.ADD_OBJECT, true, batchSize, requestOptions);
754
753
755
- copyOperationResponse = operationIndex(
756
- indexName,
757
- new OperationIndexParams()
758
- .setOperation(OperationType.COPY)
759
- .setDestination(tmpIndexName)
760
- .addScope(ScopeType.SETTINGS)
761
- .addScope(ScopeType.RULES)
762
- .addScope(ScopeType.SYNONYMS),
763
- requestOptions
764
- );
765
- waitForTask(tmpIndexName, copyOperationResponse.getTaskID(), requestOptions);
754
+ waitForTask(tmpIndexName, copyOperationResponse.getTaskID(), requestOptions);
766
755
767
- // Move temporary index to source index
768
- UpdatedAtResponse moveOperationResponse = operationIndex(
769
- tmpIndexName,
770
- new OperationIndexParams().setOperation(OperationType.MOVE).setDestination(indexName),
771
- requestOptions
772
- );
773
- waitForTask(tmpIndexName, moveOperationResponse.getTaskID(), requestOptions);
756
+ copyOperationResponse = operationIndex(
757
+ indexName,
758
+ new OperationIndexParams()
759
+ .setOperation(OperationType.COPY)
760
+ .setDestination(tmpIndexName)
761
+ .addScope(ScopeType.SETTINGS)
762
+ .addScope(ScopeType.RULES)
763
+ .addScope(ScopeType.SYNONYMS),
764
+ requestOptions
765
+ );
766
+ waitForTask(tmpIndexName, copyOperationResponse.getTaskID(), requestOptions);
774
767
775
- return new ReplaceAllObjectsResponse()
776
- .setCopyOperationResponse(copyOperationResponse)
777
- .setBatchResponses(batchResponses)
778
- .setMoveOperationResponse(moveOperationResponse);
768
+ // Move temporary index to source index
769
+ UpdatedAtResponse moveOperationResponse = operationIndex(
770
+ tmpIndexName,
771
+ new OperationIndexParams().setOperation(OperationType.MOVE).setDestination(indexName),
772
+ requestOptions
773
+ );
774
+ waitForTask(tmpIndexName, moveOperationResponse.getTaskID(), requestOptions);
775
+
776
+ return new ReplaceAllObjectsResponse()
777
+ .setCopyOperationResponse(copyOperationResponse)
778
+ .setBatchResponses(batchResponses)
779
+ .setMoveOperationResponse(moveOperationResponse);
780
+ } catch (Exception e) {
781
+ deleteIndex(tmpIndexName);
782
+
783
+ throw e;
784
+ }
779
785
}
780
786
781
787
/**
0 commit comments