diff --git a/pom.xml b/pom.xml
index e363bc1..0ae32dc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -102,11 +102,11 @@
guava
31.1-jre
-
- io.netty
- netty5-buffer
- 5.0.0.Alpha1
-
+
+ io.netty
+ netty5-buffer
+ 5.0.0.Alpha2
+
org.yaml
snakeyaml
diff --git a/src/main/java/it/cavallium/dbengine/database/LLRange.java b/src/main/java/it/cavallium/dbengine/database/LLRange.java
index 2446f90..7ced01e 100644
--- a/src/main/java/it/cavallium/dbengine/database/LLRange.java
+++ b/src/main/java/it/cavallium/dbengine/database/LLRange.java
@@ -1,7 +1,5 @@
package it.cavallium.dbengine.database;
-import static io.netty5.buffer.Unpooled.wrappedBuffer;
-
import io.netty5.buffer.api.Buffer;
import io.netty5.buffer.api.Drop;
import io.netty5.buffer.api.Owned;
diff --git a/src/main/java/it/cavallium/dbengine/database/LLUtils.java b/src/main/java/it/cavallium/dbengine/database/LLUtils.java
index b90de45..7422130 100644
--- a/src/main/java/it/cavallium/dbengine/database/LLUtils.java
+++ b/src/main/java/it/cavallium/dbengine/database/LLUtils.java
@@ -809,7 +809,7 @@ public class LLUtils {
b1.writerOffset(b1.writerOffset() + b2.readableBytes());
return b1;
} else {
- return CompositeBuffer.compose(alloc, b1.send(), b2.send());
+ return alloc.compose(List.of(b1.send(), b2.send()));
}
}
}
@@ -834,7 +834,7 @@ public class LLUtils {
b1.writerOffset(b1.writerOffset() + b3.readableBytes());
return b1;
} else {
- return CompositeBuffer.compose(alloc, b1.send(), b2.send(), b3.send());
+ return alloc.compose(List.of(b1.send(), b2.send(), b3.send()));
}
}
}
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/CappedWriteBatch.java b/src/main/java/it/cavallium/dbengine/database/disk/CappedWriteBatch.java
index fbe177b..df2f9ad 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/CappedWriteBatch.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/CappedWriteBatch.java
@@ -267,8 +267,8 @@ public class CappedWriteBatch extends WriteBatch {
}
@Override
- public synchronized void close() {
- super.close();
+ protected void disposeInternal(boolean owningHandle) {
+ super.disposeInternal(owningHandle);
releaseAllBuffers();
}
}
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalKeyValueDatabase.java b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalKeyValueDatabase.java
index 334f239..27ecc70 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalKeyValueDatabase.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalKeyValueDatabase.java
@@ -1499,7 +1499,11 @@ public class LLLocalKeyValueDatabase implements LLKeyValueDatabase {
compressedCache,
new ArrayList<>(handles.values().stream().map(RocksObj::v).toList())
);
- handles.values().forEach(ResourceSupport::close);
+ handles.values().forEach(columnFamilyHandleRocksObj -> {
+ if (columnFamilyHandleRocksObj.isAccessible()) {
+ columnFamilyHandleRocksObj.close();
+ }
+ });
handles.clear();
deleteUnusedOldLogFiles();
} catch (RocksDBException e) {
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/rocksdb/RocksObj.java b/src/main/java/it/cavallium/dbengine/database/disk/rocksdb/RocksObj.java
index 41a9ddc..0bb0058 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/rocksdb/RocksObj.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/rocksdb/RocksObj.java
@@ -12,7 +12,7 @@ public class RocksObj extends ResourceSupport
@Override
public void drop(RocksObj obj) {
if (obj.val != null) {
- obj.val.close();
+ if (obj.val.isAccessible()) obj.val.close();
}
}
diff --git a/src/main/java/it/cavallium/dbengine/database/serialization/Serializer.java b/src/main/java/it/cavallium/dbengine/database/serialization/Serializer.java
index 6e27621..98acf73 100644
--- a/src/main/java/it/cavallium/dbengine/database/serialization/Serializer.java
+++ b/src/main/java/it/cavallium/dbengine/database/serialization/Serializer.java
@@ -1,6 +1,5 @@
package it.cavallium.dbengine.database.serialization;
-import io.netty5.buffer.ByteBufUtil;
import io.netty5.buffer.api.Buffer;
import io.netty5.buffer.api.BufferAllocator;
import io.netty5.buffer.api.Send;
diff --git a/src/main/java/it/cavallium/dbengine/lucene/directory/RocksDBSliceInputStream.java b/src/main/java/it/cavallium/dbengine/lucene/directory/RocksDBSliceInputStream.java
index 034968d..c0ba401 100644
--- a/src/main/java/it/cavallium/dbengine/lucene/directory/RocksDBSliceInputStream.java
+++ b/src/main/java/it/cavallium/dbengine/lucene/directory/RocksDBSliceInputStream.java
@@ -1,6 +1,5 @@
package it.cavallium.dbengine.lucene.directory;
-import io.netty5.buffer.Unpooled;
import io.netty5.buffer.api.Buffer;
import io.netty5.buffer.api.BufferAllocator;
import io.netty5.buffer.api.BufferRef;
diff --git a/src/main/java/it/cavallium/dbengine/lucene/directory/RocksdbOutputStream.java b/src/main/java/it/cavallium/dbengine/lucene/directory/RocksdbOutputStream.java
index e1dc41d..9e98b41 100644
--- a/src/main/java/it/cavallium/dbengine/lucene/directory/RocksdbOutputStream.java
+++ b/src/main/java/it/cavallium/dbengine/lucene/directory/RocksdbOutputStream.java
@@ -1,7 +1,5 @@
package it.cavallium.dbengine.lucene.directory;
-import io.netty5.buffer.ByteBuf;
-import io.netty5.buffer.ByteBufAllocator;
import io.netty5.buffer.api.Buffer;
import org.apache.lucene.store.BufferedChecksum;
import org.apache.lucene.store.IndexOutput;
diff --git a/src/test/java/it/cavallium/dbengine/TestLuceneSearches.java b/src/test/java/it/cavallium/dbengine/TestLuceneSearches.java
index 0055d36..4bdb805 100644
--- a/src/test/java/it/cavallium/dbengine/TestLuceneSearches.java
+++ b/src/test/java/it/cavallium/dbengine/TestLuceneSearches.java
@@ -8,7 +8,7 @@ import static it.cavallium.dbengine.SyncUtils.*;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.fail;
-import io.netty5.buffer.PooledByteBufAllocator;
+import io.netty.buffer.PooledByteBufAllocator;
import it.cavallium.dbengine.DbTestUtils.TempDb;
import it.cavallium.dbengine.DbTestUtils.TestAllocator;
import it.cavallium.dbengine.client.HitKey;
diff --git a/src/test/java/it/cavallium/dbengine/database/collections/TestRanges.java b/src/test/java/it/cavallium/dbengine/database/collections/TestRanges.java
index 7c0ed25..dbd7196 100644
--- a/src/test/java/it/cavallium/dbengine/database/collections/TestRanges.java
+++ b/src/test/java/it/cavallium/dbengine/database/collections/TestRanges.java
@@ -1,8 +1,5 @@
package it.cavallium.dbengine.database.collections;
-import static io.netty5.buffer.Unpooled.wrappedBuffer;
-
-import io.netty5.buffer.Unpooled;
import io.netty5.buffer.api.Buffer;
import io.netty5.buffer.api.BufferAllocator;
import it.cavallium.dbengine.database.LLUtils;
@@ -26,11 +23,6 @@ public class TestRanges {
alloc = BufferAllocator.offHeapPooled();
}
- @Test
- public void testDirectBuffer() {
- Assertions.assertTrue(wrappedBuffer(Unpooled.directBuffer(10, 10), Unpooled.buffer(10, 10)).isDirect());
- }
-
@Test
public void testNextRangeKey() {
testNextRangeKey(new byte[] {0x00, 0x00, 0x00});