in src/main/java/org/elasticsearch/aliyun/oss/blobstore/OssBlobStore.java [56:71]
public void delete(BlobPath blobPath) throws IOException {
DeleteObjectsRequest deleteRequest = new DeleteObjectsRequest(bucket);
Map<String, BlobMetaData> blobs = listBlobsByPrefix(blobPath.buildAsString(), null);
List<String> toBeDeletedBlobs = new ArrayList<>();
Iterator<String> blobNameIterator = blobs.keySet().iterator();
while (blobNameIterator.hasNext()) {
String blobName = blobNameIterator.next();
toBeDeletedBlobs.add(blobPath.buildAsString() + blobName);
if (toBeDeletedBlobs.size() > DeleteObjectsRequest.DELETE_OBJECTS_ONETIME_LIMIT / 2
|| !blobNameIterator.hasNext()) {
deleteRequest.setKeys(toBeDeletedBlobs);
deleteObjects(deleteRequest);
toBeDeletedBlobs.clear();
}
}
}