antirez
0cf5b7b57c
allow to set a new EXPIRE of an existing volatile key
2010-08-03 12:26:30 +02:00
antirez
c25a5d3b10
memory leak removed from expire propagation code
2010-08-02 21:37:39 +02:00
antirez
bcf2995c98
support for write operations against expiring keys, by master-controlled expiring in replication and AOF synthesizing DEL operations
2010-08-02 18:13:39 +02:00
antirez
0c7a9dec65
Merge remote branch 'pietern/list-test'
2010-07-31 13:55:06 +02:00
Pieter Noordhuis
673e1fb7e4
Change getDoubleFromObject to fail on NaN.
...
Return an error when the resulting value is not a number (NaN). Fix
ZUNIONSTORE/ZINTERSTORE to clean up when a weight argument is not a
double value.
2010-07-29 23:05:01 +02:00
Pieter Noordhuis
d9e28bcf00
Fix ZUNIONSTORE/ZINTERSTORE to never store a NaN score.
...
When +inf and -inf are added, the result is NaN. We don't want NaN
scores in a sorted set, so agreed on the result of this operation being
zero.
2010-07-29 23:03:11 +02:00
Pieter Noordhuis
715c801a07
Use a large value to consistently trigger a list encoding,
...
even when the list is swapped out and in again.
2010-07-29 13:56:35 +02:00
Pieter Noordhuis
86d392498b
ensure the value is swapped in before testing its encoding
2010-07-29 13:31:24 +02:00
antirez
cbf7e1070a
fix of the fix for the replication bug
2010-07-28 18:56:52 +02:00
antirez
8c1420ff2a
Fixed a replication bug in ZINTERSTORE.
...
In order to trigger the bug what's needed is to call ZINTERSTORE
resulting into an empty set created, bug against a key that already
existed. The command was not propagated, so the replica ended with the
key that the master removed. Sequence of command to reproduce:
redis-cli hset 446 34 905
redis-cli hset 446 393 911
redis-cli zadd 966 0.085412045980529885 652
redis-cli zadd 645 0.25081839284432045 280
redis-cli zinterstore 446 2 966 645
2010-07-28 18:42:02 +02:00
antirez
a0573260b0
better random dataset creation function in test. master-slave replication test now is able to save the two datasets in CSV when an inconsistency is detected.
2010-07-28 14:08:46 +02:00
antirez
6171250871
fixed a ziplist bug about encoding of integer values overflowing 64 bit
2010-07-27 15:26:08 +02:00
antirez
db0c43a70c
removed test code having bad effects...
2010-07-27 14:46:39 +02:00
antirez
dd3f505ff5
Consistency test improved
2010-07-27 14:42:11 +02:00
antirez
f99e660b44
malloc definition with deprecated attribute was duplicated, one removed
2010-07-27 14:30:02 +02:00
antirez
80091bbaac
STRLEN command implemented
2010-07-27 10:09:26 +02:00
antirez
e0be2289e9
hash table example commented out in dict.c
2010-07-27 10:00:38 +02:00
antirez
b3aa6d712e
use the function deprecated attribute if compiling with GCC to get warnings for malloc/free usages. We always want to use our zmalloc/zfree versions for memory usage tracking
2010-07-27 09:36:42 +02:00
Benjamin Kramer
399f2f401c
Add zcalloc and use it where appropriate
...
calloc is more effecient than malloc+memset when the system uses mmap to
allocate memory. mmap always returns zeroed memory so the memset can be
avoided. The threshold to use mmap is 16k in osx libc and 128k in bsd
libc and glibc. The kernel can lazily allocate the pages, this reduces
memory usage when we have a page table or hash table that is mostly
empty.
This change is most visible when you start a new redis instance with vm
enabled. You'll see no increased memory usage no matter how big your
page table is.
2010-07-25 00:11:20 +02:00
Benjamin Kramer
d9dd352b36
Remove _dictAlloc and friends
...
zmalloc calls abort() so _dictPanic will never be called.
2010-07-24 23:10:42 +02:00
Benjamin Kramer
b1e0bd4b9b
Reduce code duplication
2010-07-24 22:37:01 +02:00
Pieter Noordhuis
e39c8b5047
exit with non-zero status when there are failed tests
2010-07-23 13:08:35 +02:00
antirez
230729617d
don't open/close log file if log level is not matched
2010-07-22 23:31:40 +02:00
Pieter Noordhuis
c8a10631d1
fix rare condition where 'key' would already be destroyed while is was needed later on
2010-07-22 16:06:27 +02:00
antirez
2f996f0217
defensive programming: set o->ptr to NULL before freeing objects
2010-07-22 15:48:57 +02:00
antirez
e002ec6801
other shared objects where created in the I/O thread in createStringObjectFromLongLong. Fixed as well.
2010-07-22 14:48:45 +02:00
antirez
cdbea20afb
minor typo fixed in a comment
2010-07-22 13:12:24 +02:00
antirez
0e5441d816
don't use object sharing inside I/O threads, as a fix for a well known instability of VM introduced with the new object sharing code
2010-07-22 13:08:02 +02:00
antirez
1a71fb9669
vm_blocked_clients count fixed in INFO, thanks to Pietern Noordhuis
2010-07-21 13:16:26 +02:00
antirez
2cffe2993b
TODO list modified, trivial change to source code
2010-07-16 23:56:18 +02:00
antirez
5b4bff9c17
WATCH is now affected only when write commands actually modify the key content
2010-07-12 12:01:15 +02:00
antirez
e51a74aa40
fmacro included in linenoise.c
2010-07-09 10:51:41 +02:00
antirez
99628c1af8
redis-cli history saved across sessions
2010-07-07 18:44:53 +02:00
antirez
185cabda45
redis-cli is now able to report version information using -v
2010-07-06 19:17:09 +02:00
antirez
443d1e9efe
Make install fixed using a dummy taget
2010-07-06 19:10:20 +02:00
antirez
acc0185493
make install target, finally ;)
2010-07-06 19:07:16 +02:00
antirez
f26dde8ca9
top level Makefile added, so you do not need to cd src
2010-07-06 18:54:54 +02:00
antirez
b056ca39f2
improved random dataset creation in test: del, sunionstore, zunionstore
2010-07-06 18:30:38 +02:00
antirez
8b654e54c4
First implementation of a replication consistency test
2010-07-06 17:24:00 +02:00
Pieter Noordhuis
d0a4e24e32
merged code from 184d74ab
, 4774a53b
, f483ce5f
to new file structure
2010-07-05 15:16:33 -04:00
antirez
70a214c46d
INSTALL file added BETATESTING.txt removed
2010-07-05 20:37:20 +02:00
antirez
d06a5b23c8
Fixed compilation on *BSD systems
2010-07-05 20:14:48 +02:00
antirez
b67d234563
Fixed a crash loading the AOF file containing MULTI/EXEC, a result of WATCH implementation. Test needed...
2010-07-05 20:06:54 +02:00
antirez
b7a8daef60
WATCH will now consider touched keys target of EXPIRE command after the WATCH is performed, but not before
2010-07-05 19:38:12 +02:00
antirez
3688d7f308
Compilation fixed on Linux after the source code split
2010-07-01 21:13:38 +02:00
antirez
d3b958c3fc
Fixed MONITOR output for consistency: now integer encoded values are also formatted like this: "3932"
2010-07-01 20:22:46 +02:00
antirez
5bd09cd4c5
Fix the AOF fix of the latest commit ;)
2010-07-01 20:18:48 +02:00
antirez
daf2049d0d
fixed error code checking for *write operations and return value in AOF rewriting function
2010-07-01 20:13:33 +02:00
antirez
af4e866dbb
Merged with split
2010-07-01 16:55:12 +02:00
antirez
0f49d6b049
minor aesthetic change
2010-07-01 15:14:25 +02:00