Commit Graph

1232 Commits

Author SHA1 Message Date
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
smly 046f70f758 Fixed a small memory leak I found with valgrind 2011-10-18 20:18:26 +09:00
antirez 76e772f39a Return from syncWithMaster() ASAP if the event fired but the instance is no longer a slave. This should fix Issue #145. 2011-10-18 11:15:11 +02:00
antirez 6856c7b4d6 First implementation of the ASKING command. Semantics still to verify. 2011-10-17 17:35:23 +02:00
antirez e0aab1fc79 MIGRATE +NOKEY error was missing the final CRLF causing a protocol error. 2011-10-17 16:44:08 +02:00
antirez bfbc16ae83 Fixed a typo causing segfault on MIGRATE 2011-10-17 16:39:05 +02:00
antirez 13cd1515f9 FLUSHALL now prevents rdbSave() from resetting the dirty counter, so that the command will get replicated and put inside the AOF. This fixes issue #142 2011-10-17 10:31:47 +02:00
antirez 42a6fcd6c5 FLUSHALL will only perform a blocking SAVE if RDB persistence is configured. 2011-10-17 10:31:34 +02:00
antirez 6d61e5bf5b Exit with Fatal error at startup if the RDB file signature or version is wrong.
Ref: issue #103
2011-10-14 16:59:38 +02:00
antirez 2e63cfe20d redis-check-dump: RDB version 2 now supported. 2011-10-14 16:52:52 +02:00
antirez 80ad7189e8 More informative error when DEBUG RELOAD fails. 2011-10-14 14:31:33 +02:00
antirez dd9ad57062 redis-trib: fix for a slot allocation bug. 2011-10-13 15:16:03 +02:00
antirez 2b9ce0192e small comment added 2011-10-13 14:51:29 +02:00
antirez ab52d1f4a8 Fix for issue #132. Now AUTH raises an error if no server password is configured. 2011-10-10 22:21:17 +02:00
Salvatore Sanfilippo 70cb03e172 Merge pull request #126 from florean/unstable
Unlink Unix socket file on shutdown
2011-10-10 13:05:16 -07:00
Nathan Florea 8523876503 Added a config directive for a Unix socket mask
Added a configuration directive to allow a user to specify the
permissions to be granted to the Unix socket file.  I followed
the format Pieter and Salvatore discusses in issue #85 (
https://github.com/antirez/redis/issues/85).
2011-10-10 11:21:15 -07:00
antirez d83eda48e9 Issue #131. stime/utime reported in INFO was inverted. Fixed thanks to Didier Spezia. 2011-10-10 15:31:55 +02:00
antirez 4ab18a3331 Fix for bug #128 about the RENAME command. 2011-10-10 15:21:19 +02:00
Nathan Florea 56209f720a Unlink Unix socket file on shutdown 2011-10-09 00:46:03 -07:00
antirez ff15dba093 not used parameter for redisLog() removed. Error message grammar fixed.
Thanks to @ardsrk.
2011-10-08 10:59:04 +02:00
antirez d38ef52085 Redis Cluster: process node to node CLUSTERMSG_TYPE_PUBLISH messages and send it to the local clients. 2011-10-07 16:34:16 +02:00
antirez c563ce463b propagate PUBLISH messages using the redis cluster nodes bus. Still need to process the incoming packets of that type. Work in progress. 2011-10-07 15:37:34 +02:00
antirez 623131d408 Totally hackish and dirty, but working, support for Redis Cluster in redis-cli 2011-10-05 19:55:33 +02:00
antirez 9465d83efd A node can populate a slot if a message from a trusted slot is received claiming ownership of this slot, that is currently empty or served by a node in FAIL state. However this feature was broken since calling clusterAddSlot() was not enough as the slot bit is already set in the node that pong us. We need to directly alter the table. This commit fixes the issue. 2011-10-05 17:40:02 +02:00
antirez 2aa26d2a63 CONFIG SET/GET support for loglevel 2011-10-05 16:08:35 +02:00
antirez ad7a86fbe0 just minor aesthetic changes to cluster.c 2011-10-05 16:02:45 +02:00
antirez eab0e26e03 replaced redisAssert() with redisAssertWithInfo() in a shitload of places. 2011-10-04 18:43:03 +02:00
antirez bab205f787 redisAssertWithClientInfo() is now redisAssertWithInfo() that is also able to report an optional object. The client is also optional. Specifying NULL will prevent dumping the not available information (either client or object). 2011-10-04 18:05:26 +02:00
antirez e3e6993510 Introduced a redisAssert() variant that is able to show information about the client in the context where the failed assertion was detected. 2011-10-04 17:22:29 +02:00
antirez 909aee2c6c redis-trib: create subcommand fixed calling node info loading method. Was needed after recent refactoring. 2011-10-04 15:53:07 +02:00
antirez 0bb5160cb0 Revert "Use the new install script as make install target. Message about install script requiring root changed a bit to make it more evident."
After talking with Pieter he changed my mind about this, it is better to
have a simpler install script that works everywhere, and the complex one
can be always executed if needed by hand. We'll make possibly a new
target for the full featured installation script, and even suggest it
after a Make install.

