What's Changed
New features
- After the Pika slave instance executes slaveof no one to remove the replication relationship with the master node, the slaveof information is persisted into the configuration file. #2973 @cheniujh
- Added support for backup and recovery in master-slave mode for Pika-Operator. #2968 @buzhimingyonghu
- Added the
log-net-activities
parameter in the configuration file to dynamically enable or disable the logging of certain connection-related activities. This can be adjusted withconfig get/set
. #2964 @cheniujh - Added the
repl_connect_status
metric to Pika info and integrated it intopika_exporter
to facilitate monitoring of the replication status. #2961 @cheniujh - Upgraded
kubeblocks
to version 0.9, improving and optimizing Pika-Operator to simplify code and support instance scale-down. #2860 @XiaoLiang2333 - Pika-Operator now supports starting in master-slave mode. See the README document for more details. #2903 @XiaoLiang2333
- Added
keyspace_hits
andkeyspace_misses
metrics topika_exporter
, enabling users to monitor key hit rates. #2579 @chenbt - RedisCache now avoids storing large keys to prevent excessive memory usage or the eviction of frequently accessed hot keys, which could impact performance. #2557 @QlQlqiqi
- Solved the problem of consistency between Pika database and cache #3034 #3037 @Mixficsol
- The statistics on Pika time in each period, RocksDB execution time, lock acquisition time, Binlog write time, and Redis-Cache read time are increased #3036 @wangshao1
- Fixed version information viewing for Pika, Pika_exporter, Codis components #3054 #3057 @Mixficsol
- Added the Auth command to manage the command thread pool #3048 @Mixficsol
- The maximum number of elements in RedisCache and the size of all Key types can be updated to the threshold of Redis-Cache by using the configuration file and dynamically modified by using the Config command #3043 #3047 @Mixficsol
Improvement
- Pika now supports dynamically modifying the
max-subcompactions
parameter to optimize thecompact
operation for L0 layers at runtime. #2965 @cheniujh - Improved the
log-retention-time
parameter to dynamically adjust the number of days for log retention. #2963 @cheniujh - Moved the
Pika-Migrate
code to thetools
folder to simplify binary compilation in different environments for data migration. #2941 @chenbt-hz - Added Go tests for Pika complex data types and management commands to ensure service stability. [#2840](https://github.com/OpenAtomFoundation
- Updated the
actions/checkout
in GitHub Actions workflow to v5 for enhanced security and performance. #2833 @baerwang - Added a new compact strategy in Pika to optimize write performance by prioritizing files unused for the longest time or files with the most deleted entries. #2557 @QlQlqiqi
Bugfix
- Fixed the
rpoplpush
command cache update issue, which caused inconsistency between the database and cache. #2976 @cheniujh - Fixed compatibility issues between different versions of Pika-Exporter, which caused excessive logging and wasted disk resources. #2971 @buzhimingyonghu
- Adjusted the log level of
slowlog
to INFO to address the issue of triple logging, which consumed excessive disk space. #2948 @buzhimingyonghu - Improved CI stability by resolving specific failure issues. #2937 @chejinge
- Fixed an issue where Pika instances could not set administrator passwords independently. #2920 @buzhimingyonghu
- Resolved a reference counter destructor issue in the epoll loop for
std::shared_ptr in_conn
objects, ensuring Pika connections are closed in a timely manner. #2904 @cheniujh - Fixed a cache inconsistency issue caused by the
zpopmin
command during deletion operations. #2892 @chejinge - Fix Dashboard parsing Pika address error #3038 @wangshao1
- Fixed that Dashboard frequently sends meta information change requests to the Proxy after the secondary node is offline, and added the subjective and objective offline logic of the secondary node #3049 @Mixficsol
- Fixed the Slave Pika node restart without read traffic #3038 @wangshao1
📒 Documentation: PikiwiDB
Full Changelog: v4.0.1...v4.0.2
Thanks to @007gzs, @baerwang , @cheniujh , @buzhimingyonghu , @chejinge , @Mixficsol , @QlQlqiqi , @chenbt-hz , @XiaoLiang2333, @wangshao1, @pro-spild and @tsinow for making this release possible.