]> git.saurik.com Git - redis.git/log
redis.git
12 years agoReturn ASAP from checkClientOutputBufferLimits() if c->reply_bytes is zero.
antirez [Thu, 16 Feb 2012 11:20:56 +0000 (12:20 +0100)] 
Return ASAP from checkClientOutputBufferLimits() if c->reply_bytes is zero.

12 years agoMerge branch 'issue327' into unstable
antirez [Thu, 16 Feb 2012 08:40:27 +0000 (09:40 +0100)] 
Merge branch 'issue327' into unstable

12 years agoAdd stdint.h in endianconv.h to fix issue #336.
antirez [Wed, 15 Feb 2012 11:21:04 +0000 (12:21 +0100)] 
Add stdint.h in endianconv.h to fix issue #336.

12 years agoredis-check-aof is now large files safe also on 32 bit systems.
antirez [Tue, 14 Feb 2012 18:57:31 +0000 (19:57 +0100)] 
redis-check-aof is now large files safe also on 32 bit systems.

12 years agoadd -f flag to cp when installing, otherwise stopping the server is
antirez [Tue, 14 Feb 2012 15:15:20 +0000 (16:15 +0100)] 
add -f flag to cp when installing, otherwise stopping the server is
needed when installing a new Redis version. Thanks to Scott Kevill.
Fixes issue #335.

12 years agoendian.c/h -> endianconv.c/h to avoid issues with broken libraries search paths.
antirez [Tue, 14 Feb 2012 15:11:46 +0000 (16:11 +0100)] 
endian.c/h -> endianconv.c/h to avoid issues with broken libraries search paths.

12 years agoMerge remote-tracking branch 'origin/unstable' into unstable
antirez [Tue, 14 Feb 2012 15:02:04 +0000 (16:02 +0100)] 
Merge remote-tracking branch 'origin/unstable' into unstable

12 years agointset.c endianess fixes.
antirez [Tue, 14 Feb 2012 14:35:50 +0000 (15:35 +0100)] 
intset.c endianess fixes.

12 years agoMerge pull request #334 from lsbardel/quantredis
Salvatore Sanfilippo [Mon, 13 Feb 2012 23:05:59 +0000 (15:05 -0800)] 
Merge pull request #334 from lsbardel/quantredis

added lua struct c extension

12 years agoadded lua struct c extension
lsbardel [Mon, 13 Feb 2012 21:05:21 +0000 (21:05 +0000)] 
added lua struct c extension

12 years agoziplist.c endianess fixes, chapter 5.
antirez [Thu, 9 Feb 2012 16:09:01 +0000 (17:09 +0100)] 
ziplist.c endianess fixes, chapter 5.

12 years agoziplist.c endianess fixes, chapter 4.
antirez [Thu, 9 Feb 2012 15:36:25 +0000 (16:36 +0100)] 
ziplist.c endianess fixes, chapter 4.

12 years agoziplist.c endianess fixes, chapter 3.
antirez [Thu, 9 Feb 2012 15:28:35 +0000 (16:28 +0100)] 
ziplist.c endianess fixes, chapter 3.

12 years agomore ziplist.c endianess fixes
antirez [Wed, 8 Feb 2012 22:20:39 +0000 (23:20 +0100)] 
more ziplist.c endianess fixes

12 years agoziplist.c fixes for bigendian
antirez [Wed, 8 Feb 2012 21:59:35 +0000 (22:59 +0100)] 
ziplist.c fixes for bigendian

12 years agoA few small BSD related fixes.
antirez [Wed, 8 Feb 2012 21:24:59 +0000 (22:24 +0100)] 
A few small BSD related fixes.

12 years agomore practical maxmemory+slaves hint in redis.conf
antirez [Tue, 7 Feb 2012 23:20:46 +0000 (00:20 +0100)] 
more practical maxmemory+slaves hint in redis.conf

12 years agoredis.conf updated with new maxmemory semantics
antirez [Tue, 7 Feb 2012 23:17:27 +0000 (00:17 +0100)] 
redis.conf updated with new maxmemory semantics

12 years agodebugging messages removed from freeMemoryIfNeeded()
antirez [Tue, 7 Feb 2012 23:10:20 +0000 (00:10 +0100)] 
debugging messages removed from freeMemoryIfNeeded()

12 years agoFixes to c->reply_bytes computation, and debug messages to closely study the behavior...
antirez [Tue, 7 Feb 2012 16:41:31 +0000 (17:41 +0100)] 
Fixes to c->reply_bytes computation, and debug messages to closely study the behavior of memory pressure + slaves + maxmemory + blocked slaves.

