Skip to content

Latest commit

 

History

History
319 lines (225 loc) · 31.8 KB

CHANGELOG.MD

File metadata and controls

319 lines (225 loc) · 31.8 KB

v3.5.2

New features

bugfix

  • Fixed coredump issue when using SETRANGE command in Pika. #2125 @chejinge

  • Fixed full replication issue caused by deleting Clearreplicationid from binlog. #2136 @Mixficsol

  • Modified lock granularity to improve binlog writing performance in Pika. #2129 @wangshao1

  • Added redis-copy traffic replication tool. #2044 @Mixficsol

  • Fixed potential data overflow issue in complex data types member variables. #2016 @u6th9d

  • Fixed incorrect return value issue in decr command. #2092 @dingxiaoshuai123

  • Fixed issue where SETRANGE and SETBIT commands did not retain the original key's expiration time. #2095 @u6th9d

v3.5.1

New features

  • slow log Adds statistics on queue waiting time #1997 @wangshao1

  • ReplicationID is used for primary/secondary replication #1951 @Mixficsol

  • WAL uses the disablewal command to support dynamic shutdown #2015 @Mixficsol

  • The number of threads flushed and the number of threads compaction dynamically adjust into one #2014 @Tianpingan

  • The RocksDB version was upgraded to v8.3.3 #1999 @dingxiaoshuai123

  • Added documentation for configuring Pika in Macos environment #2003 @klboke

  • Added the ability to periodically print the length of the work queue to quickly locate problems when the queue is blocked #1978 @Tianpingan

  • Added an indicator to detect the entire cluster using a pika_exporter #1953 @chenbt-hz

  • Realize automatic registration of Pika service on K8s environment, and automatically register at startup, so as to realize self-organization of cluster #1931 @machinly

bugfix

  • Reduces unnecessary log printing by the exporter, reducing CPU utilization #1945 @Mixficsol

  • The sentinel mechanism has been upgraded to carry out logical deletion of primary nodes that fall offline #1949 @Mixficsol

  • Adjust the rate_limit parameter to fix the situation that RPS is 0 during pressure measurement #2009 @chejinge

  • Fixed the logical determination of empty path when traversing data files in INFODATA command #1996 @Mixficsol

  • Improved the description of some missing parts of the document #1962 @baerwang

  • Use make-j to improve build speed #1933 @xiezheng-XD

  • Fixed an issue where large burrs appeared on the Codis line #2016 @chejinge

  • Fixed an issue where tools could not be compiled in Macos #2011 @A2ureStone

v3.5.0

Major features

1.Removal of Rsync

  1. Remove Rsync.
  2. Implement breakpoint resuming, rate limitation, and file verification.
  3. When synchronizing master-slave in Pika, perform the master run_id verification.

2.Compatibility with More Redis Commands

  1. Support the UNLINK command.
  2. Support the INFO COMMANDSTATS command.
  3. Support the HELLO and SETNAME commands.
  4. Support the BLPOP and BRPOP commands.
  5. Added Pika original command DISKRECOVERY

3.RocksDB Version Upgrade and Tiered Compression

  1. Upgraded RocksDB version to v8.1.1.
  2. Implemented tiered compression for RocksDB.
  3. Added the RocksDB cache configuration option "num-shard-bits" to read from the configuration file.

4.Support for BlobDB:

  • In v3.5.0, we added support for BlobDB KV separation.

    #1456

    @lqxhub

  1. With this update, Pika now supports the separation of KV (Key-Value) data using BlobDB.

5.Codis Cluster Mode based on Codis

  1. Introducing Codis into Pika.
  2. Introducing Codis CI into the project.
  3. Supporting the command for Codis slot migration.
  4. Adding the "slotmigrate" status indicator for whether it is in the process of reloading.

6.Observability

  1. Added Pika observability system pika_exporter.
  2. Introduced monitoring metrics for network I/O traffic.
  3. Added metrics for tracking command execution durations.
  4. Introduced "estimate_pending_compaction_bytes" metric to analyze fragmentation.
  5. Added RocksDB metrics.

7.Cloud-Native Deployment

  • In v3.5.0, we introduced an MVP version of pika-operator, which focuses on enabling the quick deployment of a single-instance Pika service on Kubernetes.

    #1243 #1330 #1347

    @machinly

  1. Implemented fast deployment of a single-instance Pika service on Kubernetes.
  2. Implemented Pika deployment in the MiniKube environment.
  3. Added End-to-End (E2E) tests to the pika-operator.

8.Cross-platform compilation

  • In v3.5.0, Pika supports cross-platform compilation and can be compiled and used on MacOS, CentOS, and Ubuntu platforms.

    #1372 #1488

    @loveyacper @Mixficsol

  1. Supports MacOS platform

9.Multi-platform CI, Go integration tests, TCL unit tests, PythonE2E tests, CTest unit tests

  1. Added CI on CentOS environment to ensure compatibility on this platform.
  2. Added CI on MacOS environment to validate Pika's behavior on MacOS.
  3. Introduced an End-to-End (E2E) testing framework to comprehensively test Pika's functionality from end to end.
  4. Integrated CMake build environment in Github CI Workflow to facilitate the compilation process.
  5. Implemented a "populate" method in TCL scripts to simulate Redis debug populate method for test data population.
  6. Introduced a script to enable easy execution of unit tests.
  7. Added CMake files in Blackwidow and included unit tests for Blackwidow.
  8. Utilized CTest for conducting unit tests to ensure code correctness.
  9. Ported Redis testing scripts to Pika to leverage existing tests and verify Pika's compatibility with Redis.
  10. Included new tasks in the CI pipeline to verify successful compilation of Pika on CentOS systems.

Features

  • Added automatic rate limiting for "compact" operation to reduce its impact on the latency of upper-layer data read and write operations. #1374 @wanghenshui
  • Introduced the "aof_to_pika" toolset for data conversion. #1340 @Axlgrep
  • Implemented the printing of the Pika logo. #1787 @Mixficsol
  • Optimized certain code portions using clang-tidy. #1701 #1730 @longfar-ncy
  • Refactored C++98-style code to C++11-style following C++ coding guidelines. #1684 @chejinge
  • Introduced support for the "snappy" library. #1216 @kernelai
  • Added CLA (Contributor License Agreement) file. #1260 @kernelai
  • Extended memory-related configuration options to support units in K, M, or G. #1307 @lqxhub
  • Added libunwind as a dependency library. #1316 @kernelai
  • Included a compilation script for Pika. #1356 @lqxhub
  • Added "rate-limiter-bandwidth" option to pika.conf for rate limiting. #1272 @wanghenshui
  • Enhanced the "info" command by adding "redis_version" information. #1403 @wanghenshui
  • Provided CMake support for aof_to_pika tool. #1436 @A2ureStone
  • Introduced clang-formatted shell scripts. #1448 @lqxhub
  • Added a configuration option to disable the compilation of command docs. #1642 @tedli
  • Provided CMake support for benchmark_client, binlog_sender, manifest_generator, rdb_to_pika, txt_to_pika, pika_to_txt, and pika_port. #1451 @A2ureStone

Improvement

Bugfixes

Notice