Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: v4.0.0 changelog #2764

Merged
merged 8 commits into from
Jul 3, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions CHANGELOG.MD
Original file line number Diff line number Diff line change
@@ -1,3 +1,85 @@
# v4.0.0
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a brief description for the changelog.

The changelog starts directly with the version number. It would be beneficial to add a brief introduction or summary at the beginning to provide context about the changes in version 4.0.0.

+ # Changelog for version 4.0.0
+ # This document provides a detailed list of new features, improvements, and bug fixes included in this release.
  # v4.0.0
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# v4.0.0
# Changelog for version 4.0.0
# This document provides a detailed list of new features, improvements, and bug fixes included in this release.
# v4.0.0


## New features

- Pika now supports compilation and packaging on the FreeBSD14 platform.[#2711](https://github.com/OpenAtomFoundation/pika/pull/2603)@[lqxhub](https://github.com/lqxhub)

- Pika thread reorganization to avoid starting too many unnecessary threads, Threads are named for easier issue localization. [#2697](https://github.com/OpenAtomFoundation/pika/pull/2697)@[chejinge](https://github.com/chejinge)
chejinge marked this conversation as resolved.
Show resolved Hide resolved

- Mget supports multi-key query caching. Keys that miss are recorded and queried in the DB, improving Pika service read performance. [#2675](https://github.com/OpenAtomFoundation/pika/pull/2675)@[chejinge](https://github.com/chejinge)

- Codis supports the info command, allowing querying of Codis-proxy's info information. [#2688](https://github.com/OpenAtomFoundation/pika/pull/2688)@[chienguo](https://github.com/chienguo)

- Added Gtest for Floyd's compaction-filter.[#2669](https://github.com/OpenAtomFoundation/pika/pull/2669)@[Mixficsol ](https://github.com/Mixficsol)
chejinge marked this conversation as resolved.
Show resolved Hide resolved
chejinge marked this conversation as resolved.
Show resolved Hide resolved

- Codis-proxy adds new monitoring metrics such as P99 and P95 response times. [#2668](https://github.com/OpenAtomFoundation/pika/pull/2668)@[chejinge](https://github.com/chejinge)

- Added Pika benchmarking metrics to improve benchmarking efficiency and output visualized statistical charts.[#2663](https://github.com/OpenAtomFoundation/pika/pull/2663)@[luky116](https://github.com/luky116)

- Pika master-slave replication adds a new monitoring metric `repl_connect_status` to more clearly and accurately determine the current status of master-slave replication. [#2638](https://github.com/OpenAtomFoundation/pika/pull/2638)@[cheniujh](https://github.com/cheniujh)

- Pika does not support duplicate keys of different types. Writing a duplicate key returns an invalid type error. [#2609](https://github.com/OpenAtomFoundation/pika/pull/2609)@[Mixficsol](https://github.com/Mixficsol)

- Pika supports the third-generation storage engine Floyd, optimizing the use of multiple rocksdb instances, the use of Blobs, and the cleanup of expired data to improve the read and write performance of Pika instances.[#2413](https://github.com/OpenAtomFoundation/pika/pull/2413)@[wangshao1](https://github.com/wangshao1)

## Improvement
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Highlight major changes prominently.

Consider using a dedicated section or a summary table at the beginning of the changelog to highlight major new features and critical bug fixes. This will help users quickly understand the most impactful changes.

+## Highlights of Version 4.0.0
+
+- Major new features:
+  - Compilation and packaging support for FreeBSD14.
+  - Third-generation storage engine Floyd support.
+
+- Critical bug fixes:
+  - Fixed abnormal return values in ZREVRank.
+  - Resolved runtime crashes and data inconsistencies.
+
## New features
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## New features
- Pika now supports compilation and packaging on the FreeBSD14 platform.[#2711](https://github.com/OpenAtomFoundation/pika/pull/2603)@[lqxhub](https://github.com/lqxhub)
- Pika thread reorganization to avoid starting too many unnecessary threads, Threads are named for easier issue localization. [#2697](https://github.com/OpenAtomFoundation/pika/pull/2697)@[chejinge](https://github.com/chejinge)
- Mget supports multi-key query caching. Keys that miss are recorded and queried in the DB, improving Pika service read performance. [#2675](https://github.com/OpenAtomFoundation/pika/pull/2675)@[chejinge](https://github.com/chejinge)
- Codis supports the info command, allowing querying of Codis-proxy's info information. [#2688](https://github.com/OpenAtomFoundation/pika/pull/2688)@[chienguo](https://github.com/chienguo)
- Added Gtest for Floyd's compaction-filter.[#2669](https://github.com/OpenAtomFoundation/pika/pull/2669)@[Mixficsol ](https://github.com/Mixficsol)
- Codis-proxy adds new monitoring metrics such as P99 and P95 response times. [#2668](https://github.com/OpenAtomFoundation/pika/pull/2668)@[chejinge](https://github.com/chejinge)
- Added Pika benchmarking metrics to improve benchmarking efficiency and output visualized statistical charts.[#2663](https://github.com/OpenAtomFoundation/pika/pull/2663)@[luky116](https://github.com/luky116)
- Pika master-slave replication adds a new monitoring metric `repl_connect_status` to more clearly and accurately determine the current status of master-slave replication. [#2638](https://github.com/OpenAtomFoundation/pika/pull/2638)@[cheniujh](https://github.com/cheniujh)
- Pika does not support duplicate keys of different types. Writing a duplicate key returns an invalid type error. [#2609](https://github.com/OpenAtomFoundation/pika/pull/2609)@[Mixficsol](https://github.com/Mixficsol)
- Pika supports the third-generation storage engine Floyd, optimizing the use of multiple rocksdb instances, the use of Blobs, and the cleanup of expired data to improve the read and write performance of Pika instances.[#2413](https://github.com/OpenAtomFoundation/pika/pull/2413)@[wangshao1](https://github.com/wangshao1)
## Improvement
## Highlights of Version 4.0.0
- Major new features:
- Compilation and packaging support for FreeBSD14.
- Third-generation storage engine Floyd support.
- Critical bug fixes:
- Fixed abnormal return values in ZREVRank.
- Resolved runtime crashes and data inconsistencies.
## New features
- Pika now supports compilation and packaging on the FreeBSD14 platform.[#2711](https://github.com/OpenAtomFoundation/pika/pull/2603)@[lqxhub](https://github.com/lqxhub)
- Pika thread reorganization to avoid starting too many unnecessary threads, Threads are named for easier issue localization. [#2697](https://github.com/OpenAtomFoundation/pika/pull/2697)@[chejinge](https://github.com/chejinge)
- Mget supports multi-key query caching. Keys that miss are recorded and queried in the DB, improving Pika service read performance. [#2675](https://github.com/OpenAtomFoundation/pika/pull/2675)@[chejinge](https://github.com/chejinge)
- Codis supports the info command, allowing querying of Codis-proxy's info information. [#2688](https://github.com/OpenAtomFoundation/pika/pull/2688)@[chienguo](https://github.com/chienguo)
- Added Gtest for Floyd's compaction-filter.[#2669](https://github.com/OpenAtomFoundation/pika/pull/2669)@[Mixficsol ](https://github.com/Mixficsol)
- Codis-proxy adds new monitoring metrics such as P99 and P95 response times. [#2668](https://github.com/OpenAtomFoundation/pika/pull/2668)@[chejinge](https://github.com/chejinge)
- Added Pika benchmarking metrics to improve benchmarking efficiency and output visualized statistical charts.[#2663](https://github.com/OpenAtomFoundation/pika/pull/2663)@[luky116](https://github.com/luky116)
- Pika master-slave replication adds a new monitoring metric `repl_connect_status` to more clearly and accurately determine the current status of master-slave replication. [#2638](https://github.com/OpenAtomFoundation/pika/pull/2638)@[cheniujh](https://github.com/cheniujh)
- Pika does not support duplicate keys of different types. Writing a duplicate key returns an invalid type error. [#2609](https://github.com/OpenAtomFoundation/pika/pull/2609)@[Mixficsol](https://github.com/Mixficsol)
- Pika supports the third-generation storage engine Floyd, optimizing the use of multiple rocksdb instances, the use of Blobs, and the cleanup of expired data to improve the read and write performance of Pika instances.[#2413](https://github.com/OpenAtomFoundation/pika/pull/2413)@[wangshao1](https://github.com/wangshao1)
## Improvement
Tools
Markdownlint

13-13: null
Spaces inside link text

(MD039, no-space-in-links)


- Updated the Pika Docker Readme to allow deploying Pika services in Docker according to the Readme. [#2743](https://github.com/OpenAtomFoundation/pika/pull/2743)@[luky116](https://github.com/luky116)

- Optimized the issue of repeated meta value queries affecting Pika service read and write performance.[#2735](https://github.com/OpenAtomFoundation/pika/pull/2735)@[wangshao1](https://github.com/wangshao1)

- Supports dynamic adjustment of more RocksDB parameters. Users can adjust parameters according to different business usage scenarios to improve Pika's read and write performance.[#2728](https://github.com/OpenAtomFoundation/pika/pull/2728)@[cheniujh](https://github.com/cheniujh)

- Isolated types for HyperLogLog and String to ensure clear distinction between HyperLogLog and String operations.[#2720](https://github.com/OpenAtomFoundation/pika/pull/2720)@[saz97](https://github.com/saz97)

- Updated PR title validation to disallow Chinese characters at the end of titles. [#2718](https://github.com/OpenAtomFoundation/pika/pull/2718)@[baerwang](https://github.com/baerwang)

- Refactored the master-slave synchronization thread model for slave nodes in master-slave replication mode to minimize binlog consumption blocking issues.[#2638](https://github.com/OpenAtomFoundation/pika/pull/2638)@[cheniujh](https://github.com/cheniujh)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove duplicate entry for the "master-slave synchronization thread model" improvement.

The entry for "Refactored the master-slave synchronization thread model" is duplicated. Remove the duplicate entry.

- Refactored the master-slave synchronization thread model for slave nodes in master-slave replication mode to minimize binlog consumption blocking issues.
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- Refactored the master-slave synchronization thread model for slave nodes in master-slave replication mode to minimize binlog consumption blocking issues.[#2638](https://github.com/OpenAtomFoundation/pika/pull/2638)@[cheniujh](https://github.com/cheniujh)


## Bugfix
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clarify improvement descriptions.

Some improvement descriptions are vague, such as "Optimized the issue of repeated meta value queries." Provide more specific information about how these optimizations were achieved and their expected impact.

- - Optimized the issue of repeated meta value queries affecting Pika service read and write performance.
+ - Improved query caching mechanisms to reduce redundant meta value queries, enhancing both read and write performance of Pika services.
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- Updated the Pika Docker Readme to allow deploying Pika services in Docker according to the Readme. [#2743](https://github.com/OpenAtomFoundation/pika/pull/2743)@[luky116](https://github.com/luky116)
- Optimized the issue of repeated meta value queries affecting Pika service read and write performance.[#2735](https://github.com/OpenAtomFoundation/pika/pull/2735)@[wangshao1](https://github.com/wangshao1)
- Supports dynamic adjustment of more RocksDB parameters. Users can adjust parameters according to different business usage scenarios to improve Pika's read and write performance.[#2728](https://github.com/OpenAtomFoundation/pika/pull/2728)@[cheniujh](https://github.com/cheniujh)
- Isolated types for HyperLogLog and String to ensure clear distinction between HyperLogLog and String operations.[#2720](https://github.com/OpenAtomFoundation/pika/pull/2720)@[saz97](https://github.com/saz97)
- Updated PR title validation to disallow Chinese characters at the end of titles. [#2718](https://github.com/OpenAtomFoundation/pika/pull/2718)@[baerwang](https://github.com/baerwang)
- Refactored the master-slave synchronization thread model for slave nodes in master-slave replication mode to minimize binlog consumption blocking issues.[#2638](https://github.com/OpenAtomFoundation/pika/pull/2638)@[cheniujh](https://github.com/cheniujh)
## Bugfix
- Updated the Pika Docker Readme to allow deploying Pika services in Docker according to the Readme. [#2743](https://github.com/OpenAtomFoundation/pika/pull/2743)@[luky116](https://github.com/luky116)
- Improved query caching mechanisms to reduce redundant meta value queries, enhancing both read and write performance of Pika services.[#2735](https://github.com/OpenAtomFoundation/pika/pull/2735)@[wangshao1](https://github.com/wangshao1)
- Supports dynamic adjustment of more RocksDB parameters. Users can adjust parameters according to different business usage scenarios to improve Pika's read and write performance.[#2728](https://github.com/OpenAtomFoundation/pika/pull/2728)@[cheniujh](https://github.com/cheniujh)
- Isolated types for HyperLogLog and String to ensure clear distinction between HyperLogLog and String operations.[#2720](https://github.com/OpenAtomFoundation/pika/pull/2720)@[saz97](https://github.com/saz97)
- Updated PR title validation to disallow Chinese characters at the end of titles. [#2718](https://github.com/OpenAtomFoundation/pika/pull/2718)@[baerwang](https://github.com/baerwang)
- Refactored the master-slave synchronization thread model for slave nodes in master-slave replication mode to minimize binlog consumption blocking issues.[#2638](https://github.com/OpenAtomFoundation/pika/pull/2638)@[cheniujh](https://github.com/cheniujh)
## Bugfix


- Fixed an issue with abnormal return values in ZREVRANK.[#2763](https://github.com/OpenAtomFoundation/pika/pull/2763)@[chejinge](https://github.com/chejinge)

- Fixed an issue causing the Dbsize command to crash at runtime due to buffer overrun on heap allocation. [#2749](https://github.com/OpenAtomFoundation/pika/pull/2749)@[wangshao1](https://github.com/wangshao1)

- Fixed an issue where uninitialized parameters caused slotsscan and bgsave commands not to balance each other.[#2745](https://github.com/OpenAtomFoundation/pika/pull/2745)@[chejinge](https://github.com/chejinge)

- Fixed an issue where multiple slaves connecting to the master during batch scaling could cause incomplete data on some slave nodes due to multiple bgsave operations in a short time.[#2742](https://github.com/OpenAtomFoundation/pika/pull/2742)@[cheniujh](https://github.com/cheniujh)

- Fixed an issue in Slotmigrate where return values were set incorrectly, terminating data migration in exceptional scenarios. [#2741](https://github.com/OpenAtomFoundation/pika/pull/2741)@[chejinge](https://github.com/chejinge)

- Fixed an issue in Mget where not using the parsing ttl function caused some keys' ttl not to be updated, leading to data inconsistencies.[#2730](https://github.com/OpenAtomFoundation/pika/pull/2730)@[chejinge](https://github.com/chejinge)

- Fixed an issue where the pkpatternmatchdel command caused anomalies in stream data deletion due to incorrect usage.[#2726](https://github.com/OpenAtomFoundation/pika/pull/2726)@[wangshao1](https://github.com/wangshao1)

- Fixed an issue where the Keyspace command did not count Stream type data. [#2705](https://github.com/OpenAtomFoundation/pika/pull/2705)@[wangshao1](https://github.com/wangshao1)

- Customized processing logic for some commands to avoid binlog write issues that caused binlog parsing failures on slave nodes. [#2693](https://github.com/OpenAtomFoundation/pika/pull/2693)@[cheniujh ](https://github.com/cheniujh)

- Fixed an issue where Pika cmdID assignment in the Cmd initialization function could cause data race during concurrent construction.[#2692](https://github.com/OpenAtomFoundation/pika/pull/2692)@[gukj-spel](https://github.com/gukj-spel)

- Fixed an issue where ExpectedStale did not consider String types, causing incorrect returns if there were expired String type keys.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Standardize bug fix statements for clarity.

The phrasing "Fixed an issue where..." is repetitive and could be streamlined for better readability. Consider rephrasing for conciseness.

- - Fixed an issue where uninitialized parameters caused slotsscan and bgsave commands not to balance each other.
+ - Corrected uninitialized parameters in slotsscan and bgsave commands to ensure proper balancing.
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- Fixed an issue with abnormal return values in ZREVRANK.[#2763](https://github.com/OpenAtomFoundation/pika/pull/2763)@[chejinge](https://github.com/chejinge)
- Fixed an issue causing the Dbsize command to crash at runtime due to buffer overrun on heap allocation. [#2749](https://github.com/OpenAtomFoundation/pika/pull/2749)@[wangshao1](https://github.com/wangshao1)
- Fixed an issue where uninitialized parameters caused slotsscan and bgsave commands not to balance each other.[#2745](https://github.com/OpenAtomFoundation/pika/pull/2745)@[chejinge](https://github.com/chejinge)
- Fixed an issue where multiple slaves connecting to the master during batch scaling could cause incomplete data on some slave nodes due to multiple bgsave operations in a short time.[#2742](https://github.com/OpenAtomFoundation/pika/pull/2742)@[cheniujh](https://github.com/cheniujh)
- Fixed an issue in Slotmigrate where return values were set incorrectly, terminating data migration in exceptional scenarios. [#2741](https://github.com/OpenAtomFoundation/pika/pull/2741)@[chejinge](https://github.com/chejinge)
- Fixed an issue in Mget where not using the parsing ttl function caused some keys' ttl not to be updated, leading to data inconsistencies.[#2730](https://github.com/OpenAtomFoundation/pika/pull/2730)@[chejinge](https://github.com/chejinge)
- Fixed an issue where the pkpatternmatchdel command caused anomalies in stream data deletion due to incorrect usage.[#2726](https://github.com/OpenAtomFoundation/pika/pull/2726)@[wangshao1](https://github.com/wangshao1)
- Fixed an issue where the Keyspace command did not count Stream type data. [#2705](https://github.com/OpenAtomFoundation/pika/pull/2705)@[wangshao1](https://github.com/wangshao1)
- Customized processing logic for some commands to avoid binlog write issues that caused binlog parsing failures on slave nodes. [#2693](https://github.com/OpenAtomFoundation/pika/pull/2693)@[cheniujh ](https://github.com/cheniujh)
- Fixed an issue where Pika cmdID assignment in the Cmd initialization function could cause data race during concurrent construction.[#2692](https://github.com/OpenAtomFoundation/pika/pull/2692)@[gukj-spel](https://github.com/gukj-spel)
- Fixed an issue where ExpectedStale did not consider String types, causing incorrect returns if there were expired String type keys.
- Fixed an issue with abnormal return values in ZREVRANK.[#2763](https://github.com/OpenAtomFoundation/pika/pull/2763)@[chejinge](https://github.com/chejinge)
- Fixed an issue causing the Dbsize command to crash at runtime due to buffer overrun on heap allocation. [#2749](https://github.com/OpenAtomFoundation/pika/pull/2749)@[wangshao1](https://github.com/wangshao1)
- Corrected uninitialized parameters in slotsscan and bgsave commands to ensure proper balancing.[#2745](https://github.com/OpenAtomFoundation/pika/pull/2745)@[chejinge](https://github.com/chejinge)
- Fixed an issue where multiple slaves connecting to the master during batch scaling could cause incomplete data on some slave nodes due to multiple bgsave operations in a short time.[#2742](https://github.com/OpenAtomFoundation/pika/pull/2742)@[cheniujh](https://github.com/cheniujh)
- Fixed an issue in Slotmigrate where return values were set incorrectly, terminating data migration in exceptional scenarios. [#2741](https://github.com/OpenAtomFoundation/pika/pull/2741)@[chejinge](https://github.com/chejinge)
- Fixed an issue in Mget where not using the parsing ttl function caused some keys' ttl not to be updated, leading to data inconsistencies.[#2730](https://github.com/OpenAtomFoundation/pika/pull/2730)@[chejinge](https://github.com/chejinge)
- Fixed an issue where the pkpatternmatchdel command caused anomalies in stream data deletion due to incorrect usage.[#2726](https://github.com/OpenAtomFoundation/pika/pull/2726)@[wangshao1](https://github.com/wangshao1)
- Fixed an issue where the Keyspace command did not count Stream type data. [#2705](https://github.com/OpenAtomFoundation/pika/pull/2705)@[wangshao1](https://github.com/wangshao1)
- Customized processing logic for some commands to avoid binlog write issues that caused binlog parsing failures on slave nodes. [#2693](https://github.com/OpenAtomFoundation/pika/pull/2693)@[cheniujh ](https://github.com/cheniujh)
- Fixed an issue where Pika cmdID assignment in the Cmd initialization function could cause data race during concurrent construction.[#2692](https://github.com/OpenAtomFoundation/pika/pull/2692)@[gukj-spel](https://github.com/gukj-spel)
- Fixed an issue where ExpectedStale did not consider String types, causing incorrect returns if there were expired String type keys.
Tools
LanguageTool

[style] ~41-~41: Consider using a different verb for a more formal wording.
Context: ...ps://github.com/cheniujh) ## Bugfix - Fixed an issue with abnormal return values in...

(FIX_RESOLVE)


[style] ~43-~43: Consider using a different verb for a more formal wording.
Context: ...ejinge](https://github.com/chejinge) - Fixed an issue causing the Dbsize command to ...

(FIX_RESOLVE)


[style] ~45-~45: Consider using a different verb for a more formal wording.
Context: ...shao1](https://github.com/wangshao1) - Fixed an issue where uninitialized parameters...

(FIX_RESOLVE)


[style] ~47-~47: Consider using a different verb for a more formal wording.
Context: ...ejinge](https://github.com/chejinge) - Fixed an issue where multiple slaves connecti...

(FIX_RESOLVE)


[style] ~49-~49: Consider using a different verb for a more formal wording.
Context: ...eniujh](https://github.com/cheniujh) - Fixed an issue in Slotmigrate where return va...

(FIX_RESOLVE)


[style] ~51-~51: Consider using a different verb for a more formal wording.
Context: ...ejinge](https://github.com/chejinge) - Fixed an issue in Mget where not using the pa...

(FIX_RESOLVE)


[style] ~53-~53: Consider using a different verb for a more formal wording.
Context: ...ejinge](https://github.com/chejinge) - Fixed an issue where the pkpatternmatchdel co...

(FIX_RESOLVE)


[style] ~55-~55: Consider using a different verb for a more formal wording.
Context: ...shao1](https://github.com/wangshao1) - Fixed an issue where the Keyspace command did...

(FIX_RESOLVE)


[style] ~59-~59: Consider using a different verb for a more formal wording.
Context: ...niujh ](https://github.com/cheniujh) - Fixed an issue where Pika cmdID assignment in...

(FIX_RESOLVE)


[style] ~61-~61: Consider using a different verb for a more formal wording.
Context: ...-spel](https://github.com/gukj-spel) - Fixed an issue where ExpectedStale did not co...

(FIX_RESOLVE)

Markdownlint

57-57: null
Spaces inside link text

(MD039, no-space-in-links)

[#2682](https://github.com/OpenAtomFoundation/pika/pull/2682)@[wangshao1](https://github.com/wangshao1)

- Fixed a potential race condition in Spop when writing binlog.
[#2674](https://github.com/OpenAtomFoundation/pika/pull/2674)@[cheniujh](https://github.com/cheniujh)

- Added error messages for unreasonable db instance settings.
[#2672](https://github.com/OpenAtomFoundation/pika/pull/2672)@[Mixficsol](https://github.com/Mixficsol)

- Added error messages for unreasonable db instance settings.
[#2671](https://github.com/OpenAtomFoundation/pika/pull/2671)@[cheniujh](https://github.com/cheniujh)

- Fixed an issue where full sync did not retry after timeout in multi-DB environments.
[#2667](https://github.com/OpenAtomFoundation/pika/pull/2667)@[cheniujh](https://github.com/cheniujh)

- Fixed a potential window crash issue under timeout scenarios in multi-DB master-slave environments.
[#2666](https://github.com/OpenAtomFoundation/pika/pull/2666)@[cheniujh](https://github.com/cheniujh)

- Fixed repeated unlocking issues in master-slave sync rate limiting logic.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Address grammatical issues in bug fix entries.

Some entries contain minor grammatical errors or awkward phrasing that could be clarified.

- - Fixed an issue where full sync did not retry after timeout in multi-DB environments.
+ - Enhanced the full sync process to automatically retry after a timeout in multi-DB environments.
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- Fixed a potential race condition in Spop when writing binlog.
[#2674](https://github.com/OpenAtomFoundation/pika/pull/2674)@[cheniujh](https://github.com/cheniujh)
- Added error messages for unreasonable db instance settings.
[#2672](https://github.com/OpenAtomFoundation/pika/pull/2672)@[Mixficsol](https://github.com/Mixficsol)
- Added error messages for unreasonable db instance settings.
[#2671](https://github.com/OpenAtomFoundation/pika/pull/2671)@[cheniujh](https://github.com/cheniujh)
- Fixed an issue where full sync did not retry after timeout in multi-DB environments.
[#2667](https://github.com/OpenAtomFoundation/pika/pull/2667)@[cheniujh](https://github.com/cheniujh)
- Fixed a potential window crash issue under timeout scenarios in multi-DB master-slave environments.
[#2666](https://github.com/OpenAtomFoundation/pika/pull/2666)@[cheniujh](https://github.com/cheniujh)
- Fixed repeated unlocking issues in master-slave sync rate limiting logic.
- Fixed a potential race condition in Spop when writing binlog.
[#2674](https://github.com/OpenAtomFoundation/pika/pull/2674)@[cheniujh](https://github.com/cheniujh)
- Added error messages for unreasonable db instance settings.
[#2672](https://github.com/OpenAtomFoundation/pika/pull/2672)@[Mixficsol](https://github.com/Mixficsol)
- Added error messages for unreasonable db instance settings.
[#2671](https://github.com/OpenAtomFoundation/pika/pull/2671)@[cheniujh](https://github.com/cheniujh)
- Enhanced the full sync process to automatically retry after a timeout in multi-DB environments.
[#2667](https://github.com/OpenAtomFoundation/pika/pull/2667)@[cheniujh](https://github.com/cheniujh)
- Fixed a potential window crash issue under timeout scenarios in multi-DB master-slave environments.
[#2666](https://github.com/OpenAtomFoundation/pika/pull/2666)@[cheniujh](https://github.com/cheniujh)
- Fixed repeated unlocking issues in master-slave sync rate limiting logic.
Tools
LanguageTool

[style] ~73-~73: Consider using a different verb for a more formal wording.
Context: ...eniujh](https://github.com/cheniujh) - Fixed an issue where full sync did not retry ...

(FIX_RESOLVE)


[uncategorized] ~79-~79: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...d unlocking issues in master-slave sync rate limiting logic. [#2657](https://github.com/Ope...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

[#2657](https://github.com/OpenAtomFoundation/pika/pull/2657)@[cheniujh](https://github.com/cheniujh)


chejinge marked this conversation as resolved.
Show resolved Hide resolved
# v3.5.4

## New features
Expand Down
81 changes: 81 additions & 0 deletions CHANGELOG_CN.MD
Original file line number Diff line number Diff line change
@@ -1,3 +1,84 @@
# v4.0.0

## New features

- Pika 支持在 FreeBSD14 平台上进行编译打包[#2711](https://github.com/OpenAtomFoundation/pika/pull/2603)@[lqxhub](https://github.com/lqxhub)
chejinge marked this conversation as resolved.
Show resolved Hide resolved

- Pika 线程整理,避免启动过多无用线程,对不同的线程进行命名,方便问题定位[#2697](https://github.com/OpenAtomFoundation/pika/pull/2697)@[chejinge](https://github.com/chejinge)

- Mget 支持多 key 查询缓存, 记录未命中的 key 去 DB 中查询,提升 Pika 服务的读性能[#2675](https://github.com/OpenAtomFoundation/pika/pull/2675)@[chejinge](https://github.com/chejinge)

- Codis 支持 info 命令, 可以通过该命令查询 Codis-proxy 的 info 信息[#2688](https://github.com/OpenAtomFoundation/pika/pull/2688)@[chienguo](https://github.com/chienguo)

- 添加 Floyd 的 compaction-filter 的 Gtest[#2669](https://github.com/OpenAtomFoundation/pika/pull/2669)@[Mixficsol ](https://github.com/Mixficsol)

- Codis-proxy 新增 P99 P95 等监控耗时指标[#2668](https://github.com/OpenAtomFoundation/pika/pull/2668)@[chejinge](https://github.com/chejinge)

- 添加 Pika 压测指标,提升 Pika 压测效率,并输出可视化的统计图表[#2663](https://github.com/OpenAtomFoundation/pika/pull/2663)@[luky116](https://github.com/luky116)

- Pika 主从复制新增监控指标 repl_connect_status, 可以更加明确清晰的确定当前的主从复制的状态[#2638](https://github.com/OpenAtomFoundation/pika/pull/2638)@[cheniujh](https://github.com/cheniujh)

- Pika 不支持不同类型的重复 key, 写入重复 key 返回非法类型[#2609](https://github.com/OpenAtomFoundation/pika/pull/2609)@[Mixficsol](https://github.com/Mixficsol)

- Pika 支持第三代存储引擎 Floyd, 通过支持多 rocksdb 实例、对 Blob 的使用进行优化、对过期数据的清理进行优化,提升了 Pika 实例的读写性能[#2413](https://github.com/OpenAtomFoundation/pika/pull/2413)@[wangshao1](https://github.com/wangshao1)

## Improvement

- 更新 Pika Docker Readme, 可以按照 Readme 在 Docker 中部署 Pika 服务[#2743](https://github.com/OpenAtomFoundation/pika/pull/2743)@[luky116](https://github.com/luky116)

- 优化重复查询 meta value 导致影响 Pika 服务读写性能的问题[#2735](https://github.com/OpenAtomFoundation/pika/pull/2735)@[wangshao1](https://github.com/wangshao1)

- 支持对更多的 RocksDB 参数进行动态调整,用户根据不同的业务使用场景调整参数提升 Pika 的读写性能[#2728](https://github.com/OpenAtomFoundation/pika/pull/2728)@[cheniujh](https://github.com/cheniujh)

- 对 HyperLogLog 和 String 进行类型隔离,确保 HyperLogLog 操作与 String 操作明确区分开[#2720](https://github.com/OpenAtomFoundation/pika/pull/2720)@[saz97](https://github.com/saz97)

- 更新了 PR 标题验证,不允许在标题末尾出现中文字符[#2718](https://github.com/OpenAtomFoundation/pika/pull/2718)@[baerwang](https://github.com/baerwang)

- 重构主从复制模式 slave 节点的主从同步线程模型,尽可能减少 binlog 消费阻塞问题[#2638](https://github.com/OpenAtomFoundation/pika/pull/2638)@[cheniujh](https://github.com/cheniujh)

## Bugfix

- 修复 zverank 返回值异常的问题[#2763](https://github.com/OpenAtomFoundation/pika/pull/2763)@[chejinge](https://github.com/chejinge)

- 修复因为堆上分配的缓冲区越界导致 Dbsize 命令运行时崩溃的问题 [#2749](https://github.com/OpenAtomFoundation/pika/pull/2749)@[wangshao1](https://github.com/wangshao1)

- 修复参数未初始化导致 slotsscan 等命令不能和 bgsave 命令相互制衡的问题[#2745](https://github.com/OpenAtomFoundation/pika/pull/2745)@[chejinge](https://github.com/chejinge)

- 修复批量扩容时,多个 slave 同时连接 master, 短时间多次 bgsave 导致部分从节点数据不完整的问题[#2742](https://github.com/OpenAtomFoundation/pika/pull/2742)@[cheniujh](https://github.com/cheniujh)

- 修复 Slotmigrate 迁移数据的过程中,返回值设置错误,异常场景下会终止数据迁移的问题[#2741](https://github.com/OpenAtomFoundation/pika/pull/2741)@[chejinge](https://github.com/chejinge)

- 修复 Mget 没有使用解析 ttl 的函数导致出现部分key的ttl未被更新,数据不一致的问题[#2730](https://github.com/OpenAtomFoundation/pika/pull/2730)@[chejinge](https://github.com/chejinge)

- 修复 pkpatternmatchdel 命令使用错误导致的 stream 类型数据删除异常的问题[#2726](https://github.com/OpenAtomFoundation/pika/pull/2726)@[wangshao1](https://github.com/wangshao1)

- 修复 Keyspace 命令未计算 Stream 类型数据的问题[#2705](https://github.com/OpenAtomFoundation/pika/pull/2705)@[wangshao1](https://github.com/wangshao1)

- 对部分命令定制化处理逻辑,避免写 binlog 导致从节点的 binlog 解析失败的问题[#2693](https://github.com/OpenAtomFoundation/pika/pull/2693)@[cheniujh ](https://github.com/cheniujh)

- 修复 Pika cmdID 赋值在 Cmd 初始函数中,可能会导致并发构造的时候出现内存泄漏的问题[#2692](https://github.com/OpenAtomFoundation/pika/pull/2692)@[gukj-spel](https://github.com/gukj-spel)

- 修复 ExpectedStale 未考虑 String 类型, 如果存在已经过期的 String 类型的 key, ExpectedStale 会返回错误的问题
[#2682](https://github.com/OpenAtomFoundation/pika/pull/2682)@[wangshao1](https://github.com/wangshao1)

- 修复 Spop 在写 binlog 时可能会出现竞态问题
[#2674](https://github.com/OpenAtomFoundation/pika/pull/2674)@[cheniujh](https://github.com/cheniujh)

- db instance 设置不合理时,给用户错误提示
[#2672](https://github.com/OpenAtomFoundation/pika/pull/2672)@[Mixficsol](https://github.com/Mixficsol)

- 修复 server_stat 中的数据竞态问题
[#2671](https://github.com/OpenAtomFoundation/pika/pull/2671)@[cheniujh](https://github.com/cheniujh)

- 修复多 DB 下全量同步超时后不重试的问题
[#2667](https://github.com/OpenAtomFoundation/pika/pull/2667)@[cheniujh](https://github.com/cheniujh)

- 修复多 DB 主从超时场景下,可能会出现窗口崩溃的问题
[#2666](https://github.com/OpenAtomFoundation/pika/pull/2666)@[cheniujh](https://github.com/cheniujh)

- 修复主从同步限速逻辑中重复解锁的问题
[#2657](https://github.com/OpenAtomFoundation/pika/pull/2657)@[cheniujh](https://github.com/cheniujh)

chejinge marked this conversation as resolved.
Show resolved Hide resolved
# v3.5.4
chejinge marked this conversation as resolved.
Show resolved Hide resolved

## New features
Expand Down
Loading