mirror of
http://github.com/valkey-io/valkey
synced 2024-11-22 00:52:38 +00:00
max bytes in an inline command raised to 1024*1024 bytes, in order to allow for very large MGETs and still protect from client crashes
This commit is contained in:
parent
12fea92890
commit
644fafa383
3
TODO
3
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.
|
||||
|
5
redis.c
5
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;
|
||||
|
Loading…
Reference in New Issue
Block a user