]> git.saurik.com Git - redis.git/commitdiff
max bytes in an inline command raised to 1024*1024 bytes, in order to allow for very...
authorantirez <antirez@gmail.com>
Tue, 9 Jun 2009 22:02:08 +0000 (00:02 +0200)
committerantirez <antirez@gmail.com>
Tue, 9 Jun 2009 22:02:08 +0000 (00:02 +0200)
TODO
redis.c

diff --git a/TODO b/TODO
index e37e50f22bf34fddcbee4405cfae4e3e9fa60eac..37dbeed456b1a2bcfbc8a31f375eec88fcd89c98 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,13 +1,14 @@
 BEFORE REDIS 1.0.0-rc1
 
+ * SPOP man page
  * Add number of keys for every DB in INFO
- * Resize the expires and Sets hash tables if needed as well? For Sets the right moment to check for this is probably in SREM
  * check 'server.dirty' everywere. Make it proprotional to the number of objects modified.
  * Cover most of the source code with test-redis.tcl
  * Remove tmp-.... files when saving child exits in the wrong way, to do so use tmp-pid.rdb as filename so that the parent can rebuild the file name just from the child pid.
 
 AFTER 1.0 stable release
 
+ * Max command payload bytes configurable, with a pretty large default.
  * Consistent hashing implemented in all the client libraries having an user base
  * SORT: Don't copy the list into a vector when BY argument is constant.
  * SORT ... STORE keyname. Instead to return the SORTed data set it into key.
diff --git a/redis.c b/redis.c
index fa653d21e9d05fc9897ec52da77f634a0dedfb06..ac98269670261863c786c9aa0a1c492662ac022d 100644 (file)
--- a/redis.c
+++ b/redis.c
@@ -82,6 +82,7 @@
 #define REDIS_MAX_SYNC_TIME     60      /* Slave can't take more to sync */
 #define REDIS_EXPIRELOOKUPS_PER_CRON    100 /* try to expire 100 keys/second */
 #define REDIS_MAX_WRITE_PER_EVENT (1024*64)
+#define REDIS_REQUEST_MAX_SIZE  (1024*1024) /* max bytes in inline command */
 
 /* Hash table parameters */
 #define REDIS_HT_MINFILL        10      /* Minimal hash table fill 10% */
@@ -763,7 +764,6 @@ static int serverCron(struct aeEventLoop *eventLoop, long long id, void *clientD
     /* Check if a background saving in progress terminated */
     if (server.bgsaveinprogress) {
         int statloc;
-        /* XXX: TODO handle the case of the saving child killed */
         if (wait4(-1,&statloc,WNOHANG,NULL)) {
             int exitcode = WEXITSTATUS(statloc);
             int bysignal = WIFSIGNALED(statloc);
@@ -1437,6 +1437,7 @@ again:
         /* Read the first line of the query */
         char *p = strchr(c->querybuf,'\n');
         size_t querylen;
+
         if (p) {
             sds query, *argv;
             int argc, j;
@@ -1480,7 +1481,7 @@ again:
              * on the query buffer try to process the next command. */
             if (processCommand(c) && sdslen(c->querybuf)) goto again;
             return;
-        } else if (sdslen(c->querybuf) >= 1024*32) {
+        } else if (sdslen(c->querybuf) >= REDIS_REQUEST_MAX_SIZE) {
             redisLog(REDIS_DEBUG, "Client protocol error");
             freeClient(c);
             return;