]> git.saurik.com Git - redis.git/log
redis.git
14 years agoslave now detect lost connection during SYNC, fixing Issue 173
antirez [Tue, 24 Aug 2010 14:25:00 +0000 (16:25 +0200)] 
slave now detect lost connection during SYNC, fixing Issue 173

14 years agoslave with attached slaves now close the conection to all the slaves when the connect...
antirez [Tue, 24 Aug 2010 14:04:13 +0000 (16:04 +0200)] 
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

14 years agoBLPOPping clients are no longer subject to connection timeouts, fixing issues 155
antirez [Tue, 24 Aug 2010 10:10:59 +0000 (12:10 +0200)] 
BLPOPping clients are no longer subject to connection timeouts, fixing issues 155

14 years agoadded tests for invalid bulk argument
antirez [Tue, 24 Aug 2010 09:49:05 +0000 (11:49 +0200)] 
added tests for invalid bulk argument

14 years agosanity check for the bulk argument in protocol parsing code, fixing issue 146
antirez [Tue, 24 Aug 2010 09:45:05 +0000 (11:45 +0200)] 
sanity check for the bulk argument in protocol parsing code, fixing issue 146

14 years agochanged the comments on top of redis-copy.rb to reflect what the program really does
antirez [Tue, 24 Aug 2010 08:10:01 +0000 (10:10 +0200)] 
changed the comments on top of redis-copy.rb to reflect what the program really does

14 years agoFixed overflow detection in argument to long convertion function in general, and...
antirez [Mon, 23 Aug 2010 15:06:38 +0000 (17:06 +0200)] 
Fixed overflow detection in argument to long convertion function in general, and in expire/ttl pairs specifically, addressing issue 54

14 years agoredis cli argument splitting is general and is now moved into the sds.c lib
antirez [Thu, 5 Aug 2010 09:36:39 +0000 (11:36 +0200)] 
redis cli argument splitting is general and is now moved into the sds.c lib

14 years agoPERSIST: a fix and some basic test
antirez [Tue, 3 Aug 2010 12:25:22 +0000 (14:25 +0200)] 
PERSIST: a fix and some basic test

14 years agoPERSIST command implemented
antirez [Tue, 3 Aug 2010 12:19:20 +0000 (14:19 +0200)] 
PERSIST command implemented

14 years agoreplication test with expires
antirez [Tue, 3 Aug 2010 11:38:39 +0000 (13:38 +0200)] 
replication test with expires

14 years agoMerge remote branch 'pietern/test-encoding-fix' into writeonexpire
antirez [Tue, 3 Aug 2010 11:09:27 +0000 (13:09 +0200)] 
Merge remote branch 'pietern/test-encoding-fix' into writeonexpire

14 years agono longer passing tests due to the new write-on-volatile semantics modified/removed
antirez [Tue, 3 Aug 2010 11:08:32 +0000 (13:08 +0200)] 
no longer passing tests due to the new write-on-volatile semantics modified/removed

14 years agoallow to set a new EXPIRE of an existing volatile key
antirez [Tue, 3 Aug 2010 10:26:30 +0000 (12:26 +0200)] 
allow to set a new EXPIRE of an existing volatile key

14 years agomemory leak removed from expire propagation code
antirez [Mon, 2 Aug 2010 19:37:39 +0000 (21:37 +0200)] 
memory leak removed from expire propagation code

14 years agosupport for write operations against expiring keys, by master-controlled expiring...
antirez [Mon, 2 Aug 2010 16:13:39 +0000 (18:13 +0200)] 
support for write operations against expiring keys, by master-controlled expiring in replication and AOF synthesizing DEL operations

14 years agoFix assertion function on value encoding
Pieter Noordhuis [Sun, 1 Aug 2010 09:20:26 +0000 (11:20 +0200)] 
Fix assertion function on value encoding

14 years agoMerge remote branch 'pietern/list-test'
antirez [Sat, 31 Jul 2010 11:55:06 +0000 (13:55 +0200)] 
Merge remote branch 'pietern/list-test'

14 years agoChange getDoubleFromObject to fail on NaN.
Pieter Noordhuis [Thu, 29 Jul 2010 20:13:31 +0000 (22:13 +0200)] 
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.

14 years agoFix ZUNIONSTORE/ZINTERSTORE to never store a NaN score.
Pieter Noordhuis [Thu, 29 Jul 2010 19:31:58 +0000 (21:31 +0200)] 
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.

