From b0b9282e8b6d80acaf6344ac7cc11824aa0504f8 Mon Sep 17 00:00:00 2001 From: Andrew Kryczka Date: Tue, 25 Jul 2023 19:16:22 -0700 Subject: [PATCH] Update for 8.5.fb branch cut --- HISTORY.md | 12 ++++++++++++ include/rocksdb/version.h | 2 +- tools/check_format_compatible.sh | 2 +- .../behavior_changes/fifo_ttl_periodic_compaction.md | 1 - .../behavior_changes/fs_prefetch_compaction_read.md | 1 - .../avoid_memcpy_directio.md | 1 - unreleased_history/performance_improvements/hcc_perf | 1 - .../public_api_changes/rename_migration_caches.md | 1 - unreleased_history/release.sh | 2 +- 9 files changed, 15 insertions(+), 8 deletions(-) delete mode 100644 unreleased_history/behavior_changes/fifo_ttl_periodic_compaction.md delete mode 100644 unreleased_history/behavior_changes/fs_prefetch_compaction_read.md delete mode 100644 unreleased_history/performance_improvements/avoid_memcpy_directio.md delete mode 100644 unreleased_history/performance_improvements/hcc_perf delete mode 100644 unreleased_history/public_api_changes/rename_migration_caches.md diff --git a/HISTORY.md b/HISTORY.md index f4dce5cd8751..262e3dd9c946 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,6 +1,18 @@ # Rocksdb Change Log > NOTE: Entries for next release do not go here. Follow instructions in `unreleased_history/README.txt` +## 8.5.0 (07/21/2023) +### Public API Changes +* Removed recently added APIs `GeneralCache` and `MakeSharedGeneralCache()` as our plan changed to stop exposing a general-purpose cache interface. The old forms of these APIs, `Cache` and `NewLRUCache()`, are still available, although general-purpose caching support will be dropped eventually. + +### Behavior Changes +* Option `periodic_compaction_seconds` no longer supports FIFO compaction: setting it has no effect on FIFO compactions. FIFO compaction users should only set option `ttl` instead. +* Move prefetching responsibility to page cache for compaction read for non directIO use case + +### Performance Improvements +* In case of direct_io, if buffer passed by callee is already aligned, RandomAccessFileRead::Read will avoid realloacting a new buffer, reducing memcpy and use already passed aligned buffer. +* Small efficiency improvement to HyperClockCache by reducing chance of compiler-generated heap allocations + ## 8.4.0 (06/26/2023) ### New Features * Add FSReadRequest::fs_scratch which is a data buffer allocated and provided by underlying FileSystem to RocksDB during reads, when FS wants to provide its own buffer with data instead of using RocksDB provided FSReadRequest::scratch. This can help in cpu optimization by avoiding copy from file system's buffer to RocksDB buffer. More details on how to use/enable it in file_system.h. Right now its supported only for MultiReads(async + sync) with non direct io. diff --git a/include/rocksdb/version.h b/include/rocksdb/version.h index 1b934a79f5ad..de6629d80d34 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 8 -#define ROCKSDB_MINOR 5 +#define ROCKSDB_MINOR 6 #define ROCKSDB_PATCH 0 // Do not use these. We made the mistake of declaring macros starting with diff --git a/tools/check_format_compatible.sh b/tools/check_format_compatible.sh index 6403b2675b89..1282d137583d 100755 --- a/tools/check_format_compatible.sh +++ b/tools/check_format_compatible.sh @@ -125,7 +125,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=("6.27.fb" "6.28.fb" "6.29.fb" "7.0.fb" "7.1.fb" "7.2.fb" "7.3.fb" "7.4.fb" "7.5.fb" "7.6.fb" "7.7.fb" "7.8.fb" "7.9.fb" "7.10.fb" "8.0.fb" "8.1.fb" "8.2.fb" "8.3.fb" "8.4.fb") +declare -a db_forward_with_options_refs=("6.27.fb" "6.28.fb" "6.29.fb" "7.0.fb" "7.1.fb" "7.2.fb" "7.3.fb" "7.4.fb" "7.5.fb" "7.6.fb" "7.7.fb" "7.8.fb" "7.9.fb" "7.10.fb" "8.0.fb" "8.1.fb" "8.2.fb" "8.3.fb" "8.4.fb" "8.5.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/fifo_ttl_periodic_compaction.md b/unreleased_history/behavior_changes/fifo_ttl_periodic_compaction.md deleted file mode 100644 index 6297ccc91380..000000000000 --- a/unreleased_history/behavior_changes/fifo_ttl_periodic_compaction.md +++ /dev/null @@ -1 +0,0 @@ -Option `periodic_compaction_seconds` no longer supports FIFO compaction: setting it has no effect on FIFO compactions. FIFO compaction users should only set option `ttl` instead. \ No newline at end of file diff --git a/unreleased_history/behavior_changes/fs_prefetch_compaction_read.md b/unreleased_history/behavior_changes/fs_prefetch_compaction_read.md deleted file mode 100644 index 0552a57e09c3..000000000000 --- a/unreleased_history/behavior_changes/fs_prefetch_compaction_read.md +++ /dev/null @@ -1 +0,0 @@ -Move prefetching responsibility to page cache for compaction read for non directIO use case diff --git a/unreleased_history/performance_improvements/avoid_memcpy_directio.md b/unreleased_history/performance_improvements/avoid_memcpy_directio.md deleted file mode 100644 index d5ac0b91118e..000000000000 --- a/unreleased_history/performance_improvements/avoid_memcpy_directio.md +++ /dev/null @@ -1 +0,0 @@ -In case of direct_io, if buffer passed by callee is already aligned, RandomAccessFileRead::Read will avoid realloacting a new buffer, reducing memcpy and use already passed aligned buffer. diff --git a/unreleased_history/performance_improvements/hcc_perf b/unreleased_history/performance_improvements/hcc_perf deleted file mode 100644 index c129393dc8cd..000000000000 --- a/unreleased_history/performance_improvements/hcc_perf +++ /dev/null @@ -1 +0,0 @@ -Small efficiency improvement to HyperClockCache by reducing chance of compiler-generated heap allocations diff --git a/unreleased_history/public_api_changes/rename_migration_caches.md b/unreleased_history/public_api_changes/rename_migration_caches.md deleted file mode 100644 index 3db59947d772..000000000000 --- a/unreleased_history/public_api_changes/rename_migration_caches.md +++ /dev/null @@ -1 +0,0 @@ -Removed recently added APIs `GeneralCache` and `MakeSharedGeneralCache()` as our plan changed to stop exposing a general-purpose cache interface. The old forms of these APIs, `Cache` and `NewLRUCache()`, are still available, although general-purpose caching support will be dropped eventually. diff --git a/unreleased_history/release.sh b/unreleased_history/release.sh index 91bfed3ea081..5ddbe3bfef16 100755 --- a/unreleased_history/release.sh +++ b/unreleased_history/release.sh @@ -31,7 +31,7 @@ awk '/#define ROCKSDB_MAJOR/ { major = $3 } /#define ROCKSDB_MINOR/ { minor = $3 } /#define ROCKSDB_PATCH/ { patch = $3 } END { printf "## " major "." minor "." patch }' < include/rocksdb/version.h >> HISTORY.new -echo " (`date +%x`)" >> HISTORY.new +echo " (`git log -n1 --date=format:"%m/%d/%Y" --format="%ad"`)" >> HISTORY.new function process_file () { # use awk to correct extra or missing newlines, missing '* ' on first line