+2010-03-12 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
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
o = createZsetObject();
zs = o->ptr;
/* Load every single element of the list/set */
- redisLog(REDIS_DEBUG,"SORTED SET LEN: %zu\n", zsetlen);
while(zsetlen--) {
robj *ele;
double *score = zmalloc(sizeof(double));
if ((ele = rdbLoadStringObject(fp)) == NULL) return NULL;
- redisLog(REDIS_DEBUG,"ele %s (%d) (%d)\n", (char*)ele->ptr, ftell(fp), zsetlen);
tryObjectEncoding(ele);
if (rdbLoadDoubleValue(fp,score) == -1) return NULL;
- redisLog(REDIS_DEBUG,"score %.17g\n", *score);
dictAdd(zs->dict,ele,score);
zslInsert(zs->zsl,*score,ele);
incrRefCount(ele); /* added to skiplist */
} else {
redisAssert(0 != 0);
}
- redisLog(REDIS_DEBUG,"DONE\n");
return o;
}
}
/* Read key */
if ((keyobj = rdbLoadStringObject(fp)) == NULL) goto eoferr;
- redisLog(REDIS_DEBUG,"KEY: %s\n", (char*)keyobj->ptr);
/* Read value */
if ((o = rdbLoadObject(type,fp)) == NULL) goto eoferr;
/* Add the new object in the hash table */
rangelen = (end-start)+1;
/* Return the result */
- addReplySds(c,sdscatprintf(sdsempty(),"$%lu\r\n",rangelen));
+ addReplySds(c,sdscatprintf(sdsempty(),"$%zu\r\n",rangelen));
range = sdsnewlen((char*)o->ptr+start,rangelen);
addReplySds(c,range);
addReply(c,shared.crlf);
"temp-%d.%ld.rdb",(int)time(NULL),(long int)getpid());
dfd = open(tmpfile,O_CREAT|O_WRONLY|O_EXCL,0644);
if (dfd != -1) break;
+ sleep(1);
}
if (dfd == -1) {
close(fd);