14 years agoUse a large value to consistently trigger a list encoding,
Pieter Noordhuis [Thu, 29 Jul 2010 11:53:52 +0000 (13:53 +0200)] 
Use a large value to consistently trigger a list encoding,
even when the list is swapped out and in again.

14 years agoensure the value is swapped in before testing its encoding
Pieter Noordhuis [Thu, 29 Jul 2010 11:31:24 +0000 (13:31 +0200)] 
ensure the value is swapped in before testing its encoding

14 years agofix of the fix for the replication bug
antirez [Wed, 28 Jul 2010 16:56:52 +0000 (18:56 +0200)] 
fix of the fix for the replication bug

14 years agoFixed a replication bug in ZINTERSTORE.
antirez [Wed, 28 Jul 2010 16:42:02 +0000 (18:42 +0200)] 
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

14 years agobetter random dataset creation function in test. master-slave replication test now...
antirez [Wed, 28 Jul 2010 12:08:46 +0000 (14:08 +0200)] 
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.

14 years agofixed a ziplist bug about encoding of integer values overflowing 64 bit
antirez [Tue, 27 Jul 2010 13:26:08 +0000 (15:26 +0200)] 
fixed a ziplist bug about encoding of integer values overflowing 64 bit

14 years agoremoved test code having bad effects...
antirez [Tue, 27 Jul 2010 12:46:39 +0000 (14:46 +0200)] 
removed test code having bad effects...

14 years agoConsistency test improved
antirez [Tue, 27 Jul 2010 12:42:11 +0000 (14:42 +0200)] 
Consistency test improved

14 years agomalloc definition with deprecated attribute was duplicated, one removed
antirez [Tue, 27 Jul 2010 12:30:02 +0000 (14:30 +0200)] 
malloc definition with deprecated attribute was duplicated, one removed

14 years agoSTRLEN command implemented
antirez [Tue, 27 Jul 2010 08:09:26 +0000 (10:09 +0200)] 
STRLEN command implemented

14 years agohash table example commented out in dict.c
antirez [Tue, 27 Jul 2010 08:00:38 +0000 (10:00 +0200)] 
hash table example commented out in dict.c

14 years agouse the function deprecated attribute if compiling with GCC to get warnings for mallo...
antirez [Tue, 27 Jul 2010 07:36:42 +0000 (09:36 +0200)] 
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

14 years agoAdd zcalloc and use it where appropriate
Benjamin Kramer [Sat, 24 Jul 2010 21:20:00 +0000 (23:20 +0200)] 
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.

14 years agoRemove _dictAlloc and friends
Benjamin Kramer [Sat, 24 Jul 2010 21:10:42 +0000 (23:10 +0200)] 
Remove _dictAlloc and friends

zmalloc calls abort() so _dictPanic will never be called.

14 years agoReduce code duplication
Benjamin Kramer [Sat, 24 Jul 2010 20:37:01 +0000 (22:37 +0200)] 
Reduce code duplication

14 years agoexit with non-zero status when there are failed tests
Pieter Noordhuis [Fri, 23 Jul 2010 11:08:35 +0000 (13:08 +0200)] 
exit with non-zero status when there are failed tests

14 years agodon't open/close log file if log level is not matched
antirez [Thu, 22 Jul 2010 21:31:40 +0000 (23:31 +0200)] 
don't open/close log file if log level is not matched

14 years agofix rare condition where 'key' would already be destroyed while is was needed later on
Pieter Noordhuis [Thu, 22 Jul 2010 14:06:27 +0000 (16:06 +0200)] 
fix rare condition where 'key' would already be destroyed while is was needed later on

14 years agodefensive programming: set o->ptr to NULL before freeing objects
antirez [Thu, 22 Jul 2010 13:48:57 +0000 (15:48 +0200)] 
defensive programming: set o->ptr to NULL before freeing objects

14 years agoother shared objects where created in the I/O thread in createStringObjectFromLongLon...
antirez [Thu, 22 Jul 2010 12:48:45 +0000 (14:48 +0200)] 
other shared objects where created in the I/O thread in createStringObjectFromLongLong. Fixed as well.

14 years agominor typo fixed in a comment
antirez [Thu, 22 Jul 2010 11:12:24 +0000 (13:12 +0200)] 
minor typo fixed in a comment

14 years agodon't use object sharing inside I/O threads, as a fix for a well known instability...
antirez [Thu, 22 Jul 2010 11:08:02 +0000 (13:08 +0200)] 
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

