Pieter Noordhuis
4b93e5e267
Merge master and move argument splitting patch to sds.c
2010-08-25 13:08:43 +02:00
antirez
c0b3d42372
redis-cli now supports automatically reconnection in interactive mode
2010-08-24 18:39:34 +02:00
antirez
b37ca6edb1
Issue 179 fixed, now redis-cli is able to parse correctly multi bulk replies with elements that are errors
2010-08-24 18:08:09 +02:00
antirez
695fe87456
The pid file is now created only after the server is correctly initialied. It is also removed on sigterm and when the stack trace is produced after a sigbus or a sigsegv. This two changes should fix the Issue 175
2010-08-24 17:09:25 +02:00
antirez
b91d605a35
slave now detect lost connection during SYNC, fixing Issue 173
2010-08-24 16:25:00 +02:00
antirez
778b2210a9
slave with attached slaves now close the conection to all the slaves when the connection to the master is lost. Now a slave without a connected link to the master will refuse SYNC from other slaves. Enhanced the replication error reporting. All this will fix Issue 156
2010-08-24 16:04:13 +02:00
antirez
e452436a07
BLPOPping clients are no longer subject to connection timeouts, fixing issues 155
2010-08-24 12:10:59 +02:00
antirez
01daeecee7
added tests for invalid bulk argument
2010-08-24 11:49:05 +02:00
antirez
a679185aa5
sanity check for the bulk argument in protocol parsing code, fixing issue 146
2010-08-24 11:45:05 +02:00
antirez
e193873025
changed the comments on top of redis-copy.rb to reflect what the program really does
2010-08-24 10:10:01 +02:00
antirez
c91abdcd07
Fixed overflow detection in argument to long convertion function in general, and in expire/ttl pairs specifically, addressing issue 54
2010-08-23 17:06:38 +02:00
antirez
cbce517145
redis cli argument splitting is general and is now moved into the sds.c lib
2010-08-05 11:36:39 +02:00
Pieter Noordhuis
abb731e5b8
Deprecate starting interactive mode using the -i flag
2010-08-04 18:36:03 +02:00
Pieter Noordhuis
cf0c6b78f1
Set tty before going into interactive mode to get non-pretty output when
...
the commands are read from stdin.
2010-08-04 18:16:39 +02:00
Pieter Noordhuis
3a51bff035
Change output format for non-tty redis-cli execution
2010-08-04 17:46:56 +02:00
Pieter Noordhuis
123a10f7a5
Let the output mode depend on having a tty or not
2010-08-04 17:16:05 +02:00
Pieter Noordhuis
07242c0ccf
Tests for redis-cli in non-interactive mode
...
Minor change in redis-cli output for the (multi-)bulk response but this
will be fixed in the next commit.
2010-08-04 17:02:13 +02:00
Pieter Noordhuis
0439d792c4
Add tests for quotation in an interactive redis-cli session
...
Patched redis-cli to abort on unexpected quotation. This caused
redis-cli to get into an infinite, memory-consuming loop.
2010-08-04 16:15:33 +02:00
Pieter Noordhuis
f2dd4769dd
Tests for the interactive mode of redis-cli
...
Changed redis-cli to output the raw response for a bulk reply when it is
run in interactive mode instead of checking isatty.
2010-08-04 15:28:03 +02:00
antirez
1fb4e8def7
PERSIST: a fix and some basic test
2010-08-03 14:25:22 +02:00
antirez
a539d29ac5
PERSIST command implemented
2010-08-03 14:19:20 +02:00
antirez
6146329f1f
replication test with expires
2010-08-03 13:38:39 +02:00
antirez
23d7298b15
Merge remote branch 'pietern/test-encoding-fix' into writeonexpire
2010-08-03 13:09:27 +02:00
antirez
2c572622fb
no longer passing tests due to the new write-on-volatile semantics modified/removed
2010-08-03 13:08:32 +02:00
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
Pieter Noordhuis
6825491928
Fix assertion function on value encoding
2010-08-01 11:20:26 +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