diff --git a/TODO b/TODO index a8108a7aa..7040af2c1 100644 --- a/TODO +++ b/TODO @@ -1,5 +1,6 @@ BEFORE REDIS 1.0.0-rc1 +- Remove max number of args limit - GETSET - Fix pure-PHP lib version 4 for the new protocol - persistent expires @@ -9,6 +10,9 @@ BEFORE REDIS 1.0.0-rc1 - replication automated tests - replication non stopping master<->slave syncronization - an external tool able to perform the 'difference' between two Redis servers. It's like 'diff', but against Redis servers, and the output is the set of commands needed to turn the first server into the second, suitable to be sent via netcat. +- Shutdown must kill other background savings before to start saving. Otherwise the DB can get replaced by the child that rename(2) after the parent for some reason. +- Add missing commands in documentation +- Document replication $ ./redis-diff 192.168.1.1 192.168.1.2 > diff.txt $ cat diff.txt | nc 192.168.1.1 6379 diff --git a/redis.c b/redis.c index 3d225ba93..00df17e67 100644 --- a/redis.c +++ b/redis.c @@ -2310,6 +2310,10 @@ static void typeCommand(redisClient *c) { } static void saveCommand(redisClient *c) { + if (server.bgsaveinprogress) { + addReplySds(c,sdsnew("-ERR background save in progress\r\n")); + return; + } if (rdbSave(server.dbfilename) == REDIS_OK) { addReply(c,shared.ok); } else {