14 years agovm_blocked_clients count fixed in INFO, thanks to Pietern Noordhuis
antirez [Wed, 21 Jul 2010 11:16:26 +0000 (13:16 +0200)] 
vm_blocked_clients count fixed in INFO, thanks to Pietern Noordhuis

14 years agoTODO list modified, trivial change to source code
antirez [Fri, 16 Jul 2010 21:56:18 +0000 (23:56 +0200)] 
TODO list modified, trivial change to source code

14 years agoWATCH is now affected only when write commands actually modify the key content
antirez [Mon, 12 Jul 2010 10:01:15 +0000 (12:01 +0200)] 
WATCH is now affected only when write commands actually modify the key content

14 years agofmacro included in linenoise.c
antirez [Fri, 9 Jul 2010 08:51:41 +0000 (10:51 +0200)] 
fmacro included in linenoise.c

14 years agoredis-cli history saved across sessions
antirez [Wed, 7 Jul 2010 16:44:53 +0000 (18:44 +0200)] 
redis-cli history saved across sessions

14 years agoredis-cli is now able to report version information using -v
antirez [Tue, 6 Jul 2010 17:17:09 +0000 (19:17 +0200)] 
redis-cli is now able to report version information using -v

14 years agoMake install fixed using a dummy taget
antirez [Tue, 6 Jul 2010 17:10:20 +0000 (19:10 +0200)] 
Make install fixed using a dummy taget

14 years agomake install target, finally ;)
antirez [Tue, 6 Jul 2010 17:07:16 +0000 (19:07 +0200)] 
make install target, finally ;)

14 years agotop level Makefile added, so you do not need to cd src
antirez [Tue, 6 Jul 2010 16:54:54 +0000 (18:54 +0200)] 
top level Makefile added, so you do not need to cd src

14 years agoimproved random dataset creation in test: del, sunionstore, zunionstore
antirez [Tue, 6 Jul 2010 16:30:38 +0000 (18:30 +0200)] 
improved random dataset creation in test: del, sunionstore, zunionstore

14 years agoFirst implementation of a replication consistency test
antirez [Tue, 6 Jul 2010 15:24:00 +0000 (17:24 +0200)] 
First implementation of a replication consistency test

14 years agomerged code from 184d74ab, 4774a53b, f483ce5f to new file structure
Pieter Noordhuis [Mon, 5 Jul 2010 19:16:33 +0000 (15:16 -0400)] 
merged code from 184d74ab4774a53bf483ce5f to new file structure

14 years agoINSTALL file added BETATESTING.txt removed
antirez [Mon, 5 Jul 2010 18:37:20 +0000 (20:37 +0200)] 
INSTALL file added BETATESTING.txt removed

14 years agoFixed compilation on *BSD systems
antirez [Mon, 5 Jul 2010 18:14:48 +0000 (20:14 +0200)] 
Fixed compilation on *BSD systems

14 years agoFixed a crash loading the AOF file containing MULTI/EXEC, a result of WATCH implement...
antirez [Mon, 5 Jul 2010 18:06:54 +0000 (20:06 +0200)] 
Fixed a crash loading the AOF file containing MULTI/EXEC, a result of WATCH implementation. Test needed...

14 years agoWATCH will now consider touched keys target of EXPIRE command after the WATCH is...
antirez [Mon, 5 Jul 2010 17:38:12 +0000 (19:38 +0200)] 
WATCH will now consider touched keys target of EXPIRE command after the WATCH is performed, but not before

14 years agoCompilation fixed on Linux after the source code split
antirez [Thu, 1 Jul 2010 19:13:38 +0000 (21:13 +0200)] 
Compilation fixed on Linux after the source code split

14 years agoFixed MONITOR output for consistency: now integer encoded values are also formatted...
antirez [Thu, 1 Jul 2010 18:22:46 +0000 (20:22 +0200)] 
Fixed MONITOR output for consistency: now integer encoded values are also formatted like this: "3932"

14 years agoFix the AOF fix of the latest commit ;)
antirez [Thu, 1 Jul 2010 18:18:48 +0000 (20:18 +0200)] 
Fix the AOF fix of the latest commit ;)

14 years agofixed error code checking for *write operations and return value in AOF rewriting...
antirez [Thu, 1 Jul 2010 18:13:33 +0000 (20:13 +0200)] 
fixed error code checking for *write operations and return value in AOF rewriting function

14 years agoMerged with split
antirez [Thu, 1 Jul 2010 14:55:12 +0000 (16:55 +0200)] 
Merged with split