This reverts commit f1e60d7530.
2011-10-03 16:04:44 +02:00
antirez 37d650032a Rewrite MIGRATE as DEL for AOF/replication. Also increment the dirty counter to both force replication and persistence. 2011-10-03 15:51:10 +02:00
antirez 2a95c944ff increment server.dirty in restore command to make sure it is replicated and increments the dirty count for persistence concerns. 2011-10-03 15:45:14 +02:00
Salvatore Sanfilippo cd73df62af Merge pull request #114 from pietern/unstable-zcount
Use rank information to compute ZCOUNT
2011-10-03 06:20:23 -07:00
Pieter Noordhuis 0cfc894066 Remove ZCOUNT branches from generic RANGEBYSCORE code 2011-10-03 14:23:31 +02:00
Pieter Noordhuis 62d774e5ba Use element rank instead of iterating in ZCOUNT 2011-10-03 14:14:43 +02:00
antirez f1e60d7530 Use the new install script as make install target. Message about install script requiring root changed a bit to make it more evident. 2011-10-03 13:28:54 +02:00
antirez 13c7e5ef29 Exact variant of CRC16 specified into crc16.c 2011-10-02 14:05:29 +02:00
antirez 66c146592a when processing gossip packets make sure to also update the node bitmap when associating slots to nodes. Fixed simply using the appropriate helper function to add a slot. 2011-10-01 15:11:07 +02:00
antirez 7112580cb3 fixed a few problems with redis-trib resharding. 2011-10-01 01:31:46 +02:00
antirez a0189bbe75 redis-trib: initial working implementation of cluster rehashing, more work needed to make it more correct, more reliable. 2011-09-30 22:18:07 +02:00
antirez d38d2fdfdc Fixed two bugs in the CLUSTER SETSLOT ... NODE subcommand 2011-09-30 22:17:24 +02:00
antirez 9a38df8799 redis-trib: actual slot migration work in progress, more work needed. 2011-09-30 19:21:36 +02:00
antirez c5954c1966 Clear the importing status from the slot if a CLUSTER SETSLOT command permanently assigns the slot to the importing node. 2011-09-30 19:20:56 +02:00
antirez 6c0047c430 redis-trib: better slots allocation strategy for resharding 2011-09-30 18:41:25 +02:00
antirez 841cd7684c redis-trib: initial slots allocation strategy, still to improve for better balancing when there are just a few slots to move. 2011-09-30 18:28:51 +02:00
antirez 85b514d165 redis-trib: reshard command work in progress 2011-09-29 16:06:49 +02:00
antirez 9514aa3251 redis-trib: minor refactoring creating a method to load the cluster information starting from a single node 2011-09-29 15:45:10 +02:00
antirez 5d8f25da36 redis-trib: don't crash loading node info for nodes without assigned slots 2011-09-29 15:31:02 +02:00
antirez 3b5289a04c added comment about SETSLOT NODE form. 2011-09-29 15:26:01 +02:00
antirez 7afc3a9611 Fixed command table for RESTORE to make it accepting keys only for the right slots when cluster is enabled. 2011-09-29 15:14:06 +02:00
antirez d7021b081b redis-trib: added cluster state to node info string 2011-09-29 15:04:23 +02:00
antirez 92dd76c8ee redis-trib: all node information into a single hash 2011-09-29 14:44:27 +02:00
antirez b08c9dd280 redis-trib: when loading node info also fetch the output of CLUSTER INFO. 2011-09-29 13:18:09 +02:00
antirez f639f99180 redis-trib cluster check command: check that all the 4096 slots are covered 2011-09-29 12:50:46 +02:00
antirez 0cae060a26 Compilation fixed on OpenBSD making sure that _XOPEN_SOURCE is set to 700 in fmacros.h 2011-09-29 10:20:03 +02:00
antirez d3f7fbfc09 initial node loading info code for redis-trib 2011-09-28 19:08:35 +02:00
antirez 1ef8b0a96d show node with myself flag always as connected in CLUSTER NODES output. 2011-09-28 18:28:36 +02:00
antirez 002d5626e0 Scripting engine now only loads selected libraries, using code originally contributed by @loopole. 2011-09-27 18:46:23 +02:00
antirez 9f772cc237 Return errors if a write command is called inside a Lua script after a random command was called. See https://github.com/antirez/redis/issues/95 for more information. 2011-09-27 15:30:31 +02:00
antirez 15ef605340 Deny commands flagged as REDIS_CMD_NOSCRIPT from Lua scripts 2011-09-27 13:57:10 +02:00
antirez b60ed6e812 added the NOSCRIPT and RANDOM command flags 2011-09-27 13:45:46 +02:00
antirez 5d02b00f56 command table refactoring to make it simpler adding new flags 2011-09-26 15:40:39 +02:00
antirez e108bab043 Lua math.random and math.randomseed replaced with our own version based on redisSrand48(). Seed initialized to the same value at every EVAL/EVALSHA call. 2011-09-23 15:40:58 +02:00
antirez 69786b262d Defined macro with bigger number that redisLrand48() can output. 2011-09-23 15:06:07 +02:00
antirez cbdac04a5e libc neutral random function derived from a drand48() implementation added. Will be used to replace Lua's math.random implementation. 2011-09-23 14:51:48 +02:00
antirez f96a8a8054 rioInitWithFile nad rioInitWithBuffer functions now take a rio structure pointer to avoid copying a structure to return value to the caller. 2011-09-22 16:00:40 +02:00
antirez 69cecb511f make sure to return just 1 for rio.c write when the target is a buffer, as we do when the target is a file. 2011-09-22 15:54:08 +02:00
antirez 4c0462972e comment on top of the _rio structure modified for correctness as actually fwrite/fread semantics is different in general, but was 0/1 in our old usage before rio.c as we always used 1 as number items, and the actual number of bytes to read as item length. 2011-09-22 15:47:48 +02:00
antirez f9c6f39b2b merge conflicts resolved 2011-09-22 15:15:26 +02:00
Salvatore Sanfilippo 7c748c061e Merge pull request #97 from jvain/redis-cli
redis-cli segfaults with single numeric argument greater than zero
2011-09-21 13:32:24 -07:00
Juri M. Vainonen aee7f99760 fixed a small bug that caused redis-cli to segfault when given single numeric parameter greater that zero. 2011-09-21 23:22:14 +03:00
Salvatore Sanfilippo ac1f6fd07a Merge pull request #78 from vambo/patch-1
Corrected typo in documentation for R_Zero, R_PosInf, R_NegInf, R_Nan;
2011-09-20 02:00:58 -07:00
Salvatore Sanfilippo 5bae401107 Merge pull request #79 from annulen/mac_ppc
Fixed compilation on Mac/PPC
2011-09-20 01:58:55 -07:00
Salvatore Sanfilippo 18be93e0a4 Merge pull request #74 from kmerenkov/issue_620
[issue 620] don't segfault if number of arguments is less than 1
2011-09-20 01:55:34 -07:00
antirez eef17490d4 Include port number in error when can't bind lisetning port on startup. 2011-09-20 10:48:21 +02:00
antirez e7aec180e8 Fixed comment typo 2011-09-19 17:50:07 +02:00
antirez 47e7f9acbd Comment out things in bio.c that are currently not useful but that may be useful in the future. 2011-09-19 17:06:27 +02:00
antirez 77ca5fcba6 Emit a log message when AOF fsync is still in progress but we are forced to write from the main thread since two seconds already elapsed. 2011-09-19 16:52:13 +02:00
antirez a60b397b6d use aof_fsync wrapper instead of fsync(2) in bio.c 2011-09-16 15:53:01 +02:00
antirez af4707a80c Merge remote-tracking branch 'origin/unstable' into bg-aof-2 2011-09-16 12:36:33 +02:00
antirez a3fcd6bc21 fixed flushAppendOnlyFile() function prototype to reflect the new implementation, fixing compilation. 2011-09-16 12:36:17 +02:00
antirez db3c2a4fb4 postpone the AOF fsync if policy is everysec and there is a background fsync already going. 2011-09-16 12:35:12 +02:00
antirez 9a35eb22bf Fixed typo preventing compilation 2011-09-16 12:11:48 +02:00
Pieter Noordhuis bdbf3acff5 Enforce upper bound for number of requests in redis-benchmark 2011-09-16 11:25:00 +02:00
Pieter Noordhuis 5f54a5e615 Fix AOF race that may duplicate commands 2011-09-16 11:12:31 +02:00
antirez 4b77700a33 Added aof_backgronud_fsync() function, and use it in the bacground rewrite done handler when the fsync policy is everysec. 2011-09-16 11:08:39 +02:00
antirez 96674b6d95 Fixed a bug in the average latency metering of redis-cli --latency 2011-09-15 19:33:24 +02:00
antirez 43071993e1 Implemented --latency in redis-cli 2011-09-15 19:28:00 +02:00
antirez 9fc1e1b1d4 REDIS_BIO_AOF_FSYNC implemented 2011-09-15 18:25:53 +02:00
antirez b39a4d0b39 fixed a problem in bioOlderJobType() when there are no jobs of the specified type. Now the function returns 0 when this happens. 2011-09-15 18:23:58 +02:00
antirez fbb23ce496 some more comment about bio.c design 2011-09-15 18:23:11 +02:00
antirez 1317b7c233 Remove backgroud jobs from the queue only when the processing was completed, and not just started. 2011-09-15 18:21:27 +02:00
antirez 50be9b97bc Use a different thread for every different type of background job 2011-09-15 18:21:16 +02:00
antirez 91de5421b2 Better comments for bioWaitPendingJobsLE 2011-09-15 18:21:02 +02:00
antirez fde4e4c428 Background I/O library enhanced so that the main thread can query for the number of pending jobs of the specified type. 2011-09-15 18:20:53 +02:00
antirez 7feb90fa37 enable zmalloc thread safety support now that we have the bio.c background thread. 2011-09-14 19:09:48 +02:00
antirez 7cfeb8cccf Optimize LRANGE to scan the list starting from the head or the tail in order to traverse the minimal number of elements. Thanks to Didier Spezia for noticing the problem and providing a patch. 2011-09-14 15:10:28 +02:00
antirez 6468a6faad Don't replicate/AOF SAVE 2011-09-14 13:09:25 +02:00
antirez 986630afad use bio.c instead of libeio for closing the AOF file in background. Some comment added and other minor changes. 2011-09-13 18:27:08 +02:00
Pieter Noordhuis b454056d94 Asynchronously close old file after BGREWRITEAOF 2011-09-13 18:17:06 +02:00
antirez b1c892f3f6 test background close operation removed 2011-09-13 16:57:18 +02:00
antirez d47ded66ce make bio_list static as well 2011-09-13 16:56:43 +02:00
antirez b147cb9e1a debug message removed 2011-09-13 16:53:33 +02:00
antirez b7c739b0dd use pthread_cond_signal() to make sure the background thread will process the job. 2011-09-13 16:21:12 +02:00
antirez 8ea2dfd75c typo fixed in bio.c 2011-09-13 16:19:37 +02:00
antirez f67e338d5c Removed no longer useful fields in the redis server structure 2011-09-13 16:17:45 +02:00
antirez 8f61a72fa8 add background jobs initialization to Redis main init function 2011-09-13 16:10:26 +02:00
antirez f81a5f54d8 bio.c typos fixes to make it compile 2011-09-13 16:09:06 +02:00
antirez 02925dd96e bio.o added to redis-server objects 2011-09-13 15:59:48 +02:00
Pieter Noordhuis d1ec6c8b22 Speed up protocol synthesis for AOF 2011-09-13 12:23:50 +02:00
Pieter Noordhuis f990782f4d Re-use AOF buffer when it is small enough 2011-09-13 12:22:54 +02:00
Pieter Noordhuis a57225c2cf Fix indent 2011-09-13 12:22:39 +02:00
antirez 4f06867afe added a newline for code readability 2011-09-13 12:21:54 +02:00
Pieter Noordhuis 297322481d Avoid unnecessary calls to time(3) 2011-09-13 12:18:55 +02:00
antirez 3bc89500d2 Remove the write handler only if there are no longer objects in the output queue AND if the static buffer is empty. This bug was the cause of a possible server-stop-responding-to-client bug under some specific work load. Thanks to Pieter Noordhuis for spotting and fixing it. 2011-09-12 11:06:28 +02:00
antirez 48082cc044 fixed typos in the comments of rpoplpushHandlePush() 2011-09-12 10:04:23 +02:00
Hampus Wessman c47d152c8d Fix crash when chaining brpoplpush with other blocking commands. 2011-09-07 19:08:48 +02:00
Konstantin Tokarev ef9444e0d2 Fixed compilation on Mac/PPC
Applied patch from Issue 119 provided by 
pahowes@gmail.com
2011-09-01 22:16:20 +04:00
vambo c74b7c7730 Corrected typo in documentation for R_Zero, R_PosInf, R_NegInf, R_Nan; 2011-08-26 21:40:18 +03:00
antirez 11aaf52313 Auto rewrite integer overflow fixed. Thanks to Gaurav for finding it (see issue 602 on google code), and Pieter Noordhuis for tracing it. 2011-08-09 11:46:18 +02:00
Konstantin Merenkov be6f639564 [issue 620] don't segfault if number of arguments is less than 1 2011-08-02 17:05:04 +04:00
Hampus Wessman 64f201c2aa Fix crash when pipelining several blocking commands. 2011-07-28 13:50:44 +02:00
Pieter Noordhuis bb831c313c Fix adding bulk reply when getcwd fails 2011-07-27 16:22:28 +02:00
Pieter Noordhuis 4d6bf65c42 Wait for Lua to be built before linking redis-server 2011-07-27 14:47:02 +02:00
Pieter Noordhuis 2d7162bb1d HDEL: Abort deleting fields when hash is removed 2011-07-27 12:29:40 +02:00
antirez 80e87a461a Close the listening sockets. Apparently this allows faster restarts. 2011-07-22 12:11:40 +02:00
antirez adae85cdae prepareForShutdown() fixed for correctness regarding what to do with AOF and RDB persistence on exit. 2011-07-22 11:52:21 +02:00
antirez f790bd028c Added a 'runtest' script that is responsible to check if Tcl is available and run the test. This is invoked from Makefile as well. 2011-07-15 17:20:57 +02:00
antirez 319bb48c01 top level Makefile now just a proxy. Doing make clean inside src now does a full clean including deps, not just Redis source. Thanks to Pieter for the top level Makefile proxy trick. 2011-07-13 19:15:22 +02:00
antirez 4dd444bb4a Replicate EVALSHA as EVAL taking a dictionary of sha1 -> script source code. 2011-07-13 15:38:03 +02:00
antirez 70ecddc9f4 scripting.txt file removed, content merged into the TODO file 2011-07-13 12:04:02 +02:00
antirez 331bf3292f when building redis-server use LINK and not CC as prefix in the output 2011-07-12 12:58:32 +02:00
antirez 5f54619494 Fix for a typo left after merging. 2011-07-12 12:43:05 +02:00
antirez 0681c5ad84 master branch merged into scripting. 2011-07-12 12:39:16 +02:00
antirez e6fcb5b30d make test depends on redis-check-aof as well. 2011-07-11 14:48:45 +02:00
antirez 6b91a11e3e removed --file argument from test invocation inside Makefile 2011-07-11 13:46:09 +02:00
antirez 52c863ddac use tclsh8.5 not only in which but also in the actual test execution. 2011-07-11 11:18:46 +02:00
antirez d4edba6f43 explicitly use tclsh8.5 to run the test 2011-07-11 11:17:05 +02:00
antirez 09e2d9eeba Take a pointer to the relevant entry of the command table in the client structure. This is generally a more sounding design, simplifies a few functions prototype, and as a side effect fixes a bug related to the conversion of EXPIRE -1 to DEL: before of this fix Redis tried to convert it into an EXPIREAT in the AOF code, regardless of our rewrite of the command. 2011-07-08 12:59:30 +02:00
antirez 812ecc8b10 don't process EXPIRE with negative TTL or EXPIREAT with time in the past if we are a slave too (see http://groups.google.com/group/redis-db/browse_thread/thread/5a931fefb88b16d5). Also propagate it as DEL. 2011-07-07 16:24:37 +02:00
Hampus Wessman 040b0ade7d Don't expire keys while loading AOF.
They will be expired (and a DEL will be logged) after the loading is done
instead.
2011-07-07 16:08:30 +02:00
antirez cabe03eb75 more valgrind friendly test 2011-07-06 15:22:00 +02:00
antirez 5a9dd97c7c childrens -> children in INFO output field names. This is a backward incompatible change, but really a minimal one. 2011-07-02 10:52:28 +02:00
antirez 6504634019 no more allocation stats info in INFO, useless now that we have jemalloc. 2011-07-02 10:31:16 +02:00
antirez 2cb6828480 Added an unique ID field to every slow log entry. 2011-06-30 17:36:15 +02:00
antirez de32c37c06 More redis.conf self-documentation. Now even queries that took exactly server.slow_log_slower_than are logged, as this is not exact but is more intuitive for people, and a value of 0 will force every query to be logged. 2011-06-30 15:54:05 +02:00
antirez 35a6044140 slow log configuration implemented 2011-06-30 15:47:15 +02:00
antirez 404345d8e5 DEUBG SLEEP implemented 2011-06-30 13:31:44 +02:00
antirez daa70b1798 First implementation of the slow log feature 2011-06-30 13:27:32 +02:00
antirez ef67a2fc3c Partial fix for a problem with AOF and BRPOP. We have at least a single evidence of an AOF that ended with a BRPOP call against an empty list, causing later issues at run time. Now the problem is detected while loading the AOF at startup, even if it is still to understand how the corrupted AOF was generated. 2011-06-29 16:11:23 +02:00
antirez 994ed2bc55 unstable merge conflicts resolved 2011-06-25 12:29:24 +02:00
antirez d5b36c5114 Merge remote branch 'origin/unstable' into unstable 2011-06-25 12:22:59 +02:00
antirez c9d0c3623a diskstore removed 2011-06-25 12:22:03 +02:00
Salvatore Sanfilippo a004de0f15 Merge pull request #63 from djanowski/tcl
Add warning when `tcl` is not available to run tests
2011-06-24 09:59:37 -07:00
Damian Janowski b3bc4452d2 Avoid bug reports when Tcl is not installed. 2011-06-24 13:56:06 -03:00
antirez c1c9d551da Fix for bug 561 and other related problems 2011-06-20 17:19:36 +02:00
antirez 634bae94fb useless call removed, thanks to Pieter for spotting this 2011-06-20 16:42:37 +02:00
antirez f85cd526c1 DB API refactoring. The changes were designed together with Pieter Noordhuis. 2011-06-20 16:42:16 +02:00
antirez 3e2a0bf44a Makefile deps updated 2011-06-20 11:58:54 +02:00
antirez e93d36a638 It is now possible to build with: make 32bit USE_JEMALLOC=yes 2011-06-20 11:54:57 +02:00
antirez 7d9ba15669 Added -ldl when linking against jemalloc, needed on Linux 2011-06-20 11:54:35 +02:00
antirez fec5a664f8 Fixed INFO implementation to use the new allocator name define 2011-06-20 11:54:08 +02:00
antirez 9e62dc17da Makefile modified to build with jemalloc 2011-06-20 11:52:15 +02:00
antirez 16cd4acdee ZMALLOC related stuff removed from config.h. They are now defined in zmalloc.h 2011-06-20 11:35:29 +02:00
antirez 29d04257b0 forward-ported changes in zmalloc.c/h to support jemalloc build 2011-06-20 11:34:04 +02:00
antirez 07486df6fe new INFO filed master_link_down_since_seconds 2011-06-17 16:16:46 +02:00
antirez 591f29e0f5 Use a safe iterator while saving the DB, since the getExpire() function will access the iterating dictionary. 2011-06-17 15:41:22 +02:00
antirez 0d1650f8a9 Updated to unstable 2011-06-14 18:06:39 +02:00
Hampus Wessman 0b17517c7c Fix automatic rewrite starting too early.
Slight adjustment in growth calculation.
2011-06-12 07:27:01 +02:00
antirez 9e40bce3fa different message on BGREWRITEAOF when it is just scheduled and not started. 2011-06-10 18:35:16 +02:00
antirez 2c6cc5e502 minor code aesthetic change 2011-06-10 18:13:57 +02:00
antirez 19b46c9a09 Make sure an automatic rewrite only gets triggered when no other child is in execution. 2011-06-10 15:15:29 +02:00
antirez 0ec932208e CONFIG SET/GET support for new automatic AOF rewrite parameters 2011-06-10 15:14:10 +02:00
antirez c66bf1fa32 correctly set AOF base size field in server structure 2011-06-10 14:56:45 +02:00
antirez d630abcdaf Added new INFO fields related to the new AOF auto rewrite feature 2011-06-10 14:52:47 +02:00
antirez 4f948300bc Fixed bug in AOF rewrite not working because of integer overflow 2011-06-10 14:47:12 +02:00
antirez 73b9e8aedf debugging printf removed 2011-06-10 14:44:06 +02:00
antirez 4ff34b6adb AOF auto rewrite percentage option parsing fixed 2011-06-10 14:43:11 +02:00
antirez 50528f0eea Merge remote branch 'pietern/unstable-bench' into unstable 2011-06-10 14:28:14 +02:00
antirez e3d27a7261 Avoid division by zero issues in the automatically triggered AOF rewrite feature. 2011-06-10 14:25:27 +02:00
antirez e087b6d7a1 Merge remote branch 'origin/unstable' into unstable 2011-06-10 12:39:40 +02:00
antirez b333e23997 automatic AOF rewrite first implementation. Still to be tested. 2011-06-10 12:39:23 +02:00
Hampus Wessman db6cea11c4 Fix Makefile colors.
echo with escape sequences isn't portable. Use printf instead.
2011-06-09 16:38:18 +02:00
antirez 45029d37cb Two fixes for replication: Slave performs the AOF rewrite at the right point. Non blocking connect also uses readable handler as with old Linux kernels like 2.6.18 on connection refused the writable even is not fired (kernel bug). 2011-06-09 15:39:12 +02:00
antirez 73e718675b Better colorized Makefile implementation, inspired by git makefile 2011-06-08 17:09:18 +02:00
antirez 936c4ab64b touch less pages in decrRefCount 2011-06-03 17:33:23 +02:00
Pieter Noordhuis 294cd536e0 There is no debug mode in benchmark tool 2011-06-01 09:22:19 -07:00
Pieter Noordhuis 39bf440243 Provide custom command to benchmark against via args 2011-06-01 09:22:19 -07:00
Pieter Noordhuis fc05e8c850 More const's in redis-benchmark.c 2011-06-01 09:22:19 -07:00
antirez 3f7b2b1f30 Variadic ZREM 2011-05-31 20:15:18 +02:00
antirez 3738ff5f32 Fix for the variadic version of SREM. Regression test added. 2011-05-31 20:14:29 +02:00
antirez ef231a7c56 Variadic ZADD 2011-05-31 17:47:34 +02:00
Pieter Noordhuis 632e4c09ac Make replication faster (biggest gain for small number of slaves) 2011-05-30 12:45:07 +02:00
antirez 615e414c5d INFO now contains the time (in usecs) needed to fork() in order to persist. The info is available in the stats section of INFO. 2011-05-29 15:17:29 +02:00
antirez 43222f253a Merge remote branch 'pietern/unstable-replnonblock' into unstable 2011-05-29 14:26:01 +02:00
antirez 18f63d8d51 redis-cli: -i (interval) implemented, to wait the specified number of seconds (decimal digits are allowed) between commands. 2011-05-28 15:41:08 +02:00
antirez 442c748d84 redis-cli: Use the repetiton prefix after a reconnection. 2011-05-28 15:25:48 +02:00
antirez 4d19e3443c redis-cli in REPL mode is now able to send the same command multiple times, prefixing the command with a number as in "10 ping" 2011-05-28 15:13:55 +02:00
antirez a45f9a1a1d redis-cli no longer aborts in repl-mode on error, and retries to reconncet with the server at every command issued if the state is not connected. Also the prompt shows the server we are connected to. 2011-05-28 15:04:12 +02:00
antirez 3bb818df40 Make sure error and status replies emitted by Lua scripts can never have more than a newline, otherwise it is a protocol violation and clients will desync. 2011-05-25 12:32:50 +02:00
antirez e927a24610 Fix for wrong error level detection in redis.log() 2011-05-25 12:32:50 +02:00
antirez 288f811fea All commands exported by Redis to Lua scripts are now inside the redis table. Implemented redis.log() function. 2011-05-25 12:32:50 +02:00
antirez 7229d60d03 EVALSHA implemented 2011-05-25 12:32:49 +02:00
antirez 82c6b8257a Now it is possible to return multi bulks of multi bulks from Lua, just returning tables of tables. The new conversion of the Null bulk and multi bulk type is the Lua false type. 2011-05-25 12:32:49 +02:00
antirez da386cdf33 for performance reasons only set the debug hook if the time limit is enabled. 2011-05-25 12:32:49 +02:00
antirez 87c219243c Lua max exec time fixes: redisLog() to log the event moved before the lua_error() call that does a long jump so never returns. Aesthetic fixes in error message. 2011-05-25 12:32:49 +02:00
antirez bcc72bc381 call the Lua hook with minor frequency. It is already enough to call it every 100000 istructions for near millisecond precision. 2011-05-25 12:32:48 +02:00
antirez eeffcf380f Lua scripts max execution time 2011-05-25 12:32:48 +02:00
antirez 8c3402dffa Lua memory usage in INFO 2011-05-25 12:32:48 +02:00
antirez 40531be0e3 call lua_gc() for incremental garbage collection. Likely there is to tune this at some point. 2011-05-25 12:32:48 +02:00
antirez c2a7dd85ae Lua scripting: Honor SELECT command in both ways 2011-05-25 12:32:47 +02:00
antirez 09ab5591fa Fixed a problem in the script engine that crashed the server if the reply was not stored just int the static buffer of the client structure. 2011-05-25 12:32:47 +02:00
antirez 0d916763af Status replies converted in a special way like errors in the Lua <-> Redis conversion code. 2011-05-25 12:32:47 +02:00
antirez e8092bf601 Scripting doc updated 2011-05-25 12:32:47 +02:00
antirez 497fc8775f Eval command table fixed to return the keys arguments of the command. We use zunionInterGetKeys() as it ZUNION/ZINTER have exactly the same semantic with a prefixed number of keys followed by key names. 2011-05-25 12:32:47 +02:00
antirez 171ef6813d TODO updated 2011-05-25 12:32:46 +02:00
antirez 379789cc52 Fixed nul bulk parsing in Redis protocol to Lua type convertion. Check for bad Lua types as arguements of the redis() Lua command. 2011-05-25 12:32:46 +02:00
antirez 67e829dce5 Scripting todo list updated 2011-05-25 12:32:46 +02:00
antirez 10a6da7af4 Multi bulk to Lua table now working 2011-05-25 12:32:46 +02:00
antirez 3791000f15 Fixed arity detection of Redis command executed from Lua script. Error reporting from Lua fixed. More work on the Redis reply to lua conversion code. 2011-05-25 12:32:45 +02:00
antirez 532e0f5ded full conversion from Lua return value to redis reply. Partial conversion from Redis reply to Lua type. 2011-05-25 12:32:45 +02:00
antirez 4ae5b5e163 pupulate the Lua global tables KEYS and ARGV before executing the script 2011-05-25 12:32:45 +02:00
antirez 00b7541b21 function to access to Redis command from Lua renamed from r() to redis() 2011-05-25 12:32:45 +02:00
antirez 7b72272790 when creating not connected clients do not add them into the clients list, otherwise they will be subject to timeouts and other stuff 2011-05-25 12:32:44 +02:00
antirez 7156f43c04 Correctly glue the reply buffer. For now returned as it is to Lua, but will be converted into Lua native type later. 2011-05-25 12:32:44 +02:00
antirez 0f1d64ca57 Lua call of Redis command work in progress: sorry I have to go to the cinema to watch the Source Code movie 2011-05-25 12:32:44 +02:00
antirez 7585836e6e Lua function creation on EVAL, basic Lua return type to Redis protocol convertion done. 2011-05-25 12:32:43 +02:00
antirez 21d3294c70 makefile adapted to link against lua lib and to pass the 32bit flag to Lua building system 2011-05-25 12:32:43 +02:00
antirez efc3408748 Fix for Pub/Sub system, introduced in Redis 2.2.6 with the new copy-on-write safe iterator semantics. In the hope this is the last bug I introduced this way. 2011-05-25 12:32:15 +02:00
antirez d200342ac2 Fixed typo in comment 2011-05-24 10:35:58 +02:00
Pieter Noordhuis 890a2ed989 Configurable synchronous I/O timeout 2011-05-22 12:58:18 +02:00
Pieter Noordhuis b075621fb7 Minor changes in non-blocking repl. connect 2011-05-22 12:51:09 +02:00
Pieter Noordhuis a330913999 Non-blocking connect with master 2011-05-19 18:54:57 +02:00
antirez 521ddcce14 Fix for ZUNIONSTORE bug when there is an empty set among input sets. Regression test added. 2011-05-19 17:58:52 +02:00
antirez 330c90b018 fmacros in utils.c to avoid warning about strcasecmp() 2011-05-16 17:20:27 +02:00
antirez cb16b6c389 Fixed misuse of the new iterator semantics in ZUNIONSTORE 2011-05-15 17:28:06 +02:00
antirez d070abe44c Fix for a possible bug related to ZINTER/UNIONSTORE called with the same source set more than one time. 2011-05-15 15:33:01 +02:00
antirez dd1eefa4f3 Fixed SINTER[STORE] problem related to the new copy on write safe iterator 2011-05-15 12:18:00 +02:00
Pieter Noordhuis 041d8e2a5c Fix up rdbWriteRaw to return number of bytes written 2011-05-14 12:47:42 +02:00
Pieter Noordhuis 7271198cf0 Use rio.h functions in aof.c 2011-05-14 12:36:22 +02:00
Pieter Noordhuis fd535c5862 More rioRead() 2011-05-14 12:32:50 +02:00
Pieter Noordhuis 221782ccc6 Move rdbLoad* to top; update comments 2011-05-13 23:24:19 +02:00
Pieter Noordhuis f1d8e4968e Make RDB types/opcodes explicit; load/save object type 2011-05-13 22:14:39 +02:00
Pieter Noordhuis 2e4b0e7727 Abstract file/buffer I/O to support in-memory serialization 2011-05-13 17:31:00 +02:00
antirez defb5f66a0 removed assert causing an illegal memory access. This was responsible of crashes during BLPOP and other list blocking operations. 2011-05-11 09:50:57 +02:00
antirez 6b52ad87c0 RDB version signature bumped to 2, now that direct saving of specially encoded types is implemented 2.2 instances are no longer able to read rdb files produced by 2.4 or unstable. 2011-05-10 11:31:37 +02:00
antirez 4b53e7365c Introduced a safe iterator interface that can be used to iterate while accessing the dictionary at the same time. Now the default interface is consireded unsafe and should be used only with dictNext() 2011-05-10 10:15:50 +02:00
antirez f13cb0d9de DEBUG DIGEST additional lookup needed for VM removed from unstable branch that does not have VM at all 2011-05-10 10:08:01 +02:00
antirez 6901fe7729 Useless statement removed 2011-05-10 10:07:04 +02:00
antirez df541beae3 when Redis fails accepting a new connection reports the error at WARNING and not VERBOSE error level. Thanks to offby1 for proposing this in the Redis mailing list. #backport-candidate 2011-05-07 11:47:34 +02:00
antirez 0caa750748 clear importing/exporing state when appropriate on SETSLOT or ADDSLOTS cluster commands 2011-05-06 16:08:10 +02:00
antirez f9cbdcb1a6 CLUSTER SETSLOT command and some refactoring of the cluster command 2011-05-06 15:44:09 +02:00
antirez f384df8302 CLUSTER DELSLOTS 2011-05-06 13:38:27 +02:00
antirez a7b058dae6 Fixed semantics of CLUSTER SETSLOT, SELECT now only denied in cluster mode if selected DB is not 0 so that MIGRATE still works well. 2011-05-05 18:10:02 +02:00
antirez 46834808fe CLUSTER SETSLOT STABLE fixed 2011-05-05 17:56:12 +02:00
antirez 4763ecc9ad missing return caused protocol desync in CLUSTER SETSLOT 2011-05-05 17:52:19 +02:00
antirez 0276e5545c Fixed problem in cluster redirection due to a stupid typo 2011-05-05 17:50:14 +02:00
Pieter Noordhuis 3edbcab95a Extra tests for string2ll 2011-05-05 16:32:22 +02:00
Pieter Noordhuis c040cbd625 Check seplen and len before malloc'ing "tokens" 2011-05-05 16:32:22 +02:00
Pieter Noordhuis bf9fd5ffa2 Check for \n after finding \r 2011-05-05 16:32:22 +02:00
Pieter Noordhuis 32f99c5128 Show memory allocator in INFO output 2011-05-05 16:32:18 +02:00
Pieter Noordhuis edf23aff0e Use string2ll in ziplist code (faster) 2011-05-05 16:26:51 +02:00
Pieter Noordhuis 5d08193126 Tests for string2ll; move isObject* to object.c 2011-05-05 16:26:50 +02:00
Pieter Noordhuis af0e51f2e1 Move code 2011-05-05 16:25:48 +02:00
Pieter Noordhuis 5282562117 More allocators 2011-05-05 16:25:48 +02:00
Pieter Noordhuis ded614f803 Inline sdslen and sdsavail (thanks to @bitbckt) 2011-05-05 16:25:48 +02:00
Pieter Noordhuis 5af302011c Use custom string2ll and strchr 2011-05-05 16:25:48 +02:00
Pieter Noordhuis b7d3bf5157 Fix ziplist regression and update stresser 2011-05-05 15:16:51 +02:00
antirez eda827f8b7 cluster import/export of hash slots implemented in the query redirection engine 2011-05-05 11:13:21 +02:00
antirez a5dce40726 if /dev/urandom is not available use rand() to get a random node name 2011-05-04 10:30:22 +02:00
antirez 35845afba0 Better pretty printed makefile output 2011-05-04 10:17:05 +02:00
antirez 0d8f1ac359 initial pretty printing in makefile 2011-05-04 09:32:32 +02:00
antirez 0ba2932298 CLUSTER SETSLOT implemented 2011-05-04 09:31:37 +02:00
antirez 66f2517feb render migrating and importing slots in cluster nodes info 2011-05-02 19:04:33 +02:00
antirez 74a640492f Merge branch 'unstable' of github.com:antirez/redis into unstable 2011-05-01 15:38:59 +02:00
antirez 5cbe90dbfd Fixed a problem with string2ll() 2011-05-01 15:36:47 +02:00
antirez 2f52dac9ef CLUSTER subcommands to set slots in migrating or importing state. Still a work in progress... 2011-04-29 17:34:03 +02:00
antirez 484354ff95 CLUSTER GETKEYSINSLOT implemented 2011-04-29 16:17:58 +02:00
antirez 1eb713a4c1 CLUSTER KEYSLOT command 2011-04-29 14:31:18 +02:00
antirez d37299e3b7 Fixed a bug with replication where SLAVEOF NO ONE caused a slave to close the connection with its slaves 2011-04-29 14:18:16 +02:00
antirez c772d9c6e7 take a hashslot -> keys index, will be used for cluster rehasing 2011-04-28 19:00:33 +02:00
Pieter Noordhuis 45b0f6fb14 Use correct argc/argv for cleanup when loading AOF 2011-04-22 09:44:06 +02:00
antirez 7e79dd3f4c peak fragmentation ratio removed as it is a confusing field for users and trivial to compute at hand now that there is peak memory information in INFO output 2011-04-21 16:56:31 +02:00
antirez b93fdb7bbb CLIENT KILL implemented 2011-04-21 15:47:47 +02:00
antirez 3cd12b5687 CLIENT LIST implemented 2011-04-21 15:38:02 +02:00
antirez 17b24ff30d save peak memory usage as statistic and show it in INFO. Also a new INFO field was added showing the fragmentation ratio using the peak memory info. 2011-04-21 10:49:52 +02:00
antirez c7ba7b8bbb removed check for zmalloc return NULL in createClient(). The check was misplaced, and zmalloc never returns NULL. 2011-04-20 12:51:03 +02:00
antirez b3a96d454e Variadic SREM 2011-04-19 17:37:03 +02:00
antirez 64a13a36e6 variadic HDEL with tests 2011-04-19 17:07:55 +02:00
antirez 22f294d24a variadic SADD 2011-04-15 18:08:32 +02:00
antirez 009db67645 addReplyLongLong optimized to return shared objects when the value to reply is 0 or 1 2011-04-15 18:08:24 +02:00
antirez 2e667806ed version bumped to 2.9, that is, 3.0 unstable 2011-04-15 17:44:08 +02:00
antirez fb2feae599 variadic LPUSH/RPUSH 2011-04-15 16:35:27 +02:00
antirez 7c0e1b53c4 Merge remote branch 'pietern/unstable-zset' into unstable 2011-04-14 13:31:14 +02:00
antirez d0cfb2be64 redis-trib: functions implementing commands moved at bottom 2011-04-14 09:41:22 +02:00
antirez 8bad0ddd9d fixed bug due to typo in code 2011-04-13 21:26:12 +02:00
antirez 180ba187d3 fixed typo in comment 2011-04-13 20:17:11 +02:00
antirez 9a440ad418 fixed a typo in redis-trib 2011-04-13 18:50:50 +02:00
antirez 3883a381b6 use map! instead of reassigning 2011-04-13 18:46:29 +02:00
antirez 583fc5dd60 hopefully more readable info_string method in redis-trib 2011-04-13 18:40:51 +02:00
antirez 57d83d5673 redis-trib create, first version is know working 2011-04-13 15:58:05 +02:00
antirez 9d89e99c99 no longer useful debugging printf removed 2011-04-13 11:42:05 +02:00
antirez 996d503d1a ASCII ART FTW 2011-04-13 10:58:21 +02:00
antirez a54d9805ee Merge branch 'unstable' of github.com:antirez/redis into unstable 2011-04-13 10:39:06 +02:00
antirez 1087227d41 redis-trib: show list of commands 2011-04-13 10:38:56 +02:00
antirez 744f34d834 redis-trib can now assign hash slots to initialize a cluster. Next step is to join the cluster. 2011-04-12 17:06:33 +02:00
antirez d415f9ff41 Merge branch 'unstable' of github.com:antirez/redis into unstable 2011-04-12 15:36:10 +02:00
Salvatore Sanfilippo f29d1fb0b2 assert_empty in redis-trib 2011-04-11 18:26:00 +02:00
Salvatore Sanfilippo 8c4c50906c added known nodes info in CLUSTER INFO 2011-04-11 17:40:35 +02:00
Salvatore Sanfilippo b800a3ab20 a first refactoring of redis-trib.rb 2011-04-11 16:58:47 +02:00
Salvatore Sanfilippo 407798c1e1 Redis-trib initial implementation (currently can not do any actual work) 2011-04-11 16:41:06 +02:00
Salvatore Sanfilippo 1c708b25ee added minimal cluster section in INFO output. This is only useful to check if the instance is or not configured as a cluster node, all the other informations are accessible using the CLUSTER command. 2011-04-11 16:40:37 +02:00
antirez 8d727af8c4 update state when FAIL is cleared from a node 2011-04-08 14:19:52 +02:00
antirez fd7a584f7a do not process node failure messages about yourself 2011-04-08 10:17:41 +02:00
antirez a55c7868c1 fixed lame error in slot assignment 2011-04-07 23:33:18 +02:00
antirez 5a547b27f7 evaluate cluster state after config load. Still bugs in the slot allocation after nodes config load to fix. 2011-04-07 23:23:27 +02:00
antirez 93666e583c master node without slaves rejoin fixed 2011-04-07 23:10:32 +02:00
antirez 152d937b8c when loading config set the ping/pong timestaps to the current value. Even a node in FAIL state can be accepted again if there are no slaves for this node so election was not possible 2011-04-07 23:06:01 +02:00
antirez 1793752d97 node cluster configuration file configurable via redis.conf 2011-04-07 21:34:41 +02:00
antirez 2bc52b2c02 useless newline removed from log message 2011-04-07 19:22:24 +02:00
antirez d01a6bb3f9 fixes to configuration loading and saving. However there is to still fix the logic for reconnection/behavior of nodes after a restart. 2011-04-07 19:04:16 +02:00
antirez 92690d29fe first version of cluster config loading code 2011-04-07 17:46:28 +02:00
antirez 726a39c15f initial cluster config load code 2011-04-07 12:55:02 +02:00
Pieter Noordhuis 02e6006532 Explicitly zero zval since it is stored on the stack 2011-04-06 16:39:22 +02:00
Pieter Noordhuis d4d3a70da2 Update target encoding for sorted set from rdb 2011-04-06 16:38:34 +02:00
Pieter Noordhuis 100ed062c0 Test for ENCODING_SKIPLIST instead of ENCODING_RAW 2011-04-06 16:17:07 +02:00
Pieter Noordhuis 4cc4d1648b Typo 2011-04-06 16:15:15 +02:00
Pieter Noordhuis 7d8c555e92 Merge branch 'unstable' into unstable-zset
Conflicts:
	src/object.c
