dependabot[bot] opened a new pull request, #7974:
URL: https://github.com/apache/ignite-3/pull/7974

   Bumps [org.rocksdb:rocksdbjni](https://github.com/facebook/rocksdb) from 
10.8.3 to 10.10.1.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 &amp; 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 &gt; 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/main/HISTORY.md";>org.rocksdb:rocksdbjni's
 changelog</a>.</em></p>
   <blockquote>
   <h1>Rocksdb Change Log</h1>
   <blockquote>
   <p>NOTE: Entries for next release do not go here. Follow instructions in 
<code>unreleased_history/README.txt</code></p>
   </blockquote>
   <h2>11.1.0 (03/23/2026)</h2>
   <h3>New Features</h3>
   <ul>
   <li>Add a new option <code>open_files_async</code>. The existing behavior is 
on DB open, we open all sst files and do basic validations. For very large DBs 
on remote filesystems with many ssts, this may take very long. This option 
performs these validations instead in the background. Open errors found by this 
async background task are surfaced as a new background error 
kAsyncFileOpen.</li>
   <li>Added <code>BlockBasedTableOptions::kAuto</code> index block search type 
that automatically selects between binary and interpolation search on a 
per-index-block basis. During SST construction, each index block's key 
distribution uniformity is analyzed using the coefficient of variation of key 
gaps, and index blocks with uniform keys use interpolation search while others 
fall back to binary search. The uniformity threshold is configurable via 
<code>BlockBasedTableOptions::uniform_cv_threshold</code> (default: 0.2).</li>
   <li>Introduced enforce_write_buffer_manager_during_recovery option to allow 
WriteBufferManager to be enforced during WAL recovery. (Default: true)</li>
   <li>Add <code>memtable_batch_lookup_optimization</code> option to use batch 
lookup optimization for memtable MultiGet. For skip list memtables, after each 
key lookup, the search path is cached and reused for the next key, reducing 
per-key cost from O(log N) to O(log d) where d is the distance between 
consecutive keys. Benchmarks show ~7% improvement in memtable-resident MultiGet 
throughput.</li>
   <li>Added 
<code>BlockBasedTableOptions::PrepopulateBlockCache::kFlushAndCompaction</code> 
to prepopulate the block cache during both flush and compaction. 
Compaction-warmed blocks are inserted at <code>BOTTOM</code> priority (vs 
<code>LOW</code> for flush) so they are evicted first under cache pressure. 
Recommended only for use cases where most or all of the database is expected to 
reside in cache (e.g., tiered or remote storage where the working set fits in 
cache).</li>
   <li>Added new mutable DB option 
<code>verify_manifest_content_on_close</code> (default: false). When enabled, 
on DB close the MANIFEST file is read back and all records are validated (CRC 
checksums and logical content). If corruption is detected, a fresh MANIFEST is 
written from in-memory state.</li>
   </ul>
   <h3>Behavior Changes</h3>
   <ul>
   <li>num_reads_sampled now factors in re-seeks and next/prev() on file 
iterators for files in L1+. next/prev() is discounted by 64x compared to seek 
due to being a much cheaper call.</li>
   <li>Remote compaction workers now skip WAL recovery when opening the 
secondary DB instance, since only the LSM state from MANIFEST is needed for 
compaction. This reduces I/O and speeds up remote compaction startup.</li>
   </ul>
   <h3>Bug Fixes</h3>
   <ul>
   <li>Fix a bug in round-robin compaction that missed selecting input files 
that are needed to guarantee data correctness and cause crashing in debug 
builds or silent data corruption in release builds for Get().</li>
   </ul>
   <h2>11.0.0 (02/23/2026)</h2>
   <h3>New Features</h3>
   <ul>
   <li>Added support for storing wide-column entity column values in blob 
files. When <code>min_blob_size</code> is configured, large column values in 
wide-column entities will be stored in blob files, reducing SST file size and 
improving read performance.</li>
   <li>Added <code>CompactionOptionsFIFO::max_data_files_size</code> to support 
FIFO compaction trimming based on combined SST and blob file sizes. Added 
<code>CompactionOptionsFIFO::use_kv_ratio_compaction</code> to enable a 
capacity-derived intra-L0 compaction strategy optimized for BlobDB workloads, 
producing uniform-sized compacted files for predictable FIFO trimming.</li>
   <li>Include interpolation search as an alternative to binary search, which 
typically performs better when keys are uniformly distributed. This is exposed 
as a new table option <code>index_block_search_type</code>. The default is 
<code>binary_search</code>.</li>
   </ul>
   <h3>Public API Changes</h3>
   <ul>
   <li>Added new virtual methods <code>AbortAllCompactions()</code> and 
<code>ResumeAllCompactions()</code> to the <code>DB</code> class. Added new 
<code>Status::SubCode::kCompactionAborted</code> to indicate a compaction was 
aborted. Added <code>Status::IsCompactionAborted()</code> helper method to 
check if a status represents an aborted compaction.</li>
   <li>Drop support for reading (and writing) SST files using 
<code>BlockBasedTableOptions.format_version</code> &lt; 2, which hasn't been 
the default format for about 10 years. An upgrade path is still possible with 
full compaction using a RocksDB version &gt;= 4.6.0 and &lt; 11.0.0 and then 
using the newer version.</li>
   <li>Remove deprecated raw <code>DB*</code> variants of <code>DB::Open</code> 
and related functions. Some other minor public APIs were updated as a 
result</li>
   <li>Remove deprecated <code>DB::MaxMemCompactionLevel()</code></li>
   <li>Remove useless option 
<code>CompressedSecondaryCacheOptions::compress_format_version</code></li>
   <li>Remove deprecated DB option 
<code>skip_checking_sst_file_sizes_on_db_open</code>. The option was deprecated 
in 10.5.0 and has been a no-op since then. File size validation is now always 
performed in parallel during DB open.</li>
   <li>Remove deprecated <code>SliceTransform::InRange()</code> virtual method 
and the <code>in_range</code> callback parameter from 
<code>rocksdb_slicetransform_create()</code> in the C API. 
<code>InRange()</code> was never called by RocksDB and existed only for 
backward compatibility.</li>
   <li>Remove deprecated, unused APIs and options: 
<code>ReadOptions::managed</code> and 
<code>ColumnFamilyOptions::snap_refresh_nanos</code>. Corresponding C and Java 
APIs are also removed.</li>
   <li>Remove deprecated <code>SstFileWriter::Add()</code> method (use 
<code>Put()</code> instead) and the deprecated <code>skip_filters</code> 
parameter from <code>SstFileWriter</code> constructors (use 
<code>BlockBasedTableOptions::filter_policy</code> set to <code>nullptr</code> 
to skip filter generation instead).</li>
   </ul>
   <h3>Behavior Changes</h3>
   <ul>
   <li>Change the default value of 
<code>CompactionOptionsUniversal::reduce_file_locking</code> from 
<code>false</code> to <code>true</code> to improve write stall and reduce read 
regression</li>
   </ul>
   <h3>Bug Fixes</h3>
   <ul>
   <li>Fix longstanding failures that can arise from reading and/or compacting 
old DB dirs with range deletions (likely from version &lt; 5.19.0) in many 
newer versions.</li>
   <li>Fix a bug where WritePrepared/WriteUnprepared TransactionDB with 
two_write_queues=true could experience &quot;sequence number going 
backwards&quot; corruption during recovery from a background error, due to 
allocated-but-not-published sequence numbers not being synced before creating 
new WAL files.</li>
   </ul>
   <h3>Performance Improvements</h3>
   <ul>
   <li>Add a new table option <code>separate_key_value_in_data_block</code>. 
When set to true keys and values will be stored separately in the data block, 
which can result in higher cpu cache hit rate and better compression. Works 
best with data blocks with sufficient restart intervals and large values. 
Previous versions of RocksDB will reject files written using this option.</li>
   </ul>
   <h2>10.11.0 (01/23/2026)</h2>
   <h3>Public API Changes</h3>
   <ul>
   <li>New SetOptions API that allows setting options for multiple CFs, 
avoiding the need to reserialize OPTIONS file for each CF</li>
   <li>Remove remaining pieces of Lua integration</li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li>See full diff in <a 
href="https://github.com/facebook/rocksdb/commits";>compare view</a></li>
   </ul>
   </details>
   <br />
   
   
   [![Dependabot compatibility 
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.rocksdb:rocksdbjni&package-manager=gradle&previous-version=10.8.3&new-version=10.10.1.1)](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]

Reply via email to