From f3c63842c8babda66b33f325ce52eeda7f6f551a Mon Sep 17 00:00:00 2001 From: Andrea Cavalli Date: Fri, 29 Oct 2021 00:11:25 +0200 Subject: [PATCH] Don't close unreleasable buffers --- .../database/disk/LLLocalGroupedReactiveRocksIterator.java | 4 +++- .../database/disk/LLLocalKeyPrefixReactiveRocksIterator.java | 4 +++- .../dbengine/database/disk/LLLocalReactiveRocksIterator.java | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalGroupedReactiveRocksIterator.java b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalGroupedReactiveRocksIterator.java index 98e357f..944932e 100644 --- a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalGroupedReactiveRocksIterator.java +++ b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalGroupedReactiveRocksIterator.java @@ -34,7 +34,9 @@ public abstract class LLLocalGroupedReactiveRocksIterator extends } try { if (obj.readOptions != null) { - obj.readOptions.close(); + if (!(obj.readOptions instanceof UnreleasableReadOptions)) { + obj.readOptions.close(); + } } } catch (Throwable ex) { logger.error("Failed to close readOptions", ex); diff --git a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalKeyPrefixReactiveRocksIterator.java b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalKeyPrefixReactiveRocksIterator.java index 5db1b36..ce41e7f 100644 --- a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalKeyPrefixReactiveRocksIterator.java +++ b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalKeyPrefixReactiveRocksIterator.java @@ -35,7 +35,9 @@ public class LLLocalKeyPrefixReactiveRocksIterator extends } try { if (obj.readOptions != null) { - obj.readOptions.close(); + if (!(obj.readOptions instanceof UnreleasableReadOptions)) { + obj.readOptions.close(); + } } } catch (Throwable ex) { logger.error("Failed to close readOptions", ex); diff --git a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalReactiveRocksIterator.java b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalReactiveRocksIterator.java index 1856e1a..da0d6b4 100644 --- a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalReactiveRocksIterator.java +++ b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalReactiveRocksIterator.java @@ -33,7 +33,9 @@ public abstract class LLLocalReactiveRocksIterator extends } try { if (obj.readOptions != null) { - obj.readOptions.close(); + if (!(obj.readOptions instanceof UnreleasableReadOptions)) { + obj.readOptions.close(); + } } } catch (Throwable ex) { logger.error("Failed to close readOptions", ex);