From 72beaf8dfb9a96efc960502d4cb7b68c43c0d120 Mon Sep 17 00:00:00 2001 From: Peter Dillinger Date: Fri, 9 Oct 2026 12:32:51 -0700 Subject: [PATCH] Update RocksDB main for 11.12 release (#15372) Summary: Pull Request resolved: https://github.com/facebook/rocksdb/pull/15372 Why: keep internal RocksDB main ready for 11.13.0 development while the 11.12 release is cut. Previous behavior: Conveyor opened a GitHub pull request for this update, which could be missed and was not stacked with the internal release diff. New behavior: Conveyor owns an internal Phabricator diff that the release-import diff stacks on top of. The release manager exports this diff manually with ExportIt. Implementation: - Bump version.h from 11.12.0 to 11.13.0 - Add `11.12.fb` to `check_format_compatible.sh` - Sync HISTORY.md `## 11.12.` section from `11.12.fb` - Delete 24 consumed `unreleased_history/` note file(s) from main Safety and unsupported cases: - Only version.h, check_format_compatible.sh, HISTORY.md, and consumed release-note files are allowed. - Open legacy GitHub update-main PRs block this flow; this automation never modifies, exports, or lands them. - Concurrent direct CLI invocations are unsupported; Conveyor serializes the Release Cut node to one active run. - The tool refuses unrelated commits, mismatched release metadata, and non-canonical GitHub repositories. Known limitations: - ExportIt remains manual. Bot create permission for internal_repo_rocksdb/repo is a rollout prerequisite. Reviewed By: archang19 Differential Revision: D124370612 fbshipit-source-id: fcd3864695f118bf8be316878d92be5bf8ace43c --- HISTORY.md | 36 +++++++++++++++++++ include/rocksdb/version.h | 2 +- tools/check_format_compatible.sh | 2 +- .../external_table_logical_properties.md | 1 - .../external_table_writable_file.md | 1 - .../secondary_new_iterators_no_refresh.md | 1 - .../sst_file_reader_io_instrumentation.md | 1 - .../bug_fixes/atomic_error_recovery_flush.md | 1 - .../big_endian_fault_injection_build.md | 1 - .../clip_column_family_begin_key_file.md | 1 - .../bug_fixes/event_log_key_time_swap.md | 1 - .../external_table_checksum_verification.md | 1 - .../manifest_writer_queue_early_failure.md | 1 - .../multiget_block_cache_tier_no_io.md | 1 - .../bug_fixes/replay_default_column_family.md | 1 - .../replay_multithread_execution_error.md | 1 - ...secondary_new_iterators_consistent_view.md | 1 - .../new_features/full_external_tables.md | 1 - .../coro_filesystem_buffer_reads.md | 1 - .../coro_external_table_interfaces.md | 1 - .../external_table_api_compatibility.md | 1 - .../external_table_range_deletions.md | 1 - .../prepared_file_info_serialization.md | 1 - .../remove_write_global_seqno.md | 1 - .../table_properties_names_deprecated.md | 1 - .../table_properties_oldest_ancestor_time.md | 1 - .../write_buffer_manager_flush_policy.md | 1 - 27 files changed, 38 insertions(+), 26 deletions(-) delete mode 100644 unreleased_history/behavior_changes/external_table_logical_properties.md delete mode 100644 unreleased_history/behavior_changes/external_table_writable_file.md delete mode 100644 unreleased_history/behavior_changes/secondary_new_iterators_no_refresh.md delete mode 100644 unreleased_history/behavior_changes/sst_file_reader_io_instrumentation.md delete mode 100644 unreleased_history/bug_fixes/atomic_error_recovery_flush.md delete mode 100644 unreleased_history/bug_fixes/big_endian_fault_injection_build.md delete mode 100644 unreleased_history/bug_fixes/clip_column_family_begin_key_file.md delete mode 100644 unreleased_history/bug_fixes/event_log_key_time_swap.md delete mode 100644 unreleased_history/bug_fixes/external_table_checksum_verification.md delete mode 100644 unreleased_history/bug_fixes/manifest_writer_queue_early_failure.md delete mode 100644 unreleased_history/bug_fixes/multiget_block_cache_tier_no_io.md delete mode 100644 unreleased_history/bug_fixes/replay_default_column_family.md delete mode 100644 unreleased_history/bug_fixes/replay_multithread_execution_error.md delete mode 100644 unreleased_history/bug_fixes/secondary_new_iterators_consistent_view.md delete mode 100644 unreleased_history/new_features/full_external_tables.md delete mode 100644 unreleased_history/performance_improvements/coro_filesystem_buffer_reads.md delete mode 100644 unreleased_history/public_api_changes/coro_external_table_interfaces.md delete mode 100644 unreleased_history/public_api_changes/external_table_api_compatibility.md delete mode 100644 unreleased_history/public_api_changes/external_table_range_deletions.md delete mode 100644 unreleased_history/public_api_changes/prepared_file_info_serialization.md delete mode 100644 unreleased_history/public_api_changes/remove_write_global_seqno.md delete mode 100644 unreleased_history/public_api_changes/table_properties_names_deprecated.md delete mode 100644 unreleased_history/public_api_changes/table_properties_oldest_ancestor_time.md delete mode 100644 unreleased_history/public_api_changes/write_buffer_manager_flush_policy.md diff --git a/HISTORY.md b/HISTORY.md index 8b7a57a0fc..a480edead6 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,6 +1,42 @@ # Rocksdb Change Log > NOTE: Entries for next release do not go here. Follow instructions in `unreleased_history/README.txt` +## 11.12.0 (10/07/2026) +### New Features +* Added `FullExternalTableFactory` and related full-mode external table APIs that preserve RocksDB internal keys, enabling external tables to support nonzero sequence numbers, point and single deletions, merge operands, blob indexes, wide-column entities, snapshots, live DB writes, and multi-level compactions. + +### Public API Changes +* Added experimental coroutine capability interfaces for basic and full `ExternalTableReader` implementations. Coroutine-capable external readers can initiate file reads through `FSRandomAccessFile::SubmitReadAsync()`. +* `ExternalTableFactory::NewTableReader()` now receives an already-opened `FSRandomAccessFile` and its file size instead of requiring implementations to reopen `file_path`. The supplied file preserves RocksDB's direct-I/O alignment handling, rate limiting, read statistics and listener notifications, prefetching, and synchronous, asynchronous, and batched reads. +* Added `PutRangeDeletionBlock()`, `GetRangeDeletionBlock()`, and `IsDeleteRangeSupported()` to the external table interfaces so formats can opt in to range deletions using RocksDB's raw range-deletion metadata block. +* Opaque `PreparedFileInfo` metadata can now be serialized to a checksummed representation with `SerializePreparedFileInfo()` and restored with `DeserializePreparedFileInfo()` for reuse across processes. +* Removed the deprecated `IngestExternalFileOptions::write_global_seqno` option and its C, Java, and `ldb` APIs, `TableProperties::external_sst_file_global_seqno_offset`, and the `file_offset` output from `ExternalTableReader::GetPropertiesBlock()`. Existing external SST files whose global sequence number was rewritten without updating the properties-block checksum remain readable. +* `TablePropertiesNames` has no apparent use in the public API so has been deprecated there. +* `TableProperties::creation_time` is renamed to `oldest_ancestor_time`, which better describes its meaning, along with `TablePropertiesNames::kCreationTime` to `kOldestAncestorTime`. The misspelled `SstFileMetaData::oldest_ancester_time` is renamed to `oldest_ancestor_time`. The old names remain available as deprecated aliases and will be removed in a future release. +* Added `WriteBufferFlushPolicy` and `WriteBufferManager` policy selection for flushing the oldest or largest column family, including configurable batched flushing of the largest column families across DBs sharing a manager, with C and Java bindings. + +### Behavior Changes +* When `ExternalTableBuilderBase::PutPropertiesBlock()` returns `NotSupported`, RocksDB now overrides `num_entries`, `raw_key_size`, and `raw_value_size` from `ExternalTableBuilderBase::GetTableProperties()` with the logical totals tracked by the external-table adapter. Format-specific properties such as `data_size` remain unchanged. +* The `FSWritableFile` passed to `ExternalTableFactory::NewTableBuilder()` now reports logical file size including RocksDB-buffered data and exposes the underlying file's direct-I/O mode and required buffer alignment. +* `Iterator::Refresh()` now returns `NotSupported` on iterators from a secondary DB's `DB::NewIterators()` only, because those iterators are pinned to one cross-column-family read view. Iterators from `DB::NewIterator()` are unaffected; to advance a batch, call `DB::NewIterators()` again after `TryCatchUpWithPrimary()`. +* `SstFileReader` now reports standard SST read statistics and file I/O listener notifications, and honors the configured read rate limiter. + +### Bug Fixes +* Fixed full recovery from retryable background errors to atomically advance WAL replay boundaries for all column families, preventing partial recovery of multi-column-family write batches after a failed recovery flush. +* Fixed RocksDB builds on big-endian architectures such as s390x by disabling the optional persistent fault-injection log, whose binary format is little-endian-only. +* Fixed `DB::ClipColumnFamily()` deleting a non-L0 SST file whose largest key equals `begin_key`, which lost keys at the start of the kept range. +* Fixed swapped `oldest_key_time` and `newest_key_time` values in the `table_file_creation` event log entry. +* Fixed `ExternalTableReader::VerifyChecksum()` results not being honored by the external table adapter. +* Fixed a bug in manifest handling that could lead to a hang or memory corruption in the case of LSM sanity checks being fatally violated (exceptional; see `force_consistency_checks`). +* Fixed `MultiGet()` with `ReadOptions::read_tier == kBlockCacheTier` reading data blocks from disk when `allow_mmap_reads` is false. Keys whose data block is not in the block cache now return `Status::Incomplete()`, the same as `Get()`. +* Fixed trace replay (`DB::NewDefaultReplayer()`, db_bench `replay`) failing every read record (Get, MultiGet, iterator seek) on the default column family with `Corruption: Invalid Column Family ID` when the default column family handle was not passed, which is always the case in db_bench with `--num_column_families=1`. +* Fixed multi-threaded `Replayer::Replay()` ignoring errors from executing trace records and returning OK. It now stops and returns the error, including `Status::NotSupported()` from executing a record, as single-threaded replay does. +* Fixed secondary DB `NewIterators()` returning iterators from different database states or blocking for `TryCatchUpWithPrimary()` by serving the last completed catch-up view. + +### Performance Improvements +* Single Get coroutine reads using non-mmap, non-direct I/O on a `kFSBuffer`-capable `FileSystem` now use `FSRandomAccessFile::SubmitReadAsync()` instead of falling back to synchronous `Read()`. When rate-limited, these reads acquire their full token budget before submission to preserve a single filesystem-owned buffer, which can make physical I/O burstier than reads using caller-provided buffers. + + ## 11.11.0 (09/21/2026) ### New Features * External tables now support DB-assigned global sequence numbers when `IngestExternalFileOptions::allow_global_seqno` is enabled, allowing overlapping external tables to be ingested across multiple levels when compactions are disabled. This includes the deprecated `write_global_seqno` path when the reader supplies the properties block's file offset. diff --git a/include/rocksdb/version.h b/include/rocksdb/version.h index a633b0b7fe..2faf685a03 100644 --- a/include/rocksdb/version.h +++ b/include/rocksdb/version.h @@ -12,7 +12,7 @@ // NOTE: in 'main' development branch, this should be the *next* // minor or major version number planned for release. #define ROCKSDB_MAJOR 11 -#define ROCKSDB_MINOR 12 +#define ROCKSDB_MINOR 13 #define ROCKSDB_PATCH 0 // Make it easy to do conditional compilation based on version checks, i.e. diff --git a/tools/check_format_compatible.sh b/tools/check_format_compatible.sh index bf343d0f66..55bd67813a 100755 --- a/tools/check_format_compatible.sh +++ b/tools/check_format_compatible.sh @@ -161,7 +161,7 @@ EOF # To check for DB forward compatibility with loading options (old version # reading data from new), as well as backward compatibility -declare -a db_forward_with_options_refs=("10.4.fb" "10.5.fb" "10.6.fb" "10.7.fb" "10.8.fb" "10.9.fb" "10.10.fb" "10.11.fb" "11.0.fb" "11.1.fb" "11.2.fb" "11.3.fb" "11.4.fb" "11.5.fb" "11.6.fb" "11.7.fb" "11.8.fb" "11.9.fb" "11.10.fb" "11.11.fb") +declare -a db_forward_with_options_refs=("10.4.fb" "10.5.fb" "10.6.fb" "10.7.fb" "10.8.fb" "10.9.fb" "10.10.fb" "10.11.fb" "11.0.fb" "11.1.fb" "11.2.fb" "11.3.fb" "11.4.fb" "11.5.fb" "11.6.fb" "11.7.fb" "11.8.fb" "11.9.fb" "11.10.fb" "11.11.fb" "11.12.fb") # To check for DB forward compatibility without loading options (in addition # to the "with loading options" set), as well as backward compatibility declare -a db_forward_no_options_refs=() # N/A at the moment diff --git a/unreleased_history/behavior_changes/external_table_logical_properties.md b/unreleased_history/behavior_changes/external_table_logical_properties.md deleted file mode 100644 index 3c6f316961..0000000000 --- a/unreleased_history/behavior_changes/external_table_logical_properties.md +++ /dev/null @@ -1 +0,0 @@ -When `ExternalTableBuilderBase::PutPropertiesBlock()` returns `NotSupported`, RocksDB now overrides `num_entries`, `raw_key_size`, and `raw_value_size` from `ExternalTableBuilderBase::GetTableProperties()` with the logical totals tracked by the external-table adapter. Format-specific properties such as `data_size` remain unchanged. diff --git a/unreleased_history/behavior_changes/external_table_writable_file.md b/unreleased_history/behavior_changes/external_table_writable_file.md deleted file mode 100644 index cfd9e2990d..0000000000 --- a/unreleased_history/behavior_changes/external_table_writable_file.md +++ /dev/null @@ -1 +0,0 @@ -The `FSWritableFile` passed to `ExternalTableFactory::NewTableBuilder()` now reports logical file size including RocksDB-buffered data and exposes the underlying file's direct-I/O mode and required buffer alignment. diff --git a/unreleased_history/behavior_changes/secondary_new_iterators_no_refresh.md b/unreleased_history/behavior_changes/secondary_new_iterators_no_refresh.md deleted file mode 100644 index f8b2c1b54c..0000000000 --- a/unreleased_history/behavior_changes/secondary_new_iterators_no_refresh.md +++ /dev/null @@ -1 +0,0 @@ -`Iterator::Refresh()` now returns `NotSupported` on iterators from a secondary DB's `DB::NewIterators()` only, because those iterators are pinned to one cross-column-family read view. Iterators from `DB::NewIterator()` are unaffected; to advance a batch, call `DB::NewIterators()` again after `TryCatchUpWithPrimary()`. diff --git a/unreleased_history/behavior_changes/sst_file_reader_io_instrumentation.md b/unreleased_history/behavior_changes/sst_file_reader_io_instrumentation.md deleted file mode 100644 index 5149664e3b..0000000000 --- a/unreleased_history/behavior_changes/sst_file_reader_io_instrumentation.md +++ /dev/null @@ -1 +0,0 @@ -`SstFileReader` now reports standard SST read statistics and file I/O listener notifications, and honors the configured read rate limiter. diff --git a/unreleased_history/bug_fixes/atomic_error_recovery_flush.md b/unreleased_history/bug_fixes/atomic_error_recovery_flush.md deleted file mode 100644 index b7918708e5..0000000000 --- a/unreleased_history/bug_fixes/atomic_error_recovery_flush.md +++ /dev/null @@ -1 +0,0 @@ -Fixed full recovery from retryable background errors to atomically advance WAL replay boundaries for all column families, preventing partial recovery of multi-column-family write batches after a failed recovery flush. diff --git a/unreleased_history/bug_fixes/big_endian_fault_injection_build.md b/unreleased_history/bug_fixes/big_endian_fault_injection_build.md deleted file mode 100644 index 42493036be..0000000000 --- a/unreleased_history/bug_fixes/big_endian_fault_injection_build.md +++ /dev/null @@ -1 +0,0 @@ -Fixed RocksDB builds on big-endian architectures such as s390x by disabling the optional persistent fault-injection log, whose binary format is little-endian-only. diff --git a/unreleased_history/bug_fixes/clip_column_family_begin_key_file.md b/unreleased_history/bug_fixes/clip_column_family_begin_key_file.md deleted file mode 100644 index ebbee36d2e..0000000000 --- a/unreleased_history/bug_fixes/clip_column_family_begin_key_file.md +++ /dev/null @@ -1 +0,0 @@ -Fixed `DB::ClipColumnFamily()` deleting a non-L0 SST file whose largest key equals `begin_key`, which lost keys at the start of the kept range. diff --git a/unreleased_history/bug_fixes/event_log_key_time_swap.md b/unreleased_history/bug_fixes/event_log_key_time_swap.md deleted file mode 100644 index 00398c4b3b..0000000000 --- a/unreleased_history/bug_fixes/event_log_key_time_swap.md +++ /dev/null @@ -1 +0,0 @@ -Fixed swapped `oldest_key_time` and `newest_key_time` values in the `table_file_creation` event log entry. diff --git a/unreleased_history/bug_fixes/external_table_checksum_verification.md b/unreleased_history/bug_fixes/external_table_checksum_verification.md deleted file mode 100644 index d29b533d80..0000000000 --- a/unreleased_history/bug_fixes/external_table_checksum_verification.md +++ /dev/null @@ -1 +0,0 @@ -Fixed `ExternalTableReader::VerifyChecksum()` results not being honored by the external table adapter. diff --git a/unreleased_history/bug_fixes/manifest_writer_queue_early_failure.md b/unreleased_history/bug_fixes/manifest_writer_queue_early_failure.md deleted file mode 100644 index 60dd50ef75..0000000000 --- a/unreleased_history/bug_fixes/manifest_writer_queue_early_failure.md +++ /dev/null @@ -1 +0,0 @@ -Fixed a bug in manifest handling that could lead to a hang or memory corruption in the case of LSM sanity checks being fatally violated (exceptional; see `force_consistency_checks`). diff --git a/unreleased_history/bug_fixes/multiget_block_cache_tier_no_io.md b/unreleased_history/bug_fixes/multiget_block_cache_tier_no_io.md deleted file mode 100644 index 16a0ca3b3f..0000000000 --- a/unreleased_history/bug_fixes/multiget_block_cache_tier_no_io.md +++ /dev/null @@ -1 +0,0 @@ -Fixed `MultiGet()` with `ReadOptions::read_tier == kBlockCacheTier` reading data blocks from disk when `allow_mmap_reads` is false. Keys whose data block is not in the block cache now return `Status::Incomplete()`, the same as `Get()`. diff --git a/unreleased_history/bug_fixes/replay_default_column_family.md b/unreleased_history/bug_fixes/replay_default_column_family.md deleted file mode 100644 index 9b014a5d71..0000000000 --- a/unreleased_history/bug_fixes/replay_default_column_family.md +++ /dev/null @@ -1 +0,0 @@ -Fixed trace replay (`DB::NewDefaultReplayer()`, db_bench `replay`) failing every read record (Get, MultiGet, iterator seek) on the default column family with `Corruption: Invalid Column Family ID` when the default column family handle was not passed, which is always the case in db_bench with `--num_column_families=1`. diff --git a/unreleased_history/bug_fixes/replay_multithread_execution_error.md b/unreleased_history/bug_fixes/replay_multithread_execution_error.md deleted file mode 100644 index bd2abfbde3..0000000000 --- a/unreleased_history/bug_fixes/replay_multithread_execution_error.md +++ /dev/null @@ -1 +0,0 @@ -Fixed multi-threaded `Replayer::Replay()` ignoring errors from executing trace records and returning OK. It now stops and returns the error, including `Status::NotSupported()` from executing a record, as single-threaded replay does. diff --git a/unreleased_history/bug_fixes/secondary_new_iterators_consistent_view.md b/unreleased_history/bug_fixes/secondary_new_iterators_consistent_view.md deleted file mode 100644 index cf063467a6..0000000000 --- a/unreleased_history/bug_fixes/secondary_new_iterators_consistent_view.md +++ /dev/null @@ -1 +0,0 @@ -Fixed secondary DB `NewIterators()` returning iterators from different database states or blocking for `TryCatchUpWithPrimary()` by serving the last completed catch-up view. diff --git a/unreleased_history/new_features/full_external_tables.md b/unreleased_history/new_features/full_external_tables.md deleted file mode 100644 index cc88d31523..0000000000 --- a/unreleased_history/new_features/full_external_tables.md +++ /dev/null @@ -1 +0,0 @@ -Added `FullExternalTableFactory` and related full-mode external table APIs that preserve RocksDB internal keys, enabling external tables to support nonzero sequence numbers, point and single deletions, merge operands, blob indexes, wide-column entities, snapshots, live DB writes, and multi-level compactions. diff --git a/unreleased_history/performance_improvements/coro_filesystem_buffer_reads.md b/unreleased_history/performance_improvements/coro_filesystem_buffer_reads.md deleted file mode 100644 index 33ce922003..0000000000 --- a/unreleased_history/performance_improvements/coro_filesystem_buffer_reads.md +++ /dev/null @@ -1 +0,0 @@ -Single Get coroutine reads using non-mmap, non-direct I/O on a `kFSBuffer`-capable `FileSystem` now use `FSRandomAccessFile::SubmitReadAsync()` instead of falling back to synchronous `Read()`. When rate-limited, these reads acquire their full token budget before submission to preserve a single filesystem-owned buffer, which can make physical I/O burstier than reads using caller-provided buffers. diff --git a/unreleased_history/public_api_changes/coro_external_table_interfaces.md b/unreleased_history/public_api_changes/coro_external_table_interfaces.md deleted file mode 100644 index f0f663f958..0000000000 --- a/unreleased_history/public_api_changes/coro_external_table_interfaces.md +++ /dev/null @@ -1 +0,0 @@ -Added experimental coroutine capability interfaces for basic and full `ExternalTableReader` implementations. Coroutine-capable external readers can initiate file reads through `FSRandomAccessFile::SubmitReadAsync()`. diff --git a/unreleased_history/public_api_changes/external_table_api_compatibility.md b/unreleased_history/public_api_changes/external_table_api_compatibility.md deleted file mode 100644 index 8cff200812..0000000000 --- a/unreleased_history/public_api_changes/external_table_api_compatibility.md +++ /dev/null @@ -1 +0,0 @@ -`ExternalTableFactory::NewTableReader()` now receives an already-opened `FSRandomAccessFile` and its file size instead of requiring implementations to reopen `file_path`. The supplied file preserves RocksDB's direct-I/O alignment handling, rate limiting, read statistics and listener notifications, prefetching, and synchronous, asynchronous, and batched reads. diff --git a/unreleased_history/public_api_changes/external_table_range_deletions.md b/unreleased_history/public_api_changes/external_table_range_deletions.md deleted file mode 100644 index d796bf5f8f..0000000000 --- a/unreleased_history/public_api_changes/external_table_range_deletions.md +++ /dev/null @@ -1 +0,0 @@ -Added `PutRangeDeletionBlock()`, `GetRangeDeletionBlock()`, and `IsDeleteRangeSupported()` to the external table interfaces so formats can opt in to range deletions using RocksDB's raw range-deletion metadata block. diff --git a/unreleased_history/public_api_changes/prepared_file_info_serialization.md b/unreleased_history/public_api_changes/prepared_file_info_serialization.md deleted file mode 100644 index ef5c9e7ada..0000000000 --- a/unreleased_history/public_api_changes/prepared_file_info_serialization.md +++ /dev/null @@ -1 +0,0 @@ -Opaque `PreparedFileInfo` metadata can now be serialized to a checksummed representation with `SerializePreparedFileInfo()` and restored with `DeserializePreparedFileInfo()` for reuse across processes. diff --git a/unreleased_history/public_api_changes/remove_write_global_seqno.md b/unreleased_history/public_api_changes/remove_write_global_seqno.md deleted file mode 100644 index ed6959c8f7..0000000000 --- a/unreleased_history/public_api_changes/remove_write_global_seqno.md +++ /dev/null @@ -1 +0,0 @@ -Removed the deprecated `IngestExternalFileOptions::write_global_seqno` option and its C, Java, and `ldb` APIs, `TableProperties::external_sst_file_global_seqno_offset`, and the `file_offset` output from `ExternalTableReader::GetPropertiesBlock()`. Existing external SST files whose global sequence number was rewritten without updating the properties-block checksum remain readable. diff --git a/unreleased_history/public_api_changes/table_properties_names_deprecated.md b/unreleased_history/public_api_changes/table_properties_names_deprecated.md deleted file mode 100644 index dd36d63e5b..0000000000 --- a/unreleased_history/public_api_changes/table_properties_names_deprecated.md +++ /dev/null @@ -1 +0,0 @@ -`TablePropertiesNames` has no apparent use in the public API so has been deprecated there. diff --git a/unreleased_history/public_api_changes/table_properties_oldest_ancestor_time.md b/unreleased_history/public_api_changes/table_properties_oldest_ancestor_time.md deleted file mode 100644 index 75d56134e1..0000000000 --- a/unreleased_history/public_api_changes/table_properties_oldest_ancestor_time.md +++ /dev/null @@ -1 +0,0 @@ -`TableProperties::creation_time` is renamed to `oldest_ancestor_time`, which better describes its meaning, along with `TablePropertiesNames::kCreationTime` to `kOldestAncestorTime`. The misspelled `SstFileMetaData::oldest_ancester_time` is renamed to `oldest_ancestor_time`. The old names remain available as deprecated aliases and will be removed in a future release. diff --git a/unreleased_history/public_api_changes/write_buffer_manager_flush_policy.md b/unreleased_history/public_api_changes/write_buffer_manager_flush_policy.md deleted file mode 100644 index 7037ee2711..0000000000 --- a/unreleased_history/public_api_changes/write_buffer_manager_flush_policy.md +++ /dev/null @@ -1 +0,0 @@ -Added `WriteBufferFlushPolicy` and `WriteBufferManager` policy selection for flushing the oldest or largest column family, including configurable batched flushing of the largest column families across DBs sharing a manager, with C and Java bindings.