From 05f2425452bffccd60333d415d337aa8261b73a5 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 ++++++++++++ .../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 +- 7 files changed, 13 insertions(+), 6 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 f4dce5cd875..262e3dd9c94 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/unreleased_history/behavior_changes/fifo_ttl_periodic_compaction.md b/unreleased_history/behavior_changes/fifo_ttl_periodic_compaction.md deleted file mode 100644 index 6297ccc9138..00000000000 --- 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 0552a57e09c..00000000000 --- 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 d5ac0b91118..00000000000 --- 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 c129393dc8c..00000000000 --- 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 3db59947d77..00000000000 --- 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 91bfed3ea08..5ddbe3bfef1 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