86 Commits

Author SHA1 Message Date
antirez
785a743b78 new counter in INFO output: rejected_connections with number of dropped connections because of maxclients limit reached. 2011-11-23 18:38:12 +01:00
antirez
22d6f6579b Fixed bug in getClientInfoString() that was not rendering the N (no flags) special flag correctly. 2011-11-21 16:19:30 +01:00
antirez
8dd9319cb2 Close client connection and log the event when the client input buffer reaches 1GB. 2011-11-21 16:17:51 +01:00
antirez
3f428bb5c2 show active events in client file descriptor in CLIENT LIST. 2011-11-21 16:06:03 +01:00
antirez
52c3150e1e added output list and buffer length, query buffer size, to CLIENT LIST output. 2011-11-21 15:54:49 +01:00
antirez
48f70ac1b7 code generating the CLIENT LIST output refactored to have a function that is able to render a single client into a client info string. 2011-11-21 15:34:32 +01:00
antirez
006d721473 useless double if removed. 2011-11-08 11:26:06 +01:00
antirez
2ce2bb347a yet another #if REDIS_MBULK_BIG_ARG removed. 2011-11-08 11:24:12 +01:00
antirez
bbc8260844 Multi bulk optimization for creating big objects without copying data is no longer optional, #ifdefs removed. Also debugging messages removed. 2011-11-08 11:22:40 +01:00
antirez
8da0b6d7b8 A comment moved a few lines for clarity. 2011-11-04 11:18:15 +01:00
antirez
7c615d3a26 Added a define to set the size threshold to enable the multi bulk parsing big objects optimization. 2011-11-04 11:16:11 +01:00
antirez
661dfc7ba6 further optimizations for the multi bulk protocol parsing code when big objects are transmitted to Redis. 2011-11-03 15:53:40 +01:00
antirez
7cef7b3847 optimized object creation in multi-bulk protocol parsing 2011-11-02 17:30:19 +01:00
antirez
8b02578017 sdsIncrLen() / sdsMakeRoomFor() used to avoid copying to intermediate buffer while reading the client query. 2011-11-02 16:52:45 +01:00
antirez
9ae9fcaefb maxclients configuration is now implemented dealing with the actual process rlimits. Setting maxclients to 0 no longer makes sense and is now invalid, the new default is 10000.
See issue #162 for more information.
2011-10-31 10:49:27 +01:00
antirez
70a04c93cb First implementation of the ASKING command. Semantics still to verify. 2011-10-17 17:35:23 +02:00
antirez
357f49db2f replaced redisAssert() with redisAssertWithInfo() in a shitload of places. 2011-10-04 18:43:03 +02:00
antirez
0d57e6afc1 Remove the write handler only if there are no longer objects in the output queue AND if the static buffer is empty. This bug was the cause of a possible server-stop-responding-to-client bug under some specific work load. Thanks to Pieter Noordhuis for spotting and fixing it. 2011-09-12 11:06:28 +02:00
Hampus Wessman
e558915223 Fix crash when pipelining several blocking commands. 2011-07-28 13:50:44 +02:00
antirez
3aa9917e6e Replicate EVALSHA as EVAL taking a dictionary of sha1 -> script source code. 2011-07-13 15:38:03 +02:00
antirez
335b27ecd0 master branch merged into scripting. 2011-07-12 12:39:16 +02:00
antirez
ee2dc83094 Take a pointer to the relevant entry of the command table in the client structure. This is generally a more sounding design, simplifies a few functions prototype, and as a side effect fixes a bug related to the conversion of EXPIRE -1 to DEL: before of this fix Redis tried to convert it into an EXPIREAT in the AOF code, regardless of our rewrite of the command. 2011-07-08 12:59:30 +02:00
antirez
4d0e1714f0 unstable merge conflicts resolved 2011-06-25 12:29:24 +02:00
antirez
59f09141f5 diskstore removed 2011-06-25 12:22:03 +02:00
antirez
7192cd5cb7 Fix for bug 561 and other related problems 2011-06-20 17:19:36 +02:00
antirez
c91c904e1c new INFO filed master_link_down_since_seconds 2011-06-17 16:16:46 +02:00
antirez
cfd32c162f Make sure error and status replies emitted by Lua scripts can never have more than a newline, otherwise it is a protocol violation and clients will desync. 2011-05-25 12:32:50 +02:00
antirez
4a56ea5b76 when creating not connected clients do not add them into the clients list, otherwise they will be subject to timeouts and other stuff 2011-05-25 12:32:44 +02:00
antirez
2039ac2211 Correctly glue the reply buffer. For now returned as it is to Lua, but will be converted into Lua native type later. 2011-05-25 12:32:44 +02:00
antirez
09e9cb316e Lua call of Redis command work in progress: sorry I have to go to the cinema to watch the Source Code movie 2011-05-25 12:32:44 +02:00
antirez
ab1d6f5ca0 when Redis fails accepting a new connection reports the error at WARNING and not VERBOSE error level. Thanks to offby1 for proposing this in the Redis mailing list. #backport-candidate 2011-05-07 11:47:34 +02:00
Pieter Noordhuis
77ae0ac00f Check for \n after finding \r 2011-05-05 16:32:22 +02:00
Pieter Noordhuis
29d9fa9840 Move code 2011-05-05 16:25:48 +02:00
Pieter Noordhuis
9cd7cd5140 Use custom string2ll and strchr 2011-05-05 16:25:48 +02:00
antirez
467a2d613b Fixed a bug with replication where SLAVEOF NO ONE caused a slave to close the connection with its slaves 2011-04-29 14:18:16 +02:00
antirez
4e107a1f58 CLIENT KILL implemented 2011-04-21 15:47:47 +02:00
antirez
8a3ff7cff3 CLIENT LIST implemented 2011-04-21 15:38:02 +02:00
antirez
4da9895092 removed check for zmalloc return NULL in createClient(). The check was misplaced, and zmalloc never returns NULL. 2011-04-20 12:51:03 +02:00
antirez
6dd67262a4 addReplyLongLong optimized to return shared objects when the value to reply is 0 or 1 2011-04-15 18:08:24 +02:00
antirez
3b666e64dc fixed memory leak introduced with the previous commit. Many thanks to Pieter Noordhuis for spotting it in no time 2011-03-31 19:52:15 +02:00
antirez
baffa73b48 Fixed issue #503. MONITOR + QUIT could crash the server, there are actually other interactions that could have the same effect (for instance Pub/Sub). 2011-03-31 16:44:43 +02:00
antirez
3f3b6a3c6f Fixed issue #435 and at the same time introduced explicit ping in the master-slave channel that will detect a blocked master or a broken even if apparently connected TCP link. 2011-01-20 13:18:23 +01:00
Pieter Noordhuis
418603038c Remove client from list of unblocked clients when it is free'd 2011-01-17 10:04:13 +01:00
antirez
5286447c24 implemented two new INFO fields showing the size of clients max input and output buffers. 2011-01-14 10:20:02 +01:00
Pieter Noordhuis
ea489942ba Remove glueoutputbuf option and broken code 2011-01-05 10:39:41 +01:00
antirez
db52125d45 implemented a different approach to IO scheduling, so object->storage is no longer used, instead there is a queue and hash table of IO tasks to process, and it is always possible to know what are the scheduled and acrtive IO operations against every single key. 2011-01-01 21:35:56 +01:00
antirez
273e9b905e don't use small shared integer objects when disk store is enabled 2010-12-30 18:17:01 +01:00
antirez
a43d96c4c8 a lot of code reworked/removed to implement object caching 2010-12-28 18:06:40 +01:00
antirez
620b7af4f6 initial changes needed to turn the current VM code into a cache system. Tons of work to do still. 2010-12-28 15:20:20 +01:00
antirez
b673bffbe2 bulk transfers limited to 512 MB as this is the new limit of all the redis strings 2010-12-15 16:07:49 +01:00