14 years agominor aesthetic change
antirez [Thu, 1 Jul 2010 13:14:25 +0000 (15:14 +0200)] 
minor aesthetic change

14 years agoTODO updated
antirez [Thu, 1 Jul 2010 12:52:01 +0000 (14:52 +0200)] 
TODO updated

14 years agoVersion is now 2.1.2
antirez [Thu, 1 Jul 2010 12:47:26 +0000 (14:47 +0200)] 
Version is now 2.1.2

14 years agoMake log target fixed
antirez [Thu, 1 Jul 2010 12:45:37 +0000 (14:45 +0200)] 
Make log target fixed

14 years agogitignore modified
antirez [Thu, 1 Jul 2010 12:41:03 +0000 (14:41 +0200)] 
gitignore modified

14 years agoredis.c split into many different C files.
antirez [Mon, 21 Jun 2010 22:07:48 +0000 (00:07 +0200)] 
redis.c split into many different C files.

networking related stuff moved into networking.c

moved more code

more work on layout of source code

SDS instantaneuos memory saving. By Pieter and Salvatore at VMware ;)

cleanly compiling again after the first split, now splitting it in more C files

moving more things around... work in progress

split replication code

splitting more

Sets split

Hash split

replication split

even more splitting

more splitting

minor change

14 years agoMerge remote branch 'pietern/zfixes'
antirez [Thu, 24 Jun 2010 22:23:38 +0000 (00:23 +0200)] 
Merge remote branch 'pietern/zfixes'

14 years agofix unexpected behavior on an out of range end index for LRANGE and LTRIM
Pieter Noordhuis [Thu, 24 Jun 2010 22:12:42 +0000 (15:12 -0700)] 
fix unexpected behavior on an out of range end index for LRANGE and LTRIM

14 years agomore pub/sub tests
Pieter Noordhuis [Wed, 16 Jun 2010 09:03:23 +0000 (11:03 +0200)] 
more pub/sub tests

14 years agoinitial basic pub/sub tests
Pieter Noordhuis [Tue, 15 Jun 2010 20:40:21 +0000 (22:40 +0200)] 
initial basic pub/sub tests

14 years agofix BLPOP/BRPOP to use the wrapped function for list length
Pieter Noordhuis [Tue, 15 Jun 2010 19:16:56 +0000 (21:16 +0200)] 
fix BLPOP/BRPOP to use the wrapped function for list length

14 years agotests for BLPOP/BRPOP via an option in the tcl client that defers reading the reply
Pieter Noordhuis [Tue, 15 Jun 2010 19:16:27 +0000 (21:16 +0200)] 
tests for BLPOP/BRPOP via an option in the tcl client that defers reading the reply

14 years agofix behavior for out-of-range negative end index on ZREMRANGEBYRANK
Pieter Noordhuis [Tue, 15 Jun 2010 14:21:42 +0000 (16:21 +0200)] 
fix behavior for out-of-range negative end index on ZREMRANGEBYRANK

14 years agomore tests for zrange and zrevrange; fix behavior for out-of-range negative end index
Pieter Noordhuis [Tue, 15 Jun 2010 13:40:28 +0000 (15:40 +0200)] 
more tests for zrange and zrevrange; fix behavior for out-of-range negative end index

14 years agoTODO updated
antirez [Mon, 14 Jun 2010 15:59:03 +0000 (17:59 +0200)] 
TODO updated

14 years agoMerge branch 'ltrim-tests' of git://github.com/pietern/redis
antirez [Mon, 14 Jun 2010 08:22:38 +0000 (10:22 +0200)] 
Merge branch 'ltrim-tests' of git://github.com/pietern/redis

14 years agorename "list" to "linkedlist" to be more verbose
Pieter Noordhuis [Mon, 14 Jun 2010 08:21:23 +0000 (10:21 +0200)] 
rename "list" to "linkedlist" to be more verbose

14 years agoallow running the test suite against an external Redis instance, without auto spawning
antirez [Mon, 14 Jun 2010 08:19:45 +0000 (10:19 +0200)] 
allow running the test suite against an external Redis instance, without auto spawning

14 years agochange ltrim tests to cover all min/max cases and add stronger stresser
Pieter Noordhuis [Mon, 14 Jun 2010 07:45:34 +0000 (09:45 +0200)] 
change ltrim tests to cover all min/max cases and add stronger stresser

