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
antirez
48e4621590
Ehm... sorry if we don't support PDP endianess
2011-03-09 16:33:09 +01:00
antirez
e12cb14308
endianess conversion API, to be applied to specially encoded data types for arch agnostic encoding.
2011-03-09 16:24:18 +01:00
Pieter Noordhuis
cc4c964b33
Fix used function in ZCARD
2011-03-09 16:13:39 +01:00
Pieter Noordhuis
a669d5e999
Convert encoding when thresholds overflow
2011-03-09 16:13:06 +01:00
antirez
b1a8e3e89e
byte ordering detection in config.h
2011-03-09 15:44:21 +01:00
Pieter Noordhuis
3ea204e103
Configurable thresholds for encoded sorted sets
2011-03-09 14:01:57 +01:00
Pieter Noordhuis
e12b27acf7
Persistence code for encoded sorted sets
2011-03-09 13:16:38 +01:00
Pieter Noordhuis
d1c920c538
Support dual encoding for more commands
2011-03-09 12:37:59 +01:00
Pieter Noordhuis
aff255c81d
Support dual encoding for ZRANGEBYSCORE et al
2011-03-09 11:29:21 +01:00
Pieter Noordhuis
4c5f0966b2
Helpers to move around in encoded sorted set
2011-03-09 11:06:31 +01:00
Pieter Noordhuis
63b7b7fb34
Support dual encoding for ZREMRANGEBYRANK
2011-03-09 10:30:55 +01:00
Pieter Noordhuis
5d1b4fb698
Support dual encoding for ZRANGE
2011-03-09 00:12:29 +01:00
Pieter Noordhuis
0f23eb3b10
Properly free encoded sorted set
2011-03-08 23:56:59 +01:00
Pieter Noordhuis
4a14dbbac2
Look up and remove elements by range
2011-03-08 23:56:33 +01:00
Pieter Noordhuis
9f9b60f974
Typo
2011-03-08 22:14:46 +01:00
Pieter Noordhuis
8218db3dae
Little less obfuscation
2011-03-08 21:36:46 +01:00
Pieter Noordhuis
0b10e10444
Support dual encoding in ZREM
2011-03-08 17:11:15 +01:00
antirez
e270a7fa58
removed useless call
2011-03-08 16:52:39 +01:00
Pieter Noordhuis
3ca7532a2d
Don't encode element argument when dealing with ziplist
2011-03-08 16:51:41 +01:00
Pieter Noordhuis
21c5b508a4
Initial work for ziplist backed sorted sets
2011-03-08 16:44:22 +01:00
Pieter Noordhuis
9e7cee0ed0
Add function to create ziplist-backed sorted set
2011-03-08 16:08:52 +01:00
Pieter Noordhuis
672b0a1b25
Fast conversion of double when representable as long long
2011-03-08 16:08:11 +01:00
antirez
3a21cb99e5
same final call of two if branches moved outside
2011-03-08 15:55:34 +01:00
antirez
e09b51869b
useless function removed
2011-03-08 15:10:20 +01:00
antirez
c5b6f46132
comment typo fixed
2011-03-08 15:03:51 +01:00
Pieter Noordhuis
45290ad9bb
Rename zset range functions
2011-03-08 10:57:53 +01:00
Pieter Noordhuis
8e1b327706
Test for ranges where min > max
2011-03-08 10:57:39 +01:00
Pieter Noordhuis
df278b8b0b
Compiler should decide on inlining
2011-03-08 10:57:33 +01:00
Pieter Noordhuis
22b9bf1594
Move logic concerned with zset ranges
...
This also optimizes ZREVRANGEBYSCORE for pathological cases where a
sorted set contains many elements with the same score. Previously,
it would traverse the list from back to front in such a case.
2011-03-08 10:57:24 +01:00
Pieter Noordhuis
a300477368
Undo rename of function names where something went wrong
2011-03-08 10:57:06 +01:00
antirez
c2f816b423
Merge remote branch 'pietern/unstable-sigs' into unstable
2011-03-07 12:22:00 +01:00
Pieter Noordhuis
3f4eef215b
Show database number in cli prompt when non-zero
2011-03-06 21:14:40 +01:00
Pieter Noordhuis
96e34b3ce1
Store SELECTed database for reconnect (issue #468 )
2011-03-06 20:46:49 +01:00
Pieter Noordhuis
33753a732a
Minor memory leak in redis-cli (issue #464 )
2011-03-06 20:13:01 +01:00
Pieter Noordhuis
ca36b4ab31
Only save history when stdin is a tty (issue #465 )
2011-03-06 20:02:33 +01:00
Pieter Noordhuis
633a941028
Save RDB on SIGTERM (see issue #471 )
2011-03-06 17:49:40 +01:00
antirez
d9fac6c07a
possible fix for a failed assertion introduced with the latest diskstore speedup fix
2011-03-04 18:10:43 +01:00
antirez
0b537972f4
Fixed return value of GETRANGE / SUBSTR
2011-03-04 16:22:50 +01:00
antirez
4aec2ec8c4
AOF file descriptor leak fixed
2011-03-04 16:13:54 +01:00
antirez
15db4aa006
TTL command fixed to work reliably with diskstore
2011-03-04 15:49:01 +01:00
antirez
8b108ed307
debugging message moved from REDIS_WARING to REDIS_DEBUG
2011-03-04 15:45:38 +01:00
antirez
be14f38de6
Redis manifesto added
2011-03-01 15:20:35 +01:00
antirez
1213abe477
fix type in rdbSaveKeyValuePair() when saving an intset. Don't merge this commit into 2.2 as will not apply cleanly.
2011-02-28 17:55:05 +01:00
antirez
26117e84f0
direct saving of specially encoded types implemented for lists and sets too
2011-02-28 17:53:47 +01:00
antirez
0a04b5f5a0
define name typo fixed
2011-02-28 17:36:12 +01:00
antirez
9ad853ccde
added new RDB codes for ziplist encoded lists and intset encodeed sets
2011-02-28 17:06:31 +01:00
antirez
9fa7beb515
save ziplist encoded type as a different type id. Done as separated commit since this is the part that will not merge cleanly in 2.2
2011-02-28 17:06:09 +01:00
antirez
f8956ed6d8
convert the zipmap into hash in rdb loading if the zipmap has too many elements
2011-02-28 16:55:34 +01:00
antirez
4d60dea853
RDB/AOF loading times logged with millisecond precision
2011-02-28 15:31:54 +01:00
antirez
1187b0a56e
fix for zipmap raw saving in unstable branch
2011-02-28 15:13:49 +01:00
antirez
d4fb9f4144
encoded types API to get blob length
2011-02-28 14:48:49 +01:00
antirez
2cc993655f
save zipmap encoded hashes as blobs. Work in progress.
2011-02-28 09:56:48 +01:00
antirez
419e1cca74
less delays in diskstore when there are many writes. more work to do.
2011-02-25 19:11:25 +01:00
antirez
900ab8fc7a
more disk store fields in INFO
2011-02-25 10:59:57 +01:00
Pieter Noordhuis
6c682e559c
Restore argc/argv in EXEC after command is executed
2011-02-23 14:37:22 +01:00
Paul Gideon Dann
df50d707f3
Allow port to be 0 in configuration, in order to allow disabling of TCP.
2011-02-22 12:13:29 +01:00
antirez
29920dceb8
conflict resolved in cherry pick
2011-02-22 00:03:03 +01:00
antirez
f96a9f82d8
suppress a Linux warning, for 2.2 sake
2011-02-21 17:51:52 +01:00
antirez
09d2abdca2
check return value of getcwd()
2011-02-21 17:51:28 +01:00
antirez
465b4189e6
CONFIG SET/GET for all the special encoding parameters of sets, lists, hashes
2011-02-17 12:20:59 +01:00
antirez
30318c1ddd
SPOP replication/AOF patch ported to unstable branch
2011-02-16 12:41:40 +01:00
antirez
21cda08b3b
CONFIG GET/SET dir implemented
2011-02-14 02:51:27 +01:00
antirez
05600eb8a7
fixed two diskstore issues, a quasi-deadlock creating problems with I/O speed and a race condition among threads
2011-02-11 11:16:15 +01:00
antirez
9c104c6886
introduced a new logging function for big messages
2011-02-09 10:10:35 +01:00
antirez
a8cc969cd4
Merge remote branch 'pietern/unstable-brpoplpush' into unstable
2011-02-07 15:28:01 +01:00
antirez
a53b4c2409
Fix for the previous port 0 patch, thanks to Pieter for noticing the error
2011-02-07 13:43:29 +01:00
antirez
68d6345ddf
If port zero is specified, Redis will not listen for TCP connections
2011-02-07 12:52:01 +01:00
Pieter Noordhuis
554a5dd2fc
Clarify comment
2011-02-03 12:56:53 +01:00
Pieter Noordhuis
d5870d7ac3
Reply with single null bulk for unsuccesful BRPOPLPUSH
2011-02-03 12:56:50 +01:00
antirez
452229b6fb
propagate key eviction to slaves and AOF, like for expires, so that replicas and AOFs are always consistent even in maxmemory mode.
2011-01-27 16:52:37 +01:00
antirez
be86082be4
Fixed a theoretical non exploitable security bug reported by @chrisrohlf. In theory if we undefine SDS_ABORT_ON_OOM from sds.c AND modify zmalloc.c in order to don't quit on out of memory (but this would break every other part of Redis), on out of memory there is a possible heap overflow.
2011-01-27 10:27:25 +01:00
antirez
d7ed7fd2fc
INFO commandstats section reset with config resetstat, a new microseconds per call field, and a few other minor things
2011-01-24 10:56:06 +01:00
antirez
9b45592c69
portability fix in redis benchmark, using zu format specified with size_t instead of lu
2011-01-24 10:05:42 +01:00
antirez
0d808ef275
Now INFO outputs the "INFO default" output if no argument is passed. Also added counts of calls for every command, thanks to an idea by Mike Shaver
2011-01-23 22:14:15 +01:00
antirez
1b085c9f48
INFO output refactoring. Now "INFO section" will report only the specified section
2011-01-23 16:41:07 +01:00
antirez
d9cb288c9e
profiling information in INFO
2011-01-23 11:46:34 +01:00
antirez
89a1433e69
Fixed issue #435 and at the same time introduced explicit ping in the master-slave channel that will detect a blocked master or a broken even if apparently connected TCP link.
2011-01-20 13:18:23 +01:00
antirez
c4df22afb6
Fixed compilation on FreeBSD
2011-01-20 10:59:49 +01:00
Pieter Noordhuis
3bcffcbe5b
Remove client from list of unblocked clients when it is free'd
2011-01-17 10:04:13 +01:00
antirez
52dc87bb18
lame typo causing bad hashes memory characteristic
2011-01-15 22:24:22 +01:00
antirez
7a1fd61e3d
implemented two new INFO fields showing the size of clients max input and output buffers.
2011-01-14 10:20:02 +01:00
antirez
3a73be7524
master-slave replication fixed, it was not listing any key using KEYS command in the slave.
2011-01-14 09:53:57 +01:00
antirez
5b831607e7
redisServer structure fields reordered for clarity
2011-01-14 00:19:19 +01:00
antirez
a5062bbab0
fixed bgsave_in_progress in INFO when BGSAVEing with diskstore enabled, don't DEBUG FLUSHCACHE when bgsave is in progress.
2011-01-09 19:25:34 +01:00
antirez
0a0f83ab2c
DEBUG FLUSHCACHE needs to wait that everything was synched on disk
2011-01-09 19:01:44 +01:00
antirez
69bfffb4a7
test adapted to run with diskstore, and a few bugs fixed
2011-01-09 18:25:34 +01:00
antirez
5e1d2d30f7
initial fix of the test suite to run both in in-memory and diskstore mode
2011-01-09 16:49:52 +01:00
antirez
67a1810b32
allocation stats in INFO
2011-01-09 15:56:50 +01:00
antirez
b39619d8e7
DEBUG OBJECT fixed with diskstore, force loading
2011-01-08 02:06:01 +01:00
antirez
f1df1739e3
resolved a problem with delayed loading of keys
2011-01-08 01:42:08 +01:00
antirez
cc2750670f
blocking SAVE implemented
2011-01-08 00:09:57 +01:00
antirez
43574a72c3
avoid bgsaving temp files
2011-01-07 23:51:31 +01:00
antirez
f03fe802b7
diskstore BGSAVE should work now
2011-01-07 23:41:00 +01:00
antirez
5b8ce85378
more work towards diskstore bgsave
2011-01-07 19:31:42 +01:00
antirez
36c17a53b6
source reshaped a bit to play well with a bgsaving thread, still work to do, does not compile.
2011-01-07 18:15:14 +01:00
antirez
249ad25f4f
BGSAVE work in progress
2011-01-05 18:38:31 +01:00
antirez
51335102ac
Merge remote branch 'pietern/writev-unstable' into unstable
2011-01-05 13:51:37 +01:00
antirez
f771dc23a0
IO performances greatly improved under high writes load
2011-01-05 12:34:14 +01:00
Pieter Noordhuis
9b1d738f96
Remove newlines for networking errors
2011-01-05 10:51:37 +01:00
Pieter Noordhuis
a510cb0c03
Remove glueoutputbuf option and broken code
2011-01-05 10:39:41 +01:00
antirez
6eaad66373
Merge branch 'master' into unstable
2011-01-04 19:07:15 +01:00
antirez
1190c6cbf7
handle end of space on device in a better way
2011-01-04 19:03:23 +01:00
antirez
418d5eaf50
strictly honour memory limit
2011-01-04 18:53:09 +01:00
antirez
779fa2af7a
rename(2) used in diskstore.c for atomic updates of keys
2011-01-04 18:28:04 +01:00
antirez
fad97fbeea
TODO list updated
2011-01-04 13:20:04 +01:00
antirez
5ab7bbfc27
fixed logging level for debugging message
2011-01-03 17:40:10 +01:00
antirez
bafa88c8b7
stupid bug fixed
2011-01-03 17:37:20 +01:00
antirez
9b24d8adbe
serious performance enhancement of diskstore
2011-01-03 17:27:47 +01:00
antirez
5d46e370b7
diskstore more fixes
2011-01-03 17:18:37 +01:00
antirez
d158dc28f6
comments on top of dscache.c updated
2011-01-03 10:58:59 +01:00
antirez
0b305fcfd9
diskstore FLUSH* fixed
2011-01-03 10:51:45 +01:00
antirez
c15a3887e0
diskstore bug fixing and negative cache proper implementation
2011-01-03 10:47:39 +01:00
antirez
120b9ba8f8
FLUSHALL / FLUSHDB for diskstore implemented
2011-01-03 10:17:39 +01:00
antirez
d2033feb5c
fixed cache-flush-delay configuration parsing
2011-01-02 22:27:26 +01:00
antirez
4942145d72
fixed a bug in diskstore
2011-01-02 21:39:17 +01:00
antirez
e37efb0d8b
diskstore race condition fixed
2011-01-02 17:42:04 +01:00
antirez
133cf28ee8
minor comment change of dscache.c
2011-01-01 21:44:14 +01:00
antirez
9a3730289f
blocking load fixed with the new design
2011-01-01 21:39:48 +01:00
antirez
3be00d7ed6
implemented a different approach to IO scheduling, so object->storage is no longer used, instead there is a queue and hash table of IO tasks to process, and it is always possible to know what are the scheduled and acrtive IO operations against every single key.
2011-01-01 21:35:56 +01:00
antirez
aa81e4d5f4
minor changes to doc and comments
2010-12-31 18:23:31 +01:00
antirez
d934e1e85b
negative caching implemented
2010-12-31 17:32:59 +01:00
antirez
c4b64a1395
don't overload the IO job queue if there are alrady too much entries
2010-12-31 16:10:09 +01:00
antirez
a440ecf0d3
major bug and a dead lock fixed
2010-12-31 14:30:24 +01:00
antirez
8e6bb67108
brainstorming with myself in dscache.c comments
2010-12-31 02:39:00 +01:00
antirez
ad01a25553
blocking load of keys on lookup -- nor tested, nor finished
2010-12-31 00:18:17 +01:00
antirez
4e941ecacb
short but important comment added
2010-12-30 19:20:23 +01:00
antirez
3122229228
handled DEL command as a special optimized case for disk store
2010-12-30 19:16:59 +01:00
antirez
8d51fb6a80
diskstore cache bug fixing
2010-12-30 18:37:46 +01:00
antirez
98a9abb66d
don't use small shared integer objects when disk store is enabled
2010-12-30 18:17:01 +01:00
antirez
82ef6ebf73
added cache-flush-delay configuration directive. Don't BGSAVE when using diskstore
2010-12-30 17:53:28 +01:00
antirez
eea15afe5f
fixed bugs on diskstore cache
2010-12-30 17:21:54 +01:00
antirez
1fce320114
filesystem based KV store mostly implemented in diskstore.c
2010-12-30 17:07:06 +01:00
antirez
4ab988238f
more work done for diskstore without trying to compile, more work needed to build again.
2010-12-30 16:41:36 +01:00
antirez
1609a1c42d
fixed a few bugs in DS store, now it's somewhat about able to reply to 'GET foo' with a bogus value.
2010-12-30 15:55:24 +01:00
antirez
67b0b41c87
disk store logged messages improved
2010-12-29 23:08:18 +01:00
antirez
ddbc81af33
diskstore directory structure creation
2010-12-29 23:00:00 +01:00
antirez
f63f0928c3
cron part of disk store object cache implemented. Objects are pushed as IO jobs if needed, so that the IO thread will process them.
2010-12-29 22:18:20 +01:00
antirez
cea8c5cd75
touched key for WATCH refactored into a more general thing that can be used also for the cache system. Some more changes towards diskstore working.
2010-12-29 19:39:42 +01:00
antirez
d021221086
version set to 2.3.0
2010-12-29 17:02:43 +01:00
antirez
5ef640986b
more step forwards for disk store to be able to run
2010-12-29 16:58:57 +01:00
antirez
5f6e1183e7
implemented complete job handling
2010-12-29 15:57:27 +01:00
antirez
f34a6cd85e
still more work for diskstore
2010-12-29 03:57:35 +01:00
antirez
f2da3a620c
more work converting vm into object cache
2010-12-28 20:03:21 +01:00
antirez
f081eaf1c0
removed parts of VM that probably will be of no use with object cache
2010-12-28 18:46:34 +01:00
antirez
16d778780e
a lot of code reworked/removed to implement object caching
2010-12-28 18:06:40 +01:00
antirez
697af434fb
initial changes needed to turn the current VM code into a cache system. Tons of work to do still.
2010-12-28 15:20:20 +01:00
antirez
33388d4304
added diskstore.c in Makefile and prototypes in redis.h
2010-12-28 14:42:09 +01:00
antirez
52970711cf
added diskstore.c, currently just a stub
2010-12-26 18:46:25 +01:00
antirez
04a2ade90d
Merge remote branch 'pietern/bench-fix'
2010-12-23 13:18:07 +01:00
Pieter Noordhuis
8ce39260a4
Fix compiler warnings on Solaris
2010-12-23 11:26:11 +00:00
Pieter Noordhuis
89191613f1
limits.h is already included from redis.h
2010-12-23 11:14:05 +00:00
Pieter Noordhuis
65b472acce
Solaris 10 doesn't know AF_LOCAL
2010-12-23 11:09:07 +00:00
Pieter Noordhuis
ba55932674
Solaris doesn't support -rdynamic
2010-12-23 11:08:50 +00:00
Pieter Noordhuis
2380388974
Randomize keys and set start time when first write event fires
2010-12-23 11:22:40 +01:00
Pieter Noordhuis
3c49070b35
Find substrings to randomize when the client is created
2010-12-23 11:04:44 +01:00
Pieter Noordhuis
d69a483556
Make the MSET benchmark *really* work with 10 keys
2010-12-22 18:39:52 +01:00
Pieter Noordhuis
f2f2424e00
Remove code duplication
2010-12-22 18:31:33 +01:00
antirez
180596766b
help.h updated
2010-12-19 15:19:08 +01:00
antirez
f21779ff36
removed some dead code, added evicted keys counter separated from expired keys.
2010-12-19 15:15:08 +01:00
antirez
9d7165e885
overflow detection in INCR family functions
2010-12-19 12:22:12 +01:00
Didier Spezia
f474a5bd4e
Add wait states to deal with many connections.
2010-12-18 12:11:26 +01:00
Pieter Noordhuis
1cd3c1e08c
Use multi-bulk protocol by default in redis-benchmark
2010-12-18 12:10:24 +01:00
Pieter Noordhuis
174df6fe49
Re-use variable data in redis-benchmark
2010-12-16 23:41:58 +01:00
Pieter Noordhuis
53f1d81712
Fix NULL-termination of variable data in redis-benchmark
2010-12-16 23:35:56 +01:00
antirez
401c3e213c
bulk transfers limited to 512 MB as this is the new limit of all the redis strings
2010-12-15 16:07:49 +01:00
antirez
beb1aab3fd
Merge remote branch 'pietern/cli'
2010-12-15 16:03:43 +01:00
Pieter Noordhuis
28c07c7bf8
Specify multi-bulk delimiter via options
2010-12-15 16:02:07 +01:00
Pieter Noordhuis
65add0a311
Improved raw output mode
...
Raw output mode is selected by default when STDOUT is not a tty. For
ttys, raw output can be forced using the option "--raw".
2010-12-15 15:59:06 +01:00
antirez
2136a880a7
version bumped to 2.1.8
2010-12-15 15:22:04 +01:00
Pieter Noordhuis
f18e059e82
Make redis-cli help a little better
2010-12-15 15:00:47 +01:00
Pieter Noordhuis
c392edf531
Show redis-cli version with repository information if present
2010-12-15 14:34:05 +01:00
Pieter Noordhuis
c8061392e1
Minor changes to Makefile
2010-12-15 12:48:12 +01:00
Pieter Noordhuis
ad1b4f4f59
Use helper function for string object length
2010-12-15 11:49:04 +01:00
Pieter Noordhuis
1333f98dd2
Use helper functions in APPEND
2010-12-15 11:40:36 +01:00
Pieter Noordhuis
8f8eeffec1
Disable negative offsets for SETRANGE
2010-12-15 11:30:50 +01:00
Pieter Noordhuis
30407e1f4f
Make SETBIT return original bit value
2010-12-15 00:42:32 +01:00
antirez
6a246b1e7e
special encoding limits redefined, and all the config options for special encodings added in the example redis.conf file
2010-12-14 18:23:52 +01:00
antirez
cc7c4158bc
Merge remote branch 'jonahharris/syslog'
2010-12-14 17:53:28 +01:00
antirez
8e33831b2b
Merge remote branch 'pietern/cli-monitor'
2010-12-14 17:48:52 +01:00
antirez
648e965460
removed a test that will never be true fixing the compilation on Linux
2010-12-14 17:46:20 +01:00
antirez
603e616bf4
Merge branch 'master' of github.com:antirez/redis
2010-12-14 17:42:46 +01:00
antirez
57997664ea
Merge remote branch 'pietern/strrange'
2010-12-14 17:42:01 +01:00
Pieter Noordhuis
2b2eca1f56
Zero-pad timestamps in MONITOR output
...
Original report and fix:
http://code.google.com/p/redis/issues/detail?id=404
2010-12-14 17:39:34 +01:00
antirez
96b5d05fde
initialized a few vars just to avoid warnings, not a real problem.
2010-12-14 16:39:33 +01:00
antirez
f858c11d7d
Merge remote branch 'pietern/brpoplpush'
2010-12-14 16:26:37 +01:00
Pieter Noordhuis
ef11bcccca
Refactor and rename SUBSTR to GETRANGE
...
SUBSTR is renamed to GETRANGE to have better consistency between command
names (with SETRANGE as its dual). GETRANGE is still aliased as SUBSTR.
2010-12-14 15:16:29 +01:00
Pieter Noordhuis
9f9e1ceaa0
Add SETRANGE command implementation and tests
2010-12-14 14:20:51 +01:00
antirez
8c304be359
cow friendly HGETALL and variants
2010-12-14 12:10:51 +01:00
Pieter Noordhuis
7ecd4644e7
Don't decode object on STRLEN when not necessary
2010-12-14 10:42:41 +01:00
antirez
afd438dfff
previouse INCR implementation restored, was actually faster for some reson not fully clear at the moment
2010-12-10 19:15:00 +01:00
antirez
a15742a41b
dont take the fast path for INCR if the resulting integer will fit into a shared integer range
2010-12-10 17:23:38 +01:00
antirez
b215a496a4
faster INCR doing far less allocation in common cases
2010-12-10 17:03:38 +01:00
antirez
dd48de748c
fixed compilation on Linux
2010-12-10 15:47:01 +01:00
antirez
e9bc56dbed
valgrind suppression file added
2010-12-10 15:36:04 +01:00
antirez
3d24304ff9
HGET HMGET are now COW friendly, plus API refactoring and changes needed for the new implementation.
2010-12-10 15:17:55 +01:00
Pieter Noordhuis
cc20906390
Change function name to match what it does
2010-12-10 12:16:16 +01:00
Pieter Noordhuis
586500c0ef
Typo
2010-12-10 12:06:24 +01:00
Pieter Noordhuis
eae33c1c81
Add generic function to grow an sds value
...
Move logic concerned with setting a bit in an sds to the SETBIT command
instead of keeping it in sds.c. The function to grow an sds can and will
be reused for a command to set a range within a string value.
2010-12-10 11:58:21 +01:00
antirez
1b508da7ca
SINTER/MEMBERS are now COW friendly, also some refactoring around was needed to get this result.
2010-12-09 23:01:09 +01:00
Jonah H. Harris
8b5db0a8dc
removed dup syslog-ident conditional
2010-12-09 11:26:33 -05:00
Pieter Noordhuis
076f88d657
Enforce maximum string value length of 512MB
2010-12-09 17:16:10 +01:00
Jonah H. Harris
e1a586ee69
syslog support
2010-12-09 11:10:21 -05:00
Pieter Noordhuis
3c1bf4957e
Add commands SETBIT/GETBIT
2010-12-09 16:39:33 +01:00
antirez
a5be65f71c
COW friendly versions of SPOP and SRANDMEMBER commands, with some change to the set encoding-agnostic API.
2010-12-09 10:21:02 +01:00
antirez
d51ebef509
LRANGE converted into a COW friendly command. Some refactoring, comment, and new addReply*() family function added in the process.
2010-12-07 16:33:13 +01:00
Pieter Noordhuis
a4ce758155
Don't execute commands for clients when they are unblocked
2010-12-06 16:39:39 +01:00
Pieter Noordhuis
ecf9401415
Fix case and indent
2010-12-06 16:04:42 +01:00
Pieter Noordhuis
8a88c368ed
Check other blocked clients when value could not be pushed
2010-12-06 16:04:10 +01:00
Pieter Noordhuis
ac06fc011d
Move code for pushing on a (blocking) RPOPLPUSH
2010-12-06 14:48:58 +01:00
Pieter Noordhuis
5fa95ad763
Rename blpop_blocked_clients to bpop_blocked_clients
2010-12-06 14:05:01 +01:00
Pieter Noordhuis
c8a0070a61
Move timeout logic
2010-12-06 13:45:48 +01:00
Pieter Noordhuis
bc8ffafeb9
Merge branch 'master' into brpoplpush
2010-12-06 12:31:56 +01:00
antirez
bbac56c2f8
added support for ctrl-l and clear command into redis-cli. To clear the screen is a good idea from time to time :). Also linenoise updated to the current version to support this new feature.
2010-12-01 11:18:59 +01:00
antirez
ce260f736e
minor merge conflicts merging cli-help branch fixed
2010-11-30 11:39:55 +01:00
Michel Martens & Damian Janowski
baa14ef913
Fix BRPOPLPUSH behavior for all use cases.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
8987bf23bf
Adhere to conventions.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
e3c51c4b1b
Rename bstate to bpop.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
59bd44d1c8
Remove warning.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
7c25a43adc
Handle BRPOPLPUSH inside a transaction.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
ba3b474111
Refactor code for BRPOPLPUSH.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
357a841714
Move to struct.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
b2a7fd0cf7
BRPOPLPUSH.
2010-11-29 23:52:07 -03:00
Damian Janowski & Michel Martens
8a979f0390
Fix case in RPOPLPUSH.
2010-11-29 23:52:07 -03:00
Pieter Noordhuis
b2cc45bfbc
Refactor and support help for command names with spaces
2010-11-29 20:26:32 +01:00
Pieter Noordhuis
41945ba6ae
Use linenoise completion API from redis-cli
2010-11-29 19:27:36 +01:00
antirez
d8d528e992
quick and dirty fix for hiredis bug creating problem with the new redis-cli connect commmand. Also change prompt when redis-cli is not connected
2010-11-29 12:20:17 +01:00
antirez
efcf948c1a
new redis-cli command connect
2010-11-29 12:17:55 +01:00
Pieter Noordhuis
a2a69d5803
Refactor help-related code into redis-cli.c
2010-11-28 21:37:19 +01:00
Pieter Noordhuis
50d0e82d54
Update help.h generator script to output man-style argument list
2010-11-28 17:45:58 +01:00
Pieter Noordhuis
2612e0521f
Merge remote branch 'visionmedia/cli-help' into cli-help
2010-11-26 20:46:42 +01:00
Pieter Noordhuis
a4e48b417d
Don't hardcode make to "make"
2010-11-21 16:44:17 +01:00
Pieter Noordhuis
bd70a5f588
Stop using /dev/null to find out the serialized object length
...
Now the rdbSave* functions return the number of bytes written (or
required to write) in serializing a Redis object, writing to /dev/null
and using ftell (which doesn't work on FreeBSD) isn't needed anymore.
2010-11-21 16:31:27 +01:00
Pieter Noordhuis
9a68cf91f0
Wrapper around fwrite to make API consistent
2010-11-21 16:12:25 +01:00
Pieter Noordhuis
8a623a98c3
Return number of bytes written from rdbSave* functions
2010-11-21 16:07:46 +01:00
Tj Holowaychuk
5397f2b596
Added redis-cli interactive help support
...
updated via commands.json in redis-doc repo. Currently
use `make src/help.h` to re-generate. The following
are valid from the REPL:
help
help [command]
help [group]
help groups
ex:
help sort
help hash
2010-11-16 05:50:26 -08:00
antirez
9fd01051bf
Fix for bug 374, thanks to Jeremy Zawodny for reporting and tracing why it was crashing.
2010-11-12 20:02:20 +01:00
antirez
0c2f75c6d8
volatile-lru maxmemory policy segfault fixed, thanks to Anthony Lauzon for reporting the problem with the patch. Original patch modified a bit in order to avoid the double lookup if the policy is allkeys-lru
2010-11-11 13:19:17 +01:00
antirez
11fd0c422b
now redis-cli is able to show the Git SHA1 in the version output
2010-11-08 16:26:02 +01:00
antirez
d9d8ccab93
make sure to flush stdout every line read in monitor mode, to play well with redirection to file
2010-11-08 16:14:15 +01:00
antirez
5402c4262e
added noeviction policy to redis maxmemory. ZSCORE removed from the list of commands that can't be called when we are low on memory, this command was added in the past for a stupid error.
2010-11-08 16:12:16 +01:00
antirez
240f8dbf3f
build redis-server at the end so have a more pleasing to see Make output and the advice to run the test suite at the end.
2010-11-08 13:19:58 +01:00
antirez
be98a33b51
fixed compilation with 32bit target
2010-11-08 12:53:36 +01:00
antirez
97e7f8aec3
non blocking loading of the DB / AOF with informations and ETA in INFO output
2010-11-08 11:52:03 +01:00
antirez
645e9962cb
version bumped to 2.1.7 after merging with aaslave branch for non blocking slaves
2010-11-05 11:00:20 +01:00
antirez
3b5e72d402
Merge branch 'aaslave'
2010-11-05 10:59:49 +01:00
antirez
ecc72ca17f
version bumped to 2.1.6
2010-11-05 10:57:53 +01:00
antirez
56fce7ce7d
Merge remote branch 'pietern/benchmark'
2010-11-05 10:29:59 +01:00
Pieter Noordhuis
feecb608ed
Use multi-bulk protocol in SET benchmark
2010-11-05 10:22:52 +01:00
antirez
4ebfc45528
config option to select if when replication link with master a slave should or not serve stale data
2010-11-04 19:59:21 +01:00
antirez
12ebe2ac17
replication asynchronous SYNC information in INFO output
2010-11-04 18:50:23 +01:00
antirez
f6433915fe
more replication info in logs
2010-11-04 18:14:20 +01:00
antirez
26b3366993
non blocking slave replication is now more non blocking than the first implementation...
2010-11-04 18:09:35 +01:00
antirez
62ec599c36
typos and minor stuff fixed in the new non blocking replication code
2010-11-04 17:35:03 +01:00
antirez
f4aa600b99
first attempt to non blocking implementation of slave replication and SYNC bulk data download. Never compiled so far...
2010-11-04 17:29:53 +01:00
Pieter Noordhuis
8146e31677
Microsecond latency resolution in redis-benchmark
2010-11-04 16:15:35 +01:00
Pieter Noordhuis
ec8f06675a
Use hiredis from redis-benchmark
2010-11-04 13:37:05 +01:00
Pieter Noordhuis
a9b18e54d4
Stop using the freelist robj* cache
2010-11-04 10:09:30 +01:00
Pieter Noordhuis
e902b579b4
Import linenoise as dependency for redis-cli
2010-11-03 17:15:23 +01:00
Pieter Noordhuis
339b9dc2d2
Put duration in parenthesis
2010-11-03 17:07:10 +01:00
Pieter Noordhuis
cfcd5d6d43
Add proper numbering for multi bulk replies in redis-cli
2010-11-03 17:03:54 +01:00
Pieter Noordhuis
7fc4ce13ed
Use hiredis from redis-cli
2010-11-03 16:09:38 +01:00
antirez
8d3e063a0a
added support for command renaming/suppression in redis.conf
2010-11-03 12:14:36 +01:00
antirez
1b1f47c915
command lookup process turned into a much more flexible and probably faster hash table
2010-11-03 11:23:59 +01:00
antirez
297e77c6ab
Now it is possible to use quoted strings in the redis.conf file accordingly to the sdssplitargs() function capabilities.
2010-11-03 10:31:19 +01:00
antirez
0a546fc017
Merge remote branch 'pietern/unixsocket'
2010-11-02 23:47:52 +01:00
antirez
539fb43820
RSS information in INFO output
2010-11-02 22:47:10 +01:00
antirez
7d0966a6b7
Do not update the LRU info on key lookup when we have a saving child. With this trivial change the additional memory used while saving with a background child in presence of many read operations is zero.
2010-11-02 18:59:48 +01:00
antirez
3ce014c766
redis-cli in interactive mode now prints the time elapsed of the operation performed took more than half a second.
2010-11-02 18:08:30 +01:00
antirez
b5b22da8e6
Revert "Function to compute RSS memory usage in a fast way, suitable to be called inside keys eviction loops"
...
This reverts commit 7d47ecd543
.
2010-11-02 12:10:41 +01:00
antirez
ca734d17ad
Revert "Now maxmemory, VM, and everything else uses the fast RSS memory used estimation instead of raw memory reported by zmalloc(). This means that setting maxmemory to 2GB will really have the effect of using up to 2GB of memory."
...
This reverts commit a3e60027e7
.
2010-11-02 12:09:59 +01:00
antirez
a3e60027e7
Now maxmemory, VM, and everything else uses the fast RSS memory used estimation instead of raw memory reported by zmalloc(). This means that setting maxmemory to 2GB will really have the effect of using up to 2GB of memory.
2010-11-02 11:50:55 +01:00
antirez
7d47ecd543
Function to compute RSS memory usage in a fast way, suitable to be called inside keys eviction loops
2010-11-02 11:40:35 +01:00
antirez
10c12171cc
removed a number of stupid compilation warnings on Linux
2010-11-02 11:15:09 +01:00
antirez
92e282288f
zmalloc functions to get RSS and fragmentation refactored into two separated functions
2010-11-02 10:51:09 +01:00
antirez
21dbc6499a
merge conflict resolved
2010-10-28 22:59:47 +02:00
Pieter Noordhuis
4794d88f15
Rewrite comment that was no longer valid
2010-10-28 16:59:05 +01:00
Pieter Noordhuis
a3a323e0e5
When REDIS_CLOSE_AFTER_REPLY is set, there may never be new replies
2010-10-28 16:52:23 +01:00
Pieter Noordhuis
5e78edb350
Unify two client flags that mean the same
2010-10-28 15:07:45 +01:00
antirez
73abd0a9d2
Merge remote branch 'remotes/pietern/zrevrangebyscore'
2010-10-28 14:12:25 +02:00
antirez
1de98301f6
removed useless spaces from DEBUG OBJECT output
2010-10-27 17:11:17 +02:00
Pieter Noordhuis
e584d82fec
Return error to client on wrong type for HMGET
2010-10-26 12:33:17 +02:00
antirez
244201f6ba
added a missing prototype from syncio.c in redis.h
2010-10-25 10:54:37 +02:00
antirez
d08fac3eb9
more generally usable i/o functions moved to syncio.c
2010-10-25 10:53:28 +02:00
antirez
19e61097c5
synchronous I/O networking functions originally used just for replication refactored in a file as generally useful, they are used in the cluster branch for MIGRATE.
2010-10-24 16:22:52 +02:00
Pieter Noordhuis
d94ac406ba
Exclusively use either tcmalloc or OSX's native malloc_size()
2010-10-23 10:18:48 +02:00
Pieter Noordhuis
7cdc98b630
Don't use prefix when malloc_size() can be called
...
Also, use tcmalloc functions explicitly via macros to prevent symbol
lookups to resolve to native malloc/free on OSX.
2010-10-23 09:59:28 +02:00
antirez
da47440d44
Make sure to reset the signal handler and deliver again the original crashing signal when dumping the stack trace. This will allow to dump the core if core dumping is enabled.
2010-10-22 23:30:48 +02:00
Robey Pointer
d8a717fb1a
if server.saveparamslen is not set, don't save the DB on exit.
2010-10-22 23:17:28 +02:00
antirez
1a587ff843
Makefile typo fixed for tcmalloc option
2010-10-22 00:16:32 +02:00
antirez
13b3715925
reports if tcmalloc is in used in INFO output
2010-10-22 00:10:17 +02:00
antirez
0a802bd7a0
support for compiling with tcmalloc
2010-10-22 00:06:44 +02:00
antirez
75fcab8c23
version bumped to 2.1.5
2010-10-21 17:55:44 +02:00
Pieter Noordhuis
a375b077cc
Skip object encoding where it doesn't make sense
2010-10-17 18:13:31 +02:00
Pieter Noordhuis
19408d83a4
Object encoding in hash function is done by a more specific function
2010-10-17 17:46:55 +02:00
Pieter Noordhuis
33aba595b0
Removed unused command flags
2010-10-17 17:31:40 +02:00
Pieter Noordhuis
75b41de8ca
Convert objects in the command procs instead of the protocol code
2010-10-17 17:21:41 +02:00
Pieter Noordhuis
b19c33d48a
Prevent clients from making too large multibulk requests
2010-10-15 19:15:38 +02:00
Pieter Noordhuis
ea5b70924d
Add benchmark for MSET
2010-10-15 18:17:06 +02:00
antirez
13a49af44b
prevent small integer sharing when maxmemory is active. So every object will use a private LRU field and the LRU algorithm can work well
2010-10-15 18:04:05 +02:00
Pieter Noordhuis
1aa608fc68
Change protocol from bulk to inline in redis-benchmark
2010-10-15 17:34:20 +02:00
Pieter Noordhuis
9da6caac4e
Don't reset the client when processCommand returns REDIS_ERR
2010-10-15 17:27:05 +02:00
Pieter Noordhuis
cd8788f26d
Refactor request parsing code for efficiency
2010-10-15 15:44:55 +02:00
antirez
9f8ded8ced
CONFIG RESETSTAT no longer resets the server uptime. Now keyspace hits/misses are reset as well.
2010-10-15 12:29:05 +02:00
antirez
95506e4611
minor aesthetic change
2010-10-15 12:22:48 +02:00
antirez
53eeeaff08
added keyspace_hits and keyspace_misses fields in INFO output
2010-10-15 12:19:21 +02:00
antirez
a36879293d
maxmemory-samples implemented in CONFIG command and configuration file
2010-10-15 11:57:38 +02:00
antirez
670bf2fd36
Don't increment dirty on expireIfNeeded() as natural expires are not considered database changes. This will avoid useless read-only commands in the AOF file as a result of, for instance, a GET operation triggering an expirIfNeeded() call resulting in an expired key removed.
2010-10-15 11:29:03 +02:00
antirez
b33ef40105
Merge remote branch 'pietern/ziplist-regression'
2010-10-14 21:23:01 +02:00
antirez
165346ca29
implemented different algorithms for maxmemory
2010-10-14 21:22:21 +02:00
Pieter Noordhuis
306c6a02e3
Replace ziplist stresser and fix regression
2010-10-14 21:11:42 +02:00
antirez
ef59a8bc9e
Object approximated LRU algorithm enhanced / fixed / refactored. This is used for the VM currently but will soon be used for maxmemory expiring.
2010-10-14 13:52:58 +02:00
Pieter Noordhuis
7236fdb22f
Return error when min and/or max in the sorted set range spec is not a double
2010-10-13 21:59:24 +02:00
Pieter Noordhuis
91504b6cbe
Make ZREMRANGEBYSCORE accept the same range spec as ZRANGEBYSCORE
...
This allows to use inclusive/exclusive bounds for min and max when
deleting a range of scores from a sorted set.
2010-10-13 21:43:58 +02:00
Pieter Noordhuis
26f3388d27
Merge branch 'master' into zrevrangebyscore
2010-10-13 20:29:50 +02:00
Pieter Noordhuis
b04ce2a35c
Merge master with resolved conflict in src/redis-cli.c
2010-10-13 18:55:46 +02:00
Pieter Noordhuis
4fe83b554a
sockaddr_un.sun_path appears to never hold anything after accept()
2010-10-13 18:50:07 +02:00
Pieter Noordhuis
ab17b909fe
Use different accept handlers for TCP and unix socket connections
2010-10-13 18:34:24 +02:00
Pieter Noordhuis
893819801d
Remove disabling TCP with port -1
2010-10-13 17:18:58 +02:00
Pieter Noordhuis
5d10923f7b
Rename variable sockpath to unixsocket
2010-10-13 17:17:56 +02:00
Pieter Noordhuis
704bd093be
Move creating socket/bind+listen on socket to separate functions
...
Thanks to tav (http://github.com/tav ) for original code.
2010-10-13 16:47:22 +02:00
Pieter Noordhuis
941c9fa285
Return OK on QUIT
2010-10-13 11:25:40 +02:00
Pieter Noordhuis
9f1ae9abee
Allow to specify which specific test files to run
2010-10-13 09:26:44 +02:00
antirez
b4f2e412d0
free memory if the maxmemory parameter is reduced via CONFIG SET
2010-10-11 16:46:21 +02:00
antirez
1dd10ca233
maxmemory fixed, we now try to release memory just before we check for the memory limit. Before fixing there was code between the attempt to free memory and the check for memory limits, and this code could result into allocations going again after the memory limit.
2010-10-11 13:05:09 +02:00
antirez
144a5e72f2
fixed an alignment problem with time_t is 32 bit, long is 64 bit, and arch is sparc or any other where unaligned accesses will result to sigbus
2010-10-07 16:21:35 +02:00
antirez
fdc0bde935
minor typo fixed, reported by Thomas Bassetto
2010-10-07 12:49:14 +02:00
antirez
e43505d6e9
Merge remote branch 'pietern/ziplist-fix'
2010-09-24 01:15:16 +02:00
Pieter Noordhuis
b0d605c1d6
Add regression test and fix for >255 byte string entries
2010-09-23 22:04:19 +02:00
antirez
963238f713
more tests for sds.c
2010-09-23 16:39:02 +02:00
antirez
136cf53f22
minimal C test framework + a first example sds.c tests
2010-09-23 16:05:17 +02:00
Pieter Noordhuis
56e52b69fe
Update rdb.c to properly work with new memory strategy for sorted sets
2010-09-22 18:07:52 +02:00
antirez
50a9fad5d5
two leaks fixed
2010-09-22 17:49:04 +02:00
antirez
beb7756dcb
error generation format reverted to the new style after merge
2010-09-22 16:10:13 +02:00
antirez
b882056c93
Merge remote branch 'pietern/zset-mem'
2010-09-22 16:09:33 +02:00
antirez
5ca2f0c498
preventive conflict resolution to merge pietern/zset-mem
2010-09-22 16:09:30 +02:00
antirez
5171777bf1
Merge remote branch 'pietern/ziplist-eff'
2010-09-22 12:59:25 +02:00
antirez
a4f3f93b90
new parsing code bugfixing
2010-09-17 16:05:01 +02:00
antirez
34a719d250
try to parse the request in a smarter way to gain speed... work in progress
2010-09-17 15:26:07 +02:00
Pieter Noordhuis
d433ebc681
Finished code for sorted set memory efficiency
2010-09-16 15:42:36 +02:00
Pieter Noordhuis
25bb8a4452
Add ZREVRANGEBYSCORE and refactor Z*RANGEBYSCORE
2010-09-16 14:38:07 +02:00
Pieter Noordhuis
192fc3376a
Merge branch 'zset-mem' into zrevrangebyscore
2010-09-16 14:32:30 +02:00
antirez
2b00385d51
Added used CPU statistics in INFO output, obtained via getrusage()
2010-09-16 13:28:58 +02:00
antirez
4c2e506a39
modified a bit addReply() to play better with copy on write now that we have a static buffer. Changed the name of a function from _ensureFileEvent() to _installWriteEvent().
2010-09-16 13:08:40 +02:00
antirez
83f39c7ab2
Merge remote branch 'pietern/networking-perf'
2010-09-16 12:02:18 +02:00
Pieter Noordhuis
f335779240
Static buffer in client struct has a constant size
2010-09-16 11:59:53 +02:00
antirez
89f9f83769
Merge remote branch 'pietern/networking-perf'
2010-09-16 11:38:40 +02:00
antirez
3856f14759
This should fix Issue 332: when there is a background process saving we still allow the hash tables to grow, but only when a critical treshold is reached. Formerly we prevented the resize at all triggering pathological O(N) behavior. Also there is a fix for the statistics in INFO about the number of keys expired
2010-09-15 14:09:41 +02:00
antirez
412e457c27
fixed typo in the latest commit
2010-09-14 15:18:18 +02:00
antirez
1d18f50458
Advertise the existence of redis-check dump --fix when logging an error about corrupted AOF file
2010-09-14 15:09:37 +02:00
Pedro Melo
0997b4119d
Fixed missed use of INSTALL_TOP
...
Thanks to sylr@github
Signed-off-by: Pedro Melo <melo@simplicidade.org>
2010-09-13 16:50:57 +01:00
Pedro Melo
e984050fb9
Make sure INSTALL_TOP exists before we install to it
...
Signed-off-by: Pedro Melo <melo@simplicidade.org>
2010-09-13 16:11:55 +01:00
Pedro Melo
e13865033d
Rename INSTALL_TOP to PREFIX; update documentation
...
Signed-off-by: Pedro Melo <melo@simplicidade.org>
2010-09-13 16:09:11 +01:00
antirez
bc63407be6
redis-cli does no longer try to auto detect if it is used inside a pipe. To read last argument from stdandard input there is to use the -x option. This will make it playing better inside cron scripts and in general when stdin is hacked.
2010-09-09 16:38:10 +02:00
antirez
da14590bd9
Fix re-enabled again, I forgot to check if VM was enabled before calling handleClientsBlockedOnSwappedKey()
2010-09-08 13:47:28 +02:00
antirez
155fb4b45e
latest fix reverted, there is some problem reported by the CI test
2010-09-08 13:45:51 +02:00
antirez
7f00cd2264
Fixed a race condition in VM happening when a key was deleted while there was a client waiting for this key to be resumed from swap to memory. The client would hang forever.
2010-09-08 13:26:16 +02:00
Pieter Noordhuis
106bd87a3c
Fix bug where the client is not present in server.clients when free'ing it
...
When creating the readable event results in an error (this happens when
the server hits OS limits), the client was not added to the list of
clients when freeClient was called. This results in an assertion error.
It is better to check this condition first and free the client
immediately when this condition occurs. Port of 00a90feb.
2010-09-07 10:25:34 +02:00
Pieter Noordhuis
84403fe7c1
Allow a random seed argument for the ziplist test binary
2010-09-07 00:08:42 +02:00
Pieter Noordhuis
169d2ef1e0
Fix updating the prevlen field of consecutive entries
...
In the condition where the prevlen field of the next entry on insert
and delete operations needs more bytes to be properly encoded, the next
entry also needs to be updated with a new prevlen. This patch makes sure
that this effect cascades throughout the ziplist.
2010-09-07 00:04:57 +02:00
antirez
abe18d0e00
Fix for solaris compilation bug Issue 325
2010-09-06 10:12:44 +02:00
Pieter Noordhuis
9e83ac06ef
Merge branch 'master' into networking-perf
...
Resolved conflict in src/db.c and changed adding an error to the reply
in blockingPopGenericCommand to use the new API.
2010-09-03 16:44:50 +02:00
antirez
556bdfbab9
added some comment and changed coding style for fix for 237
2010-09-03 10:24:18 +02:00
Anko painting
b435f64510
fix for issue 237
2010-09-02 21:13:27 -07:00
Pieter Noordhuis
49128f0b9d
Fix bug in gluing a deferred multi bulk length to the next reply chunk
2010-09-02 23:34:41 +02:00
Pieter Noordhuis
3ab203762f
Use specialized function to add status and error replies
2010-09-02 23:33:06 +02:00
Pieter Noordhuis
60361e5aac
Add sds function that can be called with va_list
2010-09-02 21:00:15 +02:00
Pieter Noordhuis
36c19d03e0
Changed reply buildup internals
2010-09-02 19:52:04 +02:00
Pieter Noordhuis
4a7893ca9c
Removed unneeded function
2010-09-02 19:52:04 +02:00
Pieter Noordhuis
b70d355521
Use existing reply functions where possible
2010-09-02 19:52:04 +02:00
Pieter Noordhuis
cd76bb651d
Free the sds in addReplySds when it cannot be added to the reply
2010-09-02 19:52:04 +02:00
Pieter Noordhuis
2403fc9fde
Intialize bufpos in the fake client
2010-09-02 19:52:04 +02:00
Pieter Noordhuis
0537e7bf80
Use specialized function to add multi bulk reply length
2010-09-02 12:51:14 +02:00
antirez
73db2acc37
memory fragmentation reporting in INFO also added for Mac OS X
2010-09-02 10:57:58 +02:00
antirez
eddb388ef9
memory fragmentation ratio in INFO output
2010-09-02 10:34:39 +02:00
antirez
a047bf52a4
fixed a few harmless warnings complining on Linux
2010-09-01 18:31:30 +02:00
antirez
dbebd395eb
Version is now 2.1.4 -- AKA 2.2-alpha1
2010-08-31 18:34:34 +02:00
antirez
ec96ef47a6
Merge remote branch 'pietern/issue-300'
2010-08-31 17:39:06 +02:00
Pieter Noordhuis
f85202c3dc
Fix compilation errors and add warning for 32-bit platforms
2010-08-31 13:06:26 +02:00
antirez
f7f12a606c
resolved conflict merging pietern/bpop-timeout
2010-08-31 11:23:12 +02:00
Pieter Noordhuis
7b30cc3a7b
Fix issue 300 by upgrading variable types to 64-bit
2010-08-31 10:21:35 +02:00
Pieter Noordhuis
57b0738011
Don't build a reply when replaying the AOF
2010-08-30 16:51:39 +02:00
Pieter Noordhuis
b301c1fc2b
Wrapper for adding unknown multi bulk length to reply list
2010-08-30 16:39:14 +02:00
Pieter Noordhuis
834ef78e27
Refactor reply buildup for speed on large multi bulk replies
2010-08-30 16:39:08 +02:00
antirez
fb92ecece7
BLPOP inside MULTI/EXEC block no longer crashes, instead if the list is empty the behavior is like if the timeout is reached. This fixes Issue 285
2010-08-30 16:31:03 +02:00
antirez
8079656a8e
Now redis-cli replies to help showing some basic usage information (Issue 291)
2010-08-30 15:57:03 +02:00
antirez
93b2a7718e
It is now possible to use authentication and DB selection options at the same time in redis-cli (Issue 298)
2010-08-30 15:36:13 +02:00
antirez
e0e1c19520
Fixed MONITOR mode and Issue 296
2010-08-30 11:51:45 +02:00
antirez
8fedd04dcc
Makefile deps updated
2010-08-30 11:37:17 +02:00
Pieter Noordhuis
ed0dd55402
Show the current throughput while benchmarking
2010-08-30 11:25:02 +02:00
Pieter Noordhuis
36babc1e31
Refactor reply parsing code in redis-benchmark for efficiency
2010-08-30 11:14:54 +02:00
antirez
2f6b31c3bb
Fix for a race in BGSAVE that may result in some data not being saved as soon as possible (when the configured saving triggers should fire). Also known as Issue 313, more details there in the google code issue.
2010-08-30 10:32:32 +02:00
antirez
e5f257c2b2
fix for the prev fix
2010-08-27 17:06:36 +02:00
antirez
c1ae36aea8
Fix for bug 312, yet to verify in a couple of minutes...
2010-08-27 17:04:26 +02:00
antirez
09252fc4f3
Fixed another instace of the Issue 173
2010-08-27 12:46:10 +02:00
antirez
357d36733d
Fixed segfault in freeMemoryIfNeeded due to the fact that keys are now sds strings and not objects in the main hash table, thanks to Anthony Lauzon for spotting the bug and providing a patch.
2010-08-27 11:01:03 +02:00
antirez
2df84b7269
intset loading bug fixed
2010-08-26 19:10:40 +02:00
antirez
ec7e138926
test for intset integer encodability test and some small refactoring
2010-08-26 18:47:03 +02:00
antirez
23c64fe50d
translated a few long logn into int64_t for correctness and to avoid compilation warnings as well
2010-08-26 18:11:26 +02:00
antirez
e4ecc93119
Version is now 2.1.3
2010-08-26 16:58:02 +02:00
Pieter Noordhuis
94364d53b4
Verify that the blocking pop timeout value is a non-negative integer
2010-08-26 14:05:14 +02:00
Pieter Noordhuis
2929ca9786
Fix parenthesis error on decrementing *argc
2010-08-26 13:18:44 +02:00
antirez
bad7d097e9
fixed a memory leak in the new Set code
2010-08-26 13:18:24 +02:00