Commit Graph

268 Commits

Author SHA1 Message Date
Hampus Wessman
64f201c2aa Fix crash when pipelining several blocking commands. 2011-07-28 13:50:44 +02:00
antirez
4dd444bb4a Replicate EVALSHA as EVAL taking a dictionary of sha1 -> script source code. 2011-07-13 15:38:03 +02:00
antirez
0681c5ad84 master branch merged into scripting. 2011-07-12 12:39:16 +02:00
antirez
09e2d9eeba 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
994ed2bc55 unstable merge conflicts resolved 2011-06-25 12:29:24 +02:00
antirez
c9d0c3623a diskstore removed 2011-06-25 12:22:03 +02:00
antirez
c1c9d551da Fix for bug 561 and other related problems 2011-06-20 17:19:36 +02:00
antirez
07486df6fe new INFO filed master_link_down_since_seconds 2011-06-17 16:16:46 +02:00
antirez
3bb818df40 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
7b72272790 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
7156f43c04 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
0f1d64ca57 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
df541beae3 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
bf9fd5ffa2 Check for \n after finding \r 2011-05-05 16:32:22 +02:00
Pieter Noordhuis
af0e51f2e1 Move code 2011-05-05 16:25:48 +02:00
Pieter Noordhuis
5af302011c Use custom string2ll and strchr 2011-05-05 16:25:48 +02:00
antirez
d37299e3b7 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
b93fdb7bbb CLIENT KILL implemented 2011-04-21 15:47:47 +02:00
antirez
3cd12b5687 CLIENT LIST implemented 2011-04-21 15:38:02 +02:00
antirez
c7ba7b8bbb 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
009db67645 addReplyLongLong optimized to return shared objects when the value to reply is 0 or 1 2011-04-15 18:08:24 +02:00
antirez
5b94b8ac5d 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
25ef31920a 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
89a1433e69 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
3bcffcbe5b Remove client from list of unblocked clients when it is free'd 2011-01-17 10:04:13 +01:00
antirez
7a1fd61e3d 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
a510cb0c03 Remove glueoutputbuf option and broken code 2011-01-05 10:39:41 +01:00
antirez
3be00d7ed6 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
98a9abb66d don't use small shared integer objects when disk store is enabled 2010-12-30 18:17:01 +01:00
antirez
16d778780e a lot of code reworked/removed to implement object caching 2010-12-28 18:06:40 +01:00
antirez
697af434fb 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
401c3e213c 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
f858c11d7d Merge remote branch 'pietern/brpoplpush' 2010-12-14 16:26:37 +01:00
antirez
d51ebef509 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
e3c51c4b1b Rename bstate to bpop. 2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
357a841714 Move to struct. 2010-11-29 23:52:07 -03:00
antirez
f4aa600b99 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
0a546fc017 Merge remote branch 'pietern/unixsocket' 2010-11-02 23:47:52 +01:00
Pieter Noordhuis
4794d88f15 Rewrite comment that was no longer valid 2010-10-28 16:59:05 +01:00
Pieter Noordhuis
a3a323e0e5 When REDIS_CLOSE_AFTER_REPLY is set, there may never be new replies 2010-10-28 16:52:23 +01:00
Pieter Noordhuis
5e78edb350 Unify two client flags that mean the same 2010-10-28 15:07:45 +01:00
Pieter Noordhuis
b19c33d48a Prevent clients from making too large multibulk requests 2010-10-15 19:15:38 +02:00
Pieter Noordhuis
9da6caac4e Don't reset the client when processCommand returns REDIS_ERR 2010-10-15 17:27:05 +02:00
Pieter Noordhuis
cd8788f26d Refactor request parsing code for efficiency 2010-10-15 15:44:55 +02:00
Pieter Noordhuis
b04ce2a35c 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
941c9fa285 Return OK on QUIT 2010-10-13 11:25:40 +02:00
antirez
a4f3f93b90 new parsing code bugfixing 2010-09-17 16:05:01 +02:00
antirez
34a719d250 try to parse the request in a smarter way to gain speed... work in progress 2010-09-17 15:26:07 +02:00
antirez
4c2e506a39 modified a bit addReply() to play better with copy on write now that we have a static buffer. Changed the name of a function from _ensureFileEvent() to _installWriteEvent(). 2010-09-16 13:08:40 +02:00
antirez
83f39c7ab2 Merge remote branch 'pietern/networking-perf' 2010-09-16 12:02:18 +02:00
Pieter Noordhuis
f335779240 Static buffer in client struct has a constant size 2010-09-16 11:59:53 +02:00
antirez
89f9f83769 Merge remote branch 'pietern/networking-perf' 2010-09-16 11:38:40 +02:00
Pieter Noordhuis
106bd87a3c Fix bug where the client is not present in server.clients when free'ing it
When creating the readable event results in an error (this happens when
the server hits OS limits), the client was not added to the list of
clients when freeClient was called. This results in an assertion error.
It is better to check this condition first and free the client
immediately when this condition occurs. Port of 00a90feb.
2010-09-07 10:25:34 +02:00
Pieter Noordhuis
49128f0b9d Fix bug in gluing a deferred multi bulk length to the next reply chunk 2010-09-02 23:34:41 +02:00
Pieter Noordhuis
3ab203762f Use specialized function to add status and error replies 2010-09-02 23:33:06 +02:00
Pieter Noordhuis
36c19d03e0 Changed reply buildup internals 2010-09-02 19:52:04 +02:00
Pieter Noordhuis
4a7893ca9c Removed unneeded function 2010-09-02 19:52:04 +02:00
Pieter Noordhuis
cd76bb651d Free the sds in addReplySds when it cannot be added to the reply 2010-09-02 19:52:04 +02:00
Pieter Noordhuis
0537e7bf80 Use specialized function to add multi bulk reply length 2010-09-02 12:51:14 +02:00
Pieter Noordhuis
57b0738011 Don't build a reply when replaying the AOF 2010-08-30 16:51:39 +02:00
Pieter Noordhuis
b301c1fc2b Wrapper for adding unknown multi bulk length to reply list 2010-08-30 16:39:14 +02:00
Pieter Noordhuis
834ef78e27 Refactor reply buildup for speed on large multi bulk replies 2010-08-30 16:39:08 +02:00
antirez
778b2210a9 slave with attached slaves now close the conection to all the slaves when the connection to the master is lost. Now a slave without a connected link to the master will refuse SYNC from other slaves. Enhanced the replication error reporting. All this will fix Issue 156 2010-08-24 16:04:13 +02:00
antirez
e452436a07 BLPOPping clients are no longer subject to connection timeouts, fixing issues 155 2010-08-24 12:10:59 +02:00
antirez
1a71fb9669 vm_blocked_clients count fixed in INFO, thanks to Pietern Noordhuis 2010-07-21 13:16:26 +02:00
antirez
e2641e09cc redis.c split into many different C files.
networking related stuff moved into networking.c

moved more code

more work on layout of source code

SDS instantaneuos memory saving. By Pieter and Salvatore at VMware ;)

cleanly compiling again after the first split, now splitting it in more C files

moving more things around... work in progress

split replication code

splitting more

Sets split

Hash split

replication split

even more splitting

more splitting

minor change
2010-07-01 14:38:51 +02:00