From fd2db6d9e655679f533611b98fcc8541f5a12754 Mon Sep 17 00:00:00 2001 From: wuxianrong Date: Tue, 22 Jul 2025 16:40:05 +0800 Subject: [PATCH 1/3] update zlib version --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e63965cd60..523638f04f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -458,9 +458,9 @@ set(LZ4_INCLUDE_DIR ${INSTALL_INCLUDEDIR}) ExternalProject_Add(zlib DEPENDS URL - https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz + https://github.com/madler/zlib/releases/download/v1.3.1/zlib-1.3.1.tar.gz URL_HASH - MD5=9b8aa094c4e5765dabf4da391f00d15c + MD5=9855b6d802d7fe5b7bd5b196a2271655 DOWNLOAD_NO_PROGRESS 1 UPDATE_COMMAND From 3117caa1c50fd486e983f4c20fb3726cfb8314b6 Mon Sep 17 00:00:00 2001 From: wuxianrong Date: Tue, 22 Jul 2025 16:44:52 +0800 Subject: [PATCH 2/3] bug in time statistics format --- src/pika_admin.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pika_admin.cc b/src/pika_admin.cc index 3275e6cb7b..9bb40d6d0f 100644 --- a/src/pika_admin.cc +++ b/src/pika_admin.cc @@ -46,11 +46,11 @@ static std::string ConstructPinginPubSubResp(const PikaCmdArgsType& argv) { } static double MethodofCommandStatistics(const uint64_t time_consuming, const uint64_t frequency) { - return (static_cast(time_consuming) / 1000.0) / static_cast(frequency); + return static_cast(time_consuming) / static_cast(frequency); } static double MethodofTotalTimeCalculation(const uint64_t time_consuming) { - return static_cast(time_consuming) / 1000.0; + return static_cast(time_consuming); } enum AuthResult { From 5d5bfd4aaa252b93f520f917697c086852187b61 Mon Sep 17 00:00:00 2001 From: wuxianrong Date: Tue, 22 Jul 2025 16:50:15 +0800 Subject: [PATCH 3/3] ensure ZADD keeps the last score for duplicate members in a single command to align with Redis behavior --- src/storage/src/redis_zsets.cc | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/storage/src/redis_zsets.cc b/src/storage/src/redis_zsets.cc index fa6c78f912..cde8352c0c 100644 --- a/src/storage/src/redis_zsets.cc +++ b/src/storage/src/redis_zsets.cc @@ -183,13 +183,17 @@ Status Redis::ZAdd(const Slice& key, const std::vector& score_membe *ret = 0; uint32_t statistic = 0; std::unordered_set unique; - std::vector filtered_score_members; - for (const auto& sm : score_members) { - if (unique.find(sm.member) == unique.end()) { - unique.insert(sm.member); - filtered_score_members.push_back(sm); + std::list mid_score_members; + for (auto it = score_members.rbegin(); it != score_members.rend(); ++it) { + if (unique.find(it->member) == unique.end()) { + unique.insert(it->member); + mid_score_members.push_front(*it); } } + std::vector filtered_score_members; + for (auto &item : mid_score_members) { + filtered_score_members.push_back(std::move(item)); + } char score_buf[8]; uint64_t version = 0;