Skip to content

Commit 1894ba5

Browse files
authored
server: Enable lua legacy float response for RESP3 (#5754)
* server: Enable lua legacy float response for RESP3 Previously when the lua legacy float flag was set, doubles would be sent as floats for RESP2 but for RESP3 this behavior was skipped. This changeset extends the behavior to RESP3 as well. Signed-off-by: Abhijat Malviya <[email protected]>
1 parent 4612b28 commit 1894ba5

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/server/dragonfly_test.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -837,7 +837,7 @@ TEST_F(DflyEngineTest, Latency) {
837837

838838
TEST_F(DflyEngineTest, EvalBug2664) {
839839
absl::FlagSaver fs;
840-
absl::SetFlag(&FLAGS_lua_resp2_legacy_float, true);
840+
SetFlag(&FLAGS_lua_resp2_legacy_float, true);
841841

842842
auto resp = Run({"eval", "return 42.9", "0"});
843843
EXPECT_THAT(resp, IntArg(42));
@@ -848,7 +848,7 @@ TEST_F(DflyEngineTest, EvalBug2664) {
848848
ASSERT_THAT(resp, ArrLen(14));
849849

850850
resp = Run({"eval", "return 42.9", "0"});
851-
EXPECT_THAT(resp, DoubleArg(42.9));
851+
EXPECT_THAT(resp, IntArg(42));
852852
}
853853

854854
TEST_F(DflyEngineTest, MemoryUsage) {

src/server/main_service.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -348,11 +348,11 @@ class EvalSerializer : public ObjectExplorer {
348348
}
349349

350350
void OnDouble(double d) final {
351-
if (rb_->IsResp3() || !GetFlag(FLAGS_lua_resp2_legacy_float)) {
352-
rb_->SendDouble(d);
353-
} else {
354-
long val = d >= 0 ? static_cast<long>(floor(d)) : static_cast<long>(ceil(d));
351+
if (GetFlag(FLAGS_lua_resp2_legacy_float)) {
352+
const long val = d >= 0 ? static_cast<long>(floor(d)) : static_cast<long>(ceil(d));
355353
rb_->SendLong(val);
354+
} else {
355+
rb_->SendDouble(d);
356356
}
357357
}
358358

0 commit comments

Comments
 (0)