antirez
b3a86b8209
Fixed a few broken stuff introduced while merging issue #327 related code in 2.4
2012-02-15 15:30:29 +01:00
antirez
35a4761f1d
freeMemoryIfNeeded() minor refactoring
2012-02-15 15:22:57 +01:00
antirez
c63e1b83c4
This fixes issue #327 , is a very complex fix (unfortunately), details:
...
1) sendReplyToClient() now no longer stops transferring data to a single
client in the case we are out of memory (maxmemory-wise).
2) in processCommand() the idea of we being out of memory is no longer
the naive zmalloc_used_memory() > server.maxmemory. To say if we can
accept or not write queries is up to the return value of
freeMemoryIfNeeded(), that has full control about that.
3) freeMemoryIfNeeded() now does its math without considering output
buffers size. But at the same time it can't let the output buffers to
put us too much outside the max memory limit, so at the same time it
makes sure there is enough effort into delivering the output buffers to
the slaves, calling the write handler directly.
This three changes are the result of many tests, I found (partially
empirically) that is the best way to address the problem, but maybe
we'll find better solutions in the future.
2012-02-15 15:20:20 +01:00
antirez
05755f5c40
Initial version of c->reply_bytes implementation backported from unstable to 2.4, in order to apply issue 327 patches.
2012-02-15 15:20:05 +01:00
antirez
f373061563
Added a server.arch_bits field instead of computing it at runtime for INFO.
2012-02-02 10:02:40 +01:00
antirez
fbfe656236
On crash print information about the current client (if any), command vector, and object associated to first argument assuming it is a key.
2012-01-12 16:16:23 +01:00
antirez
e7b85b3315
Protections against protocol desyncs, leading to infinite query buffer growing, due to nul-terms in specific bytes of the request or indefinitely long multi bulk or bulk count strings without newlines. This bug is related to Issue #141 as well.
2012-01-07 12:50:44 +01:00
antirez
a5045d552c
Fixed replication when multiple slaves are attaching at the same time. The output buffer was not copied correctly between slaves. This fixes issue #141 .
2012-01-07 12:48:10 +01:00
antirez
8a82ee0f3c
better bug report info on crash (backported from unstable)
2011-11-24 15:53:35 +01:00
antirez
f4e2abfcd4
minor refactoring to networking.c adding a separated function to get a string representing the current state of all the connected clients.
2011-11-24 15:47:55 +01:00
antirez
3852e2a831
last executed command in CLIENT LIST output.
2011-11-24 14:56:43 +01:00
antirez
a6e4627438
Close client connection and log the event when the client input buffer reaches 1GB.
2011-11-21 18:37:17 +01:00
antirez
b1b98c64cc
Max log message length set to 4k to avoid truncated INFO output in logs on Redis crash. This is just a workaround and it is handled better in the unstable branch.
2011-11-21 18:32:08 +01:00
antirez
beb4bacce6
I/O buffer length enlarged
2011-11-11 17:19:57 +01:00
antirez
3fac86ff1d
set default client timeout to zero inside redis.h as well
2011-11-11 17:16:03 +01:00
Herbert G. Fischer
1fe4cd5de9
fixed source indenting
2011-10-18 19:03:18 -02:00
Herbert G. Fischer
7c6da7327f
Added repl_ping_slave_period and repl_timeout options support
2011-10-18 18:56:10 -02:00
Nathan Florea
09cefcfbb3
Added a config directive for a Unix socket mask
...
Added a configuration directive to allow a user to specify the
permissions to be granted to the Unix socket file. I followed
the format Pieter and Salvatore discusses in issue #85 (
https://github.com/antirez/redis/issues/85 ).
2011-10-10 22:08:11 +02:00
antirez
79b9ec53d1
fixed flushAppendOnlyFile() function prototype to reflect the new implementation, fixing compilation.
2011-09-19 17:43:56 +02:00
antirez
4c2d5f0980
postpone the AOF fsync if policy is everysec and there is a background fsync already going.
2011-09-19 17:43:49 +02:00
antirez
3a4afb0473
Manual merge after cherry-pick
2011-07-12 10:03:22 +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
19453556d4
dataspace change hook functions backported to 2.4. They are just wrappers at this point but this makes simpler to cherry-pick between branches.
2011-07-12 09:56:41 +02:00
antirez
30b345ddbb
more slow log merge, I forgot to resolve a conflict.
2011-07-02 00:27:10 +02:00
antirez
99509ab257
slow log merged into 2.4
2011-07-02 00:24:11 +02:00
antirez
5d5fe340e0
new INFO filed master_link_down_since_seconds
2011-06-17 16:13:22 +02:00
antirez
307868e149
DB API refactoring. The changes were designed together with Pieter Noordhuis.
2011-06-14 16:59:45 +02:00
antirez
61751a4dc4
AOF auto rewrite backported to 2.4
2011-06-10 18:31:27 +02:00
antirez
27c8f84c66
INFO now contains the time (in usecs) needed to fork() in order to persist. The info is available in the stats section of INFO.
2011-06-08 23:20:11 +02:00
antirez
4f8cf6a23c
use the new rewriteClientCommandVector() function for SPOP -> SREM replication translation as well.
2011-05-31 12:15:55 +02:00
Pieter Noordhuis
afc151d3ba
Make replication faster (biggest gain for small number of slaves)
2011-05-29 17:55:13 -07:00
Pieter Noordhuis
ecfc0583da
Configurable synchronous I/O timeout
2011-05-22 12:57:56 +02:00
Pieter Noordhuis
ff8d85885e
Minor changes in non-blocking repl. connect
2011-05-22 12:48:10 +02:00
Pieter Noordhuis
78c05caf5e
Non-blocking connect with master
2011-05-19 18:53:31 +02:00
antirez
deff2338fa
Merge remote branch 'pietern/2.4-misc' into 2.4
2011-05-05 16:50:28 +02:00
Pieter Noordhuis
20dad91bdf
Tests for string2ll; move isObject* to object.c
2011-04-27 13:26:33 +02:00
antirez
91867a5ea2
CLIENT LIST implemented
2011-04-21 17:09:46 +02:00
antirez
1c30cad1ab
peak mem in INFO backported from unstable branch
2011-04-21 16:55:27 +02:00
antirez
760dec3a6c
VM/direct-saving fixes
2011-04-20 17:48:46 +02:00
antirez
1f84b0648b
yet more manual backporting from unstable
2011-04-20 15:57:35 +02:00
antirez
c92283770d
added new RDB codes for ziplist encoded lists and intset encodeed sets
2011-04-20 15:41:13 +02:00
antirez
3dffb8e21e
save zipmap encoded hashes as blobs. Work in progress.
2011-04-20 15:41:13 +02:00
Pieter Noordhuis
dfeb899b2d
Merge branch '2.2' into 2.2-zset
...
Conflicts:
src/object.c
2011-04-06 15:46:33 +02:00
antirez
93db956e06
make sure that OBJECT ENCODING returns skiplist for sorted sets, and not raw, so that once we will merge specially encoded sorted sets everything will make sense.
2011-04-06 15:38:08 +02:00
antirez
cf6c3f4b04
OBJECT command implemented
2011-04-06 12:22:09 +02:00
Pieter Noordhuis
7f9c973467
Fix DEBUG DIGEST, SORT and AOF rewrite
2011-03-22 16:09:22 +01:00
Pieter Noordhuis
ccf96e197b
Make zzl API unaware of the robj where the ziplist is stored
2011-03-22 16:09:21 +01:00
Pieter Noordhuis
8f0a41be98
Encode sorted set after loading from dump
2011-03-22 16:09:21 +01:00
Pieter Noordhuis
08532b1e99
Add new string to long long function
2011-03-22 16:08:03 +01:00
Pieter Noordhuis
eab8382d18
Configurable thresholds for encoded sorted sets
2011-03-22 16:08:03 +01:00