提交 58554396 编写于 作者: Z zhaozhao.zz

incrbyfloat: fix issue #5256 ttl lost after propagate

上级 24044f33
...@@ -405,7 +405,7 @@ void decrbyCommand(client *c) { ...@@ -405,7 +405,7 @@ void decrbyCommand(client *c) {
void incrbyfloatCommand(client *c) { void incrbyfloatCommand(client *c) {
long double incr, value; long double incr, value;
robj *o, *new, *aux; robj *o, *new, *aux1, *aux2;
o = lookupKeyWrite(c->db,c->argv[1]); o = lookupKeyWrite(c->db,c->argv[1]);
if (o != NULL && checkType(c,o,OBJ_STRING)) return; if (o != NULL && checkType(c,o,OBJ_STRING)) return;
...@@ -431,10 +431,13 @@ void incrbyfloatCommand(client *c) { ...@@ -431,10 +431,13 @@ void incrbyfloatCommand(client *c) {
/* Always replicate INCRBYFLOAT as a SET command with the final value /* Always replicate INCRBYFLOAT as a SET command with the final value
* in order to make sure that differences in float precision or formatting * in order to make sure that differences in float precision or formatting
* will not create differences in replicas or after an AOF restart. */ * will not create differences in replicas or after an AOF restart. */
aux = createStringObject("SET",3); aux1 = createStringObject("SET",3);
rewriteClientCommandArgument(c,0,aux); rewriteClientCommandArgument(c,0,aux1);
decrRefCount(aux); decrRefCount(aux1);
rewriteClientCommandArgument(c,2,new); rewriteClientCommandArgument(c,2,new);
aux2 = createStringObject("KEEPTTL",7);
rewriteClientCommandArgument(c,3,aux2);
decrRefCount(aux2);
} }
void appendCommand(client *c) { void appendCommand(client *c) {
......
...@@ -70,6 +70,13 @@ start_server {tags {"repl"}} { ...@@ -70,6 +70,13 @@ start_server {tags {"repl"}} {
} }
} }
test {INCRBYFLOAT replication, should not remove expire} {
r set test 1 EX 100
r incrbyfloat test 0.1
after 1000
assert_equal [$A debug digest] [$B debug digest]
}
test {BRPOPLPUSH replication, when blocking against empty list} { test {BRPOPLPUSH replication, when blocking against empty list} {
set rd [redis_deferring_client] set rd [redis_deferring_client]
$rd brpoplpush a b 5 $rd brpoplpush a b 5
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册