@@ -848,47 +848,53 @@ public <T> ReplaceAllObjectsResponse replaceAllObjects(
848
848
Random rnd = new Random();
849
849
String tmpIndexName = indexName + "_tmp_" + rnd.nextInt(100);
850
850
851
- // Copy settings, synonyms and rules
852
- UpdatedAtResponse copyOperationResponse = operationIndex(
853
- indexName,
854
- new OperationIndexParams()
855
- .setOperation(OperationType.COPY)
856
- .setDestination(tmpIndexName)
857
- .addScope(ScopeType.SETTINGS)
858
- .addScope(ScopeType.RULES)
859
- .addScope(ScopeType.SYNONYMS),
860
- requestOptions
861
- );
851
+ try {
852
+ // Copy settings, synonyms and rules
853
+ UpdatedAtResponse copyOperationResponse = operationIndex(
854
+ indexName,
855
+ new OperationIndexParams()
856
+ .setOperation(OperationType.COPY)
857
+ .setDestination(tmpIndexName)
858
+ .addScope(ScopeType.SETTINGS)
859
+ .addScope(ScopeType.RULES)
860
+ .addScope(ScopeType.SYNONYMS),
861
+ requestOptions
862
+ );
862
863
863
- // Save new objects
864
- List<BatchResponse> batchResponses = chunkedBatch(tmpIndexName, objects, Action.ADD_OBJECT, true, batchSize, requestOptions);
864
+ // Save new objects
865
+ List<BatchResponse> batchResponses = chunkedBatch(tmpIndexName, objects, Action.ADD_OBJECT, true, batchSize, requestOptions);
865
866
866
- waitForTask(tmpIndexName, copyOperationResponse.getTaskID(), requestOptions);
867
+ waitForTask(tmpIndexName, copyOperationResponse.getTaskID(), requestOptions);
867
868
868
- copyOperationResponse = operationIndex(
869
- indexName,
870
- new OperationIndexParams()
871
- .setOperation(OperationType.COPY)
872
- .setDestination(tmpIndexName)
873
- .addScope(ScopeType.SETTINGS)
874
- .addScope(ScopeType.RULES)
875
- .addScope(ScopeType.SYNONYMS),
876
- requestOptions
877
- );
878
- waitForTask(tmpIndexName, copyOperationResponse.getTaskID(), requestOptions);
869
+ copyOperationResponse = operationIndex(
870
+ indexName,
871
+ new OperationIndexParams()
872
+ .setOperation(OperationType.COPY)
873
+ .setDestination(tmpIndexName)
874
+ .addScope(ScopeType.SETTINGS)
875
+ .addScope(ScopeType.RULES)
876
+ .addScope(ScopeType.SYNONYMS),
877
+ requestOptions
878
+ );
879
+ waitForTask(tmpIndexName, copyOperationResponse.getTaskID(), requestOptions);
879
880
880
- // Move temporary index to source index
881
- UpdatedAtResponse moveOperationResponse = operationIndex(
882
- tmpIndexName,
883
- new OperationIndexParams().setOperation(OperationType.MOVE).setDestination(indexName),
884
- requestOptions
885
- );
886
- waitForTask(tmpIndexName, moveOperationResponse.getTaskID(), requestOptions);
881
+ // Move temporary index to source index
882
+ UpdatedAtResponse moveOperationResponse = operationIndex(
883
+ tmpIndexName,
884
+ new OperationIndexParams().setOperation(OperationType.MOVE).setDestination(indexName),
885
+ requestOptions
886
+ );
887
+ waitForTask(tmpIndexName, moveOperationResponse.getTaskID(), requestOptions);
887
888
888
- return new ReplaceAllObjectsResponse()
889
- .setCopyOperationResponse(copyOperationResponse)
890
- .setBatchResponses(batchResponses)
891
- .setMoveOperationResponse(moveOperationResponse);
889
+ return new ReplaceAllObjectsResponse()
890
+ .setCopyOperationResponse(copyOperationResponse)
891
+ .setBatchResponses(batchResponses)
892
+ .setMoveOperationResponse(moveOperationResponse);
893
+ } catch (Exception e) {
894
+ deleteIndex(tmpIndexName);
895
+
896
+ throw e;
897
+ }
892
898
}
893
899
894
900
/**
0 commit comments