169 Commits

Author SHA1 Message Date
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
antirez
31cfc6bf21 Merge remote branch 'pietern/brpoplpush' 2010-12-14 16:26:37 +01:00
antirez
fda6e59e9a LRANGE converted into a COW friendly command. Some refactoring, comment, and new addReply*() family function added in the process. 2010-12-07 16:33:13 +01:00
Damian Janowski & Michel Martens
60ea6205b7 Rename bstate to bpop. 2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
c8454233e4 Move to struct. 2010-11-29 23:52:07 -03:00
antirez
87bd3ca8fd first attempt to non blocking implementation of slave replication and SYNC bulk data download. Never compiled so far... 2010-11-04 17:29:53 +01:00
antirez
a9c740ac44 Merge remote branch 'pietern/unixsocket' 2010-11-02 23:47:52 +01:00
Pieter Noordhuis
142fedcf37 Rewrite comment that was no longer valid 2010-10-28 16:59:05 +01:00
Pieter Noordhuis
abba73b7c0 When REDIS_CLOSE_AFTER_REPLY is set, there may never be new replies 2010-10-28 16:52:23 +01:00
Pieter Noordhuis
72bd886c36 Unify two client flags that mean the same 2010-10-28 15:07:45 +01:00
Pieter Noordhuis
1b6e1467d5 Prevent clients from making too large multibulk requests 2010-10-15 19:15:38 +02:00
Pieter Noordhuis
c5a32adaed Don't reset the client when processCommand returns REDIS_ERR 2010-10-15 17:27:05 +02:00
Pieter Noordhuis
0448515c58 Refactor request parsing code for efficiency 2010-10-15 15:44:55 +02:00
Pieter Noordhuis
4158de4e63 Merge master with resolved conflict in src/redis-cli.c 2010-10-13 18:55:46 +02:00
Pieter Noordhuis
4fe83b554a sockaddr_un.sun_path appears to never hold anything after accept() 2010-10-13 18:50:07 +02:00
Pieter Noordhuis
ab17b909fe Use different accept handlers for TCP and unix socket connections 2010-10-13 18:34:24 +02:00
Pieter Noordhuis
f19ee10824 Return OK on QUIT 2010-10-13 11:25:40 +02:00
antirez
749664ea02 new parsing code bugfixing 2010-09-17 16:05:01 +02:00