dependabot[bot] opened a new pull request, #7905: URL: https://github.com/apache/ignite-3/pull/7905
Bumps [org.rocksdb:rocksdbjni](https://github.com/facebook/rocksdb) from 10.8.3 to 10.10.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/facebook/rocksdb/releases">org.rocksdb:rocksdbjni's releases</a>.</em></p> <blockquote> <h2>v10.10.1</h2> <h2>10.10.1 (02/02/2026)</h2> <h3>Bug Fixes</h3> <ul> <li>Fixed a bug in best-efforts recovery that causes use-after-free crashes when accessing SST files that were cached during the recovery.</li> <li>Fix resumable compaction incorrectly allowing resumption from a truncated range deletion that is not well handled currently.</li> <li>Fixed a bug in <code>PosixRandomFileAccess</code> IO uring submission queue ownership & management. Fix eliminates the false positive 'Bad cqe data' IO errors in <code>PosixRandomFileAccess::MultiRead</code> when interleaved with <code>PosixRandomFileAccess::ReadAsync</code> on the same thread.</li> <li>Fix Windows VS 2022 build errors.</li> </ul> <h2>v10.9.1</h2> <h2>10.9.1 (2025-12-11)</h2> <h3>Bug Fixes</h3> <ul> <li>Fix resumable compaction incorrectly allowing resumption from a truncated range deletion that is not well handled currently.</li> </ul> <h2>10.9.0 (2025-11-21)</h2> <h3>New Features</h3> <ul> <li>Added an auto-tuning feature for DB manifest file size that also (by default) improves the safety of existing configurations in case <code>max_manifest_file_size</code> is repeatedly exceeded. The new recommendation is to set <code>max_manifest_file_size</code> to something small like 1MB and tune <code>max_manifest_space_amp_pct</code> as needed to balance write amp and space amp in the manifest. Refer to comments on those options in <code>DBOptions</code> for details. Both options are (now) mutable.</li> <li>Added a new API to support option migration for multiple column families</li> <li>Added new option target_file_size_is_upper_bound that makes most compaction output SST files come close to the target file size without exceeding it, rather than commonly exceeding it by some fraction (current behavior). For now the new behavior is off by default, but we expect to enable it by default in the future.</li> <li>Add a new option allow_trivial_move in CompactionOptions to allow CompactFiles to perform trivial move if possible. By default the flag of allow_trivial_move is false, so it preserve the original behavior.</li> </ul> <h3>Public API Changes</h3> <ul> <li>To reduce risk of ODR violations or similar, <code>ROCKSDB_USING_THREAD_STATUS</code> has been removed from public headers and replaced with static <code>const bool ThreadStatus::kEnabled</code>. Some other uses of conditional compilation have been removed from public API headers to reduce risk of ODR violations or other issues.</li> </ul> <h3>Behavior Changes</h3> <ul> <li>PosixWritableFile now repositions the seek pointer to the new end of file after a call to Truncate.</li> <li>Updated standalone range deletion L0 file compaction behavior to avoid compacting with any newer L0 files (which is expensive and not useful).</li> </ul> <h3>Bug Fixes</h3> <ul> <li>Fix a bug where compaction with range deletion can persist kTypeMaxValid in MANIFEST as file metadata. kTypeMaxValid is not supposed to be persisted and can change as new value types are introduced. This can cause a forward compatibility issue where older versions of RocksDB don't recognize kTypeMaxValid from newer versions. A new placeholder value type kTypeTruncatedRangeDeletionSentinel is also introduced to replace kTypeMaxValid when reading existing SST files' metadata from MANIFEST. This allows us to strengthen some checks to avoid using kTypeMaxValid in the future.</li> <li>Fixed a bug where <code>DB::GetSortedWalFiles()</code> could hang when waiting for a purge operation that found nothing to do (potentially triggered by iterator release, flush, compaction, etc.).</li> <li>Fixed a bug in MultiScan where <code>max_sequential_skip_in_iterations</code> could cause the iterator to seek backward to already-unpinned blocks when the same user key spans multiple data blocks, leading to assertion failures or seg fault.</li> <li>Fixed a bug for <code>WAL_ttl_seconds > 0</code> use cases where the newest archived WAL files could be incorrectly deleted when the system clock moved backwards.</li> </ul> <h3>Performance Improvements</h3> <ul> <li>Added optimization that allowed for the asynchronous prefetching of all data outlined in a multiscan iterator. This optimization was applied to the level iterator, which prefetches all data through each of the block-based iterators.</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/facebook/rocksdb/blob/v10.10.1/HISTORY.md">org.rocksdb:rocksdbjni's changelog</a>.</em></p> <blockquote> <h2>10.10.1 (02/02/2026)</h2> <h3>Bug Fixes</h3> <ul> <li>Fix Windows VS 2022 build errors.</li> </ul> <h2>10.10.0 (12/16/2025)</h2> <h3>Bug Fixes</h3> <ul> <li>Fixed a bug in best-efforts recovery that causes use-after-free crashes when accessing SST files that were cached during the recovery.</li> <li>Fix resumable compaction incorrectly allowing resumption from a truncated range deletion that is not well handled currently.</li> <li>Fixed a bug in <code>PosixRandomFileAccess</code> IO uring submission queue ownership & management. Fix eliminates the false positive 'Bad cqe data' IO errors in <code>PosixRandomFileAccess::MultiRead</code> when interleaved with <code>PosixRandomFileAccess::ReadAsync</code> on the same thread.</li> </ul> <h2>10.9.0 (11/21/2025)</h2> <h3>New Features</h3> <ul> <li>Added an auto-tuning feature for DB manifest file size that also (by default) improves the safety of existing configurations in case <code>max_manifest_file_size</code> is repeatedly exceeded. The new recommendation is to set <code>max_manifest_file_size</code> to something small like 1MB and tune <code>max_manifest_space_amp_pct</code> as needed to balance write amp and space amp in the manifest. Refer to comments on those options in <code>DBOptions</code> for details. Both options are (now) mutable.</li> <li>Added a new API to support option migration for multiple column families</li> <li>Added new option target_file_size_is_upper_bound that makes most compaction output SST files come close to the target file size without exceeding it, rather than commonly exceeding it by some fraction (current behavior). For now the new behavior is off by default, but we expect to enable it by default in the future.</li> <li>Add a new option allow_trivial_move in CompactionOptions to allow CompactFiles to perform trivial move if possible. By default the flag of allow_trivial_move is false, so it preserve the original behavior.</li> </ul> <h3>Public API Changes</h3> <ul> <li>To reduce risk of ODR violations or similar, <code>ROCKSDB_USING_THREAD_STATUS</code> has been removed from public headers and replaced with static <code>const bool ThreadStatus::kEnabled</code>. Some other uses of conditional compilation have been removed from public API headers to reduce risk of ODR violations or other issues.</li> </ul> <h3>Behavior Changes</h3> <ul> <li>PosixWritableFile now repositions the seek pointer to the new end of file after a call to Truncate.</li> <li>Updated standalone range deletion L0 file compaction behavior to avoid compacting with any newer L0 files (which is expensive and not useful).</li> </ul> <h3>Bug Fixes</h3> <ul> <li>Fix a bug where compaction with range deletion can persist kTypeMaxValid in MANIFEST as file metadata. kTypeMaxValid is not supposed to be persisted and can change as new value types are introduced. This can cause a forward compatibility issue where older versions of RocksDB don't recognize kTypeMaxValid from newer versions. A new placeholder value type kTypeTruncatedRangeDeletionSentinel is also introduced to replace kTypeMaxValid when reading existing SST files' metadata from MANIFEST. This allows us to strengthen some checks to avoid using kTypeMaxValid in the future.</li> <li>Fixed a bug where <code>DB::GetSortedWalFiles()</code> could hang when waiting for a purge operation that found nothing to do (potentially triggered by iterator release, flush, compaction, etc.).</li> <li>Fixed a bug in MultiScan where <code>max_sequential_skip_in_iterations</code> could cause the iterator to seek backward to already-unpinned blocks when the same user key spans multiple data blocks, leading to assertion failures or seg fault.</li> <li>Fixed a bug for <code>WAL_ttl_seconds > 0</code> use cases where the newest archived WAL files could be incorrectly deleted when the system clock moved backwards.</li> </ul> <h3>Performance Improvements</h3> <ul> <li>Added optimization that allowed for the asynchronous prefetching of all data outlined in a multiscan iterator. This optimization was applied to the level iterator, which prefetches all data through each of the block-based iterators.</li> </ul> <h2>10.8.0 (10/21/2025)</h2> <h3>New Features</h3> <ul> <li>Add kFSPrefetch to FSSupportedOps enum to allow file systems to indicate prefetch support capability, avoiding unnecessary prefetch system calls on file systems that don't support them.</li> <li>Added experimental support <code>OpenAndCompactOptions::allow_resumption</code> for resumable compaction that persists progress during <code>OpenAndCompact()</code>, allowing interrupted compactions to resume from the last progress persitence. The default behavior is to not persist progress.</li> </ul> <h3>Public API Changes</h3> <ul> <li>Allow specifying output temperature in CompactionOptions</li> <li>Added <code>DB::FlushWAL(const FlushWALOptions&)</code> as an alternative to <code>DB::FlushWAL(bool sync)</code>, where <code>FlushWALOptions</code> includes a new <code>rate_limiter_priority</code> field (default <code>Env::IO_TOTAL</code>) that allows rate limiting and priority passing of manual WAL flush's IO operations.</li> <li>The MultiScan API contract is updated. After a multi scan range got prepared with Prepare API call, the following seeks must seek the start of each prepared scan range in order. In addition, when limit is set, upper bound must be set to the same value of limit before each seek</li> </ul> <h3>Behavior Changes</h3> <ul> <li><code>kChangeTemperature</code> FIFO compaction will now honor <code>compaction_target_temp</code> to all levels regardless of <code>cf_options::last_level_temperature</code></li> <li>Allow UDIs with a non BytewiseComparator</li> </ul> <h3>Bug Fixes</h3> <ul> <li>Fix incorrect MultiScan seek error status due to bugs in handling range limit falling between adjacent SST files key range.</li> <li>Fix a bug in Page unpinning in MultiScan</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/facebook/rocksdb/commit/4595a5e95ae8525c42e172a054435782b3479c57"><code>4595a5e</code></a> Merge pull request <a href="https://redirect.github.com/facebook/rocksdb/issues/14294">#14294</a> from mszeszko-meta/cherry_pick_14280_to_10_10</li> <li><a href="https://github.com/facebook/rocksdb/commit/d4d93a17d2792ed3ad58e756a18845b158868175"><code>d4d93a1</code></a> Fixes the Windows VS 2022 build (<a href="https://redirect.github.com/facebook/rocksdb/issues/14280">#14280</a>)</li> <li><a href="https://github.com/facebook/rocksdb/commit/3798025699cb0bb3f0a110199bf827f6ab8651da"><code>3798025</code></a> 10.10.fb</li> <li><a href="https://github.com/facebook/rocksdb/commit/9065ace05ada92e0a435fbb973ef957fc4401f43"><code>9065ace</code></a> Disable multiscan+timestamp in crash test (<a href="https://redirect.github.com/facebook/rocksdb/issues/14189">#14189</a>)</li> <li><a href="https://github.com/facebook/rocksdb/commit/5a06787a26ee4035b5c7d46ea4b3d80fc9bc02c9"><code>5a06787</code></a> IO uring improvements (<a href="https://redirect.github.com/facebook/rocksdb/issues/14158">#14158</a>)</li> <li><a href="https://github.com/facebook/rocksdb/commit/a1d83185635b05a907767e481ac0449980daeb73"><code>a1d8318</code></a> Fix resumable compaction to prevent resumption at truncated range deletion bo...</li> <li><a href="https://github.com/facebook/rocksdb/commit/eedf1fe06828a9e530cc20d55060c887112189f5"><code>eedf1fe</code></a> Display copy-paste friendly flag value in db_crashtest.py (<a href="https://redirect.github.com/facebook/rocksdb/issues/14180">#14180</a>)</li> <li><a href="https://github.com/facebook/rocksdb/commit/80c4a67d6aaaee1755a8ccb88c6a02eb75fb91ff"><code>80c4a67</code></a> Remote Compaction C API (<a href="https://redirect.github.com/facebook/rocksdb/issues/14136">#14136</a>)</li> <li><a href="https://github.com/facebook/rocksdb/commit/5d0cf98e6cea7b5b3be7716d531bc1967b25f0fb"><code>5d0cf98</code></a> Surface MultiScan async read failure instead of asserting (<a href="https://redirect.github.com/facebook/rocksdb/issues/14171">#14171</a>)</li> <li><a href="https://github.com/facebook/rocksdb/commit/e3b54647859670105c0699566d6ef733542ae4d7"><code>e3b5464</code></a> GitHub Actions nightly crash test runs on ARM (<a href="https://redirect.github.com/facebook/rocksdb/issues/14172">#14172</a>)</li> <li>Additional commits viewable in <a href="https://github.com/facebook/rocksdb/compare/v10.8.3...v10.10.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