12 years agoFixes to 2.6 release notes file
antirez [Tue, 7 Feb 2012 14:08:38 +0000 (15:08 +0100)] 
Fixes to 2.6 release notes file

12 years agoPrecision of getClientOutputBufferMemoryUsage() greatily improved, see issue #327...
antirez [Tue, 7 Feb 2012 12:05:36 +0000 (13:05 +0100)] 
Precision of getClientOutputBufferMemoryUsage() greatily improved, see issue #327 for more information.

12 years agofreeMemoryIfNeeded() minor refactoring
antirez [Mon, 6 Feb 2012 15:56:42 +0000 (16:56 +0100)] 
freeMemoryIfNeeded() minor refactoring

12 years agoAlso remove size of AOF buffers from used memory when doing the math for freeMemoryIf...
antirez [Mon, 6 Feb 2012 15:35:43 +0000 (16:35 +0100)] 
Also remove size of AOF buffers from used memory when doing the math for freeMemoryIfNeeded()

12 years agoA first (work in progress) release notes for 2.6
antirez [Sun, 5 Feb 2012 10:08:01 +0000 (11:08 +0100)] 
A first (work in progress) release notes for 2.6

12 years agoINSTALL now redirects the user to README
antirez [Sun, 5 Feb 2012 08:38:41 +0000 (09:38 +0100)] 
INSTALL now redirects the user to README

12 years agoRedis Manifesto moved from src to root dir
antirez [Sun, 5 Feb 2012 08:37:08 +0000 (09:37 +0100)] 
Redis Manifesto moved from src to root dir

12 years agoThis fixes issue #327, is a very complex fix (unfortunately), details:
antirez [Sat, 4 Feb 2012 13:05:54 +0000 (14:05 +0100)] 
This fixes issue #327, is a very complex fix (unfortunately), details:

1) sendReplyToClient() now no longer stops transferring data to a single
client in the case we are out of memory (maxmemory-wise).

2) in processCommand() the idea of we being out of memory is no longer
the naive zmalloc_used_memory() > server.maxmemory. To say if we can
accept or not write queries is up to the return value of
freeMemoryIfNeeded(), that has full control about that.

3) freeMemoryIfNeeded() now does its math without considering output
buffers size. But at the same time it can't let the output buffers to
put us too much outside the max memory limit, so at the same time it
makes sure there is enough effort into delivering the output buffers to
the slaves, calling the write handler directly.

This three changes are the result of many tests, I found (partially
empirically) that is the best way to address the problem, but maybe
we'll find better solutions in the future.

12 years agoUse less memory when emitting the protocol, by using more shared objects for commonly...
antirez [Sat, 4 Feb 2012 07:58:37 +0000 (08:58 +0100)] 
Use less memory when emitting the protocol, by using more shared objects for commonly emitted parts of the protocol.

12 years agoNow Lua scripts dispatch Redis commands properly calling the call() function. In...
antirez [Thu, 2 Feb 2012 15:30:52 +0000 (16:30 +0100)] 
Now Lua scripts dispatch Redis commands properly calling the call() function. In order to make this possible call() was improved with a new flags argument that controls how the Redis command is executed.

12 years agoSet a 3.5 GB maxmemory limit with noeviction policy if a 32 bit instance without...
antirez [Thu, 2 Feb 2012 09:17:16 +0000 (10:17 +0100)] 
Set a 3.5 GB maxmemory limit with noeviction policy if a 32 bit instance without user-provided memory limits is detected.

12 years agoAdded a server.arch_bits field instead of computing it at runtime for INFO.
antirez [Thu, 2 Feb 2012 09:02:40 +0000 (10:02 +0100)] 
Added a server.arch_bits field instead of computing it at runtime for INFO.

12 years agoOnly incremnet stats for key miss/hit when the key is semantically accessed in read...
antirez [Wed, 1 Feb 2012 20:47:41 +0000 (21:47 +0100)] 
Only incremnet stats for key miss/hit when the key is semantically accessed in read-only.

12 years agoAdded tests checking ability of the scripting engine to reorder the output of command...
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.

12 years agoA few SORT tests made more resistant to false negatives resulitng from poor randomiza...
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.

12 years agoNew SORT tests checking the new more deterministic behavior of SORT sorting algorithm.
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.

12 years agoMake SORT BY <constant> STORE ... to always produce the same output by force sorting...
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.

12 years agoSORT is now more deterministic: does not accept to compare by score items that have...
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.

12 years agoOrder output of commands returning random arrays using table.sort when called from...
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.

