From: Jay Huh Date: Fri, 17 Nov 2023 20:05:54 +0000 (-0800) Subject: Update HISTORY.md and version.h for 8.9.fb release X-Git-Tag: v8.9.1~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8bcbed2e93e0082167a9b3e7dec0e17b9448cd60;p=rocksdb.git Update HISTORY.md and version.h for 8.9.fb release --- diff --git a/HISTORY.md b/HISTORY.md index b32a3dd7f..a7e58f784 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,6 +1,28 @@ # Rocksdb Change Log > NOTE: Entries for next release do not go here. Follow instructions in `unreleased_history/README.txt` +## 8.9.0 (11/17/2023) +### New Features +* Add GetEntity() and PutEntity() API implementation for Attribute Group support. Through the use of Column Families, AttributeGroup enables users to logically group wide-column entities. + +### Public API Changes +* Added rocksdb_ratelimiter_create_auto_tuned API to create an auto-tuned GenericRateLimiter. +* Added clipColumnFamily() to the Java API to clip the entries in the CF according to the range [begin_key, end_key). +* Make the `EnableFileDeletion` API not default to force enabling. For users that rely on this default behavior and still +want to continue to use force enabling, they need to explicitly pass a `true` to `EnableFileDeletion`. +* Add new Cache APIs GetSecondaryCacheCapacity() and GetSecondaryCachePinnedUsage() to return the configured capacity, and cache reservation charged to the secondary cache. + +### Behavior Changes +* During off-peak hours defined by `daily_offpeak_time_utc`, the compaction picker will select a larger number of files for periodic compaction. This selection will include files that are projected to expire by the next off-peak start time, ensuring that these files are not chosen for periodic compaction outside of off-peak hours. +* If an error occurs when writing to a trace file after `DB::StartTrace()`, the subsequent trace writes are skipped to avoid writing to a file that has previously seen error. In this case, `DB::EndTrace()` will also return a non-ok status with info about the error occured previously in its status message. +* Deleting stale files upon recovery are delegated to SstFileManger if available so they can be rate limited. +* Make RocksDB only call `TablePropertiesCollector::Finish()` once. +* When `WAL_ttl_seconds > 0`, we now process archived WALs for deletion at least every `WAL_ttl_seconds / 2` seconds. Previously it could be less frequent in case of small `WAL_ttl_seconds` values when size-based expiration (`WAL_size_limit_MB > 0 `) was simultaneously enabled. + +### Bug Fixes +* Fixed a crash or assertion failure bug in experimental new HyperClockCache variant, especially when running with a SecondaryCache. +* Fix a race between flush error recovery and db destruction that can lead to db crashing. + ## 8.8.0 (10/23/2023) ### New Features * Introduce AttributeGroup by adding the first AttributeGroup support API, MultiGetEntity(). Through the use of Column Families, AttributeGroup enables users to logically group wide-column entities. More APIs to support AttributeGroup will come soon, including GetEntity, PutEntity, and others. diff --git a/include/rocksdb/version.h b/include/rocksdb/version.h index 139058155..530d4fee7 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 9 +#define ROCKSDB_MINOR 10 #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 e4771706f..93b51a9b9 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" "8.5.fb" "8.6.fb" "8.7.fb" "8.8.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" "8.6.fb" "8.7.fb" "8.8.fb" "8.9.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/WAL_ttl_seconds_expiration.md b/unreleased_history/behavior_changes/WAL_ttl_seconds_expiration.md deleted file mode 100644 index 3d55f41c8..000000000 --- a/unreleased_history/behavior_changes/WAL_ttl_seconds_expiration.md +++ /dev/null @@ -1 +0,0 @@ -* When `WAL_ttl_seconds > 0`, we now process archived WALs for deletion at least every `WAL_ttl_seconds / 2` seconds. Previously it could be less frequent in case of small `WAL_ttl_seconds` values when size-based expiration (`WAL_size_limit_MB > 0 `) was simultaneously enabled. diff --git a/unreleased_history/behavior_changes/periodic_compaction_during_offpeak.md b/unreleased_history/behavior_changes/periodic_compaction_during_offpeak.md deleted file mode 100644 index 475adf7f7..000000000 --- a/unreleased_history/behavior_changes/periodic_compaction_during_offpeak.md +++ /dev/null @@ -1 +0,0 @@ -During off-peak hours defined by `daily_offpeak_time_utc`, the compaction picker will select a larger number of files for periodic compaction. This selection will include files that are projected to expire by the next off-peak start time, ensuring that these files are not chosen for periodic compaction outside of off-peak hours. diff --git a/unreleased_history/behavior_changes/skip_trace_write.md b/unreleased_history/behavior_changes/skip_trace_write.md deleted file mode 100644 index 55ee8edae..000000000 --- a/unreleased_history/behavior_changes/skip_trace_write.md +++ /dev/null @@ -1 +0,0 @@ -If an error occurs when writing to a trace file after `DB::StartTrace()`, the subsequent trace writes are skipped to avoid writing to a file that has previously seen error. In this case, `DB::EndTrace()` will also return a non-ok status with info about the error occured previously in its status message. diff --git a/unreleased_history/behavior_changes/stale_file_deletion_on_recovery_rate_limited.md b/unreleased_history/behavior_changes/stale_file_deletion_on_recovery_rate_limited.md deleted file mode 100644 index e57647ea9..000000000 --- a/unreleased_history/behavior_changes/stale_file_deletion_on_recovery_rate_limited.md +++ /dev/null @@ -1 +0,0 @@ -Deleting stale files upon recovery are delegated to SstFileManger if available so they can be rate limited. \ No newline at end of file diff --git a/unreleased_history/behavior_changes/table_prop_collector_api_call.md b/unreleased_history/behavior_changes/table_prop_collector_api_call.md deleted file mode 100644 index ce69b3b2b..000000000 --- a/unreleased_history/behavior_changes/table_prop_collector_api_call.md +++ /dev/null @@ -1 +0,0 @@ -Make RocksDB only call `TablePropertiesCollector::Finish()` once. diff --git a/unreleased_history/bug_fixes/exp_autohcc_fix.md b/unreleased_history/bug_fixes/exp_autohcc_fix.md deleted file mode 100644 index 95a0de7b5..000000000 --- a/unreleased_history/bug_fixes/exp_autohcc_fix.md +++ /dev/null @@ -1 +0,0 @@ -Fixed a crash or assertion failure bug in experimental new HyperClockCache variant, especially when running with a SecondaryCache. diff --git a/unreleased_history/bug_fixes/flush_recovery_db_destructor_race.md b/unreleased_history/bug_fixes/flush_recovery_db_destructor_race.md deleted file mode 100644 index 76cc3c721..000000000 --- a/unreleased_history/bug_fixes/flush_recovery_db_destructor_race.md +++ /dev/null @@ -1 +0,0 @@ -Fix a race between flush error recovery and db destruction that can lead to db crashing. diff --git a/unreleased_history/new_features/attribute_group_support.md b/unreleased_history/new_features/attribute_group_support.md deleted file mode 100644 index 4645a1a63..000000000 --- a/unreleased_history/new_features/attribute_group_support.md +++ /dev/null @@ -1 +0,0 @@ -Add GetEntity() and PutEntity() API implementation for Attribute Group support. Through the use of Column Families, AttributeGroup enables users to logically group wide-column entities. diff --git a/unreleased_history/public_api_changes/add_auto_tuned_rate_limiter_to_c_api.md b/unreleased_history/public_api_changes/add_auto_tuned_rate_limiter_to_c_api.md deleted file mode 100644 index 980ca7868..000000000 --- a/unreleased_history/public_api_changes/add_auto_tuned_rate_limiter_to_c_api.md +++ /dev/null @@ -1 +0,0 @@ -Added rocksdb_ratelimiter_create_auto_tuned API to create an auto-tuned GenericRateLimiter. diff --git a/unreleased_history/public_api_changes/add_clip_column_family_to_java_api.md b/unreleased_history/public_api_changes/add_clip_column_family_to_java_api.md deleted file mode 100644 index 3da9e99a5..000000000 --- a/unreleased_history/public_api_changes/add_clip_column_family_to_java_api.md +++ /dev/null @@ -1 +0,0 @@ -Added clipColumnFamily() to the Java API to clip the entries in the CF according to the range [begin_key, end_key). \ No newline at end of file diff --git a/unreleased_history/public_api_changes/enable_file_deletion_not_default_force.md b/unreleased_history/public_api_changes/enable_file_deletion_not_default_force.md deleted file mode 100644 index e4d032613..000000000 --- a/unreleased_history/public_api_changes/enable_file_deletion_not_default_force.md +++ /dev/null @@ -1,2 +0,0 @@ -Make the `EnableFileDeletion` API not default to force enabling. For users that rely on this default behavior and still -want to continue to use force enabling, they need to explicitly pass a `true` to `EnableFileDeletion`. \ No newline at end of file diff --git a/unreleased_history/public_api_changes/tiered_cache_capacity_and_usage.md b/unreleased_history/public_api_changes/tiered_cache_capacity_and_usage.md deleted file mode 100644 index e281d069d..000000000 --- a/unreleased_history/public_api_changes/tiered_cache_capacity_and_usage.md +++ /dev/null @@ -1 +0,0 @@ -Add new Cache APIs GetSecondaryCacheCapacity() and GetSecondaryCachePinnedUsage() to return the configured capacity, and cache reservation charged to the secondary cache.