antirez
3c51d3b36b
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:11 +02:00
antirez
63aed54a27
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-12 10:00:12 +02:00
antirez
5d5fe340e0
new INFO filed master_link_down_since_seconds
2011-06-17 16:13:22 +02:00
antirez
4f8cf6a23c
use the new rewriteClientCommandVector() function for SPOP -> SREM replication translation as well.
2011-05-31 12:15:55 +02:00
antirez
ba07e1f505
Merge branch '2.4' of github.com:antirez/redis into 2.4
2011-05-07 12:10:11 +02:00
antirez
8ec9d6ef69
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 12:09:55 +02:00
antirez
deff2338fa
Merge remote branch 'pietern/2.4-misc' into 2.4
2011-05-05 16:50:28 +02:00
antirez
c924df8c83
Fixed a bug with replication where SLAVEOF NO ONE caused a slave to close the connection with its slaves
2011-04-29 14:18:45 +02:00
Pieter Noordhuis
f1e072c57d
Check for \n after finding \r
2011-04-27 14:29:27 +02:00
Pieter Noordhuis
d548f3daad
Move code
2011-04-27 13:16:23 +02:00
antirez
0882fe5e43
addReplyLongLong optimized to return shared objects when the value to reply is 0 or 1
2011-04-21 17:15:47 +02:00
antirez
7e5cf2660c
CLIENT KILL implemented
2011-04-21 17:11:24 +02:00
antirez
91867a5ea2
CLIENT LIST implemented
2011-04-21 17:09:46 +02:00
antirez
bd50301f3e
removed check for zmalloc return NULL in createClient(). The check was misplaced, and zmalloc never returns NULL.
2011-04-21 16:44:00 +02:00
Pieter Noordhuis
3fa46ef069
Use custom string2ll and strchr
2011-04-18 21:25:52 +02:00
antirez
fb90934c47
fixed memory leak introduced with the previous commit. Many thanks to Pieter Noordhuis for spotting it in no time
2011-03-31 19:54:08 +02:00
antirez
97d3b7dc8d
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:45:05 +02:00
antirez
db0e263b42
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 18:02:51 +01:00
Pieter Noordhuis
e18b59ae7e
Remove client from list of unblocked clients when it is free'd
2011-01-17 10:03:21 +01:00
antirez
ebb07fb4bb
implemented two new INFO fields showing the size of clients max input and output buffers.
2011-01-14 10:20:35 +01:00
Pieter Noordhuis
90419b5681
Remove glueoutputbuf option and broken code
2011-01-05 10:37:23 +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