12 years agoFixed redis-benchmark --help output typo
antirez [Tue, 31 Jan 2012 10:43:32 +0000 (11:43 +0100)] 
Fixed redis-benchmark --help output typo

12 years ago64 bit instances are no longer limited to have at max 2^32-1 elements in lists.
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.

12 years agominimal change to obuf-limits.tcl test to make sure there are no false positives...
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.

12 years agoMerge remote-tracking branch 'origin/unstable' into unstable
antirez [Mon, 30 Jan 2012 09:40:28 +0000 (10:40 +0100)] 
Merge remote-tracking branch 'origin/unstable' into unstable

12 years agoMerge pull request #319 from fawek/lua-error-location
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

12 years agosetKey(): call the higher level wrapper setModifiedKey() instead of touchWatchedKey...
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.

12 years agoMerge pull request #321 from mkwiatkowski/ticket227
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.

12 years agoSORT 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.

12 years agoLua reports line numbers off by one in error messages
Jakub Wieczorek [Sun, 29 Jan 2012 13:53:49 +0000 (14:53 +0100)] 
Lua reports line numbers off by one in error messages

12 years agofalse positive in expire tests mitigated with a sleep, but other solutions exist...
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.

12 years agoLess false positives for obuf-limits.tcl tests
antirez [Thu, 26 Jan 2012 15:08:24 +0000 (16:08 +0100)] 
Less false positives for obuf-limits.tcl tests

12 years agoUpdate default configuration
Pieter Noordhuis [Wed, 25 Jan 2012 21:37:43 +0000 (13:37 -0800)] 
Update default configuration

12 years agoTest that zipmap from RDB is correctly converted
Pieter Noordhuis [Wed, 25 Jan 2012 21:26:25 +0000 (13:26 -0800)] 
Test that zipmap from RDB is correctly converted

12 years agoAdded test for client output buffer limit (soft limit).
antirez [Wed, 25 Jan 2012 17:34:56 +0000 (18:34 +0100)] 
Added test for client output buffer limit (soft limit).

12 years agoAdded test for client output buffer limit (hard limit).
antirez [Wed, 25 Jan 2012 17:11:04 +0000 (18:11 +0100)] 
Added test for client output buffer limit (hard limit).

12 years agoFixed typo in getClientLimitClassByName()
antirez [Wed, 25 Jan 2012 17:07:56 +0000 (18:07 +0100)] 
Fixed typo in getClientLimitClassByName()

12 years agoMerge branch 'unstable' into limits
antirez [Wed, 25 Jan 2012 15:59:58 +0000 (16:59 +0100)] 
Merge branch 'unstable' into limits

12 years agoFixed 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.

12 years agoFixed 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.

12 years agoMerge branch 'unstable' into limits
antirez [Wed, 25 Jan 2012 15:46:53 +0000 (16:46 +0100)] 
Merge branch 'unstable' into limits

12 years agoFixed a non critical bug signaled by clang static analyzer thanks to Mukund Sivaraman...
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.

12 years agoMerge branch 'unstable' into limits
antirez [Wed, 25 Jan 2012 09:41:25 +0000 (10:41 +0100)] 
Merge branch 'unstable' into limits

12 years agoaeCreateEventLoop() cleanup on error unified in a single block (original
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).

12 years agoIf aeApiCreate() fails, there's probably not much one can do, but in the name of...
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...

12 years agolenght -> length
antirez [Tue, 24 Jan 2012 14:33:15 +0000 (15:33 +0100)] 
lenght -> length

12 years agoredis.conf typo fixed in the client-output-buffer-limit documentation
antirez [Tue, 24 Jan 2012 13:46:23 +0000 (14:46 +0100)] 
redis.conf typo fixed in the client-output-buffer-limit documentation

12 years agoafter all closing a client for output buffer limit overcoming is a WARNING level...
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.

12 years agoclient-output-buffer-limit documented in redis.conf
antirez [Tue, 24 Jan 2012 10:23:23 +0000 (11:23 +0100)] 
client-output-buffer-limit documented in redis.conf

12 years agoClient output buffer limits: configuration of parameters for the different classes...
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.

12 years agoasyncCloseClientOnOutputBufferLimitReached() now ignores clients with REDIS_CLOSE_ASA...
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.

12 years agoclient buffer handling refactoring and optimization
antirez [Mon, 23 Jan 2012 16:15:49 +0000 (17:15 +0100)] 
client buffer handling refactoring and optimization

12 years agoCLIENT LIST test fixed (there is a new omem field in the output)
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)

12 years agoactually call the function to async free clients in serverCron().
antirez [Mon, 23 Jan 2012 15:17:22 +0000 (16:17 +0100)] 
actually call the function to async free clients in serverCron().

