From 01b8b704d056cf63ee99146f5167ac69b7cb20e0 Mon Sep 17 00:00:00 2001 From: Andrea Cavalli Date: Wed, 17 Feb 2021 13:59:35 +0100 Subject: [PATCH] Bugfix --- .../database/disk/LLLocalLuceneIndex.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalLuceneIndex.java b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalLuceneIndex.java index 20a5c11..ffe558a 100644 --- a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalLuceneIndex.java +++ b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalLuceneIndex.java @@ -440,7 +440,13 @@ public class LLLocalLuceneIndex implements LLLuceneIndex { }).subscribeOn(luceneBlockingScheduler) ).then() .materialize() - .flatMap(value -> releaseSearcherWrapper(snapshot, indexSearcher).thenReturn(value)) + .flatMap(signal -> { + if (signal.isOnComplete() || signal.isOnError()) { + return releaseSearcherWrapper(snapshot, indexSearcher).thenReturn(signal); + } else { + return Mono.just(signal); + } + }) .dematerialize() ); }); @@ -535,7 +541,13 @@ public class LLLocalLuceneIndex implements LLLuceneIndex { }).subscribeOn(luceneBlockingScheduler) ) .materialize() - .flatMap(value -> releaseSearcherWrapper(snapshot, indexSearcher).thenReturn(value)) + .flatMap(signal -> { + if (signal.isOnComplete() || signal.isOnError()) { + return releaseSearcherWrapper(snapshot, indexSearcher).thenReturn(signal); + } else { + return Mono.just(signal); + } + }) .dematerialize() ); }