Commit Graph

1000 Commits

Author SHA1 Message Date
antirez
4c8bd905a0 -h is now alias for --help when running redis-server. 2011-12-01 12:18:22 +01:00
antirez
39ca1713d7 I like when main() is the last function in the file. 2011-12-01 12:15:44 +01:00
antirez
27acd7aa89 Replication bug fixed: now non blocking connect is also forced to follow the configured replication timeout. 2011-11-30 15:35:16 +01:00
antirez
c6f9ee88fa default log level is now notice. 2011-11-30 15:04:40 +01:00
antirez
63fd13996d show initial querybuf bytes on querybuf overflow. 2011-11-28 11:12:55 +01:00
antirez
e7ef418ccd two new AOF related INFO fields that can be interesting information for debugging. 2011-11-28 11:04:03 +01:00
antirez
3e0a975e07 log client protocol errors for log level >= verbose 2011-11-25 16:09:34 +01:00
Salvatore Sanfilippo
07ac2daaaa Merge pull request #209 from woowenjie/unstable
clean REDIS_DIRTY_CAS when discard Command runs. otherwise the next MULT...
2011-11-25 03:13:10 -08:00
woowenjie
f371e721fa clean REDIS_DIRTY_CAS when discard Command runs. otherwise the next MULTI/EXEC may fail in the same RedisClient 2011-11-25 10:34:05 +08:00
antirez
fa5af017d9 better bug report info on crash 2011-11-24 15:47:26 +01:00
antirez
45e7a1ce00 minor refactoring to networking.c adding a separated function to get a string representing the current state of all the connected clients. 2011-11-24 15:04:42 +01:00
antirez
2c74a9f948 last executed command in CLIENT LIST output. 2011-11-24 14:56:34 +01:00
antirez
3c95e7212e new counter in INFO output: rejected_connections with number of dropped connections because of maxclients limit reached. 2011-11-23 18:38:12 +01:00
antirez
1bcfa0f643 More fixes in the Redis command table, to make sure all the keys are detected by Redis Cluster. 2011-11-22 14:27:32 +01:00
antirez
39da5d1f21 Fixed command table for SETEX and PSETEX causing the expire time to be hashed by Redis cluster instead of the key. 2011-11-22 10:16:15 +01:00
antirez
7501c66f2e comment describing the Redis command table enhanced 2011-11-22 10:13:45 +01:00
antirez
afd0f06b75 Fixed bug in getClientInfoString() that was not rendering the N (no flags) special flag correctly. 2011-11-21 16:19:30 +01:00
antirez
becf5fdb0c Close client connection and log the event when the client input buffer reaches 1GB. 2011-11-21 16:17:51 +01:00
antirez
6621b8ffa1 show active events in client file descriptor in CLIENT LIST. 2011-11-21 16:06:03 +01:00
antirez
f14479c796 new ae.c API to get current events by file descriptor. 2011-11-21 16:05:29 +01:00
antirez
491c1c4e04 added output list and buffer length, query buffer size, to CLIENT LIST output. 2011-11-21 15:54:49 +01:00
antirez
17d25a33e2 code generating the CLIENT LIST output refactored to have a function that is able to render a single client into a client info string. 2011-11-21 15:34:32 +01:00
antirez
08a879af6e Added sdscatsds() to sds.c/h 2011-11-21 15:34:00 +01:00
antirez
7e14a20801 Fixed a comment typo in the command table. 2011-11-21 10:55:52 +01:00
Salvatore Sanfilippo
794e6ce14f Merge pull request #173 from jasondavies/typo
Fix some minor typos.
2011-11-18 05:34:56 -08:00
antirez
e41677b4cf prevent (more) commands from Lua scripts 2011-11-18 14:23:38 +01:00
antirez
4ab8695d53 New script timeout semantics and SCRIPT KILL implemented. SHUTDOWN NOSAVE and SHUTDOWN SAVE implemented. 2011-11-18 14:10:48 +01:00
Chris Lamb
5ae979bf57 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.

Thanks to Jurij Smakov <jurij@wooyd.org>.

