提交 8c5abee8 编写于 作者: A antirez

Applied the replication bug patch provided by Jeremy Zawodny, removing temp...

Applied the replication bug patch provided by Jeremy Zawodny, removing temp file collision after the slave got the dump.rdb file in the SYNC stage
上级 bcd11906
2010-03-11 Fix for HGET against non Hash type, debug messages used to understand a bit better a corrupted rdb file
2010-03-09 fix: use zmalloc instead of malloc
2010-03-09 Merged zsetops branch from Pietern
2010-03-09 Merged ZREMBYRANK from Pietern
2010-03-09 Merged ZREVRANK from Pietern
2010-03-09 use a struct to store both a dict and its weight for ZUNION and ZINTER, so qsort can be applied
2010-03-09 Hash auto conversion from zipmap to hash table, type fixed for hashes, hash loading from disk
2010-03-09 replaced ZMERGE by ZUNION and ZINTER. note: key preloading by the VM does not yet work
2010-03-08 Hashes saving / fixes
2010-03-08 use ZMERGE as starting point
2010-03-07 HSET fixes, now the new pointer is stored back in the object pointer field
2010-03-07 added ZREVRANK
2010-03-06 Fix for replicaiton with over 2GB dump file initial SYNC stage
2010-03-06 first implementation of HSET/HSET. More work needed
2010-03-05 zipmaps functions to get, iterate, test for existence. Initial works for Hash data type
2010-03-04 redis-benchmark now implements Set commands benchmarks
2010-03-04 zipmap iteration code
2010-03-04 moved code to delete a single node from a zset to a separate function
2010-03-04 rename zslDeleteRange to zslDeleteRangeByScore (to differentiate between deleting using score or rank)
2010-03-04 use 1-based rank across zsl*Rank functions consistently
2010-03-04 implemented ZREMBYRANK
2010-03-04 A fix for initialization of augmented skip lists
2010-03-04 A fix for an invalid access when VM is disabled
2010-03-04 Merge branch 'zsl-get-rank' of git://github.com/pietern/redis
2010-03-04 redis-cli now runs in interactive mode if no command is provided
2010-03-04 merged memory reduction patch
2010-03-04 Now list push commands return the length of the new list, thanks to Gustavo Picon
2010-03-04 first check if starting point is trivial (head or tail) before applying log(N) search
2010-03-04 use rank to find starting point for ZRANGE and ZREVRANGE
2010-03-04 lookup rank of a zset entry in a different function
2010-03-04 SUBSTR fix for integer encoded vals
2010-03-04 fix ZRANK (realize that rank is 1-based due to the skip list header)
2010-03-03 initial implementation of SUBSTR
2010-03-03 TODO updated
2010-03-03 fpurge call removed from redis-cli
2010-03-03 ZRANK stress tester
2010-03-03 use less memory as element->span[0] will always be 1; any level 0 skip list is essentially a linked list
2010-03-03 rank is very unlikely to overflow integer range
2010-03-03 x->backward never equals zsl->header
2010-03-03 initial implementation for augmented zsets and the zrank command
2010-03-03 zipampDel() implemented
2010-03-03 added quit and exit commands to redis-cli in order to quit the interactive mode
2010-03-03 Merge remote branch 'djanowski/interactive'
2010-03-02 Add support for MULTI/EXEC.
2010-03-02 Remove trailing newline in interactive mode.
2010-03-02 minor fix for a Linux warning
2010-03-02 Add interactive mode to redis-cli.
2010-03-02 Better to increment the version minor number when a VM bug is fixed... it will be simpler to understand what's going on when users will report problems with the INFO trace.
2010-03-02 Fixed a subtle VM bug... was not flushing the buffer so the child process read truncated data
2010-03-01 KEYS now returns a multi bulk reply
2010-02-27 Add DISCARD command to discard queued MULTI commands.
2010-03-01 Swappability bug due to a typo fixed thanks to code review by Felix Geisendörfer @felixge
2010-02-28 minor fixes for zipmap.c
2010-02-27 first zipmap fix of a long sequence in the days to come ;)
2010-02-27 initial zipmap.c implementation
2010-02-27 Bug #169 fixed (BLOP/BRPOP interrupted connections are not cleared from the queue)
2010-02-22 Fixed 32bit make target to work on Linux out of the box
2010-02-19 A problem with replication with multiple slaves connectiong to a single master fixed. It was due to a typo, and reported on github by the user micmac. Also the copyright year fixed from many files.
2010-02-10 Saner VM defaults for redis.conf
......
......@@ -7157,7 +7157,7 @@ static int syncWithMaster(void) {
char buf[1024], tmpfile[256], authcmd[1024];
long dumpsize;
int fd = anetTcpConnect(NULL,server.masterhost,server.masterport);
int dfd;
int dfd, maxtries = 5;
if (fd == -1) {
redisLog(REDIS_WARNING,"Unable to connect to MASTER: %s",
......@@ -7210,8 +7210,12 @@ static int syncWithMaster(void) {
dumpsize = strtol(buf+1,NULL,10);
redisLog(REDIS_NOTICE,"Receiving %ld bytes data dump from MASTER",dumpsize);
/* Read the bulk write data on a temp file */
snprintf(tmpfile,256,"temp-%d.%ld.rdb",(int)time(NULL),(long int)random());
dfd = open(tmpfile,O_CREAT|O_WRONLY,0644);
while(maxtries--) {
snprintf(tmpfile,256,
"temp-%d.%ld.rdb",(int)time(NULL),(long int)getpid());
dfd = open(tmpfile,O_CREAT|O_WRONLY|O_EXCL,0644);
if (dfd != -1) break;
}
if (dfd == -1) {
close(fd);
redisLog(REDIS_WARNING,"Opening the temp file needed for MASTER <-> SLAVE synchronization: %s",strerror(errno));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册