Bump rocksdbjni from 8.1.1.1 to 8.3.2 in /pgp-keys-map-test1 by dependabot[bot] · Pull Request #1617 · s4u/pgp-keys-map (original) (raw)
Bumps rocksdbjni from 8.1.1.1 to 8.3.2.
Release notes
Sourced from rocksdbjni's releases.
RocksDB 8.3.2
8.3.2 (06/14/2023)
Bug Fixes
- Reduced cases of illegally using Env::Default() during static destruction by never destroying the internal PosixEnv itself (except for builds checking for memory leaks). (#11538)
8.3.1 (06/07/2023)
Performance Improvements
- Fixed higher read QPS during DB::Open() reading files created prior to #11406, especially when reading many small file (size < 52 MB) during DB::Open() and partitioned filter or index is used.
8.3.0 (05/19/2023)
New Features
- Introduced a new option
block_protection_bytes_per_key, which can be used to enable per key-value integrity protection for in-memory blocks in block cache (#11287).- Added
JemallocAllocatorOptions::num_arenas. Settingnum_arenas > 1may mitigate mutex contention in the allocator, particularly in scenarios where block allocations commonly bypass jemalloc tcache.- Improve the operational safety of publishing a DB or SST files to many hosts by using different block cache hash seeds on different hosts. The exact behavior is controlled by new option
ShardedCacheOptions::hash_seed, which also documents the solved problem in more detail.- Introduced a new option
CompactionOptionsFIFO::file_temperature_age_thresholdsthat allows FIFO compaction to compact files to different temperatures based on key age (#11428).- Added a new ticker stat to count how many times RocksDB detected a corruption while verifying a block checksum:
BLOCK_CHECKSUM_MISMATCH_COUNT.- New statistics
rocksdb.file.read.db.open.microsthat measures read time of block-based SST tables or blob files during db open.- New statistics tickers for various iterator seek behaviors and relevant filtering, as *
_LEVEL_SEEK_*. (#11460)Public API Changes
- EXPERIMENTAL: Add new API
DB::ClipColumnFamilyto clip the key in CF to a certain range. It will physically deletes all keys outside the range including tombstones.- Add
MakeSharedCache()construction functions to various cache Options objects, and deprecated theNewWhateverCache()functions with long parameter lists.- Changed the meaning of various Bloom filter stats (prefix vs. whole key), with iterator-related filtering only being tracked in the new *
_LEVEL_SEEK_*. stats. (#11460)Behavior changes
- For x86, CPU features are no longer detected at runtime nor in build scripts, but in source code using common preprocessor defines. This will likely unlock some small performance improvements on some newer hardware, but could hurt performance of the kCRC32c checksum, which is no longer the default, on some "portable" builds. See PR #11419 for details.
Bug Fixes
- Delete an empty WAL file on DB open if the log number is less than the min log number to keep
- Delete temp OPTIONS file on DB open if there is a failure to write it out or rename it
Performance Improvements
- Improved the I/O efficiency of prefetching SST metadata by recording more information in the DB manifest. Opening files written with previous versions will still rely on heuristics for how much to prefetch (#11406).
Changelog
Sourced from rocksdbjni's changelog.
8.3.2 (06/14/2023)
Bug Fixes
- Reduced cases of illegally using Env::Default() during static destruction by never destroying the internal PosixEnv itself (except for builds checking for memory leaks). (#11538)
8.3.1 (06/07/2023)
Performance Improvements
- Fixed higher read QPS during DB::Open() reading files created prior to #11406, especially when reading many small file (size < 52 MB) during DB::Open() and partitioned filter or index is used.
8.3.0 (05/19/2023)
New Features
- Introduced a new option
block_protection_bytes_per_key, which can be used to enable per key-value integrity protection for in-memory blocks in block cache (#11287).- Added
JemallocAllocatorOptions::num_arenas. Settingnum_arenas > 1may mitigate mutex contention in the allocator, particularly in scenarios where block allocations commonly bypass jemalloc tcache.- Improve the operational safety of publishing a DB or SST files to many hosts by using different block cache hash seeds on different hosts. The exact behavior is controlled by new option
ShardedCacheOptions::hash_seed, which also documents the solved problem in more detail.- Introduced a new option
CompactionOptionsFIFO::file_temperature_age_thresholdsthat allows FIFO compaction to compact files to different temperatures based on key age (#11428).- Added a new ticker stat to count how many times RocksDB detected a corruption while verifying a block checksum:
BLOCK_CHECKSUM_MISMATCH_COUNT.- New statistics
rocksdb.file.read.db.open.microsthat measures read time of block-based SST tables or blob files during db open.- New statistics tickers for various iterator seek behaviors and relevant filtering, as *
_LEVEL_SEEK_*. (#11460)Public API Changes
- EXPERIMENTAL: Add new API
DB::ClipColumnFamilyto clip the key in CF to a certain range. It will physically deletes all keys outside the range including tombstones.- Add
MakeSharedCache()construction functions to various cache Options objects, and deprecated theNewWhateverCache()functions with long parameter lists.- Changed the meaning of various Bloom filter stats (prefix vs. whole key), with iterator-related filtering only being tracked in the new *
_LEVEL_SEEK_*. stats. (#11460)Behavior changes
- For x86, CPU features are no longer detected at runtime nor in build scripts, but in source code using common preprocessor defines. This will likely unlock some small performance improvements on some newer hardware, but could hurt performance of the kCRC32c checksum, which is no longer the default, on some "portable" builds. See PR #11419 for details.
Bug Fixes
- Delete an empty WAL file on DB open if the log number is less than the min log number to keep
- Delete temp OPTIONS file on DB open if there is a failure to write it out or rename it
Performance Improvements
- Improved the I/O efficiency of prefetching SST metadata by recording more information in the DB manifest. Opening files written with previous versions will still rely on heuristics for how much to prefetch (#11406).
8.2.0 (04/24/2023)
Public API Changes
SstFileWriter::DeleteRange()now returnsStatus::InvalidArgumentif the range's end key comes before its start key according to the user comparator. Previously the behavior was undefined.- Add
multi_get_for_updateto C API.- Remove unnecessary constructor for CompressionOptions.
Behavior changes
- Changed default block cache size from an 8MB to 32MB LRUCache, which increases the default number of cache shards from 16 to 64. This change is intended to minimize cache mutex contention under stress conditions. See https://github.com/facebook/rocksdb/wiki/Block-Cache for more information.
- For level compaction with
level_compaction_dynamic_level_bytes=true, RocksDB now trivially moves levels down to fill LSM starting from bottommost level during DB open. See more in comments for optionlevel_compaction_dynamic_level_bytes(#11321).- User-provided
ReadOptionstake effect for more reads of non-CacheEntryRole::kDataBlockblocks.- For level compaction with
level_compaction_dynamic_level_bytes=true, RocksDB now drains unnecessary levels through background compaction automatically (#11340). This together with #11321 makes it automatic to migrate other compaction settings to level compaction withlevel_compaction_dynamic_level_bytes=true. In addition, a live DB that becomes smaller will now have unnecessary levels drained which can help to reduce read and space amp.- If
CompactRange()is called withCompactRangeOptions::bottommost_level_compaction=kForce*to compact from L0 to L1, RocksDB now will try to do trivial move from L0 to L1 and then do an intra L1 compaction, instead of a L0 to L1 compaction with trivial move disabled (#11375)).Bug Fixes
- In the DB::VerifyFileChecksums API, ensure that file system reads of SST files are equal to the readahead_size in ReadOptions, if specified. Previously, each read was 2x the readahead_size.
- In block cache tracing, fixed some cases of bad hit/miss information (and more) with MultiGet.
... (truncated)
Commits
- See full diff in compare view
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 commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)