]> git.saurik.com Git - redis.git/log
redis.git
14 years agoMake the function intsetUpgrade self-contained
Pieter Noordhuis [Thu, 26 Aug 2010 09:22:58 +0000 (11:22 +0200)] 
Make the function intsetUpgrade self-contained

14 years agoExpand macro's to functions for readability
Pieter Noordhuis [Thu, 26 Aug 2010 09:06:30 +0000 (11:06 +0200)] 
Expand macro's to functions for readability

14 years agoUse fstat to detect if stdin was redirected
Pieter Noordhuis [Wed, 25 Aug 2010 12:48:50 +0000 (14:48 +0200)] 
Use fstat to detect if stdin was redirected

14 years agoMake helper functions simpler
Pieter Noordhuis [Wed, 25 Aug 2010 12:15:41 +0000 (14:15 +0200)] 
Make helper functions simpler

14 years agoComments in redis-cli tests
Pieter Noordhuis [Wed, 25 Aug 2010 12:08:32 +0000 (14:08 +0200)] 
Comments in redis-cli tests

14 years agoAdd a newline to tty output after every reply
Pieter Noordhuis [Wed, 25 Aug 2010 11:39:11 +0000 (13:39 +0200)] 
Add a newline to tty output after every reply

14 years agoRe-introduce the interactive field so we can reconnect in interactive mode
Pieter Noordhuis [Wed, 25 Aug 2010 08:05:50 +0000 (10:05 +0200)] 
Re-introduce the interactive field so we can reconnect in interactive mode

14 years agoMerge master and move argument splitting patch to sds.c
Pieter Noordhuis [Wed, 25 Aug 2010 07:54:02 +0000 (09:54 +0200)] 
Merge master and move argument splitting patch to sds.c

14 years agoredis-cli now supports automatically reconnection in interactive mode
antirez [Tue, 24 Aug 2010 16:39:34 +0000 (18:39 +0200)] 
redis-cli now supports automatically reconnection in interactive mode

14 years agoIssue 179 fixed, now redis-cli is able to parse correctly multi bulk replies with...
antirez [Tue, 24 Aug 2010 16:08:09 +0000 (18:08 +0200)] 
Issue 179 fixed, now redis-cli is able to parse correctly multi bulk replies with elements that are errors

14 years agoThe pid file is now created only after the server is correctly initialied. It is...
antirez [Tue, 24 Aug 2010 15:09:25 +0000 (17:09 +0200)] 
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

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 agoRename iterator to setTypeIterator for consistency
Pieter Noordhuis [Sat, 21 Aug 2010 09:25:13 +0000 (11:25 +0200)] 
Rename iterator to setTypeIterator for consistency

14 years agoMake SORT use the hybrid set accessors to allow sorting intsets
Pieter Noordhuis [Sat, 21 Aug 2010 09:15:31 +0000 (11:15 +0200)] 
Make SORT use the hybrid set accessors to allow sorting intsets

14 years agoSORT tests with hash table encoded set as input
Pieter Noordhuis [Sat, 21 Aug 2010 09:03:56 +0000 (11:03 +0200)] 
SORT tests with hash table encoded set as input

14 years agoMake SORT tests use both ziplists and linked lists as input
Pieter Noordhuis [Sat, 21 Aug 2010 09:02:22 +0000 (11:02 +0200)] 
Make SORT tests use both ziplists and linked lists as input

14 years agoMove SORT tests around
Pieter Noordhuis [Sat, 21 Aug 2010 08:55:53 +0000 (10:55 +0200)] 
Move SORT tests around

14 years agoDon't abort test suite when the server block has a return value
Pieter Noordhuis [Sat, 21 Aug 2010 08:54:31 +0000 (10:54 +0200)] 
Don't abort test suite when the server block has a return value

14 years agoCheck if stroll return value was clamped
Pieter Noordhuis [Fri, 20 Aug 2010 11:42:42 +0000 (13:42 +0200)] 
Check if stroll return value was clamped

14 years agoMerge branch 'master' into intset-split
Pieter Noordhuis [Fri, 20 Aug 2010 10:40:29 +0000 (12:40 +0200)] 
Merge branch 'master' into intset-split

Conflicts:
src/Makefile
src/t_set.c

14 years agoMake ziplist schema more efficient for strings with length > 15
Pieter Noordhuis [Fri, 13 Aug 2010 17:28:49 +0000 (19:28 +0200)] 
Make ziplist schema more efficient for strings with length > 15

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 agoDeprecate starting interactive mode using the -i flag
Pieter Noordhuis [Wed, 4 Aug 2010 16:36:03 +0000 (18:36 +0200)] 
Deprecate starting interactive mode using the -i flag

14 years agoSet tty before going into interactive mode to get non-pretty output when
Pieter Noordhuis [Wed, 4 Aug 2010 16:16:39 +0000 (18:16 +0200)] 
Set tty before going into interactive mode to get non-pretty output when
the commands are read from stdin.

14 years agoChange output format for non-tty redis-cli execution
Pieter Noordhuis [Wed, 4 Aug 2010 15:46:56 +0000 (17:46 +0200)] 
Change output format for non-tty redis-cli execution

14 years agoLet the output mode depend on having a tty or not
Pieter Noordhuis [Wed, 4 Aug 2010 15:16:05 +0000 (17:16 +0200)] 
Let the output mode depend on having a tty or not

14 years agoTests for redis-cli in non-interactive mode
Pieter Noordhuis [Wed, 4 Aug 2010 15:02:13 +0000 (17:02 +0200)] 
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.

14 years agoAdd tests for quotation in an interactive redis-cli session
Pieter Noordhuis [Wed, 4 Aug 2010 13:29:28 +0000 (15:29 +0200)] 
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.

14 years agoTests for the interactive mode of redis-cli
Pieter Noordhuis [Wed, 4 Aug 2010 12:15:52 +0000 (14:15 +0200)] 
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.

14 years agoReference zset score in zskiplistNode from dict entries
Pieter Noordhuis [Tue, 3 Aug 2010 18:49:53 +0000 (20:49 +0200)] 
Reference zset score in zskiplistNode from dict entries

This avoids the extra allocation of sizeof(double) for storing the score
of a zset entry in the hash table. Saves sizeof(double) + malloc
overhead = approx. 16 bytes per zset entry.

14 years agoUse flexible array in zskiplistNode to reduce memory usage
Pieter Noordhuis [Tue, 3 Aug 2010 17:21:16 +0000 (19:21 +0200)] 
Use flexible array in zskiplistNode to reduce memory usage

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 agofix aof and digest code to work with dual set encoding
Pieter Noordhuis [Fri, 2 Jul 2010 18:42:20 +0000 (20:42 +0200)] 
fix aof and digest code to work with dual set encoding

14 years agomerged intset code into the split files
Pieter Noordhuis [Fri, 2 Jul 2010 17:57:12 +0000 (19:57 +0200)] 
merged intset code into the split files

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