|
|
|
@@ -1,3 +1,254 @@
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Jul 12 15:02:49 UTC 2025 - Andrea Manzini <andrea.manzini@suse.com>
|
|
|
|
|
|
|
|
|
|
- update to 10.4.2:
|
|
|
|
|
* Fix a race condition between concurrent DB::Open sharing the same
|
|
|
|
|
SstFileManager instance.
|
|
|
|
|
- update to 10.4.1:
|
|
|
|
|
* RocksDB now triggers eligible compactions every 12 hours when periodic
|
|
|
|
|
compaction is configured. This solves a limitation of the compaction
|
|
|
|
|
trigger mechanism, which would only trigger compaction after specific
|
|
|
|
|
events like flush, compaction, or SetOptions.
|
|
|
|
|
* Fix a bug in BackupEngine that can crash backup due to a null
|
|
|
|
|
FSWritableFile passed to WritableFileWriter.
|
|
|
|
|
- update to 10.4.0:
|
|
|
|
|
* Add a new CF option memtable_avg_op_scan_flush_trigger
|
|
|
|
|
* Vector based memtable now supports concurrent writers
|
|
|
|
|
* Add new experimental
|
|
|
|
|
TransactionOptions::large_txn_commit_optimize_byte_threshold to enable
|
|
|
|
|
optimizations for large transaction commit by transaction batch data size
|
|
|
|
|
* Add a new option CompactionOptionsUniversal::reduce_file_locking
|
|
|
|
|
* Add new format_version=7 to aid experimental support of custom compression
|
|
|
|
|
algorithms with CompressionManager and block-based table. This format
|
|
|
|
|
version includes changing the format of TableProperties::compression_name.
|
|
|
|
|
* Public API Changes
|
|
|
|
|
+ Change NewExternalTableFactory to return a unique_ptr instead of
|
|
|
|
|
shared_ptr
|
|
|
|
|
+ Add an optional min file size requirement for deletion triggered
|
|
|
|
|
compaction.
|
|
|
|
|
* Fix a bug where CreateColumnFamilyWithImport() could miss the SST file for
|
|
|
|
|
the memtable flush it triggered. The exported CF then may not contain the
|
|
|
|
|
updates in the memtable when CreateColumnFamilyWithImport() is called.
|
|
|
|
|
* Fix iterator operations returning NotImplemented status if
|
|
|
|
|
disallow_memtable_writes and paranoid_memory_checks CF options are both set
|
|
|
|
|
* Fixed handling of file checksums in IngestExternalFile()
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri May 9 13:24:11 UTC 2025 - Andrea Manzini <andrea.manzini@suse.com>
|
|
|
|
|
|
|
|
|
|
- update to 10.2.1:
|
|
|
|
|
* Fix improper initialization of ExternalTableOptions
|
|
|
|
|
|
|
|
|
|
- update to 10.2.0:
|
|
|
|
|
* New Features
|
|
|
|
|
+ Provide histogram stats COMPACTION_PREFETCH_BYTES to measure number of
|
|
|
|
|
bytes for RocksDB's prefetching
|
|
|
|
|
+ A new API DB::GetNewestUserDefinedTimestamp is added to return the
|
|
|
|
|
newest user defined timestamp seen in a column family
|
|
|
|
|
+ Introduce API IngestWriteBatchWithIndex() for ingesting updates into DB
|
|
|
|
|
while bypassing memtable writes. This improves performance when writing
|
|
|
|
|
a large write batch to the DB.
|
|
|
|
|
+ Add a new CF option memtable_op_scan_flush_trigger that triggers a flush
|
|
|
|
|
of the memtable if an iterator's Seek()/Next() scans over a certain number
|
|
|
|
|
of invisible entries from the memtable.
|
|
|
|
|
* Public API Changes
|
|
|
|
|
+ AdvancedColumnFamilyOptions.max_write_buffer_number_to_maintain is
|
|
|
|
|
deleted. It's deprecated since introduction of a better option
|
|
|
|
|
max_write_buffer_size_to_maintain since RocksDB 6.5.0.
|
|
|
|
|
+ Deprecated API DB::MaxMemCompactionLevel().
|
|
|
|
|
+ Deprecated ReadOptions::ignore_range_deletions.
|
|
|
|
|
+ Deprecated API experimental::PromoteL0().
|
|
|
|
|
+ Added arbitrary string map for additional options to be overriden for
|
|
|
|
|
remote compactions
|
|
|
|
|
+ The fail_if_options_file_error option in DBOptions has been removed.
|
|
|
|
|
The behavior now is to always return failure in any API that fails to
|
|
|
|
|
persist the OPTIONS file.
|
|
|
|
|
* Behavior Changes
|
|
|
|
|
+ Make stats PREFETCH_BYTES_USEFUL, PREFETCH_HITS, PREFETCH_BYTES only
|
|
|
|
|
account for prefetching during user initiated scan
|
|
|
|
|
* Bug Fixes
|
|
|
|
|
+ Fix a bug in Posix file system that the FSWritableFile created via
|
|
|
|
|
FileSystem::ReopenWritableFile internally does not track the correct
|
|
|
|
|
file size.
|
|
|
|
|
+ Fix a bug where tail size of remote compaction output is not persisted in
|
|
|
|
|
primary db's manifest
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Apr 17 08:51:56 UTC 2025 - Andrea Manzini <andrea.manzini@suse.com>
|
|
|
|
|
|
|
|
|
|
- update to 10.1.3:
|
|
|
|
|
* Fix a bug where resurrected full_history_ts_low from a previous session
|
|
|
|
|
that enables UDT is used by this session that disables UDT.
|
|
|
|
|
|
|
|
|
|
- update to 10.1.2:
|
|
|
|
|
* Fix a bug where tail size of remote compaction output is not persisted in
|
|
|
|
|
primary db's manifest
|
|
|
|
|
|
|
|
|
|
- update to 10.1.0:
|
|
|
|
|
* New Features
|
|
|
|
|
+ Added a new DBOptions.calculate_sst_write_lifetime_hint_set setting
|
|
|
|
|
+ Add a new field num_l0_files in CompactionJobInfo
|
|
|
|
|
+ Added per-key-placement feature in Remote Compaction
|
|
|
|
|
+ Implemented API DB::GetPropertiesOfTablesByLevel
|
|
|
|
|
* Public API Changes
|
|
|
|
|
+ GetAllKeyVersions() now interprets empty slices literally as valid keys
|
|
|
|
|
+ DeleteFilesInRanges() now takes RangeOpt which is based on OptSlice.
|
|
|
|
|
The overload taking RangePtr is deprecated.
|
|
|
|
|
+ Add an unordered map of name/value pairs, ReadOptions::property_bag
|
|
|
|
|
+ Introduced CompactionServiceJobStatus::kAborted to allow handling aborted
|
|
|
|
|
scenario in Schedule(), Wait() or OnInstallation()
|
|
|
|
|
+ format_version < 2 in BlockBasedTableOptions is no longer supported for
|
|
|
|
|
writing new files. Support for reading such files is deprecated and might
|
|
|
|
|
be removed in the future.
|
|
|
|
|
CompressedSecondaryCacheOptions::compress_format_version == 1 is also
|
|
|
|
|
deprecated.
|
|
|
|
|
* Behavior Changes
|
|
|
|
|
+ ldb now returns an error if the specified --compression_type is not
|
|
|
|
|
supported in the build.
|
|
|
|
|
+ MultiGet with snapshot and ReadOptions::read_tier = kPersistedTier will
|
|
|
|
|
now read a consistent view across CFs
|
|
|
|
|
+ CreateColumnFamily() is no longer allowed on a read-only DB
|
|
|
|
|
* Bug Fixes:
|
|
|
|
|
+ Fixed stats for Tiered Storage with preclude_last_level feature
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Mar 30 17:39:47 UTC 2025 - Andreas Stieger <andreas.stieger@gmx.de>
|
|
|
|
|
|
|
|
|
|
- update to 9.12.2:
|
|
|
|
|
* Bump patch version to fix a mistake in the previous 9.11.1 tag
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Fri Mar 7 21:24:10 UTC 2025 - Andreas Stieger <andreas.stieger@gmx.de>
|
|
|
|
|
|
|
|
|
|
- update to 9.11.1:
|
|
|
|
|
* Add the ability to plug-in a custom table reader implementation
|
|
|
|
|
* Allow users to implement cancellation of running remote
|
|
|
|
|
compactions from the primary instance
|
|
|
|
|
* Experimental feature: secondary indices
|
|
|
|
|
* New option track_and_verify_wals to track and verify various
|
|
|
|
|
information about WAL during WAL recovery
|
|
|
|
|
* API changes, the DB::DeleteFile API is deprecated
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Jan 12 10:12:58 UTC 2025 - Andreas Stieger <andreas.stieger@gmx.de>
|
|
|
|
|
|
|
|
|
|
- update to 9.10.0:
|
|
|
|
|
* Introduce TransactionOptions::commit_bypass_memtable to enable
|
|
|
|
|
transaction commit to bypass memtable insertions. This can be
|
|
|
|
|
beneficial for transactions with many operations, as it reduces
|
|
|
|
|
commit time that is mostly spent on memtable insertion.
|
|
|
|
|
* Deprecated Remote Compaction APIs (StartV2, WaitForCompleteV2)
|
|
|
|
|
are completely removed from the codebase
|
|
|
|
|
* DB::KeyMayExist() now follows its function comment, which means
|
|
|
|
|
value parameter can be null, and it will be set only if
|
|
|
|
|
value_found is passed in.
|
|
|
|
|
* Bug fixes and performance improvements
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Dec 18 17:39:39 UTC 2024 - Andreas Stieger <andreas.stieger@gmx.de>
|
|
|
|
|
|
|
|
|
|
- update to 9.9.3:
|
|
|
|
|
* A notable number of feature additions, API changes, performance
|
|
|
|
|
improvements and bug fixes.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sat Nov 2 11:48:53 UTC 2024 - Andreas Stieger <andreas.stieger@gmx.de>
|
|
|
|
|
|
|
|
|
|
- update to 9.7.4:
|
|
|
|
|
* Fix a leak of obsolete blob files left open until DB::Close().
|
|
|
|
|
This bug was introduced in version 9.4.0.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Sun Oct 27 14:35:46 UTC 2024 - Andrea Manzini <andrea.manzini@suse.com>
|
|
|
|
|
|
|
|
|
|
- update to 9.7.3
|
|
|
|
|
* OPTIONS file to be loaded by remote worker is now preserved so that it does
|
|
|
|
|
not get purged by the primary host.
|
|
|
|
|
|
|
|
|
|
- update to 9.7.2
|
|
|
|
|
* Fixed a bug for surfacing write unix time:
|
|
|
|
|
Iterator::GetProperty("rocksdb.iterator.write-time") for non-L0 files.
|
|
|
|
|
|
|
|
|
|
- update to 9.7.1
|
|
|
|
|
* Fix for Several DB option settings could be lost through
|
|
|
|
|
GetOptionsFromString(), possibly elsewhere as well.
|
|
|
|
|
* Fix under counting of allocated memory in the compressed secondary cache
|
|
|
|
|
* Skip insertion of compressed blocks in the secondary cache if the
|
|
|
|
|
lowest_used_cache_tier DB option is kVolatileTier.
|
|
|
|
|
|
|
|
|
|
- update to 9.7.0
|
|
|
|
|
* New Features:
|
|
|
|
|
+ Make Cache a customizable class that can be instantiated by the object
|
|
|
|
|
registry.
|
|
|
|
|
+ Add new option prefix_seek_opt_in_only that makes iterators generally safer
|
|
|
|
|
+ Add a new table property "rocksdb.key.largest.seqno" which records the
|
|
|
|
|
largest sequence number of all keys in file.
|
|
|
|
|
* Behavior Changes
|
|
|
|
|
+ Changed the semantics of the BlobDB configuration option
|
|
|
|
|
blob_garbage_collection_force_threshold
|
|
|
|
|
+ Set write_dbid_to_manifest=true by default. This means DB ID will now be
|
|
|
|
|
preserved through backups, checkpoints, etc. by default. Also add
|
|
|
|
|
write_identity_file option
|
|
|
|
|
+ In FIFO compaction, compactions for changing file temperature (configured
|
|
|
|
|
by option file_temperature_age_thresholds) will compact one file at a time
|
|
|
|
|
+ Support ingesting db generated files using hard link
|
|
|
|
|
+ Add a new file ingestion option IngestExternalFileOptions::link_files
|
|
|
|
|
to hard link input files and preserve original files links after ingestion.
|
|
|
|
|
+ DB::Close now untracks files in SstFileManager, making avaialble any space
|
|
|
|
|
used by them
|
|
|
|
|
* Bug Fixes
|
|
|
|
|
+ Fix a bug in CompactRange() where result files may not be compacted in any
|
|
|
|
|
future compaction.
|
|
|
|
|
+ Fix handling of dynamic change of prefix_extractor with memtable prefix
|
|
|
|
|
filter.
|
|
|
|
|
+ Fix a bug with manual_wal_flush and auto error recovery from WAL failure
|
|
|
|
|
that may cause CFs to be inconsistent
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Thu Sep 12 13:22:35 UTC 2024 - Andrea Manzini <andrea.manzini@suse.com>
|
|
|
|
|
|
|
|
|
|
- update to 9.6.1:
|
|
|
|
|
* Fix correctness of MultiGet across column families with user timestamp.
|
|
|
|
|
|
|
|
|
|
- update to 9.6.0:
|
|
|
|
|
- New Features
|
|
|
|
|
* Best efforts recovery supports recovering to incomplete Version with a
|
|
|
|
|
clean seqno cut that presents a valid point in time view from the user's
|
|
|
|
|
perspective, if versioning history doesn't include atomic flush.
|
|
|
|
|
* New option BlockBasedTableOptions::decouple_partitioned_filters should
|
|
|
|
|
improve efficiency in serving read queries because filter and index
|
|
|
|
|
partitions can consistently target the configured metadata_block_size.
|
|
|
|
|
This option is currently opt-in.
|
|
|
|
|
* Introduce a new mutable CF option paranoid_memory_checks. It enables
|
|
|
|
|
additional validation on data integrity during reads/scanning. Currently,
|
|
|
|
|
skip list based memtable will validate key ordering during look up and scans.
|
|
|
|
|
- Public API Changes
|
|
|
|
|
* Add ticker stats to count file read retries due to checksum mismatch
|
|
|
|
|
* Adds optional installation callback function for remote compaction
|
|
|
|
|
- Behavior Changes
|
|
|
|
|
* There may be less intra-L0 compaction triggered by total L0 size being too
|
|
|
|
|
small. We now use compensated file size (tombstones are assigned some value
|
|
|
|
|
size) when calculating L0 size and reduce the threshold for L0 size limit.
|
|
|
|
|
This is to avoid accumulating too much data/tombstones in L0.
|
|
|
|
|
- Bug Fixes
|
|
|
|
|
* Make DestroyDB supports slow deletion when it's configured in SstFileManager.
|
|
|
|
|
The slow deletion is subject to the configured rate_bytes_per_sec, but not
|
|
|
|
|
subject to the max_trash_db_ratio.
|
|
|
|
|
* Fixed a bug where we set unprep_seqs_ even when WriteImpl() fails. This was
|
|
|
|
|
caught by stress test write fault injection in WriteImpl(). This may have
|
|
|
|
|
incorrectly caused iteration creation failure for unvalidated writes or
|
|
|
|
|
returned wrong result for WriteUnpreparedTxn::GetUnpreparedSequenceNumbers().
|
|
|
|
|
* Fixed a bug where successful write right after error recovery for last failed
|
|
|
|
|
write finishes causes duplicate WAL entries
|
|
|
|
|
* Fixed a data race involving the background error status in unordered_write
|
|
|
|
|
mode.
|
|
|
|
|
* Fix a bug where file snapshot functions like backup, checkpoint may attempt
|
|
|
|
|
to copy a non-existing manifest file. #12882
|
|
|
|
|
* Fix a bug where per kv checksum corruption may be ignored in MultiGet().
|
|
|
|
|
* Fix a race condition in pessimistic transactions that could allow multiple
|
|
|
|
|
transactions with the same name to be registered simultaneously, resulting
|
|
|
|
|
in a crash or other unpredictable behavior.
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
|
Wed Aug 28 07:28:34 UTC 2024 - Andrea Manzini <andrea.manzini@suse.com>
|
|
|
|
|
|
|
|
|
|