14 years agoFixed deps in makefile and mkreleasehdr.sh script to really take advantage of the...
antirez [Sun, 13 Jun 2010 21:51:43 +0000 (23:51 +0200)] 
Fixed deps in makefile and mkreleasehdr.sh script to really take advantage of the new trick to avoid recompilation of redis.c on git sha1 or dirty status change

14 years agohopefully faster recompiling with a trick
antirez [Sun, 13 Jun 2010 21:45:14 +0000 (23:45 +0200)] 
hopefully faster recompiling with a trick

14 years agofixed a bug in rdbLoadObject abount specially encoded objects
antirez [Sun, 13 Jun 2010 19:09:51 +0000 (21:09 +0200)] 
fixed a bug in rdbLoadObject abount specially encoded objects

14 years agouse raw strings when loading a hash from the rdb into a zipmap
Pieter Noordhuis [Sun, 13 Jun 2010 13:07:53 +0000 (15:07 +0200)] 
use raw strings when loading a hash from the rdb into a zipmap

14 years agoMerge branch 'expire' of git://github.com/pietern/redis
antirez [Sat, 12 Jun 2010 14:26:04 +0000 (16:26 +0200)] 
Merge branch 'expire' of git://github.com/pietern/redis

14 years agoMerge branch 'lists' of git://github.com/pietern/redis
antirez [Fri, 11 Jun 2010 18:27:56 +0000 (20:27 +0200)] 
Merge branch 'lists' of git://github.com/pietern/redis

14 years agoLPUSHX, RPUSHX, LINSERT only work on non-empty lists, so there are no clients waiting...
Pieter Noordhuis [Fri, 11 Jun 2010 15:35:48 +0000 (17:35 +0200)] 
LPUSHX, RPUSHX, LINSERT only work on non-empty lists, so there are no clients waiting for a push

14 years agomake LINSERT return -1 when the value could not be inserted
Pieter Noordhuis [Fri, 11 Jun 2010 15:34:23 +0000 (17:34 +0200)] 
make LINSERT return -1 when the value could not be inserted

14 years agocheck if the list encoding needs to be changed on LPUSHX, RPUSHX, LINSERT
Pieter Noordhuis [Fri, 11 Jun 2010 12:51:59 +0000 (14:51 +0200)] 
check if the list encoding needs to be changed on LPUSHX, RPUSHX, LINSERT

14 years agomake sure the value to insert is string encoded
Pieter Noordhuis [Fri, 11 Jun 2010 11:27:21 +0000 (13:27 +0200)] 
make sure the value to insert is string encoded

14 years agorename vars, move arguments, add comments
Pieter Noordhuis [Fri, 11 Jun 2010 11:06:03 +0000 (13:06 +0200)] 
rename vars, move arguments, add comments

14 years agoalways iterate from head to tail on LINSERT
Pieter Noordhuis [Fri, 11 Jun 2010 10:03:15 +0000 (12:03 +0200)] 
always iterate from head to tail on LINSERT

14 years agouse REDIS_TAIL to insert AFTER an entry and REDIS_HEAD to insert BEFORE an entry
Pieter Noordhuis [Fri, 11 Jun 2010 09:53:16 +0000 (11:53 +0200)] 
use REDIS_TAIL to insert AFTER an entry and REDIS_HEAD to insert BEFORE an entry

14 years agomove listTypeInsert to be grouped with other wrapper functions
Pieter Noordhuis [Fri, 11 Jun 2010 08:52:09 +0000 (10:52 +0200)] 
move listTypeInsert to be grouped with other wrapper functions

14 years agosquashed merge from robey/twitter3: LINSERT BEFORE|AFTER, LPUSHX, RPUSHX
Robey Pointer [Fri, 11 Jun 2010 08:08:59 +0000 (10:08 +0200)] 
squashed merge from robey/twitter3: LINSERT BEFORE|AFTER, LPUSHX, RPUSHX

14 years agoremove pop function and the sds dependency; can be implemented using get+delete
Pieter Noordhuis [Wed, 9 Jun 2010 09:36:58 +0000 (11:36 +0200)] 
remove pop function and the sds dependency; can be implemented using get+delete

14 years agocompute swappability for ziplist encoded lists
Pieter Noordhuis [Mon, 7 Jun 2010 19:53:21 +0000 (21:53 +0200)] 
compute swappability for ziplist encoded lists

14 years agoreuse the sds from the main dictionary in the expiration dictionary
Pieter Noordhuis [Mon, 7 Jun 2010 18:44:12 +0000 (20:44 +0200)] 
reuse the sds from the main dictionary in the expiration dictionary