Commit Graph

598 Commits

Author SHA1 Message Date
antirez
87c68815c3 minor bug fixed in WATCH 2010-05-25 13:21:23 +02:00
antirez
37ab76c99d WATCH for MULTI/EXEC (CAS alike concurrency) 2010-05-25 13:15:11 +02:00
antirez
fda32cb601 Master is now already unfreezed, unstable, and ready to hacking sessions! 2010-05-21 15:48:39 +02:00
antirez
be00fa244d redis version is now 1.3.14 (aka 2.0.0 RC1) 2010-05-21 14:00:21 +02:00
antirez
2f4dd7e0fd minor fix for the skiplist code, resulting in a false positive with valgrind, and in general into a useless small allocation 2010-05-21 12:30:56 +02:00
Pieter Noordhuis
10dea8dc1b fix memory leak on 32-bit builds 2010-05-20 19:43:28 +02:00
antirez
cbae1d34f6 Fix for DEBUG DIGEST 2010-05-20 16:50:40 +02:00
antirez
8513a757ab minor change to shutdown 2010-05-20 12:53:26 +02:00
antirez
fab43727b4 shutdown on SIGTERM 2010-05-20 12:50:57 +02:00
antirez
c14753cea1 Merge http://github.com/ngmoco/redis 2010-05-20 12:38:43 +02:00
Pieter Noordhuis
46b614edf7 Merge branch 'master' into integration 2010-05-19 14:53:57 +02:00
antirez
30dd89b6b7 Fix for 'CONFIG SET appendonly no' 2010-05-19 13:36:32 +02:00
antirez
2e5eb04e50 It's now possible to turn off and on the AOF via CONFIG 2010-05-19 11:06:43 +02:00
antirez
274e45e365 build fixed when simpler shells are used to create release.h 2010-05-18 12:17:51 +02:00
Pieter Noordhuis
5436146c8d create release.h in make process and add this information to INFO listing 2010-05-17 22:28:12 +02:00
antirez
26ef09a835 Redis version is now 1.3.12 2010-05-16 19:17:43 +02:00
antirez
9e08e1b9ed redis version is now 1.3.11 2010-05-16 19:15:12 +02:00
antirez
482b672df1 random refactoring and speedups 2010-05-16 02:02:46 +02:00
antirez
d6f4c262a1 faster INCR with very little efforts... 2010-05-16 00:59:08 +02:00
Pieter Noordhuis
fdfb02e7ff print warnings in redis log when a test raises an exception (very likely to be caused by something like a failed assertion) 2010-05-15 23:48:08 +02:00
antirez
3be2c9d732 fixed a warning seen with some GCC version under Linux 2010-05-14 22:56:06 +02:00
antirez
5d373da96a ZUNION,ZINTER -> ZUNIONSTORE,ZINTERSTORE 2010-05-14 18:58:37 +02:00
antirez
ba798261ce DEBUG DIGEST implemented, in order to improve the ability to test persistence and replication consistency 2010-05-14 13:41:57 +02:00
Ashley Martens
b58ba10526 Add SIGTERM shutdown handling. 2010-05-13 16:11:47 -07:00
antirez
9682a58fca conflicts resolved 2010-05-13 14:24:41 +02:00
Pieter Noordhuis
9376e434f0 feed SETEX as SET and EXPIREAT to AOF 2010-05-13 14:15:06 +02:00
antirez
32a6651355 very strong speedup in saving time performance when there are many integers in the dataset. Instead of decoding the object before to pass them to the rdbSaveObject layer we check asap if the object is integer encoded and can be written on disk as an integer. 2010-05-13 13:36:42 +02:00
antirez
fb82e75cd1 include limits.h otherwise no double precison macros 2010-05-13 11:53:56 +02:00
antirez
88e8d89f1e explicitly checks with ifdefs if our floating point and long long assumptions are verified 2010-05-13 10:47:06 +02:00
antirez
fe24458996 Yet another version of the double saving code, with comments explaining what's happening there 2010-05-13 10:28:00 +02:00
antirez
5107436cdf added overflow check in the double -> long long conversion trick to avoid integer overflows. I think this was not needed in practical terms, but it is safer 2010-05-12 21:51:48 +02:00
antirez
8c096b16a1 If a float can be casted to a long long without rounding loss, we can use the integer conversion function to write the score on disk. This is a seriuous speedup 2010-05-12 15:07:39 +02:00
antirez
abce5627d7 Merge branch 'vm-speedup' 2010-05-12 11:51:01 +02:00
Pieter Noordhuis
6485f29382 fix to return error when calling INCR on a non-string type 2010-05-11 22:46:24 +02:00
antirez
ad30aa6069 load objects encoded from disk directly without useless conversion 2010-05-11 16:12:22 +02:00
antirez
bd59ecfb92 fixed a problem leading to crashes, as keys can't be currently specially encoded, so we can't encode integers at object loading time... For now this can be fixed passing a few flags, or later can be fixed allowing encoded keys as well 2010-05-11 14:30:56 +02:00
antirez
ee14da56e6 long long to string conversion speedup applied in other places as well. Still the code has bugs, fixing right now... 2010-05-11 14:13:53 +02:00
antirez
e5b7a215e8 hand written code to turn a long long into a string -> very big speed win 2010-05-11 12:13:37 +02:00
antirez
bf02809825 added specialized function to compare string objects for perfect match that is optimized for this task 2010-05-11 11:15:36 +02:00
antirez
dc05abde89 better use of encoding inforamtion in dictEncObjKeyCompare 2010-05-11 11:02:24 +02:00
antirez
1b67773229 CONFIG now can change appendfsync policy at run time 2010-05-10 20:56:54 +02:00
antirez
a34e0a2574 CONFIG command now supports hot modification of RDB saving parameters. 2010-05-10 18:50:55 +02:00
antirez
89e689c592 while loading the rdb file don't add the key to the dictionary at all if it's already expired, instead of removing it just after the insertion. 2010-05-10 15:26:01 +02:00
antirez
585af7e21c minor changes to improve code readability 2010-05-08 03:04:00 +02:00
antirez
242a64f3d6 swap objects out directly while loading an RDB file if we detect we can't stay in the vm max memory limits anyway 2010-05-08 02:38:59 +02:00
antirez
59305dc7a9 DEBUG POPULATE command for fast creation of test databases 2010-05-07 16:33:47 +02:00
Pieter Noordhuis
0a6f3f0f8a swap arguments in blockClientOnSwappedKeys to be consistent 2010-05-07 14:33:34 +02:00
Pieter Noordhuis
3805e04f78 added function that preloads all keys needed to execute a MULTI/EXEC block 2010-05-07 14:22:21 +02:00
Pieter Noordhuis
739ba0d211 add sanity check to zunionInterBlockClientOnSwappedKeys, as the number of keys used is provided as argument to the function 2010-05-07 12:59:34 +02:00
Pieter Noordhuis
ca1788b560 make prototype of custom function to preload keys from the vm match the prototype of waitForMultipleSwappedKeys 2010-05-07 12:58:44 +02:00
Pieter Noordhuis
6f07874621 extract preloading of multiple keys according to the command prototype to a separate function 2010-05-07 12:45:27 +02:00
Pieter Noordhuis
f3b52411db make append only filename configurable 2010-05-07 11:55:12 +02:00
Pieter Noordhuis
f4f06efccc don't load value from VM for EXISTS 2010-05-07 11:40:26 +02:00
antirez
a0e7e5f516 swap file name pid expansion removed. Not suited for mission critical software... 2010-05-07 09:36:37 +02:00
antirez
8b5bb414f1 Swap file is now locked 2010-05-07 09:32:26 +02:00
antirez
f424d5f398 Merge branch 'master' into aof-speedup 2010-05-06 23:19:46 +02:00
Pieter Noordhuis
4132ad8d49 log error and quit when the AOF contains an unfinished MULTI 2010-05-06 22:14:07 +02:00
Pieter Noordhuis
946342c190 hincrby should report an error when called against a hash key that doesn't contain an integer 2010-05-06 20:38:50 +02:00
antirez
28ed1f33ee AOF writes are now accumulated into a buffer and flushed into disk just before re-entering the event loop. A lot less writes but still this guarantees that AOF is written before the client gets a positive reply about a write operation, as no reply is trasnmitted before re-entering into the event loop. 2010-05-06 20:16:14 +02:00
antirez
10ce12761a On Linux now fdatasync() is used insetad of fsync() in order to flush the AOF file kernel buffers 2010-05-02 15:05:34 +02:00
antirez
dd142b9cd7 New MONITOR output format with timestamp, every command in a single line, string representations 2010-04-29 18:43:51 +02:00
antirez
8f63ddca00 AOF is now rewritten on slave after SYNC with master. Thanks to @_km for finding this bug and any others' 2010-04-27 16:58:08 +02:00
antirez
526d00a572 SETEX implemented 2010-04-23 19:07:33 +02:00
antirez
c8d0ea0ef1 Pub/Sub API change: now messages received via pattern matching have a different message type and an additional field representing the original pattern the message matched 2010-04-23 15:36:00 +02:00
antirez
723240057a new units for bytes specification 2010-04-22 15:09:07 +02:00
antirez
2b61932933 Now in redis.conf it is possible to specify units where appropriate instead of amounts of bytes, like 2Gi or 4M and so forth 2010-04-22 12:05:51 +02:00
antirez
dc4be23ec8 binary safe keys ready implementation of RANDOMKEYS 2010-04-21 11:31:29 +02:00
antirez
24df76987e Now that's the right 1.3.10 2010-04-21 10:31:48 +02:00
antirez
3bb225d66b Revert "fsync always now uses O_DIRECT on Linux"
This reverts commit 566c3c7a22.
2010-04-21 10:31:16 +02:00
antirez
d6fb4d5396 Revert "define __USE_GNU to get O_DIRECT"
This reverts commit 122c049834.
2010-04-21 10:31:08 +02:00
antirez
122c049834 define __USE_GNU to get O_DIRECT 2010-04-20 18:29:06 +02:00
antirez
566c3c7a22 fsync always now uses O_DIRECT on Linux 2010-04-20 18:25:30 +02:00
antirez
66c8853f9c Fix for MULTI/EXEC and Replication/AOF: now the block is correctly sent as MULTI/..writing operations../EXEC. Ok for slaves but more work needed for the AOF as it should be a write-all-or-nothing business 2010-04-19 18:30:11 +02:00
antirez
7ccd2d0a5f running the test using tcl8.5 directly instead of tclsh that too often it's a symlink to 8.4 2010-04-19 16:11:13 +02:00
antirez
08ee9b570f Fix for a SORT bug introduced with commit 16fa22f1, regression test added 2010-04-18 17:51:15 +02:00
antirez
177727542c Guru mediation -> meditation 2010-04-18 00:03:49 +02:00
Pieter Noordhuis
682c73e87e check eptr inline 2010-04-17 13:06:49 +02:00
Pieter Noordhuis
bd79a6bda0 refactor code that retrieves value from object or replies to client 2010-04-17 13:06:49 +02:00
antirez
4e8dbaf463 Merge branch 'hash' of git://github.com/pietern/redis 2010-04-17 12:54:49 +02:00
antirez
f83c6cb5eb redisAssert(0) => redisPanic("something meaningful") 2010-04-17 12:54:40 +02:00
Pieter Noordhuis
3f973463a7 make sure that the resulting value in hincrby is encoded when possible 2010-04-17 12:46:23 +02:00
Pieter Noordhuis
edc2f63ad9 increment dirty counter after hmset 2010-04-17 12:35:22 +02:00
Pieter Noordhuis
97224de7f9 strip tryObjectEncoding from hashSet, to enable the arguments being encoded in-place 2010-04-17 12:33:43 +02:00
antirez
c651fd9ee3 Added support for Guru Mediation, and raising a guru mediation if refCount <= 0 but decrRefCount is called against such an object 2010-04-17 11:35:05 +02:00
Pieter Noordhuis
55017f9da0 fix small error and memory leaks in SORT 2010-04-16 18:11:57 +02:00
antirez
b4eb9ccdcb Merge branch 'hash-refactor' of git://github.com/pietern/redis 2010-04-16 15:53:44 +02:00
Pieter Noordhuis
b6f07345c9 check object type in lookupKeyByPattern 2010-04-16 13:37:40 +02:00
Pieter Noordhuis
705dad386d make sortCommand aware that lookupKeyByPattern always increased the refcount of the returned value 2010-04-16 13:31:17 +02:00
Pieter Noordhuis
a3f3af860b revert 0c390a to stop using tricks with o->refcount 2010-04-16 13:20:12 +02:00
Pieter Noordhuis
c44d3b56df store the hash iterator on the heap instead of the stack 2010-04-16 12:48:48 +02:00
Pieter Noordhuis
c811bb381d drop inline directive 2010-04-16 12:13:41 +02:00
Pieter Noordhuis
feb8d7e6a6 rename hashReplace to hashSet 2010-04-16 12:12:50 +02:00
Konstantin Merenkov
d4dd6556c3 Don't set expire to keys with ttl=0, remove them immediately. 2010-04-15 21:29:46 +02:00
Pieter Noordhuis
16fa22f12b make sure that cmpobj is in decoded form when sorting by ALPHA (this solves edge case from previous commit where (!sortby && alpha) == 1) 2010-04-15 20:55:34 +02:00
Pieter Noordhuis
6d7d1370c3 enable hash dereference in SORT on BY and GET 2010-04-15 19:16:39 +02:00
Pieter Noordhuis
6e9e463f80 use shared replies for hset 2010-04-15 19:16:39 +02:00
Pieter Noordhuis
0c390abc69 set refcount of string objects retrieved from zipmaps to 0, so we don't have to touch the refcount of the objects inside dicts 2010-04-15 19:16:39 +02:00
Pieter Noordhuis
1f1c769518 added HSETNX 2010-04-15 19:16:39 +02:00
Pieter Noordhuis
7fb16bacae refactor of hash commands to use specialized api that abstracts zipmap and dict apis 2010-04-15 19:16:39 +02:00
Pieter Noordhuis
a71f072f73 move retrieval of long up to prevent an empty hash from being created 2010-04-15 19:16:38 +02:00