diff --git a/CHANGELOG.md b/CHANGELOG.md index cc3386e1cd3..8d5b6694d14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -128,6 +128,7 @@ are provided with different values, using input as per the execution-apis spec i - Add ability to pass a custom tracer to block simulation [#9708](https://github.com/hyperledger/besu/pull/9708) - Add support for `4byteTracer` in `debug_trace*` methods to collect function selectors from internal calls via PR [#9642](https://github.com/hyperledger/besu/pull/9642). Thanks to [@JukLee0ira](https://github.com/JukLee0ira). - Update assertj to v3.27.7 [#9710](https://github.com/hyperledger/besu/pull/9710) +- Update rocksdbjni lib version from 9.7.3 to 10.6.2 [#9767](https://github.com/hyperledger/besu/pull/9767) - Update vertx to 4.5.24 [#9645](https://github.com/hyperledger/besu/pull/9645) - Add byte-level metrics for P2P message exchange [#9666](https://github.com/hyperledger/besu/pull/9666) - Add IPv6 dual-stack support for DiscV5 peer discovery (enabled via `--Xv5-discovery-enabled`): new `--p2p-host-ipv6`, `--p2p-interface-ipv6`, and `--p2p-port-ipv6` CLI options enable a second UDP discovery socket; `--p2p-ipv6-outbound-enabled` controls whether IPv6 is preferred for outbound connections when a peer advertises both address families [#9763](https://github.com/hyperledger/besu/pull/9763); RLPx now also binds a second TCP socket on the IPv6 interface so IPv6-only peers can establish connections [#9873](https://github.com/hyperledger/besu/pull/9873) diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 1901b77866a..eae64186760 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -8879,15 +8879,20 @@ - - - + + + - - + + - - + + + + + + + diff --git a/platform/build.gradle b/platform/build.gradle index 88543986745..e986d283724 100644 --- a/platform/build.gradle +++ b/platform/build.gradle @@ -173,7 +173,7 @@ dependencies { api 'org.owasp.encoder:encoder:1.4.0' - api 'org.rocksdb:rocksdbjni:9.7.3' + api 'org.rocksdb:rocksdbjni:10.6.2' api 'org.springframework.security:spring-security-crypto:6.4.9' diff --git a/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBColumnarKeyValueStorage.java b/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBColumnarKeyValueStorage.java index 89d215c74a6..add8e445c84 100644 --- a/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBColumnarKeyValueStorage.java +++ b/plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBColumnarKeyValueStorage.java @@ -308,6 +308,10 @@ private void setGlobalOptions(final RocksDBConfiguration configuration, final St .setCreateIfMissing(true) .setMaxOpenFiles(configuration.getMaxOpenFiles()) .setStatistics(stats) + // Disable RocksDB's periodic DumpStats() to LOG (default is often 600s). Besu already + // exposes Statistics via Prometheus; the native dump path has been a source of JNI SIGSEGVs + // on some versions/platforms under load. + .setStatsDumpPeriodSec(0) .setCreateMissingColumnFamilies(true) .setLogFileTimeToRoll(TIME_TO_ROLL_LOG_FILE) .setKeepLogFileNum(NUMBER_OF_LOG_FILES_TO_KEEP)