This is an automated email from the ASF dual-hosted git repository. rcordier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit accab931768e3673694d1864951a2abe85b34f33 Author: Tung Van TRAN <[email protected]> AuthorDate: Thu Aug 26 16:16:46 2021 +0700 JAMES-3150 Fix BloomFilterGCAlgorithm - handler more special cases --- .../james/server/blob/deduplication/BloomFilterGCAlgorithm.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/server/blob/blob-storage-strategy/src/main/java/org/apache/james/server/blob/deduplication/BloomFilterGCAlgorithm.java b/server/blob/blob-storage-strategy/src/main/java/org/apache/james/server/blob/deduplication/BloomFilterGCAlgorithm.java index d9fc0aa..283d7fc 100644 --- a/server/blob/blob-storage-strategy/src/main/java/org/apache/james/server/blob/deduplication/BloomFilterGCAlgorithm.java +++ b/server/blob/blob-storage-strategy/src/main/java/org/apache/james/server/blob/deduplication/BloomFilterGCAlgorithm.java @@ -261,13 +261,18 @@ public class BloomFilterGCAlgorithm { public Mono<Result> gc(int expectedBlobCount, double associatedProbability, BucketName bucketName, Context context) { return populatedBloomFilter(expectedBlobCount, associatedProbability, context) - .flatMap(bloomFilter -> gc(bloomFilter, bucketName, context)); + .flatMap(bloomFilter -> gc(bloomFilter, bucketName, context)) + .onErrorResume(error -> { + LOGGER.error("Error when running blob deduplicate garbage collection", error); + return Mono.just(Result.PARTIAL); + }); } private Mono<Result> gc(BloomFilter<CharSequence> bloomFilter, BucketName bucketName, Context context) { return Flux.from(blobStoreDAO.listBlobs(bucketName)) .doOnNext(blobId -> context.incrementBlobCount()) .flatMap(blobId -> gcBlob(bloomFilter, blobId, bucketName, context)) + .switchIfEmpty(Mono.just(Result.COMPLETED)) .reduce(Task::combine); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