2011-04-06 16:15:01 +02:00
antirez 0b7f6d0913 make sure that OBJECT ENCODING returns skiplist for sorted sets, and not raw, so that once we will merge specially encoded sorted sets everything will make sense. 2011-04-06 15:36:10 +02:00
antirez ece74202bb OBJECT command implemented 2011-04-06 12:19:45 +02:00
antirez f797c7dc17 bad data on RESTORE can no longer crash the server but create a memory leak with some input string 2011-04-05 13:57:28 +02:00
antirez f304f22b22 Merge branch 'unstable' of github.com:antirez/redis into unstable 2011-04-01 19:00:21 +02:00
antirez 626f6b2d64 DUMP implemented, RESTORE and MIGRATE fixed. Use zcalloc() instead of zmalloc()+memset() in sds.c when a new string is created with NULL initialization pointer. 2011-04-01 18:59:28 +02:00
antirez 5b94b8ac5d fixed memory leak introduced with the previous commit. Many thanks to Pieter Noordhuis for spotting it in no time 2011-03-31 19:52:15 +02:00
antirez 25ef31920a Fixed issue #503. MONITOR + QUIT could crash the server, there are actually other interactions that could have the same effect (for instance Pub/Sub). 2011-03-31 16:44:43 +02:00
antirez 6c390c0b23 minor change with no actual effects til the loading node config code is in place 2011-03-30 18:12:51 +02:00
antirez ef21ab960e centralized cluster config file name. Assigned slots in CLUSTER NODES output and in cluster config file. 2011-03-30 17:41:13 +02:00
antirez 4b72c5617f fix to configuration saving on first start 2011-03-30 16:51:28 +02:00
antirez c7c7cfbddc cluster configuration saving 2011-03-30 14:58:19 +02:00
antirez ecc9109434 Cluster branch merged to unstable. 2011-03-29 17:51:15 +02:00
antirez cc1cb7e540 Merge remote branch 'origin/getkeys' into unstable 2011-03-29 10:54:38 +02:00
antirez a07bc92692 Preloading messages log level changed from WARNING to DEBUG 2011-03-28 19:03:57 +02:00
antirez 4b61ca460c fixed a bug in RENAME getKeys() function 2011-03-28 18:46:22 +02:00
antirez 6e1b9b58ec bug fixed in zunionstore specific getKeys() implementation 2011-03-28 18:21:06 +02:00
antirez b4b5144694 Fixes to the new preloading / key discovery APIs 2011-03-28 17:54:42 +02:00
antirez 42b2621cdc implemented preload of EXEC using the new getKeys() system 2011-03-28 17:29:26 +02:00
antirez a3cf904121 minor style change 2011-03-23 23:13:15 +01:00
antirez 9791f0f8ce new preloading implemented, still EXEC not handled correctly, everything to test 2011-03-23 18:09:17 +01:00
antirez e360e3bb7e Fixed sdssplitargs() handling of hex-style escapes. 2011-03-22 22:49:12 +01:00
antirez 03af999cb0 command table altered for the new API to get position of keys arguments in commands 2011-03-22 19:36:09 +01:00
Pieter Noordhuis 48991620f7 Remove sorted set when empty after ZREMRANGEBY* 2011-03-21 23:54:46 +01:00
antirez 612810af6e sdscatrepr() fixed. Now newlines and other special chars are escaped correctly 2011-03-20 18:24:49 +01:00
Pieter Noordhuis dddf5335f4 Fix DEBUG DIGEST, SORT and AOF rewrite 2011-03-14 13:30:06 +01:00
Pieter Noordhuis 69298a05eb Offset should be size_t 2011-03-14 10:53:53 +01:00
Pieter Noordhuis 72690afdd2 Remove unused function 2011-03-14 10:53:14 +01:00
Pieter Noordhuis e53ca04b50 Test for empty inner range when looking for elements in range 2011-03-11 18:18:02 +01:00
Pieter Noordhuis 8588bfa370 Make zzl API unaware of the robj where the ziplist is stored 2011-03-11 17:06:07 +01:00
Pieter Noordhuis df26a0ae0b Encode sorted set after loading from dump 2011-03-10 17:50:13 +01:00
Pieter Noordhuis 255eebe221 Convert encoding of result when in limits 2011-03-10 17:02:05 +01:00
Pieter Noordhuis dba3a153a7 Remove comment 2011-03-10 16:53:20 +01:00
antirez 7493d2a032 fixed diskstore race condition 2011-03-10 16:39:19 +01:00
Pieter Noordhuis 56ce42faf1 Generic iterator code for usage in ZUNIONSTORE/ZINTERSTORE 2011-03-10 16:34:52 +01:00
Pieter Noordhuis bbfe232f60 Make zzlLength take a ziplist argument 2011-03-10 16:17:14 +01:00
Pieter Noordhuis d4e07f1714 Add new string to long long function 2011-03-10 16:16:27 +01:00
antirez dc75b1edfb encoding agnostic intsets 2011-03-09 19:14:04 +01:00
antirez f220437450 ziplist are now endianess agnostic 2011-03-09 18:49:59 +01:00
antirez 336c82d583 zipmaps are now endianess agnostic, needed for on disk serialization of zipmaps without convertions layers 2011-03-09 17:31:02 +01:00
antirez b5325132f1 memrev variants only doing the work if the target host is big endian 2011-03-09 17:28:16 +01:00