From 342718e994d56a994f5c11dd10061c875d6da8ca Mon Sep 17 00:00:00 2001 From: Gabriel Fukushima Date: Mon, 20 Jan 2025 11:28:49 +1000 Subject: [PATCH 01/15] asset DB is open before createStreamKeyRaw Signed-off-by: Gabriel Fukushima --- .../pegasys/teku/storage/server/rocksdb/RocksDbInstance.java | 1 + 1 file changed, 1 insertion(+) diff --git a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java index 8ed14e3ab5d..3a7c72797ab 100644 --- a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java +++ b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java @@ -160,6 +160,7 @@ public Stream> streamRaw(final KvStoreColumn col @Override @MustBeClosed public Stream streamKeysRaw(final KvStoreColumn column) { + assertOpen(); return createStreamKeyRaw(column, RocksIterator::seekToFirst, key -> true).map(Bytes::wrap); } From 78c0875dc60021e168620b3152599ff7826d7040 Mon Sep 17 00:00:00 2001 From: Gabriel Fukushima Date: Mon, 20 Jan 2025 13:40:53 +1000 Subject: [PATCH 02/15] asset DB is open before createStreamRaw Signed-off-by: Gabriel Fukushima --- .../pegasys/teku/storage/server/rocksdb/RocksDbInstance.java | 1 + 1 file changed, 1 insertion(+) diff --git a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java index 3a7c72797ab..1ce9bff6c02 100644 --- a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java +++ b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java @@ -250,6 +250,7 @@ private Stream> createStreamRaw( final KvStoreColumn column, final Consumer setupIterator, final Predicate continueTest) { + assertOpen(); final ColumnFamilyHandle handle = columnHandles.get(column); final RocksIterator rocksDbIterator = db.newIterator(handle); setupIterator.accept(rocksDbIterator); From 9b7c189bfd2bbc2028bd2fc42c44ec9082678755 Mon Sep 17 00:00:00 2001 From: Gabriel Fukushima Date: Mon, 20 Jan 2025 15:56:24 +1000 Subject: [PATCH 03/15] asset DB is open before createStreamKeyRaw Signed-off-by: Gabriel Fukushima --- .../pegasys/teku/storage/server/rocksdb/RocksDbInstance.java | 1 + 1 file changed, 1 insertion(+) diff --git a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java index 1ce9bff6c02..dde38ce6b6f 100644 --- a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java +++ b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java @@ -263,6 +263,7 @@ private Stream createStreamKeyRaw( final KvStoreColumn column, final Consumer setupIterator, final Predicate continueTest) { + assertOpen(); final ColumnFamilyHandle handle = columnHandles.get(column); final RocksIterator rocksDbIterator = db.newIterator(handle); setupIterator.accept(rocksDbIterator); From 2d8713b3e50eb039c8a5965326ef1c34a9f3a565 Mon Sep 17 00:00:00 2001 From: Gabriel Fukushima Date: Tue, 21 Jan 2025 13:49:12 +1000 Subject: [PATCH 04/15] stop blob and state pruner as well Signed-off-by: Gabriel Fukushima --- .../teku/services/chainstorage/StorageService.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/services/chainstorage/src/main/java/tech/pegasys/teku/services/chainstorage/StorageService.java b/services/chainstorage/src/main/java/tech/pegasys/teku/services/chainstorage/StorageService.java index 7f7648b5c14..22695ac62dd 100644 --- a/services/chainstorage/src/main/java/tech/pegasys/teku/services/chainstorage/StorageService.java +++ b/services/chainstorage/src/main/java/tech/pegasys/teku/services/chainstorage/StorageService.java @@ -271,9 +271,12 @@ public Optional getStatePruner() { @Override protected SafeFuture doStop() { - return blockPruner - .map(BlockPruner::stop) - .orElseGet(() -> SafeFuture.completedFuture(null)) + return SafeFuture.allOf( + blockPruner.map(BlockPruner::stop).orElseGet(() -> SafeFuture.completedFuture(null)), + blobsPruner + .map(BlobSidecarPruner::stop) + .orElseGet(() -> SafeFuture.completedFuture(null)), + statePruner.map(StatePruner::stop).orElseGet(() -> SafeFuture.completedFuture(null))) .thenCompose(__ -> SafeFuture.fromRunnable(database::close)); } From c516e93c60f8b37ac42c7af88b36ff5c5b725179 Mon Sep 17 00:00:00 2001 From: Gabriel Fukushima Date: Tue, 21 Jan 2025 16:14:21 +1000 Subject: [PATCH 05/15] try and close columnHandle before closing db Signed-off-by: Gabriel Fukushima --- .../pegasys/teku/storage/server/rocksdb/RocksDbInstance.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java index dde38ce6b6f..27df32dd650 100644 --- a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java +++ b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java @@ -277,6 +277,8 @@ public synchronized void close() throws Exception { openTransaction.closeViaDatabase(); } db.syncWal(); + columnHandles.values().forEach(ColumnFamilyHandle::close); + db.close(); for (final AutoCloseable resource : resources) { resource.close(); } From 3d3182c5691b71690a5b65c5e368fbda1bbb057d Mon Sep 17 00:00:00 2001 From: Gabriel Fukushima Date: Tue, 21 Jan 2025 16:28:41 +1000 Subject: [PATCH 06/15] log resource name Signed-off-by: Gabriel Fukushima --- .../teku/storage/server/rocksdb/RocksDbInstance.java | 9 +++++++-- .../storage/server/rocksdb/RocksDbInstanceFactory.java | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java index 27df32dd650..eec7a3057c9 100644 --- a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java +++ b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java @@ -25,6 +25,9 @@ import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.stream.Stream; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.tuweni.bytes.Bytes; import org.rocksdb.AbstractRocksIterator; import org.rocksdb.ColumnFamilyHandle; @@ -47,6 +50,8 @@ public class RocksDbInstance implements KvStoreAccessor { private final AtomicBoolean closed = new AtomicBoolean(false); + private static final Logger LOG = LogManager.getLogger(); + RocksDbInstance( final TransactionDB db, final ColumnFamilyHandle defaultHandle, @@ -277,9 +282,9 @@ public synchronized void close() throws Exception { openTransaction.closeViaDatabase(); } db.syncWal(); - columnHandles.values().forEach(ColumnFamilyHandle::close); - db.close(); + for (final AutoCloseable resource : resources) { + LOG.debug("Closing resource: {}", resource); resource.close(); } } diff --git a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstanceFactory.java b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstanceFactory.java index fc352ac1b69..70966e8fa8a 100644 --- a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstanceFactory.java +++ b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstanceFactory.java @@ -189,7 +189,7 @@ private static BlockBasedTableConfig createBlockBasedTableConfig(final Cache cac .setBlockCache(cache) .setFilterPolicy(new BloomFilter(10, false)) .setPartitionFilters(true) - .setCacheIndexAndFilterBlocks(true) + .setCacheIndexAndFilterBlocks(false) .setBlockSize(ROCKSDB_BLOCK_SIZE); } } From a90192b7b3cc7d511d97ae4ce11859ba1c3a8075 Mon Sep 17 00:00:00 2001 From: Gabriel Fukushima Date: Tue, 21 Jan 2025 16:28:53 +1000 Subject: [PATCH 07/15] spotless Signed-off-by: Gabriel Fukushima --- .../pegasys/teku/storage/server/rocksdb/RocksDbInstance.java | 1 - 1 file changed, 1 deletion(-) diff --git a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java index eec7a3057c9..3ed8b355821 100644 --- a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java +++ b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java @@ -25,7 +25,6 @@ import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.stream.Stream; - import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.tuweni.bytes.Bytes; From 4a1abe91780b062c3fb595dd82387cfef8fb3313 Mon Sep 17 00:00:00 2001 From: Gabriel Fukushima Date: Wed, 22 Jan 2025 11:08:28 +1000 Subject: [PATCH 08/15] check if RocksDbStats are open before providing the external summary Signed-off-by: Gabriel Fukushima --- .../tech/pegasys/teku/storage/server/rocksdb/RocksDbStats.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbStats.java b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbStats.java index d9801c8a1ff..c12f33337a9 100644 --- a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbStats.java +++ b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbStats.java @@ -13,6 +13,7 @@ package tech.pegasys.teku.storage.server.rocksdb; +import java.util.Collections; import java.util.List; import java.util.Locale; import java.util.function.Supplier; @@ -195,7 +196,7 @@ public void registerMetrics(final RocksDB database) { + "_" + histogram.name().toLowerCase(Locale.ROOT), "RocksDB histogram for " + histogram.name(), - () -> provideExternalSummary(stats, histogram)); + () -> ifOpen(() -> provideExternalSummary(stats, histogram), new ExternalSummary(0, 0, Collections.emptyList()))); } } } From 4185b9d208be00b54efc2b398b079aff85653003 Mon Sep 17 00:00:00 2001 From: Gabriel Fukushima Date: Wed, 22 Jan 2025 11:08:49 +1000 Subject: [PATCH 09/15] spotless Signed-off-by: Gabriel Fukushima --- .../pegasys/teku/storage/server/rocksdb/RocksDbStats.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbStats.java b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbStats.java index c12f33337a9..ba98bf584dc 100644 --- a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbStats.java +++ b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbStats.java @@ -196,7 +196,10 @@ public void registerMetrics(final RocksDB database) { + "_" + histogram.name().toLowerCase(Locale.ROOT), "RocksDB histogram for " + histogram.name(), - () -> ifOpen(() -> provideExternalSummary(stats, histogram), new ExternalSummary(0, 0, Collections.emptyList()))); + () -> + ifOpen( + () -> provideExternalSummary(stats, histogram), + new ExternalSummary(0, 0, Collections.emptyList()))); } } } From 376577f3c6ffc717eb9c35b97809cc9b64e13a74 Mon Sep 17 00:00:00 2001 From: Gabriel Fukushima Date: Thu, 23 Jan 2025 11:29:51 +1000 Subject: [PATCH 10/15] close iterators after streaming Signed-off-by: Gabriel Fukushima --- .../pegasys/teku/storage/server/rocksdb/RocksDbInstance.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java index 3ed8b355821..9c49e29ceaf 100644 --- a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java +++ b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java @@ -64,6 +64,7 @@ public class RocksDbInstance implements KvStoreAccessor { @Override public Optional get(final KvStoreVariable variable) { + assertOpen(); return getRaw(variable).map(data -> variable.getSerializer().deserialize(data.toArrayUnsafe())); } @@ -258,7 +259,7 @@ private Stream> createStreamRaw( final ColumnFamilyHandle handle = columnHandles.get(column); final RocksIterator rocksDbIterator = db.newIterator(handle); setupIterator.accept(rocksDbIterator); - return RocksDbIterator.create(column, rocksDbIterator, continueTest, closed::get).toStream(); + return RocksDbIterator.create(column, rocksDbIterator, continueTest, closed::get).toStream().onClose(rocksDbIterator::close); } @SuppressWarnings("MustBeClosedChecker") @@ -271,7 +272,7 @@ private Stream createStreamKeyRaw( final ColumnFamilyHandle handle = columnHandles.get(column); final RocksIterator rocksDbIterator = db.newIterator(handle); setupIterator.accept(rocksDbIterator); - return RocksDbKeyIterator.create(column, rocksDbIterator, continueTest, closed::get).toStream(); + return RocksDbKeyIterator.create(column, rocksDbIterator, continueTest, closed::get).toStream().onClose(rocksDbIterator::close); } @Override From c5d6892129b6497c3a47aced656c8d0d9668919b Mon Sep 17 00:00:00 2001 From: Gabriel Fukushima Date: Thu, 23 Jan 2025 11:30:14 +1000 Subject: [PATCH 11/15] spotless Signed-off-by: Gabriel Fukushima --- .../teku/storage/server/rocksdb/RocksDbInstance.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java index 9c49e29ceaf..400c69b370b 100644 --- a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java +++ b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java @@ -259,7 +259,9 @@ private Stream> createStreamRaw( final ColumnFamilyHandle handle = columnHandles.get(column); final RocksIterator rocksDbIterator = db.newIterator(handle); setupIterator.accept(rocksDbIterator); - return RocksDbIterator.create(column, rocksDbIterator, continueTest, closed::get).toStream().onClose(rocksDbIterator::close); + return RocksDbIterator.create(column, rocksDbIterator, continueTest, closed::get) + .toStream() + .onClose(rocksDbIterator::close); } @SuppressWarnings("MustBeClosedChecker") @@ -272,7 +274,9 @@ private Stream createStreamKeyRaw( final ColumnFamilyHandle handle = columnHandles.get(column); final RocksIterator rocksDbIterator = db.newIterator(handle); setupIterator.accept(rocksDbIterator); - return RocksDbKeyIterator.create(column, rocksDbIterator, continueTest, closed::get).toStream().onClose(rocksDbIterator::close); + return RocksDbKeyIterator.create(column, rocksDbIterator, continueTest, closed::get) + .toStream() + .onClose(rocksDbIterator::close); } @Override From 22ea2a7f7af97feddf593442c602653343833a7e Mon Sep 17 00:00:00 2001 From: Gabriel Fukushima Date: Thu, 23 Jan 2025 16:43:49 +1000 Subject: [PATCH 12/15] shutdown asyncRunners on shutdown Signed-off-by: Gabriel Fukushima --- .../pegasys/teku/storage/server/pruner/BlobSidecarPruner.java | 2 ++ .../tech/pegasys/teku/storage/server/pruner/BlockPruner.java | 1 + .../tech/pegasys/teku/storage/server/pruner/StatePruner.java | 1 + 3 files changed, 4 insertions(+) diff --git a/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/BlobSidecarPruner.java b/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/BlobSidecarPruner.java index 3dafcddb63c..57380f8df51 100644 --- a/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/BlobSidecarPruner.java +++ b/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/BlobSidecarPruner.java @@ -115,7 +115,9 @@ protected synchronized SafeFuture doStart() { @Override protected synchronized SafeFuture doStop() { + asyncRunner.shutdown(); scheduledPruner.ifPresent(Cancellable::cancel); + return SafeFuture.COMPLETE; } diff --git a/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/BlockPruner.java b/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/BlockPruner.java index 3635f6c24a5..97b8fb5baf0 100644 --- a/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/BlockPruner.java +++ b/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/BlockPruner.java @@ -83,6 +83,7 @@ protected synchronized SafeFuture doStart() { @Override protected synchronized SafeFuture doStop() { + asyncRunner.shutdown(); scheduledPruner.ifPresent(Cancellable::cancel); return SafeFuture.COMPLETE; } diff --git a/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/StatePruner.java b/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/StatePruner.java index 2a6536822b0..b7394637c01 100644 --- a/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/StatePruner.java +++ b/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/StatePruner.java @@ -89,6 +89,7 @@ protected synchronized SafeFuture doStart() { @Override protected synchronized SafeFuture doStop() { + asyncRunner.shutdown(); scheduledPruner.ifPresent(Cancellable::cancel); return SafeFuture.COMPLETE; } From c514158535e1888951803dbc247a130919bcbf6d Mon Sep 17 00:00:00 2001 From: Gabriel Fukushima Date: Thu, 23 Jan 2025 21:12:34 +1000 Subject: [PATCH 13/15] cancel background work before closing db Signed-off-by: Gabriel Fukushima --- .../pegasys/teku/storage/server/rocksdb/RocksDbInstance.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java index 400c69b370b..a2378d6cde1 100644 --- a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java +++ b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java @@ -286,7 +286,7 @@ public synchronized void close() throws Exception { openTransaction.closeViaDatabase(); } db.syncWal(); - + db.cancelAllBackgroundWork(true); for (final AutoCloseable resource : resources) { LOG.debug("Closing resource: {}", resource); resource.close(); From ab108ac6f567cb9545a2b640bf901ac1bf91ae10 Mon Sep 17 00:00:00 2001 From: Gabriel Fukushima Date: Fri, 24 Jan 2025 09:59:58 +1000 Subject: [PATCH 14/15] add debug logs Signed-off-by: Gabriel Fukushima --- .../pegasys/teku/storage/server/pruner/BlobSidecarPruner.java | 1 + .../tech/pegasys/teku/storage/server/pruner/BlockPruner.java | 1 + .../tech/pegasys/teku/storage/server/pruner/StatePruner.java | 1 + 3 files changed, 3 insertions(+) diff --git a/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/BlobSidecarPruner.java b/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/BlobSidecarPruner.java index 57380f8df51..a4126c89e6e 100644 --- a/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/BlobSidecarPruner.java +++ b/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/BlobSidecarPruner.java @@ -115,6 +115,7 @@ protected synchronized SafeFuture doStart() { @Override protected synchronized SafeFuture doStop() { + LOG.debug("Stopping blob pruner"); asyncRunner.shutdown(); scheduledPruner.ifPresent(Cancellable::cancel); diff --git a/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/BlockPruner.java b/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/BlockPruner.java index 97b8fb5baf0..e2735bb8a5e 100644 --- a/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/BlockPruner.java +++ b/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/BlockPruner.java @@ -83,6 +83,7 @@ protected synchronized SafeFuture doStart() { @Override protected synchronized SafeFuture doStop() { + LOG.debug("Stopping block pruner"); asyncRunner.shutdown(); scheduledPruner.ifPresent(Cancellable::cancel); return SafeFuture.COMPLETE; diff --git a/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/StatePruner.java b/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/StatePruner.java index b7394637c01..f8f1dc8cc60 100644 --- a/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/StatePruner.java +++ b/storage/src/main/java/tech/pegasys/teku/storage/server/pruner/StatePruner.java @@ -89,6 +89,7 @@ protected synchronized SafeFuture doStart() { @Override protected synchronized SafeFuture doStop() { + LOG.debug("Stopping state pruner"); asyncRunner.shutdown(); scheduledPruner.ifPresent(Cancellable::cancel); return SafeFuture.COMPLETE; From 23f1d8fdcd4ac1847162e22dc788050e5c7885ae Mon Sep 17 00:00:00 2001 From: Gabriel Fukushima Date: Fri, 24 Jan 2025 10:03:04 +1000 Subject: [PATCH 15/15] cancel all bg work Signed-off-by: Gabriel Fukushima --- .../pegasys/teku/storage/server/rocksdb/RocksDbInstance.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java index a2378d6cde1..68875541dcf 100644 --- a/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java +++ b/storage/src/main/java/tech/pegasys/teku/storage/server/rocksdb/RocksDbInstance.java @@ -286,7 +286,7 @@ public synchronized void close() throws Exception { openTransaction.closeViaDatabase(); } db.syncWal(); - db.cancelAllBackgroundWork(true); + db.cancelAllBackgroundWork(false); for (final AutoCloseable resource : resources) { LOG.debug("Closing resource: {}", resource); resource.close();