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
b93fdb7bbb
CLIENT KILL implemented
2011-04-21 15:47:47 +02:00
3cd12b5687
CLIENT LIST implemented
2011-04-21 15:38:02 +02:00
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
009db67645
addReplyLongLong optimized to return shared objects when the value to reply is 0 or 1
2011-04-15 18:08:24 +02:00
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
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
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
3bcffcbe5b
Remove client from list of unblocked clients when it is free'd
2011-01-17 10:04:13 +01:00
7a1fd61e3d
implemented two new INFO fields showing the size of clients max input and output buffers.
2011-01-14 10:20:02 +01:00
a510cb0c03
Remove glueoutputbuf option and broken code
2011-01-05 10:39:41 +01:00
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
98a9abb66d
don't use small shared integer objects when disk store is enabled
2010-12-30 18:17:01 +01:00
16d778780e
a lot of code reworked/removed to implement object caching
2010-12-28 18:06:40 +01:00
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
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
f858c11d7d
Merge remote branch 'pietern/brpoplpush'
2010-12-14 16:26:37 +01:00
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
e3c51c4b1b
Rename bstate to bpop.
2010-11-29 23:52:07 -03:00
357a841714
Move to struct.
2010-11-29 23:52:07 -03:00
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
0a546fc017
Merge remote branch 'pietern/unixsocket'
2010-11-02 23:47:52 +01:00
4794d88f15
Rewrite comment that was no longer valid
2010-10-28 16:59:05 +01:00
a3a323e0e5
When REDIS_CLOSE_AFTER_REPLY is set, there may never be new replies
2010-10-28 16:52:23 +01:00
5e78edb350
Unify two client flags that mean the same
2010-10-28 15:07:45 +01:00
b19c33d48a
Prevent clients from making too large multibulk requests
2010-10-15 19:15:38 +02:00
9da6caac4e
Don't reset the client when processCommand returns REDIS_ERR
2010-10-15 17:27:05 +02:00
cd8788f26d
Refactor request parsing code for efficiency
2010-10-15 15:44:55 +02:00
b04ce2a35c
Merge master with resolved conflict in src/redis-cli.c
2010-10-13 18:55:46 +02:00
4fe83b554a
sockaddr_un.sun_path appears to never hold anything after accept()
2010-10-13 18:50:07 +02:00
ab17b909fe
Use different accept handlers for TCP and unix socket connections
2010-10-13 18:34:24 +02:00
941c9fa285
Return OK on QUIT
2010-10-13 11:25:40 +02:00
a4f3f93b90
new parsing code bugfixing
2010-09-17 16:05:01 +02:00
34a719d250
try to parse the request in a smarter way to gain speed... work in progress
2010-09-17 15:26:07 +02:00
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
83f39c7ab2
Merge remote branch 'pietern/networking-perf'
2010-09-16 12:02:18 +02:00
f335779240
Static buffer in client struct has a constant size
2010-09-16 11:59:53 +02:00
89f9f83769
Merge remote branch 'pietern/networking-perf'
2010-09-16 11:38:40 +02:00
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
49128f0b9d
Fix bug in gluing a deferred multi bulk length to the next reply chunk
2010-09-02 23:34:41 +02:00
3ab203762f
Use specialized function to add status and error replies
2010-09-02 23:33:06 +02:00
36c19d03e0
Changed reply buildup internals
2010-09-02 19:52:04 +02:00
4a7893ca9c
Removed unneeded function
2010-09-02 19:52:04 +02:00
cd76bb651d
Free the sds in addReplySds when it cannot be added to the reply
2010-09-02 19:52:04 +02:00
0537e7bf80
Use specialized function to add multi bulk reply length
2010-09-02 12:51:14 +02:00
57b0738011
Don't build a reply when replaying the AOF
2010-08-30 16:51:39 +02:00
b301c1fc2b
Wrapper for adding unknown multi bulk length to reply list
2010-08-30 16:39:14 +02:00
834ef78e27
Refactor reply buildup for speed on large multi bulk replies
2010-08-30 16:39:08 +02:00
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
e452436a07
BLPOPping clients are no longer subject to connection timeouts, fixing issues 155
2010-08-24 12:10:59 +02:00