v1.12.3
Release Notes of v1.12.3
The following are the highlights in this release:
New Hotspot Algorithm Support
A new algorithm of hotspot detection is supported here, which makes the following improvements:
- It defined the concept of threshold, and ready for automatic monitoring.
- It has higher stability
Thanks to @Smityz .
Related PR:
- feat(hotspot): new algorithm of hotspot detection (#479)
- feat(collector): add statistics for partition hotspot (#444)
Optimization
There are some updates used to optimize memory usage and reduce performance cost.
Related PR:
- feat: limit long time rocksdb iteration operation(#500)
- feat: forbid large-size-value writes to Pegasus (XiaoMi/rdsn#414)
- feat: add a new app_env to limit scan time (XiaoMi/rdsn#421)
- feat: tcmalloc memory release improvements (XiaoMi/rdsn#435)
Upgrade from the previous version
[replication]
- allow_non_idempotent_write = false
+ max_allowed_write_size = 1048576 # default = 1MB
+ cold_backup_checkpoint_reserve_minutes = 10
[pegasus.server]
# cluster level restriction {3000, 30MB, 1000, 30s}
+ rocksdb_multi_get_max_iteration_count = 3000
+ rocksdb_multi_get_max_iteration_size = 31457280
+ rocksdb_max_iteration_count = 1000
+ rocksdb_iteration_threshold_time_ms = 30000
+ rocksdb_use_direct_reads = true
+ rocksdb_use_direct_io_for_flush_and_compaction = true
+ rocksdb_compaction_readahead_size = 2097152
+ rocksdb_writable_file_max_buffer_size = 1048576
- perf_counter_cluster_name = %{cluster.name}
- perf_counter_enable_falcon = false
- perf_counter_enable_prometheus = false
+ perf_counter_sink = <falcon | prometheus>
[pegasus.collector]
- cluster = %{cluster.name}
+ hotspot_detect_algorithm = <hotspot_algo_qps_variance | hotspot_algo_qps_skew>
[replication]
+ cluster_name = %{cluster.name}