From ec8505b102cb7f9a3c57d17813a16460c7a91b17 Mon Sep 17 00:00:00 2001 From: Andrea Cavalli Date: Sat, 8 May 2021 03:09:49 +0200 Subject: [PATCH] Bugfixes --- src/main/lombok/org/warp/filesponge/DiskCache.java | 5 +++-- src/main/lombok/org/warp/filesponge/FileSpongeUtils.java | 9 +++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/lombok/org/warp/filesponge/DiskCache.java b/src/main/lombok/org/warp/filesponge/DiskCache.java index 4176a9b..2758592 100644 --- a/src/main/lombok/org/warp/filesponge/DiskCache.java +++ b/src/main/lombok/org/warp/filesponge/DiskCache.java @@ -31,6 +31,7 @@ import it.cavallium.dbengine.database.LLDictionary; import it.cavallium.dbengine.database.LLDictionaryResultType; import it.cavallium.dbengine.database.LLKeyValueDatabase; import it.cavallium.dbengine.database.UpdateMode; +import it.cavallium.dbengine.database.UpdateReturnMode; import it.unimi.dsi.fastutil.booleans.BooleanArrayList; import java.nio.ByteBuffer; import java.util.Arrays; @@ -85,7 +86,7 @@ public class DiskCache implements URLsDiskHandler, URLsWriter { BooleanArrayList.wrap(new boolean[DiskMetadata.getBlocksCount(metadata.getSize(), BLOCK_SIZE)]) )); } - }) + }, UpdateReturnMode.NOTHING) .then(); } @@ -118,7 +119,7 @@ public class DiskCache implements URLsDiskHandler, URLsWriter { } else { return null; } - })) + }, UpdateReturnMode.NOTHING)) .then(); } diff --git a/src/main/lombok/org/warp/filesponge/FileSpongeUtils.java b/src/main/lombok/org/warp/filesponge/FileSpongeUtils.java index 0f2482b..d152f68 100644 --- a/src/main/lombok/org/warp/filesponge/FileSpongeUtils.java +++ b/src/main/lombok/org/warp/filesponge/FileSpongeUtils.java @@ -45,17 +45,18 @@ public class FileSpongeUtils { } private static Mono ignoreFakeErrors(Throwable ex) { - return Mono.defer(() -> { + return Mono.create(sink -> { if (ex instanceof NoSuchElementException) { var multiple = Exceptions.unwrapMultiple(ex.getCause()); for (Throwable throwable : multiple) { if (!(throwable instanceof NoSuchElementException)) { - return Mono.error(ex); + sink.error(ex); + return; } } - return Mono.empty(); + sink.success(); } else { - return Mono.error(ex); + sink.error(ex); } }); }