Michal Kwiatkowski
a0bf8d0ad8
SORT with STORE removes key if result is empty. This fixes issue #227 .
2012-01-30 07:36:49 +01:00
Jakub Wieczorek
4d776dba3c
Lua reports line numbers off by one in error messages
2012-01-29 14:53:49 +01:00
Pieter Noordhuis
80586cb894
Test that zipmap from RDB is correctly converted
2012-01-25 13:28:11 -08:00
antirez
c715c9b8bf
Fixed typo in getClientLimitClassByName()
2012-01-25 18:07:56 +01:00
antirez
d329031fad
Fixed another possible bug in cluster.c found by clang --analyze.
2012-01-25 16:59:36 +01:00
antirez
9b810f1cde
Merge branch 'unstable' into limits
2012-01-25 16:46:53 +01:00
antirez
6710ff24d0
Fixed a non critical bug signaled by clang static analyzer thanks to Mukund Sivaraman for reporting it: there was a not initialized field populating the cluster message header, but it is always fixed at later time before sending the packet.
2012-01-25 16:46:35 +01:00
antirez
c69ad1f24e
Merge branch 'unstable' into limits
2012-01-25 10:41:25 +01:00
antirez
ecc5702145
aeCreateEventLoop() cleanup on error unified in a single block (original
...
patch by Mukund Sivaraman, modified by me to make it simpler and to use
my coding style).
2012-01-25 10:37:32 +01:00
Mukund Sivaraman
caa63a3821
If aeApiCreate() fails, there's probably not much one can do, but in the name of consistency...
2012-01-25 10:27:37 +01:00
antirez
2f0f0d95c0
lenght -> length
2012-01-24 15:33:15 +01:00
antirez
7957c67604
after all closing a client for output buffer limit overcoming is a WARNING level message.
2012-01-24 12:03:48 +01:00
antirez
c8a607f2b6
client-output-buffer-limit documented in redis.conf
2012-01-24 11:23:23 +01:00
antirez
7fe8d49a70
Client output buffer limits: configuration of parameters for the different classes of clients implemented.
2012-01-24 10:43:30 +01:00
antirez
06b3dced99
asyncCloseClientOnOutputBufferLimitReached() now ignores clients with REDIS_CLOSE_ASAP flag already set. Return value of the function changed from int to void since it is not used. Fixed logging of the client scheduled to be closed.
2012-01-24 09:32:39 +01:00
antirez
51669c5ac1
client buffer handling refactoring and optimization
2012-01-23 17:15:49 +01:00
antirez
8c43e66346
actually call the function to async free clients in serverCron().
2012-01-23 16:17:22 +01:00
antirez
7eac2a75a4
Implementation of the internals that make possible to terminate clients overcoming configured output buffer (soft and hard) limits.
2012-01-23 16:12:37 +01:00
antirez
890da62eea
Merge branch 'unstable' into limits
2012-01-23 10:36:07 +01:00
antirez
b362c111da
fixed typo in hahs function seed default value. It is no longer used but fixed to retain the old constant as default anyway.
2012-01-22 01:40:23 +01:00
antirez
06c5523a88
typo in comment fixed
2012-01-21 23:34:06 +01:00
antirez
a48c8d873b
Fix for hash table collision attack. We simply randomize hash table initialization value at startup time.
2012-01-21 23:30:13 +01:00
antirez
447ebf3bc7
Better looking registers/stack dump
2012-01-20 16:40:43 +01:00
antirez
632da60583
added support to dump registers on crash on Linux x32
2012-01-20 14:37:50 +01:00
antirez
eea8c7a4f8
added support to dump registers on crash on Linux x64
2012-01-20 12:54:15 +01:00
antirez
d4d208595c
all the stack trace related functions are now in debug.c. Now Redis dumps registers and stack content on crash. Currently osx supported, adding Linux right now.
2012-01-20 12:20:45 +01:00
antirez
498dc5557c
Introduced three client limit classes: normal, slave, pubsub
2012-01-17 12:43:01 +01:00
antirez
3853c16839
Track the length of the client pending output buffers (still to transfer) in a new field in the client structure.
2012-01-17 12:23:25 +01:00
antirez
4aac3ff247
It is now posible to flush all the previous saving points in redis.conf by using a save directive with a single empty string argument, like it happens for CONFIG SET save.
2012-01-16 16:50:24 +01:00
antirez
ebdfad69dc
Don't change the replication state if SLAVE OF is called with arguments specifying the same master we are already connected with. This fixes issues #290 .
2012-01-16 11:29:47 +01:00
antirez
1596d6a61e
Obsolete SDS_ABORT_ON_OOM removed from sds.c
2012-01-16 10:08:33 +01:00
antirez
bd068b15c2
sds.c no longe pre-allocate more than 1MB of free space ahead. This fixes issue #252 .
2012-01-16 10:03:38 +01:00
antirez
7faa1f075b
added a comment on top of the zslRandomLevel() function
2012-01-16 09:39:04 +01:00
antirez
00010fa96f
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:02:57 +01:00
antirez
d8bd12f984
error in comment fixed
2012-01-11 20:25:51 +01:00
antirez
5db904bdc5
show GCC version in INFO output.
2012-01-10 18:37:16 +01:00
antirez
68fe1b9b99
version bumped to 2.9.3
2012-01-07 12:54:48 +01:00
Pieter Noordhuis
fe45840201
Implements ziplistFind
...
To improve the performance of the ziplist implementation, some
functions have been converted to macros to avoid unnecessary stack
movement and duplicate variable assignments.
2012-01-03 16:13:42 -08:00
Pieter Noordhuis
ebd85e9a45
Encode small hashes with a ziplist
2012-01-02 22:14:10 -08:00
Pieter Noordhuis
9ea54feef0
string2* functions take a const pointer
2012-01-02 15:24:50 -08:00
antirez
11e0c4c55b
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.
2011-12-31 16:09:46 +01:00
antirez
f42e2f1bd7
Protocol and I/O related defines moved into a separated section of redis.h
2011-12-31 15:37:33 +01:00
antirez
35c6032cfa
A few no longer used defines removed from redis.h
2011-12-31 15:34:02 +01:00
antirez
1824e3a3a3
Fixed replication when multiple slaves are attaching at the same time. The output buffer was not copied correctly between slaves. This fixes issue #141 .
2011-12-30 19:40:43 +01:00
antirez
256356ffd8
Prevent NaN scores in sorted sets resulting from calls to ZUNIONSTORE and ZINTERSTORE.
2011-12-23 09:27:31 +01:00
antirez
d334281c80
Merge remote-tracking branch 'origin/unstable' into unstable
2011-12-21 17:13:31 +01:00
antirez
e51b79f315
sligthly better AOF related logs
2011-12-21 17:12:23 +01:00
antirez
b941417c1b
Log when the child rewriting the AOF is killed by stopAppendOnly()
2011-12-21 16:37:22 +01:00
antirez
1844f9900f
server.replstate -> server.repl_state
2011-12-21 12:23:18 +01:00
antirez
f48cd4b90c
some RDB server struct fields renamed.
2011-12-21 12:22:13 +01:00
antirez
ff2145adac
more AOF server struct fields renamed.
2011-12-21 12:17:02 +01:00
antirez
2c915bcf6d
AOF fileds in the global server state, and define names, renamed with more consistent names. More work to do.
2011-12-21 11:58:42 +01:00
antirez
e394114d95
AOF refactoring, now with three states: ON, OFF, WAIT_REWRITE.
2011-12-21 10:31:34 +01:00
antirez
c6ac7d0302
server.appendonly -> server.aof_state, and many comments added in the server global state structure in the process.
2011-12-21 10:05:32 +01:00
antirez
efb6022529
Do not propagate DEBUG LOADAOF
2011-12-20 17:52:57 +01:00
antirez
af77acc310
startAppendOnly() fixed to set server.appendonly to 0 if the start failed.
2011-12-20 17:00:50 +01:00
antirez
fc96409f91
Merge remote-tracking branch 'origin/unstable' into aof-fixes
2011-12-20 10:29:33 +01:00
BigCat
706b32e0e0
Fix issue #247 : Accepting non-integer parameters when shouldn't
...
Using `getLongFromObjectOrReply` instead of `atoi` if possible.
The following functions are modified.
* lrangeCommand
* ltrimCommand
* lremCommand
* lindexCommand
* lsetCommand
* zunionInterGenericCommand
* genericZrangebyscoreCommand
* sortCommand
2011-12-19 19:48:35 +08:00
antirez
0e59a94728
version bumped to 2.9.2
2011-12-19 10:55:31 +01:00
antirez
0a466a7542
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:16:37 +01:00
antirez
a244a13b4c
added assertion in zslInsert() that ensures the inserted element score is not NaN
2011-12-18 11:12:58 +01:00
antirez
24accab2aa
Merge remote-tracking branch 'origin/unstable' into unstable
2011-12-16 09:56:12 +01:00
antirez
18d0ef4bf0
ae.c: solved a memory leak with no practical effects (since the event
...
loop is never destroyed in Redis). Thanks to @anydot for noticing it.
2011-12-16 09:55:06 +01:00
antirez
087f414090
Fix: when aof_write_rewrite is true don't append on the AOF buffer but accumulate the differences for the rewrite.
2011-12-15 20:03:28 +01:00
antirez
e7a2e7c1f7
AOF fixes in the context of replicaiton (when AOF is used by slave) and CONFIG SET appendonly yes/no.
2011-12-15 16:07:49 +01:00
antirez
36dda9554a
ae_epoll.c typo introduced in the previous commit fixed.
2011-12-15 11:50:15 +01:00
antirez
e074416be4
Max limit to 10k clients removed, this implements feature request on issue #194
2011-12-15 11:42:40 +01:00
antirez
503d87a818
List connected slaves with ip,port,state information in INFO, as requested by github issue #219
2011-12-14 15:11:11 +01:00
antirez
19951d965a
version bumped to 2.9.1
2011-12-13 18:07:21 +01:00
antirez
e2f313899b
redis-cli --eval implemented
2011-12-13 16:22:28 +01:00
antirez
54ecc0e777
Hash type AOF rewrite using HMSET.
2011-12-13 11:10:51 +01:00
antirez
7df9b1412b
Sorted Set type AOF rewrite using variadic ZADD.
2011-12-13 11:10:46 +01:00
antirez
8d875ccb7a
Set type AOF rewrite using variadic SADD.
2011-12-13 11:10:41 +01:00
antirez
38c06fa037
List type AOF rewrite using variadic RPUSH for the linked list encoding.
2011-12-13 11:10:31 +01:00
antirez
5b25009656
Lists AOF rewrite using variadic RPUSH (work in progress)
2011-12-13 11:10:21 +01:00
antirez
fb293ccbdd
Fixed a theoretical memory leak with no practical effects in ae_kqueue.c and ae_epoll.c, thanks to magicyang87 for reporting it.
2011-12-07 08:58:29 +01:00
antirez
237194b760
Fixed SORT bugs (issue #224 ) with regression tests.
2011-12-01 16:08:05 +01:00
antirez
9268a5b5fd
usage information updated to reflect the new way to pass options to Redis from the command line.
2011-12-01 13:50:36 +01:00
antirez
27ccb94a02
Even when loglevel is warning the server should log that it started.
2011-12-01 13:45:19 +01:00
antirez
67c6f0f630
Support for command line configuration options for redis-server.
2011-12-01 13:44:53 +01:00
antirez
4c8bd905a0
-h is now alias for --help when running redis-server.
2011-12-01 12:18:22 +01:00
antirez
39ca1713d7
I like when main() is the last function in the file.
2011-12-01 12:15:44 +01:00
antirez
27acd7aa89
Replication bug fixed: now non blocking connect is also forced to follow the configured replication timeout.
2011-11-30 15:35:16 +01:00
antirez
c6f9ee88fa
default log level is now notice.
2011-11-30 15:04:40 +01:00
antirez
63fd13996d
show initial querybuf bytes on querybuf overflow.
2011-11-28 11:12:55 +01:00
antirez
e7ef418ccd
two new AOF related INFO fields that can be interesting information for debugging.
2011-11-28 11:04:03 +01:00
antirez
3e0a975e07
log client protocol errors for log level >= verbose
2011-11-25 16:09:34 +01:00
Salvatore Sanfilippo
07ac2daaaa
Merge pull request #209 from woowenjie/unstable
...
clean REDIS_DIRTY_CAS when discard Command runs. otherwise the next MULT...
2011-11-25 03:13:10 -08:00
woowenjie
f371e721fa
clean REDIS_DIRTY_CAS when discard Command runs. otherwise the next MULTI/EXEC may fail in the same RedisClient
2011-11-25 10:34:05 +08:00
antirez
fa5af017d9
better bug report info on crash
2011-11-24 15:47:26 +01:00
antirez
45e7a1ce00
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:04:42 +01:00
antirez
2c74a9f948
last executed command in CLIENT LIST output.
2011-11-24 14:56:34 +01:00
antirez
3c95e7212e
new counter in INFO output: rejected_connections with number of dropped connections because of maxclients limit reached.
2011-11-23 18:38:12 +01:00
antirez
1bcfa0f643
More fixes in the Redis command table, to make sure all the keys are detected by Redis Cluster.
2011-11-22 14:27:32 +01:00
antirez
39da5d1f21
Fixed command table for SETEX and PSETEX causing the expire time to be hashed by Redis cluster instead of the key.
2011-11-22 10:16:15 +01:00
antirez
7501c66f2e
comment describing the Redis command table enhanced
2011-11-22 10:13:45 +01:00
antirez
afd0f06b75
Fixed bug in getClientInfoString() that was not rendering the N (no flags) special flag correctly.
2011-11-21 16:19:30 +01:00
antirez
becf5fdb0c
Close client connection and log the event when the client input buffer reaches 1GB.
2011-11-21 16:17:51 +01:00
antirez
6621b8ffa1
show active events in client file descriptor in CLIENT LIST.
2011-11-21 16:06:03 +01:00
antirez
f14479c796
new ae.c API to get current events by file descriptor.
2011-11-21 16:05:29 +01:00
antirez
491c1c4e04
added output list and buffer length, query buffer size, to CLIENT LIST output.
2011-11-21 15:54:49 +01:00
antirez
17d25a33e2
code generating the CLIENT LIST output refactored to have a function that is able to render a single client into a client info string.
2011-11-21 15:34:32 +01:00
antirez
08a879af6e
Added sdscatsds() to sds.c/h
2011-11-21 15:34:00 +01:00
antirez
7e14a20801
Fixed a comment typo in the command table.
2011-11-21 10:55:52 +01:00
Salvatore Sanfilippo
794e6ce14f
Merge pull request #173 from jasondavies/typo
...
Fix some minor typos.
2011-11-18 05:34:56 -08:00
antirez
e41677b4cf
prevent (more) commands from Lua scripts
2011-11-18 14:23:38 +01:00
antirez
4ab8695d53
New script timeout semantics and SCRIPT KILL implemented. SHUTDOWN NOSAVE and SHUTDOWN SAVE implemented.
2011-11-18 14:10:48 +01:00
Chris Lamb
5ae979bf57
Fix crash on SPARC due to improper alignment of allocated memory
...
I believe that you should be able to drop 'defined(__sun)' completely
from this clause, as Solaris on x86 hardware probably does not have
strict alignment requirements, but I don't have a way to test that.
Thanks to Jurij Smakov <jurij@wooyd.org>.
Signed-off-by: Chris Lamb <lamby@debian.org>
2011-11-16 17:21:16 +00:00
Pieter Noordhuis
42c6a5da3d
Don't force rebuild when params didn't change
2011-11-16 17:49:06 +01:00
Salvatore Sanfilippo
32adb53156
Merge pull request #192 from pietern/makefile
...
Add separate clean/distclean targets to Makefile
2011-11-16 01:29:42 -08:00
Pieter Noordhuis
5bb2c88e94
Rebuild source when allocator changes
...
To do so, the Makefile stores the contents of the MALLOC environment
variable in a file named .make-malloc. When the contents of this file
and the MALLOC variable are not equal, it forces a rebuild of the Redis
source tree.
A side-effect of this change is that choosing an allocator can now be
done using the single MALLOC variable instead of USE_TCMALLOC,
USE_JEMALLOC and so forth. These variables continue to work for
backwards compatibility.
2011-11-15 13:09:34 -08:00
Pieter Noordhuis
4b8a63941d
Rebuild deps/ and src/ when ARCH changes
...
This change moves the build instructions for dependencies to a separate
Makefile in deps/. The ARCH environment variable is stored in a
.make-arch file in the same directory as the Makefile. The contents of
this file is read and compared to the current ARCH, and, on a mismatch
triggers rebuilding the entire source tree.
When file .make-arch exists and matches with ARCH from the environment,
the dependencies are assumed to already be built.
The new "clean" target only cleans the Redis source tree, not its
dependencies. To clear the dependencies as well, the "distclean" target
can be used.
2011-11-15 12:41:35 -08:00
Pieter Noordhuis
321a0440c0
Use CCLINK as last argument
2011-11-15 09:39:38 -08:00
Pieter Noordhuis
61c0e893aa
CCLINK already includes ALLOC_LINK
2011-11-15 09:36:13 -08:00
Salvatore Sanfilippo
7b81e5a16c
Merge pull request #181 from redsquirrel/unstable
...
Fixing inject: it was failing when there was 1 or >2 sources
2011-11-15 06:36:53 -08:00
antirez
68bfe993c8
HINCRBYFLOAT implemented
2011-11-15 15:09:39 +01:00
antirez
d4a3cfed9c
Merge branch 'unstable' into incrbyfloat
2011-11-14 15:59:56 +01:00
antirez
d93f9a8644
string to number API is now more strict not accepting spaces before or after the number. A few tests converted to match the new error messages using the word float instead of double.
2011-11-14 15:34:44 +01:00
antirez
5244d6e54e
rewrite INCRBYFLOAT as SETs for AOF/replication
2011-11-14 10:15:13 +01:00
antirez
5574b53eae
INCRBYFLOAT implementation
2011-11-12 19:27:35 +01:00
antirez
4be855e757
Fixed issues with expire introduced with latest millisecond resolution feature. Many time_t were not converted to long long, and one time() call was not replaced with mstime().
2011-11-12 01:04:27 +01:00
antirez
3570629f90
set default client timeout to zero inside redis.h as well
2011-11-11 17:18:35 +01:00
antirez
12d293ca6e
high resolution expires API modified to use separated commands. AOF transation to PEXPIREAT of all the expire-style commands fixed.
2011-11-10 17:52:02 +01:00
Dave Hoover
57f8021cb2
Fixing inject: it was failing when there was 1 or >2 sources
2011-11-09 19:06:12 -06:00
antirez
dab5332f95
Fixed a few typos
2011-11-09 21:59:27 +01:00
antirez
bdbdb02edb
Fixed bug breaking rdbSaveMillisecondTime() in 32 bit systems. Thanks to @anydot (Přemysl Hrubý)
2011-11-09 18:47:48 +01:00
antirez
52d46855d9
TTL, EXPIRE and EXPIREAT now support the milliseconds input/output form
2011-11-09 18:05:35 +01:00
antirez
b0b74486e1
use "EXPIREAT ... ms" form when rewriting the AOF
2011-11-09 17:20:14 +01:00
antirez
7dcc10b65e
Initial support for key expire times with millisecond resolution. RDB version is now 3, new opcoded added for high resolution times. Redis is still able to correctly load RDB version 2. Tests passing but still a work in progress. API to specify milliseconds expires still missing, but the precision of normal expires is now already improved and working.
2011-11-09 16:51:19 +01:00
antirez
14ed10d957
dict set/get macros for integers fixed.
2011-11-09 13:39:59 +01:00
antirez
2c2b208537
added mstime() to get UNIX time in milliseconds.
2011-11-09 00:03:03 +01:00
antirez
6c578b764a
dict.c: added macros to get signed/unsigned integer values from hash
...
entry. Field name of hash entry union modified for clarity.
2011-11-08 23:59:53 +01:00
antirez
b28d0461b4
32bit build fixed, broken by a previous commit fixing build on Solaris
2011-11-08 21:00:52 +01:00
antirez
aa9a61ccd7
dict.c: added macros in dict.h to set signed and unsigned 64 bit values directly inside the hash entry without using additional memory.
2011-11-08 19:41:29 +01:00
antirez
c0ba9ebe13
dict.c API names modified to be more coincise and consistent.
2011-11-08 17:07:55 +01:00
antirez
71a50956b1
dict.c: added two lower level methods for directly manipulating hash entries. This is useful in order to set 64 bit integers as values directly inside the hash entry (in order to save memory), without casting, and even in 32 bit builds.
2011-11-08 16:57:20 +01:00
antirez
66d8818cb7
Merge branch 'unstable' into ttlres
2011-11-08 16:15:08 +01:00
antirez
b90314588f
useless double if removed.
2011-11-08 11:26:06 +01:00
antirez
b0a2e34059
yet another #if REDIS_MBULK_BIG_ARG removed.
2011-11-08 11:24:12 +01:00
antirez
53272781d0
Multi bulk optimization for creating big objects without copying data is no longer optional, #ifdefs removed. Also debugging messages removed.
2011-11-08 11:22:40 +01:00
antirez
65330badb9
hiredis/redis changes for speed with big payloads: read buffer size set
...
to 16k, request buffer size is no longer destroyed when emtpy and large
(better fix needed). Redis clients static output buffer set to 16k as
well.
2011-11-08 10:59:59 +01:00
antirez
d9747b496e
redis-benchmark: ability to run selected tests. Better help with examples.
2011-11-07 11:29:37 +01:00
antirez
7b86f5e6d5
csv output for redis-benchmark
2011-11-04 14:49:24 +01:00
antirez
410dfe90b2
PING / MSET benchmarks enabled again.
2011-11-04 11:20:19 +01:00
antirez
ca908473e8
A comment moved a few lines for clarity.
2011-11-04 11:18:15 +01:00
antirez
94d490b9f6
Added a define to set the size threshold to enable the multi bulk parsing big objects optimization.
2011-11-04 11:16:11 +01:00
antirez
826b5beb9c
further optimizations for the multi bulk protocol parsing code when big objects are transmitted to Redis.
2011-11-03 15:53:40 +01:00
antirez
9217095572
optimized object creation in multi-bulk protocol parsing
2011-11-02 17:30:19 +01:00
antirez
b8d743e181
sdsIncrLen() / sdsMakeRoomFor() used to avoid copying to intermediate buffer while reading the client query.
2011-11-02 16:52:45 +01:00
antirez
a54806ac6a
testhelp.h now exits with retcode 1 on failed tests.
2011-11-02 16:52:10 +01:00
antirez
dd5fbedf7b
I/O buffer length enlarged
2011-11-02 16:51:33 +01:00
antirez
d0b2a9b223
sdsMakeRoomFor() exposed as public API. sdsIncrLen() added. Both the changes make it possible to copy stuff from a system call to an sds buffer without the need of an additional buffer and copying overhead.
2011-11-02 16:50:59 +01:00
antirez
3526724594
added a comment to sdsMakeRoomFor() to make it clear what the function actually does.
2011-11-02 16:09:14 +01:00
antirez
6a7841eb09
added an union in the dict.h structure to store 64 bit integers directly into hash table entries.
2011-11-02 15:28:45 +01:00
Jason Davies
b91cbf66bb
Fix minor typos.
2011-11-01 19:58:09 +00:00
antirez
d569f39a77
removed the vmpointer structure that is no longer user in Redis >= 2.5.x
2011-10-31 15:47:12 +01:00
Salvatore Sanfilippo
404cd6450d
Merge pull request #170 from bnoordhuis/fix-sunos-build
...
build: fix sunos build, compile lua with __C99FEATURES__=1
2011-10-31 03:21:09 -07:00
antirez
aeecbdfae3
1fe4cd5
2011-10-31 11:14:24 +01:00
antirez
8996bf7720
7c6da73
2011-10-31 11:13:28 +01:00
antirez
58732c23d5
maxclients configuration is now implemented dealing with the actual process rlimits. Setting maxclients to 0 no longer makes sense and is now invalid, the new default is 10000.
...
See issue #162 for more information.
2011-10-31 10:49:27 +01:00
antirez
1eceb85ebc
It is now possible to disable password authentication via CONFIG SET. Thanks to Jan Oberst. This closes issue #171 .
2011-10-31 09:57:06 +01:00
Ben Noordhuis
b83e95830f
build: fix sunos build, compile lua with __C99FEATURES__=1
2011-10-30 03:20:00 +00:00
antirez
db6a2e7f78
Fixed a memory leak in redis-cli.c
2011-10-28 17:43:04 +02:00
antirez
e1cf460cf1
sds.c single quotes support
2011-10-28 17:31:40 +02:00
antirez
d8ba159b6c
use the more generic -BUSY error for idle scripts
2011-10-27 20:56:12 +02:00
antirez
115e3ff39e
If a Lua script executes for more time than the max time specified in the configuration Redis will log a warning, and will start accepting queries (re-entering the event loop), returning -SLOWSCRIPT error for all the commands but SHUTDOWN that remains callable.
2011-10-27 14:49:10 +02:00
Nathan Florea
bb48c5fa67
Set errno to 0 before calling strtol.
2011-10-26 13:01:24 +02:00
antirez
b508aeb994
Clear the AOF rewrite scheduled flag once an AOF rewrite is triggered. Fix for issue #161 , probably fixing 159 as well.
2011-10-26 12:53:30 +02:00
antirez
e089e61019
Don't timeout scripts if the instance is a slave.
2011-10-25 19:54:10 +02:00
antirez
e5abf6ef19
SCRIPT LOAD now returns the SHA1 instead of +OK
2011-10-25 14:46:15 +02:00
antirez
8cb8d417b1
Lau scripts default max execution time set to 5 seconds.
2011-10-25 12:10:15 +02:00
antirez
e8c993f0fb
Fixes for the scripting refactoring and new commands. Tests for the new features.
2011-10-25 11:19:15 +02:00
antirez
a9b07ac459
SCRIPT LOAD implemented, scripting eval command refactoring.
2011-10-25 10:25:59 +02:00
antirez
070e39454d
SCRIPT command for introspection and control of the scripting environment.
2011-10-24 22:47:00 +02:00
antirez
f013f40003
Fixed a few warnings compiling on Linux.
2011-10-23 10:57:01 +02:00
antirez
9e6a9f30ea
A past commit removed the inclusion of redis.h from rdb.c, completely breaking 32 bit builds under Linux.
2011-10-23 10:42:16 +02:00
antirez
9ed32ba083
Redis.call is now split into two variants of the same function. Redis.call will raise an error by default. Redis.pcall will return the error object instead.
2011-10-20 16:02:23 +02:00
antirez
73fac227a0
use signalModifiedKey to set the key as dirty in the context of WATCH for both MIGRATE and RESTORE.
2011-10-20 11:17:30 +02:00
antirez
8f2af26c2c
Merge remote-tracking branch 'origin/unstable' into unstable
2011-10-19 16:42:35 +02:00
antirez
15108778d5
JSON support for Lua scripting, based on work from @lp, thanks!. We are using the good and fast cjson by Mark Pulford.
2011-10-19 16:42:10 +02:00
smly
046f70f758
Fixed a small memory leak I found with valgrind
2011-10-18 20:18:26 +09:00
antirez
76e772f39a
Return from syncWithMaster() ASAP if the event fired but the instance is no longer a slave. This should fix Issue #145 .
2011-10-18 11:15:11 +02:00
antirez
6856c7b4d6
First implementation of the ASKING command. Semantics still to verify.
2011-10-17 17:35:23 +02:00
antirez
e0aab1fc79
MIGRATE +NOKEY error was missing the final CRLF causing a protocol error.
2011-10-17 16:44:08 +02:00
antirez
bfbc16ae83
Fixed a typo causing segfault on MIGRATE
2011-10-17 16:39:05 +02:00
antirez
13cd1515f9
FLUSHALL now prevents rdbSave() from resetting the dirty counter, so that the command will get replicated and put inside the AOF. This fixes issue #142
2011-10-17 10:31:47 +02:00
antirez
42a6fcd6c5
FLUSHALL will only perform a blocking SAVE if RDB persistence is configured.
2011-10-17 10:31:34 +02:00
antirez
6d61e5bf5b
Exit with Fatal error at startup if the RDB file signature or version is wrong.
...
Ref: issue #103
2011-10-14 16:59:38 +02:00
antirez
2e63cfe20d
redis-check-dump: RDB version 2 now supported.
2011-10-14 16:52:52 +02:00
antirez
80ad7189e8
More informative error when DEBUG RELOAD fails.
2011-10-14 14:31:33 +02:00
antirez
dd9ad57062
redis-trib: fix for a slot allocation bug.
2011-10-13 15:16:03 +02:00
antirez
2b9ce0192e
small comment added
2011-10-13 14:51:29 +02:00
antirez
ab52d1f4a8
Fix for issue #132 . Now AUTH raises an error if no server password is configured.
2011-10-10 22:21:17 +02:00
Salvatore Sanfilippo
70cb03e172
Merge pull request #126 from florean/unstable
...
Unlink Unix socket file on shutdown
2011-10-10 13:05:16 -07:00
Nathan Florea
8523876503
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 11:21:15 -07:00
antirez
d83eda48e9
Issue #131 . stime/utime reported in INFO was inverted. Fixed thanks to Didier Spezia.
2011-10-10 15:31:55 +02:00
antirez
4ab18a3331
Fix for bug #128 about the RENAME command.
2011-10-10 15:21:19 +02:00
Nathan Florea
56209f720a
Unlink Unix socket file on shutdown
2011-10-09 00:46:03 -07:00
antirez
ff15dba093
not used parameter for redisLog() removed. Error message grammar fixed.
...
Thanks to @ardsrk.
2011-10-08 10:59:04 +02:00
antirez
d38ef52085
Redis Cluster: process node to node CLUSTERMSG_TYPE_PUBLISH messages and send it to the local clients.
2011-10-07 16:34:16 +02:00
antirez
c563ce463b
propagate PUBLISH messages using the redis cluster nodes bus. Still need to process the incoming packets of that type. Work in progress.
2011-10-07 15:37:34 +02:00
antirez
623131d408
Totally hackish and dirty, but working, support for Redis Cluster in redis-cli
2011-10-05 19:55:33 +02:00
antirez
9465d83efd
A node can populate a slot if a message from a trusted slot is received claiming ownership of this slot, that is currently empty or served by a node in FAIL state. However this feature was broken since calling clusterAddSlot() was not enough as the slot bit is already set in the node that pong us. We need to directly alter the table. This commit fixes the issue.
2011-10-05 17:40:02 +02:00
antirez
2aa26d2a63
CONFIG SET/GET support for loglevel
2011-10-05 16:08:35 +02:00
antirez
ad7a86fbe0
just minor aesthetic changes to cluster.c
2011-10-05 16:02:45 +02:00
antirez
eab0e26e03
replaced redisAssert() with redisAssertWithInfo() in a shitload of places.
2011-10-04 18:43:03 +02:00
antirez
bab205f787
redisAssertWithClientInfo() is now redisAssertWithInfo() that is also able to report an optional object. The client is also optional. Specifying NULL will prevent dumping the not available information (either client or object).
2011-10-04 18:05:26 +02:00
antirez
e3e6993510
Introduced a redisAssert() variant that is able to show information about the client in the context where the failed assertion was detected.
2011-10-04 17:22:29 +02:00
antirez
909aee2c6c
redis-trib: create subcommand fixed calling node info loading method. Was needed after recent refactoring.
2011-10-04 15:53:07 +02:00
antirez
0bb5160cb0
Revert "Use the new install script as make install target. Message about install script requiring root changed a bit to make it more evident."
...
After talking with Pieter he changed my mind about this, it is better to
have a simpler install script that works everywhere, and the complex one
can be always executed if needed by hand. We'll make possibly a new
target for the full featured installation script, and even suggest it
after a Make install.
This reverts commit f1e60d7530
.
2011-10-03 16:04:44 +02:00
antirez
37d650032a
Rewrite MIGRATE as DEL for AOF/replication. Also increment the dirty counter to both force replication and persistence.
2011-10-03 15:51:10 +02:00
antirez
2a95c944ff
increment server.dirty in restore command to make sure it is replicated and increments the dirty count for persistence concerns.
2011-10-03 15:45:14 +02:00
Salvatore Sanfilippo
cd73df62af
Merge pull request #114 from pietern/unstable-zcount
...
Use rank information to compute ZCOUNT
2011-10-03 06:20:23 -07:00
Pieter Noordhuis
0cfc894066
Remove ZCOUNT branches from generic RANGEBYSCORE code
2011-10-03 14:23:31 +02:00
Pieter Noordhuis
62d774e5ba
Use element rank instead of iterating in ZCOUNT
2011-10-03 14:14:43 +02:00
antirez
f1e60d7530
Use the new install script as make install target. Message about install script requiring root changed a bit to make it more evident.
2011-10-03 13:28:54 +02:00
antirez
13c7e5ef29
Exact variant of CRC16 specified into crc16.c
2011-10-02 14:05:29 +02:00
antirez
66c146592a
when processing gossip packets make sure to also update the node bitmap when associating slots to nodes. Fixed simply using the appropriate helper function to add a slot.
2011-10-01 15:11:07 +02:00
antirez
7112580cb3
fixed a few problems with redis-trib resharding.
2011-10-01 01:31:46 +02:00
antirez
a0189bbe75
redis-trib: initial working implementation of cluster rehashing, more work needed to make it more correct, more reliable.
2011-09-30 22:18:07 +02:00
antirez
d38d2fdfdc
Fixed two bugs in the CLUSTER SETSLOT ... NODE subcommand
2011-09-30 22:17:24 +02:00
antirez
9a38df8799
redis-trib: actual slot migration work in progress, more work needed.
2011-09-30 19:21:36 +02:00
antirez
c5954c1966
Clear the importing status from the slot if a CLUSTER SETSLOT command permanently assigns the slot to the importing node.
2011-09-30 19:20:56 +02:00
antirez
6c0047c430
redis-trib: better slots allocation strategy for resharding
2011-09-30 18:41:25 +02:00
antirez
841cd7684c
redis-trib: initial slots allocation strategy, still to improve for better balancing when there are just a few slots to move.
2011-09-30 18:28:51 +02:00
antirez
85b514d165
redis-trib: reshard command work in progress
2011-09-29 16:06:49 +02:00
antirez
9514aa3251
redis-trib: minor refactoring creating a method to load the cluster information starting from a single node
2011-09-29 15:45:10 +02:00
antirez
5d8f25da36
redis-trib: don't crash loading node info for nodes without assigned slots
2011-09-29 15:31:02 +02:00
antirez
3b5289a04c
added comment about SETSLOT NODE form.
2011-09-29 15:26:01 +02:00
antirez
7afc3a9611
Fixed command table for RESTORE to make it accepting keys only for the right slots when cluster is enabled.
2011-09-29 15:14:06 +02:00
antirez
d7021b081b
redis-trib: added cluster state to node info string
2011-09-29 15:04:23 +02:00
antirez
92dd76c8ee
redis-trib: all node information into a single hash
2011-09-29 14:44:27 +02:00
antirez
b08c9dd280
redis-trib: when loading node info also fetch the output of CLUSTER INFO.
2011-09-29 13:18:09 +02:00
antirez
f639f99180
redis-trib cluster check command: check that all the 4096 slots are covered
2011-09-29 12:50:46 +02:00
antirez
0cae060a26
Compilation fixed on OpenBSD making sure that _XOPEN_SOURCE is set to 700 in fmacros.h
2011-09-29 10:20:03 +02:00
antirez
d3f7fbfc09
initial node loading info code for redis-trib
2011-09-28 19:08:35 +02:00
antirez
1ef8b0a96d
show node with myself flag always as connected in CLUSTER NODES output.
2011-09-28 18:28:36 +02:00
antirez
002d5626e0
Scripting engine now only loads selected libraries, using code originally contributed by @loopole.
2011-09-27 18:46:23 +02:00
antirez
9f772cc237
Return errors if a write command is called inside a Lua script after a random command was called. See https://github.com/antirez/redis/issues/95 for more information.
2011-09-27 15:30:31 +02:00
antirez
15ef605340
Deny commands flagged as REDIS_CMD_NOSCRIPT from Lua scripts
2011-09-27 13:57:10 +02:00
antirez
b60ed6e812
added the NOSCRIPT and RANDOM command flags
2011-09-27 13:45:46 +02:00
antirez
5d02b00f56
command table refactoring to make it simpler adding new flags
2011-09-26 15:40:39 +02:00
antirez
e108bab043
Lua math.random and math.randomseed replaced with our own version based on redisSrand48(). Seed initialized to the same value at every EVAL/EVALSHA call.
2011-09-23 15:40:58 +02:00
antirez
69786b262d
Defined macro with bigger number that redisLrand48() can output.
2011-09-23 15:06:07 +02:00
antirez
cbdac04a5e
libc neutral random function derived from a drand48() implementation added. Will be used to replace Lua's math.random implementation.
2011-09-23 14:51:48 +02:00
antirez
f96a8a8054
rioInitWithFile nad rioInitWithBuffer functions now take a rio structure pointer to avoid copying a structure to return value to the caller.
2011-09-22 16:00:40 +02:00
antirez
69cecb511f
make sure to return just 1 for rio.c write when the target is a buffer, as we do when the target is a file.
2011-09-22 15:54:08 +02:00
antirez
4c0462972e
comment on top of the _rio structure modified for correctness as actually fwrite/fread semantics is different in general, but was 0/1 in our old usage before rio.c as we always used 1 as number items, and the actual number of bytes to read as item length.
2011-09-22 15:47:48 +02:00
antirez
f9c6f39b2b
merge conflicts resolved
2011-09-22 15:15:26 +02:00
Salvatore Sanfilippo
7c748c061e
Merge pull request #97 from jvain/redis-cli
...
redis-cli segfaults with single numeric argument greater than zero
2011-09-21 13:32:24 -07:00
Juri M. Vainonen
aee7f99760
fixed a small bug that caused redis-cli to segfault when given single numeric parameter greater that zero.
2011-09-21 23:22:14 +03:00
Salvatore Sanfilippo
ac1f6fd07a
Merge pull request #78 from vambo/patch-1
...
Corrected typo in documentation for R_Zero, R_PosInf, R_NegInf, R_Nan;
2011-09-20 02:00:58 -07:00
Salvatore Sanfilippo
5bae401107
Merge pull request #79 from annulen/mac_ppc
...
Fixed compilation on Mac/PPC
2011-09-20 01:58:55 -07:00
Salvatore Sanfilippo
18be93e0a4
Merge pull request #74 from kmerenkov/issue_620
...
[issue 620] don't segfault if number of arguments is less than 1
2011-09-20 01:55:34 -07:00
antirez
eef17490d4
Include port number in error when can't bind lisetning port on startup.
2011-09-20 10:48:21 +02:00
antirez
e7aec180e8
Fixed comment typo
2011-09-19 17:50:07 +02:00
antirez
47e7f9acbd
Comment out things in bio.c that are currently not useful but that may be useful in the future.
2011-09-19 17:06:27 +02:00
antirez
77ca5fcba6
Emit a log message when AOF fsync is still in progress but we are forced to write from the main thread since two seconds already elapsed.
2011-09-19 16:52:13 +02:00
antirez
a60b397b6d
use aof_fsync wrapper instead of fsync(2) in bio.c
2011-09-16 15:53:01 +02:00
antirez
af4707a80c
Merge remote-tracking branch 'origin/unstable' into bg-aof-2
2011-09-16 12:36:33 +02:00
antirez
a3fcd6bc21
fixed flushAppendOnlyFile() function prototype to reflect the new implementation, fixing compilation.
2011-09-16 12:36:17 +02:00
antirez
db3c2a4fb4
postpone the AOF fsync if policy is everysec and there is a background fsync already going.
2011-09-16 12:35:12 +02:00
antirez
9a35eb22bf
Fixed typo preventing compilation
2011-09-16 12:11:48 +02:00
Pieter Noordhuis
bdbf3acff5
Enforce upper bound for number of requests in redis-benchmark
2011-09-16 11:25:00 +02:00
Pieter Noordhuis
5f54a5e615
Fix AOF race that may duplicate commands
2011-09-16 11:12:31 +02:00
antirez
4b77700a33
Added aof_backgronud_fsync() function, and use it in the bacground rewrite done handler when the fsync policy is everysec.
2011-09-16 11:08:39 +02:00
antirez
96674b6d95
Fixed a bug in the average latency metering of redis-cli --latency
2011-09-15 19:33:24 +02:00
antirez
43071993e1
Implemented --latency in redis-cli
2011-09-15 19:28:00 +02:00
antirez
9fc1e1b1d4
REDIS_BIO_AOF_FSYNC implemented
2011-09-15 18:25:53 +02:00
antirez
b39a4d0b39
fixed a problem in bioOlderJobType() when there are no jobs of the specified type. Now the function returns 0 when this happens.
2011-09-15 18:23:58 +02:00
antirez
fbb23ce496
some more comment about bio.c design
2011-09-15 18:23:11 +02:00
antirez
1317b7c233
Remove backgroud jobs from the queue only when the processing was completed, and not just started.
2011-09-15 18:21:27 +02:00
antirez
50be9b97bc
Use a different thread for every different type of background job
2011-09-15 18:21:16 +02:00
antirez
91de5421b2
Better comments for bioWaitPendingJobsLE
2011-09-15 18:21:02 +02:00
antirez
fde4e4c428
Background I/O library enhanced so that the main thread can query for the number of pending jobs of the specified type.
2011-09-15 18:20:53 +02:00
antirez
7feb90fa37
enable zmalloc thread safety support now that we have the bio.c background thread.
2011-09-14 19:09:48 +02:00
antirez
7cfeb8cccf
Optimize LRANGE to scan the list starting from the head or the tail in order to traverse the minimal number of elements. Thanks to Didier Spezia for noticing the problem and providing a patch.
2011-09-14 15:10:28 +02:00
antirez
6468a6faad
Don't replicate/AOF SAVE
2011-09-14 13:09:25 +02:00
antirez
986630afad
use bio.c instead of libeio for closing the AOF file in background. Some comment added and other minor changes.
2011-09-13 18:27:08 +02:00
Pieter Noordhuis
b454056d94
Asynchronously close old file after BGREWRITEAOF
2011-09-13 18:17:06 +02:00
antirez
b1c892f3f6
test background close operation removed
2011-09-13 16:57:18 +02:00
antirez
d47ded66ce
make bio_list static as well
2011-09-13 16:56:43 +02:00
antirez
b147cb9e1a
debug message removed
2011-09-13 16:53:33 +02:00
antirez
b7c739b0dd
use pthread_cond_signal() to make sure the background thread will process the job.
2011-09-13 16:21:12 +02:00
antirez
8ea2dfd75c
typo fixed in bio.c
2011-09-13 16:19:37 +02:00
antirez
f67e338d5c
Removed no longer useful fields in the redis server structure
2011-09-13 16:17:45 +02:00
antirez
8f61a72fa8
add background jobs initialization to Redis main init function
2011-09-13 16:10:26 +02:00
antirez
f81a5f54d8
bio.c typos fixes to make it compile
2011-09-13 16:09:06 +02:00
antirez
02925dd96e
bio.o added to redis-server objects
2011-09-13 15:59:48 +02:00
Pieter Noordhuis
d1ec6c8b22
Speed up protocol synthesis for AOF
2011-09-13 12:23:50 +02:00
Pieter Noordhuis
f990782f4d
Re-use AOF buffer when it is small enough
2011-09-13 12:22:54 +02:00
Pieter Noordhuis
a57225c2cf
Fix indent
2011-09-13 12:22:39 +02:00
antirez
4f06867afe
added a newline for code readability
2011-09-13 12:21:54 +02:00
Pieter Noordhuis
297322481d
Avoid unnecessary calls to time(3)
2011-09-13 12:18:55 +02:00
antirez
3bc89500d2
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:28 +02:00
antirez
48082cc044
fixed typos in the comments of rpoplpushHandlePush()
2011-09-12 10:04:23 +02:00
Hampus Wessman
c47d152c8d
Fix crash when chaining brpoplpush with other blocking commands.
2011-09-07 19:08:48 +02:00
Konstantin Tokarev
ef9444e0d2
Fixed compilation on Mac/PPC
...
Applied patch from Issue 119 provided by
pahowes@gmail.com
2011-09-01 22:16:20 +04:00
vambo
c74b7c7730
Corrected typo in documentation for R_Zero, R_PosInf, R_NegInf, R_Nan;
2011-08-26 21:40:18 +03:00
antirez
11aaf52313
Auto rewrite integer overflow fixed. Thanks to Gaurav for finding it (see issue 602 on google code), and Pieter Noordhuis for tracing it.
2011-08-09 11:46:18 +02:00
Konstantin Merenkov
be6f639564
[issue 620] don't segfault if number of arguments is less than 1
2011-08-02 17:05:04 +04:00
Hampus Wessman
64f201c2aa
Fix crash when pipelining several blocking commands.
2011-07-28 13:50:44 +02:00
Pieter Noordhuis
bb831c313c
Fix adding bulk reply when getcwd fails
2011-07-27 16:22:28 +02:00
Pieter Noordhuis
4d6bf65c42
Wait for Lua to be built before linking redis-server
2011-07-27 14:47:02 +02:00
Pieter Noordhuis
2d7162bb1d
HDEL: Abort deleting fields when hash is removed
2011-07-27 12:29:40 +02:00
antirez
80e87a461a
Close the listening sockets. Apparently this allows faster restarts.
2011-07-22 12:11:40 +02:00
antirez
adae85cdae
prepareForShutdown() fixed for correctness regarding what to do with AOF and RDB persistence on exit.
2011-07-22 11:52:21 +02:00
antirez
f790bd028c
Added a 'runtest' script that is responsible to check if Tcl is available and run the test. This is invoked from Makefile as well.
2011-07-15 17:20:57 +02:00
antirez
319bb48c01
top level Makefile now just a proxy. Doing make clean inside src now does a full clean including deps, not just Redis source. Thanks to Pieter for the top level Makefile proxy trick.
2011-07-13 19:15:22 +02:00
antirez
4dd444bb4a
Replicate EVALSHA as EVAL taking a dictionary of sha1 -> script source code.
2011-07-13 15:38:03 +02:00
antirez
70ecddc9f4
scripting.txt file removed, content merged into the TODO file
2011-07-13 12:04:02 +02:00
antirez
331bf3292f
when building redis-server use LINK and not CC as prefix in the output
2011-07-12 12:58:32 +02:00
antirez
5f54619494
Fix for a typo left after merging.
2011-07-12 12:43:05 +02:00
antirez
0681c5ad84
master branch merged into scripting.
2011-07-12 12:39:16 +02:00
antirez
e6fcb5b30d
make test depends on redis-check-aof as well.
2011-07-11 14:48:45 +02:00
antirez
6b91a11e3e
removed --file argument from test invocation inside Makefile
2011-07-11 13:46:09 +02:00
antirez
52c863ddac
use tclsh8.5 not only in which but also in the actual test execution.
2011-07-11 11:18:46 +02:00
antirez
d4edba6f43
explicitly use tclsh8.5 to run the test
2011-07-11 11:17:05 +02:00
antirez
09e2d9eeba
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-08 12:59:30 +02:00
antirez
812ecc8b10
don't process EXPIRE with negative TTL or EXPIREAT with time in the past if we are a slave too (see http://groups.google.com/group/redis-db/browse_thread/thread/5a931fefb88b16d5 ). Also propagate it as DEL.
2011-07-07 16:24:37 +02:00
Hampus Wessman
040b0ade7d
Don't expire keys while loading AOF.
...
They will be expired (and a DEL will be logged) after the loading is done
instead.
2011-07-07 16:08:30 +02:00
antirez
cabe03eb75
more valgrind friendly test
2011-07-06 15:22:00 +02:00
antirez
5a9dd97c7c
childrens -> children in INFO output field names. This is a backward incompatible change, but really a minimal one.
2011-07-02 10:52:28 +02:00
antirez
6504634019
no more allocation stats info in INFO, useless now that we have jemalloc.
2011-07-02 10:31:16 +02:00
antirez
2cb6828480
Added an unique ID field to every slow log entry.
2011-06-30 17:36:15 +02:00
antirez
de32c37c06
More redis.conf self-documentation. Now even queries that took exactly server.slow_log_slower_than are logged, as this is not exact but is more intuitive for people, and a value of 0 will force every query to be logged.
2011-06-30 15:54:05 +02:00
antirez
35a6044140
slow log configuration implemented
2011-06-30 15:47:15 +02:00
antirez
404345d8e5
DEUBG SLEEP implemented
2011-06-30 13:31:44 +02:00
antirez
daa70b1798
First implementation of the slow log feature
2011-06-30 13:27:32 +02:00
antirez
ef67a2fc3c
Partial fix for a problem with AOF and BRPOP. We have at least a single evidence of an AOF that ended with a BRPOP call against an empty list, causing later issues at run time. Now the problem is detected while loading the AOF at startup, even if it is still to understand how the corrupted AOF was generated.
2011-06-29 16:11:23 +02:00
antirez
994ed2bc55
unstable merge conflicts resolved
2011-06-25 12:29:24 +02:00
antirez
d5b36c5114
Merge remote branch 'origin/unstable' into unstable
2011-06-25 12:22:59 +02:00
antirez
c9d0c3623a
diskstore removed
2011-06-25 12:22:03 +02:00
Salvatore Sanfilippo
a004de0f15
Merge pull request #63 from djanowski/tcl
...
Add warning when `tcl` is not available to run tests
2011-06-24 09:59:37 -07:00
Damian Janowski
b3bc4452d2
Avoid bug reports when Tcl is not installed.
2011-06-24 13:56:06 -03:00
antirez
c1c9d551da
Fix for bug 561 and other related problems
2011-06-20 17:19:36 +02:00
antirez
634bae94fb
useless call removed, thanks to Pieter for spotting this
2011-06-20 16:42:37 +02:00
antirez
f85cd526c1
DB API refactoring. The changes were designed together with Pieter Noordhuis.
2011-06-20 16:42:16 +02:00
antirez
3e2a0bf44a
Makefile deps updated
2011-06-20 11:58:54 +02:00
antirez
e93d36a638
It is now possible to build with: make 32bit USE_JEMALLOC=yes
2011-06-20 11:54:57 +02:00
antirez
7d9ba15669
Added -ldl when linking against jemalloc, needed on Linux
2011-06-20 11:54:35 +02:00
antirez
fec5a664f8
Fixed INFO implementation to use the new allocator name define
2011-06-20 11:54:08 +02:00
antirez
9e62dc17da
Makefile modified to build with jemalloc
2011-06-20 11:52:15 +02:00
antirez
16cd4acdee
ZMALLOC related stuff removed from config.h. They are now defined in zmalloc.h
2011-06-20 11:35:29 +02:00
antirez
29d04257b0
forward-ported changes in zmalloc.c/h to support jemalloc build
2011-06-20 11:34:04 +02:00
antirez
07486df6fe
new INFO filed master_link_down_since_seconds
2011-06-17 16:16:46 +02:00
antirez
591f29e0f5
Use a safe iterator while saving the DB, since the getExpire() function will access the iterating dictionary.
2011-06-17 15:41:22 +02:00
antirez
0d1650f8a9
Updated to unstable
2011-06-14 18:06:39 +02:00
Hampus Wessman
0b17517c7c
Fix automatic rewrite starting too early.
...
Slight adjustment in growth calculation.
2011-06-12 07:27:01 +02:00
antirez
9e40bce3fa
different message on BGREWRITEAOF when it is just scheduled and not started.
2011-06-10 18:35:16 +02:00
antirez
2c6cc5e502
minor code aesthetic change
2011-06-10 18:13:57 +02:00
antirez
19b46c9a09
Make sure an automatic rewrite only gets triggered when no other child is in execution.
2011-06-10 15:15:29 +02:00
antirez
0ec932208e
CONFIG SET/GET support for new automatic AOF rewrite parameters
2011-06-10 15:14:10 +02:00
antirez
c66bf1fa32
correctly set AOF base size field in server structure
2011-06-10 14:56:45 +02:00
antirez
d630abcdaf
Added new INFO fields related to the new AOF auto rewrite feature
2011-06-10 14:52:47 +02:00
antirez
4f948300bc
Fixed bug in AOF rewrite not working because of integer overflow
2011-06-10 14:47:12 +02:00
antirez
73b9e8aedf
debugging printf removed
2011-06-10 14:44:06 +02:00
antirez
4ff34b6adb
AOF auto rewrite percentage option parsing fixed
2011-06-10 14:43:11 +02:00
antirez
50528f0eea
Merge remote branch 'pietern/unstable-bench' into unstable
2011-06-10 14:28:14 +02:00
antirez
e3d27a7261
Avoid division by zero issues in the automatically triggered AOF rewrite feature.
2011-06-10 14:25:27 +02:00
antirez
e087b6d7a1
Merge remote branch 'origin/unstable' into unstable
2011-06-10 12:39:40 +02:00
antirez
b333e23997
automatic AOF rewrite first implementation. Still to be tested.
2011-06-10 12:39:23 +02:00
Hampus Wessman
db6cea11c4
Fix Makefile colors.
...
echo with escape sequences isn't portable. Use printf instead.
2011-06-09 16:38:18 +02:00
antirez
45029d37cb
Two fixes for replication: Slave performs the AOF rewrite at the right point. Non blocking connect also uses readable handler as with old Linux kernels like 2.6.18 on connection refused the writable even is not fired (kernel bug).
2011-06-09 15:39:12 +02:00
antirez
73e718675b
Better colorized Makefile implementation, inspired by git makefile
2011-06-08 17:09:18 +02:00
antirez
936c4ab64b
touch less pages in decrRefCount
2011-06-03 17:33:23 +02:00
Pieter Noordhuis
294cd536e0
There is no debug mode in benchmark tool
2011-06-01 09:22:19 -07:00
Pieter Noordhuis
39bf440243
Provide custom command to benchmark against via args
2011-06-01 09:22:19 -07:00
Pieter Noordhuis
fc05e8c850
More const's in redis-benchmark.c
2011-06-01 09:22:19 -07:00
antirez
3f7b2b1f30
Variadic ZREM
2011-05-31 20:15:18 +02:00
antirez
3738ff5f32
Fix for the variadic version of SREM. Regression test added.
2011-05-31 20:14:29 +02:00
antirez
ef231a7c56
Variadic ZADD
2011-05-31 17:47:34 +02:00
Pieter Noordhuis
632e4c09ac
Make replication faster (biggest gain for small number of slaves)
2011-05-30 12:45:07 +02:00
antirez
615e414c5d
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-05-29 15:17:29 +02:00
antirez
43222f253a
Merge remote branch 'pietern/unstable-replnonblock' into unstable
2011-05-29 14:26:01 +02:00
antirez
18f63d8d51
redis-cli: -i (interval) implemented, to wait the specified number of seconds (decimal digits are allowed) between commands.
2011-05-28 15:41:08 +02:00
antirez
442c748d84
redis-cli: Use the repetiton prefix after a reconnection.
2011-05-28 15:25:48 +02:00
antirez
4d19e3443c
redis-cli in REPL mode is now able to send the same command multiple times, prefixing the command with a number as in "10 ping"
2011-05-28 15:13:55 +02:00
antirez
a45f9a1a1d
redis-cli no longer aborts in repl-mode on error, and retries to reconncet with the server at every command issued if the state is not connected. Also the prompt shows the server we are connected to.
2011-05-28 15:04:12 +02:00
antirez
3bb818df40
Make sure error and status replies emitted by Lua scripts can never have more than a newline, otherwise it is a protocol violation and clients will desync.
2011-05-25 12:32:50 +02:00
antirez
e927a24610
Fix for wrong error level detection in redis.log()
2011-05-25 12:32:50 +02:00
antirez
288f811fea
All commands exported by Redis to Lua scripts are now inside the redis table. Implemented redis.log() function.
2011-05-25 12:32:50 +02:00
antirez
7229d60d03
EVALSHA implemented
2011-05-25 12:32:49 +02:00
antirez
82c6b8257a
Now it is possible to return multi bulks of multi bulks from Lua, just returning tables of tables. The new conversion of the Null bulk and multi bulk type is the Lua false type.
2011-05-25 12:32:49 +02:00
antirez
da386cdf33
for performance reasons only set the debug hook if the time limit is enabled.
2011-05-25 12:32:49 +02:00
antirez
87c219243c
Lua max exec time fixes: redisLog() to log the event moved before the lua_error() call that does a long jump so never returns. Aesthetic fixes in error message.
2011-05-25 12:32:49 +02:00
antirez
bcc72bc381
call the Lua hook with minor frequency. It is already enough to call it every 100000 istructions for near millisecond precision.
2011-05-25 12:32:48 +02:00
antirez
eeffcf380f
Lua scripts max execution time
2011-05-25 12:32:48 +02:00
antirez
8c3402dffa
Lua memory usage in INFO
2011-05-25 12:32:48 +02:00
antirez
40531be0e3
call lua_gc() for incremental garbage collection. Likely there is to tune this at some point.
2011-05-25 12:32:48 +02:00
antirez
c2a7dd85ae
Lua scripting: Honor SELECT command in both ways
2011-05-25 12:32:47 +02:00
antirez
09ab5591fa
Fixed a problem in the script engine that crashed the server if the reply was not stored just int the static buffer of the client structure.
2011-05-25 12:32:47 +02:00
antirez
0d916763af
Status replies converted in a special way like errors in the Lua <-> Redis conversion code.
2011-05-25 12:32:47 +02:00
antirez
e8092bf601
Scripting doc updated
2011-05-25 12:32:47 +02:00
antirez
497fc8775f
Eval command table fixed to return the keys arguments of the command. We use zunionInterGetKeys() as it ZUNION/ZINTER have exactly the same semantic with a prefixed number of keys followed by key names.
2011-05-25 12:32:47 +02:00
antirez
171ef6813d
TODO updated
2011-05-25 12:32:46 +02:00
antirez
379789cc52
Fixed nul bulk parsing in Redis protocol to Lua type convertion. Check for bad Lua types as arguements of the redis() Lua command.
2011-05-25 12:32:46 +02:00
antirez
67e829dce5
Scripting todo list updated
2011-05-25 12:32:46 +02:00
antirez
10a6da7af4
Multi bulk to Lua table now working
2011-05-25 12:32:46 +02:00
antirez
3791000f15
Fixed arity detection of Redis command executed from Lua script. Error reporting from Lua fixed. More work on the Redis reply to lua conversion code.
2011-05-25 12:32:45 +02:00
antirez
532e0f5ded
full conversion from Lua return value to redis reply. Partial conversion from Redis reply to Lua type.
2011-05-25 12:32:45 +02:00
antirez
4ae5b5e163
pupulate the Lua global tables KEYS and ARGV before executing the script
2011-05-25 12:32:45 +02:00
antirez
00b7541b21
function to access to Redis command from Lua renamed from r() to redis()
2011-05-25 12:32:45 +02:00
antirez
7b72272790
when creating not connected clients do not add them into the clients list, otherwise they will be subject to timeouts and other stuff
2011-05-25 12:32:44 +02:00
antirez
7156f43c04
Correctly glue the reply buffer. For now returned as it is to Lua, but will be converted into Lua native type later.
2011-05-25 12:32:44 +02:00
antirez
0f1d64ca57
Lua call of Redis command work in progress: sorry I have to go to the cinema to watch the Source Code movie
2011-05-25 12:32:44 +02:00
antirez
7585836e6e
Lua function creation on EVAL, basic Lua return type to Redis protocol convertion done.
2011-05-25 12:32:43 +02:00
antirez
21d3294c70
makefile adapted to link against lua lib and to pass the 32bit flag to Lua building system
2011-05-25 12:32:43 +02:00
antirez
efc3408748
Fix for Pub/Sub system, introduced in Redis 2.2.6 with the new copy-on-write safe iterator semantics. In the hope this is the last bug I introduced this way.
2011-05-25 12:32:15 +02:00
antirez
d200342ac2
Fixed typo in comment
2011-05-24 10:35:58 +02:00
Pieter Noordhuis
890a2ed989
Configurable synchronous I/O timeout
2011-05-22 12:58:18 +02:00
Pieter Noordhuis
b075621fb7
Minor changes in non-blocking repl. connect
2011-05-22 12:51:09 +02:00
Pieter Noordhuis
a330913999
Non-blocking connect with master
2011-05-19 18:54:57 +02:00
antirez
521ddcce14
Fix for ZUNIONSTORE bug when there is an empty set among input sets. Regression test added.
2011-05-19 17:58:52 +02:00
antirez
330c90b018
fmacros in utils.c to avoid warning about strcasecmp()
2011-05-16 17:20:27 +02:00
antirez
cb16b6c389
Fixed misuse of the new iterator semantics in ZUNIONSTORE
2011-05-15 17:28:06 +02:00
antirez
d070abe44c
Fix for a possible bug related to ZINTER/UNIONSTORE called with the same source set more than one time.
2011-05-15 15:33:01 +02:00
antirez
dd1eefa4f3
Fixed SINTER[STORE] problem related to the new copy on write safe iterator
2011-05-15 12:18:00 +02:00
Pieter Noordhuis
041d8e2a5c
Fix up rdbWriteRaw to return number of bytes written
2011-05-14 12:47:42 +02:00
Pieter Noordhuis
7271198cf0
Use rio.h functions in aof.c
2011-05-14 12:36:22 +02:00
Pieter Noordhuis
fd535c5862
More rioRead()
2011-05-14 12:32:50 +02:00
Pieter Noordhuis
221782ccc6
Move rdbLoad* to top; update comments
2011-05-13 23:24:19 +02:00
Pieter Noordhuis
f1d8e4968e
Make RDB types/opcodes explicit; load/save object type
2011-05-13 22:14:39 +02:00
Pieter Noordhuis
2e4b0e7727
Abstract file/buffer I/O to support in-memory serialization
2011-05-13 17:31:00 +02:00
antirez
defb5f66a0
removed assert causing an illegal memory access. This was responsible of crashes during BLPOP and other list blocking operations.
2011-05-11 09:50:57 +02:00
antirez
6b52ad87c0
RDB version signature bumped to 2, now that direct saving of specially encoded types is implemented 2.2 instances are no longer able to read rdb files produced by 2.4 or unstable.
2011-05-10 11:31:37 +02:00
antirez
4b53e7365c
Introduced a safe iterator interface that can be used to iterate while accessing the dictionary at the same time. Now the default interface is consireded unsafe and should be used only with dictNext()
2011-05-10 10:15:50 +02:00
antirez
f13cb0d9de
DEBUG DIGEST additional lookup needed for VM removed from unstable branch that does not have VM at all
2011-05-10 10:08:01 +02:00
antirez
6901fe7729
Useless statement removed
2011-05-10 10:07:04 +02:00
antirez
df541beae3
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 11:47:34 +02:00
antirez
0caa750748
clear importing/exporing state when appropriate on SETSLOT or ADDSLOTS cluster commands
2011-05-06 16:08:10 +02:00
antirez
f9cbdcb1a6
CLUSTER SETSLOT command and some refactoring of the cluster command
2011-05-06 15:44:09 +02:00
antirez
f384df8302
CLUSTER DELSLOTS
2011-05-06 13:38:27 +02:00
antirez
a7b058dae6
Fixed semantics of CLUSTER SETSLOT, SELECT now only denied in cluster mode if selected DB is not 0 so that MIGRATE still works well.
2011-05-05 18:10:02 +02:00
antirez
46834808fe
CLUSTER SETSLOT STABLE fixed
2011-05-05 17:56:12 +02:00
antirez
4763ecc9ad
missing return caused protocol desync in CLUSTER SETSLOT
2011-05-05 17:52:19 +02:00
antirez
0276e5545c
Fixed problem in cluster redirection due to a stupid typo
2011-05-05 17:50:14 +02:00
Pieter Noordhuis
3edbcab95a
Extra tests for string2ll
2011-05-05 16:32:22 +02:00
Pieter Noordhuis
c040cbd625
Check seplen and len before malloc'ing "tokens"
2011-05-05 16:32:22 +02:00
Pieter Noordhuis
bf9fd5ffa2
Check for \n after finding \r
2011-05-05 16:32:22 +02:00
Pieter Noordhuis
32f99c5128
Show memory allocator in INFO output
2011-05-05 16:32:18 +02:00
Pieter Noordhuis
edf23aff0e
Use string2ll in ziplist code (faster)
2011-05-05 16:26:51 +02:00
Pieter Noordhuis
5d08193126
Tests for string2ll; move isObject* to object.c
2011-05-05 16:26:50 +02:00
Pieter Noordhuis
af0e51f2e1
Move code
2011-05-05 16:25:48 +02:00
Pieter Noordhuis
5282562117
More allocators
2011-05-05 16:25:48 +02:00
Pieter Noordhuis
ded614f803
Inline sdslen and sdsavail (thanks to @bitbckt)
2011-05-05 16:25:48 +02:00
Pieter Noordhuis
5af302011c
Use custom string2ll and strchr
2011-05-05 16:25:48 +02:00
Pieter Noordhuis
b7d3bf5157
Fix ziplist regression and update stresser
2011-05-05 15:16:51 +02:00
antirez
eda827f8b7
cluster import/export of hash slots implemented in the query redirection engine
2011-05-05 11:13:21 +02:00
antirez
a5dce40726
if /dev/urandom is not available use rand() to get a random node name
2011-05-04 10:30:22 +02:00
antirez
35845afba0
Better pretty printed makefile output
2011-05-04 10:17:05 +02:00
antirez
0d8f1ac359
initial pretty printing in makefile
2011-05-04 09:32:32 +02:00
antirez
0ba2932298
CLUSTER SETSLOT implemented
2011-05-04 09:31:37 +02:00
antirez
66f2517feb
render migrating and importing slots in cluster nodes info
2011-05-02 19:04:33 +02:00
antirez
74a640492f
Merge branch 'unstable' of github.com:antirez/redis into unstable
2011-05-01 15:38:59 +02:00
antirez
5cbe90dbfd
Fixed a problem with string2ll()
2011-05-01 15:36:47 +02:00
antirez
2f52dac9ef
CLUSTER subcommands to set slots in migrating or importing state. Still a work in progress...
2011-04-29 17:34:03 +02:00
antirez
484354ff95
CLUSTER GETKEYSINSLOT implemented
2011-04-29 16:17:58 +02:00
antirez
1eb713a4c1
CLUSTER KEYSLOT command
2011-04-29 14:31:18 +02:00
antirez
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
antirez
c772d9c6e7
take a hashslot -> keys index, will be used for cluster rehasing
2011-04-28 19:00:33 +02:00
Pieter Noordhuis
45b0f6fb14
Use correct argc/argv for cleanup when loading AOF
2011-04-22 09:44:06 +02:00
antirez
7e79dd3f4c
peak fragmentation ratio removed as it is a confusing field for users and trivial to compute at hand now that there is peak memory information in INFO output
2011-04-21 16:56:31 +02:00
antirez
b93fdb7bbb
CLIENT KILL implemented
2011-04-21 15:47:47 +02:00
antirez
3cd12b5687
CLIENT LIST implemented
2011-04-21 15:38:02 +02:00
antirez
17b24ff30d
save peak memory usage as statistic and show it in INFO. Also a new INFO field was added showing the fragmentation ratio using the peak memory info.
2011-04-21 10:49:52 +02:00
antirez
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
antirez
b3a96d454e
Variadic SREM
2011-04-19 17:37:03 +02:00
antirez
64a13a36e6
variadic HDEL with tests
2011-04-19 17:07:55 +02:00
antirez
22f294d24a
variadic SADD
2011-04-15 18:08:32 +02:00
antirez
009db67645
addReplyLongLong optimized to return shared objects when the value to reply is 0 or 1
2011-04-15 18:08:24 +02:00
antirez
2e667806ed
version bumped to 2.9, that is, 3.0 unstable
2011-04-15 17:44:08 +02:00
antirez
fb2feae599
variadic LPUSH/RPUSH
2011-04-15 16:35:27 +02:00
antirez
7c0e1b53c4
Merge remote branch 'pietern/unstable-zset' into unstable
2011-04-14 13:31:14 +02:00
antirez
d0cfb2be64
redis-trib: functions implementing commands moved at bottom
2011-04-14 09:41:22 +02:00
antirez
8bad0ddd9d
fixed bug due to typo in code
2011-04-13 21:26:12 +02:00
antirez
180ba187d3
fixed typo in comment
2011-04-13 20:17:11 +02:00
antirez
9a440ad418
fixed a typo in redis-trib
2011-04-13 18:50:50 +02:00
antirez
3883a381b6
use map! instead of reassigning
2011-04-13 18:46:29 +02:00
antirez
583fc5dd60
hopefully more readable info_string method in redis-trib
2011-04-13 18:40:51 +02:00
antirez
57d83d5673
redis-trib create, first version is know working
2011-04-13 15:58:05 +02:00
antirez
9d89e99c99
no longer useful debugging printf removed
2011-04-13 11:42:05 +02:00
antirez
996d503d1a
ASCII ART FTW
2011-04-13 10:58:21 +02:00
antirez
a54d9805ee
Merge branch 'unstable' of github.com:antirez/redis into unstable
2011-04-13 10:39:06 +02:00
antirez
1087227d41
redis-trib: show list of commands
2011-04-13 10:38:56 +02:00
antirez
744f34d834
redis-trib can now assign hash slots to initialize a cluster. Next step is to join the cluster.
2011-04-12 17:06:33 +02:00
antirez
d415f9ff41
Merge branch 'unstable' of github.com:antirez/redis into unstable
2011-04-12 15:36:10 +02:00
Salvatore Sanfilippo
f29d1fb0b2
assert_empty in redis-trib
2011-04-11 18:26:00 +02:00
Salvatore Sanfilippo
8c4c50906c
added known nodes info in CLUSTER INFO
2011-04-11 17:40:35 +02:00
Salvatore Sanfilippo
b800a3ab20
a first refactoring of redis-trib.rb
2011-04-11 16:58:47 +02:00
Salvatore Sanfilippo
407798c1e1
Redis-trib initial implementation (currently can not do any actual work)
2011-04-11 16:41:06 +02:00
Salvatore Sanfilippo
1c708b25ee
added minimal cluster section in INFO output. This is only useful to check if the instance is or not configured as a cluster node, all the other informations are accessible using the CLUSTER command.
2011-04-11 16:40:37 +02:00
antirez
8d727af8c4
update state when FAIL is cleared from a node
2011-04-08 14:19:52 +02:00
antirez
fd7a584f7a
do not process node failure messages about yourself
2011-04-08 10:17:41 +02:00
antirez
a55c7868c1
fixed lame error in slot assignment
2011-04-07 23:33:18 +02:00
antirez
5a547b27f7
evaluate cluster state after config load. Still bugs in the slot allocation after nodes config load to fix.
2011-04-07 23:23:27 +02:00
antirez
93666e583c
master node without slaves rejoin fixed
2011-04-07 23:10:32 +02:00
antirez
152d937b8c
when loading config set the ping/pong timestaps to the current value. Even a node in FAIL state can be accepted again if there are no slaves for this node so election was not possible
2011-04-07 23:06:01 +02:00
antirez
1793752d97
node cluster configuration file configurable via redis.conf
2011-04-07 21:34:41 +02:00
antirez
2bc52b2c02
useless newline removed from log message
2011-04-07 19:22:24 +02:00
antirez
d01a6bb3f9
fixes to configuration loading and saving. However there is to still fix the logic for reconnection/behavior of nodes after a restart.
2011-04-07 19:04:16 +02:00
antirez
92690d29fe
first version of cluster config loading code
2011-04-07 17:46:28 +02:00
antirez
726a39c15f
initial cluster config load code
2011-04-07 12:55:02 +02:00
Pieter Noordhuis
02e6006532
Explicitly zero zval since it is stored on the stack
2011-04-06 16:39:22 +02:00
Pieter Noordhuis
d4d3a70da2
Update target encoding for sorted set from rdb
2011-04-06 16:38:34 +02:00
Pieter Noordhuis
100ed062c0
Test for ENCODING_SKIPLIST instead of ENCODING_RAW
2011-04-06 16:17:07 +02:00
Pieter Noordhuis
4cc4d1648b
Typo
2011-04-06 16:15:15 +02:00
Pieter Noordhuis
7d8c555e92
Merge branch 'unstable' into unstable-zset
...
Conflicts:
src/object.c
2011-04-06 16:15:01 +02:00
antirez
0b7f6d0913
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:36:10 +02:00
antirez
ece74202bb
OBJECT command implemented
2011-04-06 12:19:45 +02:00
antirez
f797c7dc17
bad data on RESTORE can no longer crash the server but create a memory leak with some input string
2011-04-05 13:57:28 +02:00
antirez
f304f22b22
Merge branch 'unstable' of github.com:antirez/redis into unstable
2011-04-01 19:00:21 +02:00
antirez
626f6b2d64
DUMP implemented, RESTORE and MIGRATE fixed. Use zcalloc() instead of zmalloc()+memset() in sds.c when a new string is created with NULL initialization pointer.
2011-04-01 18:59:28 +02:00
antirez
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
antirez
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
antirez
6c390c0b23
minor change with no actual effects til the loading node config code is in place
2011-03-30 18:12:51 +02:00
antirez
ef21ab960e
centralized cluster config file name. Assigned slots in CLUSTER NODES output and in cluster config file.
2011-03-30 17:41:13 +02:00
antirez
4b72c5617f
fix to configuration saving on first start
2011-03-30 16:51:28 +02:00
antirez
c7c7cfbddc
cluster configuration saving
2011-03-30 14:58:19 +02:00
antirez
ecc9109434
Cluster branch merged to unstable.
2011-03-29 17:51:15 +02:00
antirez
cc1cb7e540
Merge remote branch 'origin/getkeys' into unstable
2011-03-29 10:54:38 +02:00
antirez
a07bc92692
Preloading messages log level changed from WARNING to DEBUG
2011-03-28 19:03:57 +02:00
antirez
4b61ca460c
fixed a bug in RENAME getKeys() function
2011-03-28 18:46:22 +02:00
antirez
6e1b9b58ec
bug fixed in zunionstore specific getKeys() implementation
2011-03-28 18:21:06 +02:00
antirez
b4b5144694
Fixes to the new preloading / key discovery APIs
2011-03-28 17:54:42 +02:00
antirez
42b2621cdc
implemented preload of EXEC using the new getKeys() system
2011-03-28 17:29:26 +02:00
antirez
a3cf904121
minor style change
2011-03-23 23:13:15 +01:00
antirez
9791f0f8ce
new preloading implemented, still EXEC not handled correctly, everything to test
2011-03-23 18:09:17 +01:00
antirez
e360e3bb7e
Fixed sdssplitargs() handling of hex-style escapes.
2011-03-22 22:49:12 +01:00
antirez
03af999cb0
command table altered for the new API to get position of keys arguments in commands
2011-03-22 19:36:09 +01:00
Pieter Noordhuis
48991620f7
Remove sorted set when empty after ZREMRANGEBY*
2011-03-21 23:54:46 +01:00
antirez
612810af6e
sdscatrepr() fixed. Now newlines and other special chars are escaped correctly
2011-03-20 18:24:49 +01:00
Pieter Noordhuis
dddf5335f4
Fix DEBUG DIGEST, SORT and AOF rewrite
2011-03-14 13:30:06 +01:00
Pieter Noordhuis
69298a05eb
Offset should be size_t
2011-03-14 10:53:53 +01:00
Pieter Noordhuis
72690afdd2
Remove unused function
2011-03-14 10:53:14 +01:00
Pieter Noordhuis
e53ca04b50
Test for empty inner range when looking for elements in range
2011-03-11 18:18:02 +01:00
Pieter Noordhuis
8588bfa370
Make zzl API unaware of the robj where the ziplist is stored
2011-03-11 17:06:07 +01:00
Pieter Noordhuis
df26a0ae0b
Encode sorted set after loading from dump
2011-03-10 17:50:13 +01:00
Pieter Noordhuis
255eebe221
Convert encoding of result when in limits
2011-03-10 17:02:05 +01:00
Pieter Noordhuis
dba3a153a7
Remove comment
2011-03-10 16:53:20 +01:00
antirez
7493d2a032
fixed diskstore race condition
2011-03-10 16:39:19 +01:00
Pieter Noordhuis
56ce42faf1
Generic iterator code for usage in ZUNIONSTORE/ZINTERSTORE
2011-03-10 16:34:52 +01:00
Pieter Noordhuis
bbfe232f60
Make zzlLength take a ziplist argument
2011-03-10 16:17:14 +01:00
Pieter Noordhuis
d4e07f1714
Add new string to long long function
2011-03-10 16:16:27 +01:00
antirez
dc75b1edfb
encoding agnostic intsets
2011-03-09 19:14:04 +01:00
antirez
f220437450
ziplist are now endianess agnostic
2011-03-09 18:49:59 +01:00
antirez
336c82d583
zipmaps are now endianess agnostic, needed for on disk serialization of zipmaps without convertions layers
2011-03-09 17:31:02 +01:00
antirez
b5325132f1
memrev variants only doing the work if the target host is big endian
2011-03-09 17:28:16 +01:00
antirez
48e4621590
Ehm... sorry if we don't support PDP endianess
2011-03-09 16:33:09 +01:00
antirez
e12cb14308
endianess conversion API, to be applied to specially encoded data types for arch agnostic encoding.
2011-03-09 16:24:18 +01:00