Signed-off-by: Chris Lamb <lamby@debian.org>
2011-11-16 17:21:16 +00:00
Pieter Noordhuis
42c6a5da3d Don't force rebuild when params didn't change 2011-11-16 17:49:06 +01:00
Salvatore Sanfilippo
32adb53156 Merge pull request #192 from pietern/makefile
Add separate clean/distclean targets to Makefile
2011-11-16 01:29:42 -08:00
Pieter Noordhuis
5bb2c88e94 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.
2011-11-15 13:09:34 -08:00
Pieter Noordhuis
4b8a63941d 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.
2011-11-15 12:41:35 -08:00
Pieter Noordhuis
321a0440c0 Use CCLINK as last argument 2011-11-15 09:39:38 -08:00
Pieter Noordhuis
61c0e893aa CCLINK already includes ALLOC_LINK 2011-11-15 09:36:13 -08:00
Salvatore Sanfilippo
7b81e5a16c Merge pull request #181 from redsquirrel/unstable
Fixing inject: it was failing when there was 1 or >2 sources
2011-11-15 06:36:53 -08:00
antirez
68bfe993c8 HINCRBYFLOAT implemented 2011-11-15 15:09:39 +01:00
antirez
d4a3cfed9c Merge branch 'unstable' into incrbyfloat 2011-11-14 15:59:56 +01:00
antirez
d93f9a8644 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. 2011-11-14 15:34:44 +01:00
antirez
5244d6e54e rewrite INCRBYFLOAT as SETs for AOF/replication 2011-11-14 10:15:13 +01:00
antirez
5574b53eae INCRBYFLOAT implementation 2011-11-12 19:27:35 +01:00
antirez
4be855e757 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(). 2011-11-12 01:04:27 +01:00
antirez
3570629f90 set default client timeout to zero inside redis.h as well 2011-11-11 17:18:35 +01:00
antirez
12d293ca6e high resolution expires API modified to use separated commands. AOF transation to PEXPIREAT of all the expire-style commands fixed. 2011-11-10 17:52:02 +01:00
Dave Hoover
57f8021cb2 Fixing inject: it was failing when there was 1 or >2 sources 2011-11-09 19:06:12 -06:00
antirez
dab5332f95 Fixed a few typos 2011-11-09 21:59:27 +01:00
antirez
bdbdb02edb Fixed bug breaking rdbSaveMillisecondTime() in 32 bit systems. Thanks to @anydot (Přemysl Hrubý) 2011-11-09 18:47:48 +01:00
antirez
52d46855d9 TTL, EXPIRE and EXPIREAT now support the milliseconds input/output form 2011-11-09 18:05:35 +01:00
antirez
b0b74486e1 use "EXPIREAT ... ms" form when rewriting the AOF 2011-11-09 17:20:14 +01:00
antirez
7dcc10b65e 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. 2011-11-09 16:51:19 +01:00
antirez
14ed10d957 dict set/get macros for integers fixed. 2011-11-09 13:39:59 +01:00
antirez
2c2b208537 added mstime() to get UNIX time in milliseconds. 2011-11-09 00:03:03 +01:00
antirez
6c578b764a dict.c: added macros to get signed/unsigned integer values from hash
entry. Field name of hash entry union modified for clarity.
2011-11-08 23:59:53 +01:00
antirez
b28d0461b4 32bit build fixed, broken by a previous commit fixing build on Solaris 2011-11-08 21:00:52 +01:00
antirez
aa9a61ccd7 dict.c: added macros in dict.h to set signed and unsigned 64 bit values directly inside the hash entry without using additional memory. 2011-11-08 19:41:29 +01:00
antirez
c0ba9ebe13 dict.c API names modified to be more coincise and consistent. 2011-11-08 17:07:55 +01:00
antirez
71a50956b1 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. 2011-11-08 16:57:20 +01:00
antirez
66d8818cb7 Merge branch 'unstable' into ttlres 2011-11-08 16:15:08 +01:00
antirez
b90314588f useless double if removed. 2011-11-08 11:26:06 +01:00
antirez
b0a2e34059 yet another #if REDIS_MBULK_BIG_ARG removed. 2011-11-08 11:24:12 +01:00
antirez
53272781d0 Multi bulk optimization for creating big objects without copying data is no longer optional, #ifdefs removed. Also debugging messages removed. 2011-11-08 11:22:40 +01:00
antirez
65330badb9 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.
2011-11-08 10:59:59 +01:00
antirez
d9747b496e redis-benchmark: ability to run selected tests. Better help with examples. 2011-11-07 11:29:37 +01:00
antirez
7b86f5e6d5 csv output for redis-benchmark 2011-11-04 14:49:24 +01:00
antirez
410dfe90b2 PING / MSET benchmarks enabled again. 2011-11-04 11:20:19 +01:00
antirez
ca908473e8 A comment moved a few lines for clarity. 2011-11-04 11:18:15 +01:00
antirez
94d490b9f6 Added a define to set the size threshold to enable the multi bulk parsing big objects optimization. 2011-11-04 11:16:11 +01:00
antirez
826b5beb9c further optimizations for the multi bulk protocol parsing code when big objects are transmitted to Redis. 2011-11-03 15:53:40 +01:00
antirez
9217095572 optimized object creation in multi-bulk protocol parsing 2011-11-02 17:30:19 +01:00
antirez
b8d743e181 sdsIncrLen() / sdsMakeRoomFor() used to avoid copying to intermediate buffer while reading the client query. 2011-11-02 16:52:45 +01:00
antirez
a54806ac6a testhelp.h now exits with retcode 1 on failed tests. 2011-11-02 16:52:10 +01:00
antirez
dd5fbedf7b I/O buffer length enlarged 2011-11-02 16:51:33 +01:00
antirez
d0b2a9b223 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. 2011-11-02 16:50:59 +01:00
antirez
3526724594 added a comment to sdsMakeRoomFor() to make it clear what the function actually does. 2011-11-02 16:09:14 +01:00
antirez
6a7841eb09 added an union in the dict.h structure to store 64 bit integers directly into hash table entries. 2011-11-02 15:28:45 +01:00
Jason Davies
b91cbf66bb Fix minor typos. 2011-11-01 19:58:09 +00:00
antirez
d569f39a77 removed the vmpointer structure that is no longer user in Redis >= 2.5.x 2011-10-31 15:47:12 +01:00
Salvatore Sanfilippo
404cd6450d Merge pull request #170 from bnoordhuis/fix-sunos-build
build: fix sunos build, compile lua with __C99FEATURES__=1
2011-10-31 03:21:09 -07:00
antirez
aeecbdfae3 1fe4cd5 2011-10-31 11:14:24 +01:00
antirez
8996bf7720 7c6da73 2011-10-31 11:13:28 +01:00
antirez
58732c23d5 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.
2011-10-31 10:49:27 +01:00
antirez
1eceb85ebc It is now possible to disable password authentication via CONFIG SET. Thanks to Jan Oberst. This closes issue #171. 2011-10-31 09:57:06 +01:00
Ben Noordhuis
b83e95830f build: fix sunos build, compile lua with __C99FEATURES__=1 2011-10-30 03:20:00 +00:00
antirez
db6a2e7f78 Fixed a memory leak in redis-cli.c 2011-10-28 17:43:04 +02:00
antirez
e1cf460cf1 sds.c single quotes support 2011-10-28 17:31:40 +02:00
antirez
d8ba159b6c use the more generic -BUSY error for idle scripts 2011-10-27 20:56:12 +02:00
antirez
115e3ff39e 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. 2011-10-27 14:49:10 +02:00
Nathan Florea
bb48c5fa67 Set errno to 0 before calling strtol. 2011-10-26 13:01:24 +02:00
antirez
b508aeb994 Clear the AOF rewrite scheduled flag once an AOF rewrite is triggered. Fix for issue #161, probably fixing 159 as well. 2011-10-26 12:53:30 +02:00
antirez
e089e61019 Don't timeout scripts if the instance is a slave. 2011-10-25 19:54:10 +02:00
antirez
e5abf6ef19 SCRIPT LOAD now returns the SHA1 instead of +OK 2011-10-25 14:46:15 +02:00
antirez
8cb8d417b1 Lau scripts default max execution time set to 5 seconds. 2011-10-25 12:10:15 +02:00
antirez
e8c993f0fb Fixes for the scripting refactoring and new commands. Tests for the new features. 2011-10-25 11:19:15 +02:00
antirez
a9b07ac459 SCRIPT LOAD implemented, scripting eval command refactoring. 2011-10-25 10:25:59 +02:00
antirez
070e39454d SCRIPT command for introspection and control of the scripting environment. 2011-10-24 22:47:00 +02:00
antirez
f013f40003 Fixed a few warnings compiling on Linux. 2011-10-23 10:57:01 +02:00
antirez
9e6a9f30ea A past commit removed the inclusion of redis.h from rdb.c, completely breaking 32 bit builds under Linux. 2011-10-23 10:42:16 +02:00
antirez
9ed32ba083 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. 2011-10-20 16:02:23 +02:00
antirez
73fac227a0 use signalModifiedKey to set the key as dirty in the context of WATCH for both MIGRATE and RESTORE. 2011-10-20 11:17:30 +02:00
antirez
8f2af26c2c Merge remote-tracking branch 'origin/unstable' into unstable 2011-10-19 16:42:35 +02:00
antirez
15108778d5 JSON support for Lua scripting, based on work from @lp, thanks!. We are using the good and fast cjson by Mark Pulford. 2011-10-19 16:42:10 +02:00