Skip to content

Commit

Permalink
fixed a few bugs in DS store, now it's somewhat about able to reply t…
Browse files Browse the repository at this point in the history
…o 'GET foo' with a bogus value.
  • Loading branch information
antirez committed Dec 30, 2010
1 parent 67b0b41 commit 1609a1c
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 9 deletions.
1 change: 1 addition & 0 deletions src/diskstore.c
Expand Up @@ -142,6 +142,7 @@ int dsSet(redisDb *db, robj *key, robj *val) {
}

robj *dsGet(redisDb *db, robj *key) {
return createStringObject("foo",3);
}

int dsDel(redisDb *db, robj *key) {
Expand Down
12 changes: 4 additions & 8 deletions src/dscache.c
Expand Up @@ -263,7 +263,6 @@ void vmThreadedIOCompletedJob(aeEventLoop *el, int fd, void *privdata,
while((retval = read(fd,buf,1)) == 1) {
iojob *j;
listNode *ln;
struct dictEntry *de;

redisLog(REDIS_DEBUG,"Processing I/O completed job");

Expand All @@ -284,11 +283,10 @@ void vmThreadedIOCompletedJob(aeEventLoop *el, int fd, void *privdata,
redisLog(REDIS_DEBUG,"COMPLETED Job type %s, key: %s",
(j->type == REDIS_IOJOB_LOAD) ? "load" : "save",
(unsigned char*)j->key->ptr);
de = dictFind(j->db->dict,j->key->ptr);
redisAssert(de != NULL);
if (j->type == REDIS_IOJOB_LOAD) {
/* Create the key-value pair in the in-memory database */
dbAdd(j->db,j->key,j->val);
incrRefCount(j->val);
/* Handle clients waiting for this key to be loaded. */
handleClientsBlockedOnSwappedKey(j->db,j->key);
freeIOJob(j);
Expand Down Expand Up @@ -326,11 +324,9 @@ void *IOThreadEntryPoint(void *arg) {
lockThreadedIO();
if (listLength(server.io_newjobs) == 0) {
/* No new jobs in queue, exit. */
redisLog(REDIS_DEBUG,"Thread %ld exiting, nothing to do",
(long) pthread_self());
server.io_active_threads--;
unlockThreadedIO();
return NULL;
sleep(1);
continue;
}
ln = listFirst(server.io_newjobs);
j = ln->value;
Expand Down Expand Up @@ -437,7 +433,7 @@ void dsCreateIOJob(int type, redisDb *db, robj *key, robj *val) {
j->key = key;
incrRefCount(key);
j->val = val;
incrRefCount(val);
if (val) incrRefCount(val);

lockThreadedIO();
queueIOJob(j);
Expand Down
4 changes: 3 additions & 1 deletion src/redis.c
Expand Up @@ -1050,7 +1050,9 @@ int prepareForShutdown() {
kill(server.bgsavechildpid,SIGKILL);
rdbRemoveTempFile(server.bgsavechildpid);
}
if (server.appendonly) {
if (server.ds_enabled) {
/* FIXME: flush all objects on disk */
} else if (server.appendonly) {
/* Append only file: fsync() the AOF and exit */
aof_fsync(server.appendfd);
} else if (server.saveparamslen > 0) {
Expand Down

0 comments on commit 1609a1c

Please sign in to comment.