4d3bbf3590
By default Redis refuses writes with an error if the latest BGSAVE failed (and at least one save point is configured). However people having good monitoring systems may prefer a server that continues to work, since they are notified that there are problems by their monitoring systems. This commit implements the ability to turn the feature on or off via redis.conf and CONFIG SET.
2012-03-07 18:02:26 +01:00
c25e7eafef
Refuse writes if can't persist on disk.
...
Redis now refuses accepting write queries if RDB persistence is
configured, but RDB snapshots can't be generated for some reason.
The status of the latest background save operation is now exposed
in the INFO output as well. This fixes issue #90 .
2012-03-07 13:05:53 +01:00
e31b615e62
Better MONITOR output, now includes client ip:port or the lua string if the command was executed by the scripting engine.
2012-03-07 12:12:15 +01:00
7b845b6228
anetPeerToString() automatically populates ip/port with something that may be provided to the user as output in case of errors.
2012-03-07 11:30:30 +01:00
9494f1f15b
TIME command.
2012-03-07 10:38:01 +01:00
60893c6cc6
redis-cli: CSV output added, used for the --slave mode.
2012-02-29 17:43:06 +01:00
b8283ab218
Initial implementation of redis-cli --slave support.
2012-02-29 17:10:21 +01:00
a950a84303
Ping the slave using the standard protocol instead of the inline one.
2012-02-29 16:33:54 +01:00
c1db214eeb
Better implementation for BRPOP/BLPOP in the non blocking case.
2012-02-29 14:41:57 +01:00
cd8bdea31b
lpush arguments vector rewrite modified for more speed and to memory leak removal.
2012-02-29 13:38:30 +01:00
b67feecacd
Version bumped to 2.9.5
2012-02-29 00:54:52 +01:00
78d6a22dc3
Better system for additional commands replication.
...
The new code uses a more generic data structure to describe redis operations.
The new design allows for multiple alsoPropagate() calls within the scope of a
single command, that is useful in different contexts. For instance there
when there are multiple clients doing BRPOPLPUSH against the same list,
and a variadic LPUSH is performed against this list, the blocked clients
will both be served, and we should correctly replicate multiple LPUSH
commands after the replication of the current command.
2012-02-29 00:46:50 +01:00
eeb34eff52
Added a new API to replicate an additional command after the replication of the currently executed command, in order to propagte the LPUSH originating from RPOPLPUSH and indirectly by BRPOPLPUSH.
2012-02-28 18:03:08 +01:00
d8b1228bf6
propagate() prototype added to redis.h
2012-02-28 16:20:41 +01:00
edba65d090
Var renamed into pushGenericCommand() to better reflect what it means.
2012-02-28 16:17:55 +01:00
ad08d059d0
Added command propagation API.
2012-02-28 16:17:00 +01:00
64ef44d568
Merge pull request #362 from fawek/mac-build-fix
...
Fix the build on Mac OS X, where features.h is non-existent
2012-02-26 07:18:43 -08:00
1d6628c088
Fix the build on Mac OS X, where features.h is non-existent
2012-02-26 15:13:05 +01:00
80ff1fc6d0
use gcc sync builtins for memory counter when possible
2012-02-26 11:45:52 +01:00
59132e4212
fix redis-benchmark memory leak
2012-02-26 10:01:27 +01:00
36e6637dfd
lua_cmsgpack.c added
2012-02-24 15:46:25 +01:00
63505e0b59
Lua_cmsgpack added to Redis scripting.
2012-02-24 15:45:16 +01:00
f6da155bde
redis-benchmark: a few fixes to pipelining implementation.
2012-02-23 15:39:26 +01:00
b9474282f8
redis-benchmark: Initial support for pipelining.
2012-02-23 15:02:43 +01:00
62c394e219
unstable version called 2.9.4
2012-02-22 17:44:18 +01:00
92e984dbcd
The universe is 80 columns wide, accept it.
2012-02-22 17:22:40 +01:00
dbb27a0a90
Merge pull request #304 from bradvoth/unstable
...
Simple install script changes
2012-02-22 08:19:54 -08:00
a5bd08487f
Fix for issue #306 , thanks to tchajed (on github) for the pull request. The original patch was reworked a bit.
2012-02-22 16:07:06 +01:00
4eb3b3e970
Redis-cli should accept help command even if there is no connection to the server.
2012-02-22 15:16:11 +01:00
fcdeb98568
even less false positive on obuf-limits test.
2012-02-22 11:25:30 +01:00
467d703ead
Merge remote-tracking branch 'origin/unstable' into unstable
2012-02-22 09:52:29 +01:00
feb282883b
zzlIsInRange() now is capable of handling empty sorted sets that may end inside the data set when loading very old RDB files produced by early-stage versions of Redis.
2012-02-22 09:52:10 +01:00
30c06ae6b4
Merge pull request #347 from pietern/unstable-segv
...
Force SIGSEGV without HAVE_BACKTRACE (unstable)
2012-02-21 10:29:55 -08:00
ca2344f991
Solaris has backtrace(3)
2012-02-21 10:20:28 -08:00
57be47758e
Also force SIGSEGV without HAVE_BACKTRACE
2012-02-21 10:20:01 -08:00
7c96b467c1
Fixed undefined behavior in *INCR style functions overflow detection. Sorry clang!
2012-02-21 18:26:11 +01:00
fe7be46025
bzero -> memset
2012-02-21 10:06:04 +01:00
ad0df18fdc
Fix 32bit build of hiredis
2012-02-19 20:49:20 +01:00
8e65b6a33d
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-19 20:33:59 +01:00
b66e5add82
The hiredis lib shipped with Redis was updated to latest version.
2012-02-19 20:26:50 +01:00
cb598cdd59
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-02-16 17:21:13 +01:00
d347348109
Issue #330 regression test.
2012-02-16 16:13:40 +01:00
a400a9b2d7
Now HINCRBY can detect overflows too. Fix for issue #330 .
2012-02-16 16:09:08 +01:00
6e09ad1c15
Return ASAP from checkClientOutputBufferLimits() if c->reply_bytes is zero.
2012-02-16 12:20:56 +01:00
48a32944e6
Merge branch 'issue327' into unstable
2012-02-16 09:40:27 +01:00
3b0600c777
Add stdint.h in endianconv.h to fix issue #336 .
2012-02-15 12:21:04 +01:00
4a701b3801
redis-check-aof is now large files safe also on 32 bit systems.
2012-02-14 19:57:51 +01:00
120a36f22b
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:24 +01:00
7a3e372025
endian.c/h -> endianconv.c/h to avoid issues with broken libraries search paths.
2012-02-14 16:11:46 +01:00
18aa2b87b6
Merge remote-tracking branch 'origin/unstable' into unstable
2012-02-14 16:02:04 +01:00