diff options
author | antirez <antirez@gmail.com> | 2014-04-14 15:56:30 +0200 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2014-04-14 15:57:19 +0200 |
commit | 3bc35f9ce917c630c401b2ed0d56b3a51658a5e2 (patch) | |
tree | c6f8080955b33b44addd80c0ac009faa46c0a0ab /src/hyperloglog.c | |
parent | ba0afb45661d1ab4d607782cd8afee0dfa3eb893 (diff) | |
download | redis-3bc35f9ce917c630c401b2ed0d56b3a51658a5e2.tar.gz |
Correctly replicate PFDEBUG GETREG.
Even if it is a debugging command, make sure that when it forces a
change in encoding, the command is propagated.
Diffstat (limited to 'src/hyperloglog.c')
-rw-r--r-- | src/hyperloglog.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/hyperloglog.c b/src/hyperloglog.c index b7c4b6cfe..fe0a5d7a0 100644 --- a/src/hyperloglog.c +++ b/src/hyperloglog.c @@ -1306,9 +1306,12 @@ void pfdebugCommand(redisClient *c) { if (!strcasecmp(cmd,"getreg")) { if (c->argc != 3) goto arityerr; - if (hllSparseToDense(o) == REDIS_ERR) { - addReplyError(c,"HLL sparse encoding is corrupted"); - return; + if (hdr->encoding == HLL_SPARSE) { + if (hllSparseToDense(o) == REDIS_ERR) { + addReplyError(c,"HLL sparse encoding is corrupted"); + return; + } + server.dirty++; /* Force propagation on encoding change. */ } hdr = o->ptr; |