From 58cc4dd43f1d237d90aaac1baef42d582a8857fd Mon Sep 17 00:00:00 2001 From: zhouguanghan Date: Wed, 5 Nov 2025 17:22:21 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dv3.5.5=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E4=B8=ADwrite-buffer-size=E6=BA=A2=E5=87=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/pika_conf.h | 2 +- src/pika_admin.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/pika_conf.h b/include/pika_conf.h index 536da5d54d..18440131c3 100644 --- a/include/pika_conf.h +++ b/include/pika_conf.h @@ -675,7 +675,7 @@ class PikaConf : public pstd::BaseConf { TryPushDiffCommands("max-background-jobs", std::to_string(value)); max_background_jobs_ = value; } - void SetWriteBufferSize(const int& value) { + void SetWriteBufferSize(int64_t value) { std::lock_guard l(rwlock_); TryPushDiffCommands("write-buffer-size", std::to_string(value)); write_buffer_size_ = value; diff --git a/src/pika_admin.cc b/src/pika_admin.cc index 3573004169..4f17bb5ab4 100644 --- a/src/pika_admin.cc +++ b/src/pika_admin.cc @@ -2692,7 +2692,7 @@ void ConfigCmd::ConfigSet(std::shared_ptr db) { res_.AppendStringRaw("-ERR Set write-buffer-size wrong: " + s.ToString() + "\r\n"); return; } - g_pika_conf->SetWriteBufferSize(static_cast(ival)); + g_pika_conf->SetWriteBufferSize(ival); res_.AppendStringRaw("+OK\r\n"); } else if (set_item == "max-write-buffer-num") { if (pstd::string2int(value.data(), value.size(), &ival) == 0) { From 2f923f5520aff127b96b3ab04245551d83371828 Mon Sep 17 00:00:00 2001 From: Z-G-H1 <1582696958@qq.com> Date: Mon, 24 Nov 2025 18:33:45 +0800 Subject: [PATCH 2/3] add test for fix #3183 --- tests/integration/server_test.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/integration/server_test.go b/tests/integration/server_test.go index de16cb137a..20a179ae40 100644 --- a/tests/integration/server_test.go +++ b/tests/integration/server_test.go @@ -321,6 +321,18 @@ var _ = Describe("Server", func() { Expect(r.Val()).To(Equal("OK")) }) + FIt("should ConfigSet write-buffer-size large value", func() { + // Test for fix: when setting write-buffer-size value larger than 2147483647, + // the value should not become negative + configSet := client.ConfigSet(ctx, "write-buffer-size", "3000000000") + Expect(configSet.Err()).NotTo(HaveOccurred()) + Expect(configSet.Val()).To(Equal("OK")) + + configGet := client.ConfigGet(ctx, "write-buffer-size") + Expect(configGet.Err()).NotTo(HaveOccurred()) + Expect(configGet.Val()).To(Equal(map[string]string{"write-buffer-size": "3000000000"})) + }) + It("should ConfigSet maxmemory", func() { configGet := client.ConfigGet(ctx, "maxmemory") Expect(configGet.Err()).NotTo(HaveOccurred()) From caed549c62521fd560ba4a74a262c567ecbc6e72 Mon Sep 17 00:00:00 2001 From: Z-G-H1 <1582696958@qq.com> Date: Tue, 25 Nov 2025 09:43:27 +0800 Subject: [PATCH 3/3] add test case --- tests/integration/server_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/server_test.go b/tests/integration/server_test.go index 20a179ae40..9380700824 100644 --- a/tests/integration/server_test.go +++ b/tests/integration/server_test.go @@ -321,7 +321,7 @@ var _ = Describe("Server", func() { Expect(r.Val()).To(Equal("OK")) }) - FIt("should ConfigSet write-buffer-size large value", func() { + It("should ConfigSet write-buffer-size large value", func() { // Test for fix: when setting write-buffer-size value larger than 2147483647, // the value should not become negative configSet := client.ConfigSet(ctx, "write-buffer-size", "3000000000")