Chris Lamb [Wed, 16 Nov 2011 17:21:16 +0000 (17:21 +0000)]
Fix crash on SPARC due to improper alignment of allocated memory
I believe that you should be able to drop 'defined(__sun)' completely
from this clause, as Solaris on x86 hardware probably does not have
strict alignment requirements, but I don't have a way to test that.
Pieter Noordhuis [Tue, 15 Nov 2011 21:09:31 +0000 (13:09 -0800)]
Rebuild source when allocator changes
To do so, the Makefile stores the contents of the MALLOC environment
variable in a file named .make-malloc. When the contents of this file
and the MALLOC variable are not equal, it forces a rebuild of the Redis
source tree.
A side-effect of this change is that choosing an allocator can now be
done using the single MALLOC variable instead of USE_TCMALLOC,
USE_JEMALLOC and so forth. These variables continue to work for
backwards compatibility.
Pieter Noordhuis [Tue, 15 Nov 2011 20:40:49 +0000 (12:40 -0800)]
Rebuild deps/ and src/ when ARCH changes
This change moves the build instructions for dependencies to a separate
Makefile in deps/. The ARCH environment variable is stored in a
.make-arch file in the same directory as the Makefile. The contents of
this file is read and compared to the current ARCH, and, on a mismatch
triggers rebuilding the entire source tree.
When file .make-arch exists and matches with ARCH from the environment,
the dependencies are assumed to already be built.
The new "clean" target only cleans the Redis source tree, not its
dependencies. To clear the dependencies as well, the "distclean" target
can be used.
antirez [Mon, 14 Nov 2011 14:34:44 +0000 (15:34 +0100)]
string to number API is now more strict not accepting spaces before or after the number. A few tests converted to match the new error messages using the word float instead of double.
antirez [Sat, 12 Nov 2011 00:04:27 +0000 (01:04 +0100)]
Fixed issues with expire introduced with latest millisecond resolution feature. Many time_t were not converted to long long, and one time() call was not replaced with mstime().
antirez [Wed, 9 Nov 2011 15:51:19 +0000 (16:51 +0100)]
Initial support for key expire times with millisecond resolution. RDB version is now 3, new opcoded added for high resolution times. Redis is still able to correctly load RDB version 2. Tests passing but still a work in progress. API to specify milliseconds expires still missing, but the precision of normal expires is now already improved and working.
antirez [Tue, 8 Nov 2011 15:57:20 +0000 (16:57 +0100)]
dict.c: added two lower level methods for directly manipulating hash entries. This is useful in order to set 64 bit integers as values directly inside the hash entry (in order to save memory), without casting, and even in 32 bit builds.
antirez [Tue, 8 Nov 2011 09:59:35 +0000 (10:59 +0100)]
hiredis/redis changes for speed with big payloads: read buffer size set
to 16k, request buffer size is no longer destroyed when emtpy and large
(better fix needed). Redis clients static output buffer set to 16k as
well.
antirez [Wed, 2 Nov 2011 15:50:59 +0000 (16:50 +0100)]
sdsMakeRoomFor() exposed as public API. sdsIncrLen() added. Both the changes make it possible to copy stuff from a system call to an sds buffer without the need of an additional buffer and copying overhead.
antirez [Mon, 31 Oct 2011 09:48:41 +0000 (10:48 +0100)]
maxclients configuration is now implemented dealing with the actual process rlimits. Setting maxclients to 0 no longer makes sense and is now invalid, the new default is 10000.
See issue #162 for more information.
antirez [Thu, 27 Oct 2011 12:49:10 +0000 (14:49 +0200)]
If a Lua script executes for more time than the max time specified in the configuration Redis will log a warning, and will start accepting queries (re-entering the event loop), returning -SLOWSCRIPT error for all the commands but SHUTDOWN that remains callable.
antirez [Thu, 20 Oct 2011 14:02:23 +0000 (16:02 +0200)]
Redis.call is now split into two variants of the same function. Redis.call will raise an error by default. Redis.pcall will return the error object instead.