From 84c9a2c3cc1c0b86fa9856bb4c017feb1f40e74b Mon Sep 17 00:00:00 2001 From: Andrea Cavalli Date: Wed, 18 May 2022 00:52:01 +0200 Subject: [PATCH] Update netty --- pom.xml | 10 +++++----- .../java/it/cavallium/dbengine/database/LLRange.java | 2 -- .../java/it/cavallium/dbengine/database/LLUtils.java | 4 ++-- .../dbengine/database/disk/CappedWriteBatch.java | 4 ++-- .../database/disk/LLLocalKeyValueDatabase.java | 6 +++++- .../dbengine/database/disk/rocksdb/RocksObj.java | 2 +- .../dbengine/database/serialization/Serializer.java | 1 - .../lucene/directory/RocksDBSliceInputStream.java | 1 - .../dbengine/lucene/directory/RocksdbOutputStream.java | 2 -- .../java/it/cavallium/dbengine/TestLuceneSearches.java | 2 +- .../dbengine/database/collections/TestRanges.java | 8 -------- 11 files changed, 16 insertions(+), 26 deletions(-) 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});