]>
git.saurik.com Git - redis.git/log
antirez [Wed, 1 Feb 2012 16:49:03 +0000 (17:49 +0100)]
Added tests checking ability of the scripting engine to reorder the output of commands with a random output regarding signle elements position in the multi bulk reply.
antirez [Wed, 1 Feb 2012 16:37:48 +0000 (17:37 +0100)]
A few SORT tests made more resistant to false negatives resulitng from poor randomization of Redis hash function with one byte inputs.
antirez [Wed, 1 Feb 2012 16:17:52 +0000 (17:17 +0100)]
New SORT tests checking the new more deterministic behavior of SORT sorting algorithm.
antirez [Wed, 1 Feb 2012 16:05:45 +0000 (17:05 +0100)]
Make SORT BY <constant> STORE ... to always produce the same output by force sorting, so that we have deterministic replication of this command.
antirez [Wed, 1 Feb 2012 14:22:28 +0000 (15:22 +0100)]
SORT is now more deterministic: does not accept to compare by score items that have scores not representing a valid double. Also items with the same score are compared lexycographically. At the same time the scripting side introduced the ability to sort the output of SORT when sort uses the BY <constant> optimization, resulting in no specific ordering. Since in this case the user may use GET, and the result of GET can be null, converted into false as Lua data type, this commit also introduces the ability to sort Lua tables containining false, only if the first (faster) attempt at using just table.sort with a single argument fails.
antirez [Tue, 31 Jan 2012 15:09:21 +0000 (16:09 +0100)]
Order output of commands returning random arrays using table.sort when called from Lua, partially fixing issue #165. The issue is yet not completely fixed since we can't add the REDIS_CMD_SORT_FOR_SCRIPT flag in SORT currently, both because it may contain NULLs and because it is not cool to re-sort everything at every call when instead this should be sorted only if BY <constant> is used.
antirez [Tue, 31 Jan 2012 10:43:32 +0000 (11:43 +0100)]
Fixed redis-benchmark --help output typo
antirez [Tue, 31 Jan 2012 09:35:52 +0000 (10:35 +0100)]
64 bit instances are no longer limited to have at max 2^32-1 elements in lists.
antirez [Mon, 30 Jan 2012 20:08:10 +0000 (21:08 +0100)]
minimal change to obuf-limits.tcl test to make sure there are no false positives with 32bit instances as well.
antirez [Mon, 30 Jan 2012 09:40:28 +0000 (10:40 +0100)]
Merge remote-tracking branch 'origin/unstable' into unstable
Salvatore Sanfilippo [Mon, 30 Jan 2012 09:40:17 +0000 (01:40 -0800)]
Merge pull request #319 from fawek/lua-error-location
Lua reports line numbers off by one in error messages
antirez [Mon, 30 Jan 2012 09:27:50 +0000 (10:27 +0100)]
setKey(): call the higher level wrapper setModifiedKey() instead of touchWatchedKey() even if currently they are exactly the same.
Salvatore Sanfilippo [Mon, 30 Jan 2012 09:25:34 +0000 (01:25 -0800)]
Merge pull request #321 from mkwiatkowski/ticket227
SORT with STORE removes key if result is empty. This fixes issue #227.
Michal Kwiatkowski [Mon, 30 Jan 2012 06:36:49 +0000 (07:36 +0100)]
SORT with STORE removes key if result is empty. This fixes issue #227.
Jakub Wieczorek [Sun, 29 Jan 2012 13:53:49 +0000 (14:53 +0100)]
Lua reports line numbers off by one in error messages
antirez [Thu, 26 Jan 2012 15:45:08 +0000 (16:45 +0100)]
false positive in expire tests mitigated with a sleep, but other solutions exist if needed later.
antirez [Thu, 26 Jan 2012 15:08:24 +0000 (16:08 +0100)]
Less false positives for obuf-limits.tcl tests
antirez [Wed, 25 Jan 2012 17:34:56 +0000 (18:34 +0100)]
Added test for client output buffer limit (soft limit).
antirez [Wed, 25 Jan 2012 17:11:04 +0000 (18:11 +0100)]
Added test for client output buffer limit (hard limit).
antirez [Wed, 25 Jan 2012 17:07:56 +0000 (18:07 +0100)]
Fixed typo in getClientLimitClassByName()
antirez [Wed, 25 Jan 2012 15:59:58 +0000 (16:59 +0100)]
Merge branch 'unstable' into limits
antirez [Wed, 25 Jan 2012 15:59:32 +0000 (16:59 +0100)]
Fixed another possible bug in cluster.c found by clang --analyze.
antirez [Wed, 25 Jan 2012 15:59:32 +0000 (16:59 +0100)]
Fixed another possible bug in cluster.c found by clang --analyze.
antirez [Wed, 25 Jan 2012 15:46:53 +0000 (16:46 +0100)]
Merge branch 'unstable' into limits
antirez [Wed, 25 Jan 2012 15:46:19 +0000 (16:46 +0100)]
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.
antirez [Wed, 25 Jan 2012 09:41:25 +0000 (10:41 +0100)]
Merge branch 'unstable' into limits
antirez [Wed, 25 Jan 2012 09:35:47 +0000 (10:35 +0100)]
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).
Mukund Sivaraman [Wed, 25 Jan 2012 09:27:37 +0000 (10:27 +0100)]
If aeApiCreate() fails, there's probably not much one can do, but in the name of consistency...
antirez [Tue, 24 Jan 2012 14:33:15 +0000 (15:33 +0100)]
lenght -> length
antirez [Tue, 24 Jan 2012 13:46:23 +0000 (14:46 +0100)]
redis.conf typo fixed in the client-output-buffer-limit documentation
antirez [Tue, 24 Jan 2012 11:03:48 +0000 (12:03 +0100)]
after all closing a client for output buffer limit overcoming is a WARNING level message.
antirez [Tue, 24 Jan 2012 10:23:23 +0000 (11:23 +0100)]
client-output-buffer-limit documented in redis.conf
antirez [Tue, 24 Jan 2012 09:43:30 +0000 (10:43 +0100)]
Client output buffer limits: configuration of parameters for the different classes of clients implemented.
antirez [Tue, 24 Jan 2012 08:32:39 +0000 (09:32 +0100)]
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.
antirez [Mon, 23 Jan 2012 16:15:49 +0000 (17:15 +0100)]
client buffer handling refactoring and optimization
antirez [Mon, 23 Jan 2012 15:19:49 +0000 (16:19 +0100)]
CLIENT LIST test fixed (there is a new omem field in the output)
antirez [Mon, 23 Jan 2012 15:17:22 +0000 (16:17 +0100)]
actually call the function to async free clients in serverCron().
antirez [Mon, 23 Jan 2012 15:12:37 +0000 (16:12 +0100)]
Implementation of the internals that make possible to terminate clients overcoming configured output buffer (soft and hard) limits.
antirez [Mon, 23 Jan 2012 09:36:07 +0000 (10:36 +0100)]
Merge branch 'unstable' into limits
antirez [Sun, 22 Jan 2012 00:40:23 +0000 (01:40 +0100)]
fixed typo in hahs function seed default value. It is no longer used but fixed to retain the old constant as default anyway.
antirez [Sat, 21 Jan 2012 22:34:06 +0000 (23:34 +0100)]
typo in comment fixed
antirez [Sat, 21 Jan 2012 22:05:32 +0000 (23:05 +0100)]
Fix for hash table collision attack. We simply randomize hash table initialization value at startup time.
antirez [Fri, 20 Jan 2012 15:40:43 +0000 (16:40 +0100)]
Better looking registers/stack dump
antirez [Fri, 20 Jan 2012 13:37:50 +0000 (14:37 +0100)]
added support to dump registers on crash on Linux x32
antirez [Fri, 20 Jan 2012 11:54:15 +0000 (12:54 +0100)]
added support to dump registers on crash on Linux x64
antirez [Fri, 20 Jan 2012 11:20:45 +0000 (12:20 +0100)]
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.
antirez [Tue, 17 Jan 2012 11:43:01 +0000 (12:43 +0100)]
Introduced three client limit classes: normal, slave, pubsub
antirez [Sun, 25 Dec 2011 15:32:54 +0000 (16:32 +0100)]
Track the length of the client pending output buffers (still to transfer) in a new field in the client structure.
antirez [Mon, 16 Jan 2012 15:50:41 +0000 (16:50 +0100)]
Merge remote-tracking branch 'origin/unstable' into unstable
antirez [Mon, 16 Jan 2012 15:50:24 +0000 (16:50 +0100)]
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.
Salvatore Sanfilippo [Mon, 16 Jan 2012 11:44:00 +0000 (03:44 -0800)]
Merge pull request #279 from kashif/patch-1
Fixed some typos in redis.conf.
antirez [Mon, 16 Jan 2012 10:27:22 +0000 (11:27 +0100)]
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.
antirez [Mon, 16 Jan 2012 09:08:33 +0000 (10:08 +0100)]
Obsolete SDS_ABORT_ON_OOM removed from sds.c
antirez [Mon, 16 Jan 2012 09:03:38 +0000 (10:03 +0100)]
sds.c no longe pre-allocate more than 1MB of free space ahead. This fixes issue #252.
antirez [Mon, 16 Jan 2012 08:39:04 +0000 (09:39 +0100)]
added a comment on top of the zslRandomLevel() function
antirez [Thu, 12 Jan 2012 15:24:41 +0000 (16:24 +0100)]
Possible fix for false positives in issue 141 regression test
antirez [Thu, 12 Jan 2012 15:02:57 +0000 (16:02 +0100)]
On crash print information about the current client (if any), command vector, and object associated to first argument assuming it is a key.
antirez [Wed, 11 Jan 2012 19:25:41 +0000 (20:25 +0100)]
error in comment fixed
antirez [Tue, 10 Jan 2012 17:37:16 +0000 (18:37 +0100)]
show GCC version in INFO output.
antirez [Sat, 7 Jan 2012 11:54:48 +0000 (12:54 +0100)]
version bumped to 2.9.3
antirez [Fri, 6 Jan 2012 16:28:40 +0000 (17:28 +0100)]
Regression test for the main problem causing issue #141. Minor changes/fixes/additions to the test suite itself needed to write the test.
antirez [Fri, 6 Jan 2012 11:54:29 +0000 (12:54 +0100)]
Regression tests for protocol desync bug related to Issue #141
antirez [Sat, 31 Dec 2011 15:09:46 +0000 (16:09 +0100)]
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.
antirez [Sat, 31 Dec 2011 14:37:33 +0000 (15:37 +0100)]
Protocol and I/O related defines moved into a separated section of redis.h
antirez [Sat, 31 Dec 2011 14:34:02 +0000 (15:34 +0100)]
A few no longer used defines removed from redis.h
antirez [Fri, 30 Dec 2011 18:34:40 +0000 (19:34 +0100)]
Fixed replication when multiple slaves are attaching at the same time. The output buffer was not copied correctly between slaves. This fixes issue #141.
Kashif Rasul [Wed, 28 Dec 2011 21:14:23 +0000 (22:14 +0100)]
Fixed some typos in redis.conf.
antirez [Fri, 23 Dec 2011 08:34:28 +0000 (09:34 +0100)]
Merge remote-tracking branch 'origin/unstable' into unstable
antirez [Fri, 23 Dec 2011 08:34:06 +0000 (09:34 +0100)]
Added regression test for ZUNIONSTORE creating NaN (github issue #264)
antirez [Fri, 23 Dec 2011 08:27:31 +0000 (09:27 +0100)]
Prevent NaN scores in sorted sets resulting from calls to ZUNIONSTORE and ZINTERSTORE.
Salvatore Sanfilippo [Thu, 22 Dec 2011 15:00:42 +0000 (07:00 -0800)]
Merge pull request #268 from diegok/unstable
Fixed a config docs typo.
diegok [Thu, 22 Dec 2011 11:22:23 +0000 (12:22 +0100)]
Fixed a config docs typo.
antirez [Wed, 21 Dec 2011 16:13:31 +0000 (17:13 +0100)]
Merge remote-tracking branch 'origin/unstable' into unstable
antirez [Wed, 21 Dec 2011 16:12:23 +0000 (17:12 +0100)]
sligthly better AOF related logs
antirez [Wed, 21 Dec 2011 15:37:22 +0000 (16:37 +0100)]
Log when the child rewriting the AOF is killed by stopAppendOnly()
antirez [Wed, 21 Dec 2011 11:23:18 +0000 (12:23 +0100)]
server.replstate -> server.repl_state
antirez [Wed, 21 Dec 2011 11:22:13 +0000 (12:22 +0100)]
some RDB server struct fields renamed.
antirez [Wed, 21 Dec 2011 11:17:02 +0000 (12:17 +0100)]
more AOF server struct fields renamed.
antirez [Wed, 21 Dec 2011 10:58:42 +0000 (11:58 +0100)]
AOF fileds in the global server state, and define names, renamed with more consistent names. More work to do.
antirez [Wed, 21 Dec 2011 09:31:34 +0000 (10:31 +0100)]
AOF refactoring, now with three states: ON, OFF, WAIT_REWRITE.
antirez [Wed, 21 Dec 2011 09:05:32 +0000 (10:05 +0100)]
server.appendonly -> server.aof_state, and many comments added in the server global state structure in the process.
antirez [Wed, 21 Dec 2011 08:24:14 +0000 (09:24 +0100)]
A test modified to pass with the new AOF start/stop semantics.
antirez [Wed, 21 Dec 2011 08:23:22 +0000 (09:23 +0100)]
Redis test: when assertion fails print not just the expression but also expanded values in the error message.
antirez [Tue, 20 Dec 2011 16:52:57 +0000 (17:52 +0100)]
Do not propagate DEBUG LOADAOF
antirez [Tue, 20 Dec 2011 16:00:27 +0000 (17:00 +0100)]
startAppendOnly() fixed to set server.appendonly to 0 if the start failed.
antirez [Tue, 20 Dec 2011 09:29:33 +0000 (10:29 +0100)]
Merge remote-tracking branch 'origin/unstable' into aof-fixes
Salvatore Sanfilippo [Mon, 19 Dec 2011 13:38:31 +0000 (05:38 -0800)]
Merge pull request #258 from miaout17/bugfix-247
Fix issue #247 and add a test case
BigCat [Mon, 19 Dec 2011 11:45:57 +0000 (19:45 +0800)]
I found that no test will fail even if I broke the `SORT x LIMIT y z` code.
Added a naive unit test for SORT-LIMIT command.
BigCat [Mon, 19 Dec 2011 11:29:46 +0000 (19:29 +0800)]
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
antirez [Mon, 19 Dec 2011 09:55:31 +0000 (10:55 +0100)]
version bumped to 2.9.2
antirez [Mon, 19 Dec 2011 09:21:50 +0000 (10:21 +0100)]
unit/introspection.tcl added
antirez [Mon, 19 Dec 2011 09:18:21 +0000 (10:18 +0100)]
unit/introspection added among tests executed by default
antirez [Mon, 19 Dec 2011 09:16:37 +0000 (10:16 +0100)]
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
antirez [Sun, 18 Dec 2011 10:12:58 +0000 (11:12 +0100)]
added assertion in zslInsert() that ensures the inserted element score is not NaN
antirez [Fri, 16 Dec 2011 08:56:12 +0000 (09:56 +0100)]
Merge remote-tracking branch 'origin/unstable' into unstable
antirez [Fri, 16 Dec 2011 08:55:01 +0000 (09:55 +0100)]
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.
antirez [Thu, 15 Dec 2011 19:03:28 +0000 (20:03 +0100)]
Fix: when aof_write_rewrite is true don't append on the AOF buffer but accumulate the differences for the rewrite.
antirez [Thu, 15 Dec 2011 15:07:49 +0000 (16:07 +0100)]
AOF fixes in the context of replicaiton (when AOF is used by slave) and CONFIG SET appendonly yes/no.
antirez [Thu, 15 Dec 2011 10:50:15 +0000 (11:50 +0100)]
ae_epoll.c typo introduced in the previous commit fixed.
antirez [Thu, 15 Dec 2011 10:42:40 +0000 (11:42 +0100)]
Max limit to 10k clients removed, this implements feature request on issue #194