12 years agoImplementation of the internals that make possible to terminate clients overcoming...
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.

12 years agoMerge branch 'unstable' into limits
antirez [Mon, 23 Jan 2012 09:36:07 +0000 (10:36 +0100)] 
Merge branch 'unstable' into limits

12 years agofixed typo in hahs function seed default value. It is no longer used but fixed to...
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.

12 years agotypo in comment fixed
antirez [Sat, 21 Jan 2012 22:34:06 +0000 (23:34 +0100)] 
typo in comment fixed

12 years agoFix for hash table collision attack. We simply randomize hash table initialization...
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.

12 years agoBetter looking registers/stack dump
antirez [Fri, 20 Jan 2012 15:40:43 +0000 (16:40 +0100)] 
Better looking registers/stack dump

12 years agoadded support to dump registers on crash on Linux x32
antirez [Fri, 20 Jan 2012 13:37:50 +0000 (14:37 +0100)] 
added support to dump registers on crash on Linux x32

12 years agoadded support to dump registers on crash on Linux x64
antirez [Fri, 20 Jan 2012 11:54:15 +0000 (12:54 +0100)] 
added support to dump registers on crash on Linux x64

12 years agoall the stack trace related functions are now in debug.c. Now Redis dumps registers...
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.

12 years agoupdated utils/install_server.sh to support chkconfig boxes (redhat/
Brad Voth [Wed, 18 Jan 2012 15:09:42 +0000 (10:09 -0500)] 
updated utils/install_server.sh to support chkconfig boxes (redhat/
centos) as well as debian/ubuntu

12 years agoIntroduced three client limit classes: normal, slave, pubsub
antirez [Tue, 17 Jan 2012 11:43:01 +0000 (12:43 +0100)] 
Introduced three client limit classes: normal, slave, pubsub

12 years agoTrack the length of the client pending output buffers (still to transfer) in a new...
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.

12 years agoMerge remote-tracking branch 'origin/unstable' into unstable
antirez [Mon, 16 Jan 2012 15:50:41 +0000 (16:50 +0100)] 
Merge remote-tracking branch 'origin/unstable' into unstable

12 years agoIt is now posible to flush all the previous saving points in redis.conf by using...
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.

12 years agoMerge pull request #279 from kashif/patch-1
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.

12 years agoDon't change the replication state if SLAVE OF is called with arguments specifying...
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.

12 years agoObsolete SDS_ABORT_ON_OOM removed from sds.c
antirez [Mon, 16 Jan 2012 09:08:33 +0000 (10:08 +0100)] 
Obsolete SDS_ABORT_ON_OOM removed from sds.c

12 years agosds.c no longe pre-allocate more than 1MB of free space ahead. This fixes issue ...
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.

12 years agoadded a comment on top of the zslRandomLevel() function
antirez [Mon, 16 Jan 2012 08:39:04 +0000 (09:39 +0100)] 
added a comment on top of the zslRandomLevel() function

12 years agoPossible fix for false positives in issue 141 regression test
antirez [Thu, 12 Jan 2012 15:24:41 +0000 (16:24 +0100)] 
Possible fix for false positives in issue 141 regression test

12 years agoOn crash print information about the current client (if any), command vector, and...
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.

12 years agoerror in comment fixed
antirez [Wed, 11 Jan 2012 19:25:41 +0000 (20:25 +0100)] 
error in comment fixed

12 years agoshow GCC version in INFO output.
antirez [Tue, 10 Jan 2012 17:37:16 +0000 (18:37 +0100)] 
show GCC version in INFO output.

12 years agoversion bumped to 2.9.3
antirez [Sat, 7 Jan 2012 11:54:48 +0000 (12:54 +0100)] 
version bumped to 2.9.3

12 years agoRegression test for the main problem causing issue #141. Minor changes/fixes/addition...
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.

12 years agoRegression tests for protocol desync bug related to Issue #141
antirez [Fri, 6 Jan 2012 11:54:29 +0000 (12:54 +0100)] 
Regression tests for protocol desync bug related to Issue #141

12 years agoImplements ziplistFind
Pieter Noordhuis [Tue, 3 Jan 2012 23:48:55 +0000 (15:48 -0800)] 
Implements ziplistFind

To improve the performance of the ziplist implementation, some
functions have been converted to macros to avoid unnecessary stack
movement and duplicate variable assignments.

12 years agoEncode small hashes with a ziplist
Pieter Noordhuis [Tue, 3 Jan 2012 06:14:10 +0000 (22:14 -0800)] 
Encode small hashes with a ziplist