antirez
11f0a23caf
Applied a few modifications to hiredis to tune it for speed (redis-benchmark) and ability to read more deeply nested replies (redis-cli).
2012-02-21 10:11:47 +01:00
antirez
6887744245
The hiredis lib shipped with Redis was updated to latest version.
2012-02-21 10:11:37 +01:00
antirez
68897a5bbe
bzero -> memset
2012-02-21 10:07:06 +01:00
antirez
cf7d3f9d3d
Merge branch '2.4-issue327' into 2.4
2012-02-20 17:30:35 +01:00
antirez
f0c3b249cb
Issue #330 regression test.
2012-02-16 16:15:13 +01:00
antirez
da8bcd28a5
Now HINCRBY can detect overflows too. Fix for issue #330 .
2012-02-16 16:09:25 +01:00
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
31f9f987ac
more practical maxmemory+slaves hint in redis.conf
2012-02-15 15:26:23 +01:00
antirez
662f25e805
redis.conf updated with new maxmemory semantics
2012-02-15 15:26:19 +01:00
antirez
f27d38862d
debugging messages removed from freeMemoryIfNeeded()
2012-02-15 15:26:14 +01:00
antirez
4de73b7e0f
Fixes to c->reply_bytes computation, and debug messages to closely study the behavior of memory pressure + slaves + maxmemory + blocked slaves.
2012-02-15 15:26:08 +01:00
antirez
8b1829009b
Precision of getClientOutputBufferMemoryUsage() greatily improved, see issue #327 for more information.
2012-02-15 15:24:36 +01:00
antirez
35a4761f1d
freeMemoryIfNeeded() minor refactoring
2012-02-15 15:22:57 +01:00
antirez
5a7999e66a
Also remove size of AOF buffers from used memory when doing the math for freeMemoryIfNeeded()
2012-02-15 15:20:46 +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
02b984c219
redis-check-aof is now large files safe also on 32 bit systems.
2012-02-14 19:57:31 +01:00
antirez
01b302aba4
add -f flag to cp when installing, otherwise stopping the server is
...
needed when installing a new Redis version. Thanks to Scott Kevill.
Fixes issue #335 .
2012-02-14 16:15:42 +01:00
antirez
bad380bdb5
Redis 2.4.7
2.4.7
2012-02-02 15:29:24 +01:00
antirez
0b73cbb69f
sds.c no longe pre-allocate more than 1MB of free space ahead. This fixes issue #252 .
2012-02-02 12:40:44 +01:00
antirez
1cd0cdd523
Set a 3.5 GB maxmemory limit with noeviction policy if a 32 bit instance without user-provided memory limits is detected.
2012-02-02 10:17:21 +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
29b3794231
Only incremnet stats for key miss/hit when the key is semantically accessed in read-only.
2012-02-02 09:51:11 +01:00
Salvatore Sanfilippo
58bfbd1fa4
Merge pull request #296 from pietern/2.4-expirefix
...
Don't expire keys when loading an RDB after a SYNC
2012-01-16 01:18:41 -08:00
Pieter Noordhuis
aa794ac06d
Don't expire keys when loading an RDB after a SYNC
...
The cron is responsible for expiring keys. When keys are expired at
load time, it is possible that the snapshot of a master node gets
modified. This can in turn lead to inconsistencies in the data set.
A more concrete example of this behavior follows. A user reported a
slave that would show an monotonically increase input buffer length,
shortly after completing a SYNC. Also, `INFO` output showed a single
blocked client, which could only be the master link. Investigation
showed that indeed the `BRPOP` command was fed by the master. This
command can only end up in the stream of write operations when it did
NOT block, and effectively executed `RPOP`. However, when the key
involved in the `BRPOP` is expired BEFORE the command is executed, the
client executing it will block. The client in this case, is the master
link.
2012-01-13 18:03:33 -08:00
antirez
8b8261edc3
Possible fix for false positives in issue 141 regression test
2012-01-12 16:24:41 +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
e1849b6456
Redis 2.4.6
2.4.6
2012-01-11 20:30:55 +01:00
antirez
d0f37e247c
error in comment fixed
2012-01-11 20:25:41 +01:00
antirez
3b67a0f905
show GCC version in INFO output.
2012-01-10 18:39:32 +01:00
antirez
2c2b6159d3
Regression test for the main problem causing issue #141 . Minor changes/fixes/additions to the test suite itself needed to write the test.
2012-01-07 12:52:42 +01:00
antirez
d4945b253b
Redis test: when assertion fails print not just the expression but also expanded values in the error message.
2012-01-07 12:52:32 +01:00
antirez
53785789a0
Regression tests for protocol desync bug related to Issue #141
2012-01-07 12:51:22 +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
8939ff1230
Do not propagate DEBUG LOADAOF
2012-01-07 12:47:10 +01:00
antirez
8b102e041a
List connected slaves with ip,port,state information in INFO, as requested by github issue #219
2012-01-07 12:44:27 +01:00
antirez
273f41023d
Redis 2.4.5
2.4.5
2011-12-23 09:43:24 +01:00
antirez
5bb2565959
Added regression test for ZUNIONSTORE creating NaN (github issue #264 )
2011-12-23 09:34:41 +01:00
antirez
0692d060b3
Prevent NaN scores in sorted sets resulting from calls to ZUNIONSTORE and ZINTERSTORE.
2011-12-23 09:28:51 +01:00
antirez
2e689217d5
Redis test: vaoid two false positives while running under valgrind.
2011-12-20 10:35:33 +01:00
antirez
b76088845c
Redis test: two redundant tests removed as they tend to create issues when running the test with valgrind.
2011-12-20 10:35:23 +01:00
antirez
8a625029e7
Redis test port allocation fixed.
2011-12-20 10:34:51 +01:00
antirez
8a6b21da61
unit/introspection.tcl added
2011-12-19 10:22:04 +01:00
antirez
c08eb8e74d
unit/introspection added among tests executed by default
2011-12-19 10:19:12 +01:00
antirez
8b860b36b3
Fixed memleak in CLIENT INFO, added simple test that will work as regression test on mac os x and in the CI when running over valgrind. This fixes issue #256
2011-12-19 10:19:08 +01:00
antirez
61e44f614d
added assertion in zslInsert() that ensures the inserted element score is not NaN
2011-12-18 11:13:13 +01:00
antirez
bc62bc5eac
Fixed SORT bugs (issue #224 ) with regression tests.
2011-12-01 16:08:30 +01:00
antirez
67d6b29404
Replication bug fixed: now non blocking connect is also forced to follow the configured replication timeout.
2011-11-30 17:13:15 +01:00
antirez
901120f8e6
--quiet option implemented in the Redis test. Output improved a bit.
2011-11-30 09:36:30 +01:00