Commit Graph

526 Commits

Author SHA1 Message Date
antirez
12d090d2d0 A problem with replication with multiple slaves connectiong to a single master fixed. It was due to a typo, and reported on github by the user micmac. Also the copyright year fixed from many files. 2010-02-19 11:23:57 +01:00
antirez
7c775e0943 VM now is able to block clients on swapped keys for all the commands 2010-02-09 14:01:49 +01:00
antirez
f44dd42872 ZRANGEBYSCORE now supports open intervals, prefixing double values with a open paren. Added ZCOUNT that can count the elements inside an interval of scores, this supports open intervals too 2010-02-07 21:52:35 +01:00
antirez
3a3978b10b WITHSCORES in ZRANGEBYSCORE thanks to Sam Hendley 2010-02-07 10:32:28 +01:00
Sam Hendley
0500ef2736 Added "withscores" option to zrangebyscore command. Based on withscores support in zrange function, ugliest part was the argument parsing to handle
using it with the limit option.
2010-02-06 18:41:25 -05:00
antirez
59146ef3c1 DEBUG OBJECT provide info about serialized object length even when VM is disabled 2010-02-06 18:53:39 +01:00
antirez
6766f45ef2 multi bulk requests in redis-benchmark, default fsync policy changed to everysec, added a prefix character for DEBUG logs 2010-02-06 13:39:07 +01:00
antirez
4b00bebd3d APPEND command 2010-02-04 15:55:52 +01:00
antirez
ed9e496634 Faster version of the function hashing possibly encoded objects, leading to a general speed gain when working with Sets of integers 2010-02-02 12:19:24 +01:00
antirez
3c68de9b01 faster Set loading time from .rdb file resizing the hash table to the right size before loading elements 2010-02-02 12:05:15 +01:00
antirez
9651a78787 Log time taken to load the DB at startup, in seconds 2010-02-02 12:01:53 +01:00
antirez
478c2c6f5b Fixed VM corruption due to child fclosing the VM file directly or indirectly calling exit(), now replaced with _exit() in all the sensible places. Masked a few signals from IO threads. 2010-01-31 16:03:44 +01:00
antirez
d5d55fc319 loading side of the threaded VM 2010-01-28 10:12:04 -05:00
antirez
b72f6a4b70 Fixed memory human style memory reporting, removed server.usedmemory, now zmalloc_used_memory() is used always. 2010-01-23 11:55:04 -05:00
antirez
b0d8747dae VM tuning thanks to redis-stat vmstat. Now it performs much better under high load 2010-01-22 12:58:11 -05:00
antirez
f6c0bba8bc REDIS_MAX_COMPLETED_JOBS_PROCESSED is now in percentage, not number of jobs. Moved a debugging message a few lines forward as it was called where a few logged parameters where invalid, leading to a crash 2010-01-21 07:27:32 -05:00
antirez
76b7233adb fixed a deadlock caused by too much finished processes in queue so that I/O clients writing to the wirte side of the pipe used to awake the main thread where blocking. Then a BGSAVE started waiting for the last active thread to finish, condition impossible because all the I/O threads where blocking on threads. Takes this as a note to myself... 2010-01-20 16:57:00 -05:00
antirez
970e10bb34 removed a bug in the function to cancel an I/O job 2010-01-19 13:02:02 -05:00
antirez
76a41fb163 removed support for REDIS_HELGRIND_FRIENDLY since Helgrind 3.5.0 is friendly enough even with many threads created and destroyed 2010-01-16 07:57:32 -05:00
antirez
6fa987e390 Create swap file only if not exists 2010-01-15 14:02:18 -05:00
antirez
459f52a8aa I hate warnings 2010-01-15 13:55:52 -05:00
antirez
fefed59798 fixed a minor memory leak in configuration file parsing 2010-01-15 13:35:13 -05:00
antirez
2316bb3b42 minor fix 2010-01-15 13:17:43 -05:00
antirez
054e426dbd support for named VM swap file. Fixed a few important interaction issues between the background saving processes and IO threads 2010-01-15 13:14:23 -05:00
antirez
02fcfc1e39 useless debugging messages removed 2010-01-15 09:39:44 -05:00
antirez
4ad37480f3 thread safe zmalloc used memory counter 2010-01-15 08:52:20 -05:00
antirez
b04a5df979 A define to make Redis more helgrind friendly 2010-01-15 05:16:12 -05:00
antirez
1064ef8764 removed a few races from threaded VM 2010-01-15 05:09:18 -05:00
antirez
2e111efe5a Fixed a never experienced, theoretical bug that can actually happen in practice. Basically when a thread is working on a I/O Job we need to wait it to finish before to cancel the Job in vmCancelThreadedIOJob(), otherwise the thread may mess with an object that is being manipulated by the main thread as well. 2010-01-14 17:18:27 -05:00
antirez
bcaa7a4ffa Set the new threads stack size to a LZF friendly amount 2010-01-14 08:58:41 -05:00
antirez
427a2153d3 access to already freed job structure fixed by statements reoredering 2010-01-13 16:26:41 -05:00
antirez
85a2775298 removed a useless debugging message 2010-01-13 13:41:38 -05:00
antirez
4ee9488d7e Wait zero active threads condition before to fork() for BGSAVE or BGREWRITEAOF 2010-01-13 13:38:30 -05:00
antirez
c7df85a484 list API is now thread safe 2010-01-13 13:18:07 -05:00
antirez
b74880b4ed minor TODO and debugging info changes 2010-01-13 09:40:50 -05:00
antirez
72e9fd40b6 support for blocking VM in config file 2010-01-12 15:23:52 -05:00
antirez
f2d9f50f6c more non blocking VM changes 2010-01-12 15:09:11 -05:00
antirez
25fd2cb284 a few more stuff in INFO about VM. Test #11 changed a bit in order to be less lame 2010-01-12 09:57:00 -05:00
antirez
c953f24bce Added a define to configure how many completed IO jobs the handler should process at every call. 2010-01-12 07:27:54 -05:00
antirez
6c96ba7dfe Fixed a bug in the IO Job canceling funtion 2010-01-11 19:47:18 -05:00
antirez
a5819310b0 more steps towards a working non blocking VM 2010-01-11 17:26:58 -05:00
antirez
20f5b38867 converted random printfs in debug logs 2010-01-11 13:10:43 -05:00
antirez
b3e3d0d78e removed a bug introduced with non blocking VM 2010-01-11 12:54:29 -05:00
antirez
f11b864714 a few non blocking VM bugs fixed 2010-01-11 12:45:15 -05:00
antirez
b9bc0eefc4 More work on non-blocking VM. Should work in a few days 2010-01-11 11:42:15 -05:00
antirez
a69a0c9c3b More threaded I/O VM work + Redis init script 2010-01-11 05:15:54 -05:00
antirez
996cb5f704 more work on VM threaded I/O. Still nothing of usable 2010-01-10 11:23:01 -05:00
antirez
92f8e88204 non-blocking VM data structures, just a start 2010-01-09 12:46:52 -05:00
antirez
ec6c7a1d78 used_memory_human added to INFO output. Human readable amount of memory used. 2010-01-08 10:38:48 -05:00
antirez
ace065423e Now DEBUG OBJECT plays well with swapped out objects 2010-01-07 16:51:58 -05:00
antirez
0841cc928d fflush VM swap file after object swapping 2010-01-07 15:53:12 -05:00
antirez
b492cf00d8 VM now swaps objects out while loading datasets not fitting into vm-max-memory bytes of RAM 2010-01-07 10:41:08 -05:00
antirez
0d7170a454 added process id information in INFO 2010-01-07 08:56:57 -05:00
antirez
38aba9a121 a new default redis.conf 2010-01-06 21:03:16 -05:00
antirez
7d98e08c0a VM stats in INFO command 2010-01-06 20:14:27 -05:00
antirez
f870935d3e Introduced a new log verbosity level, so now DEBUG is really for debugging. Refactored a bit maxmemory. When virtual memory is short in RAM free the objects freelist as well as swapping things out. 2010-01-06 09:15:17 -05:00
antirez
38823f0817 fixed a bug in bgsave when VM is off but still it was testing for obj->storage field 2010-01-05 19:51:30 -05:00
antirez
f2b8ab346a converted a few calls to assert() => redisAssert() to print stack trace 2010-01-05 19:44:22 -05:00
antirez
e7546c6393 BGREWRITEAOF now works with swapping on 2010-01-05 19:15:15 -05:00
antirez
1b03836c0e A first fix for SET key overwrite 2010-01-05 14:25:56 -05:00
antirez
7e69548dac SAVE now works with VM 2010-01-05 13:51:46 -05:00
antirez
e3cadb8abe swapping algorithm a bit more aggressive under low memory 2010-01-05 13:16:41 -05:00
antirez
4ef8de8ad7 basic VM mostly working! 2010-01-05 12:46:59 -05:00
antirez
d894161b85 New object field (one of the unused bytes) to hold the type of the swapped out value object in key objects 2010-01-05 10:38:58 -05:00
antirez
7d30035d47 VM internals bugfixes, set 1 2010-01-05 10:34:05 -05:00
antirez
55cf8433e3 load key from swap on key lookup 2010-01-05 07:28:06 -05:00
antirez
a35ddf129c more object-level VM primitives 2010-01-05 07:19:09 -05:00
antirez
3a66edc7a4 Redis objects swapping / loading 2010-01-05 05:37:19 -05:00
antirez
c78a8ccce7 rdbLoadObject() as a separated function to load objects from disk. Dropped support for RDB version 0, I guess no longer has this legacy DBs around 2010-01-05 04:49:02 -05:00
antirez
06224fec7a VM low level pages handling 2010-01-04 19:52:08 -05:00
antirez
75680a3c37 vm swap file creation, and some basic configuration 2010-01-04 16:01:40 -05:00
antirez
5dc70bff2e version marked 1.3.2 2010-01-04 15:01:55 -05:00
antirez
06233c4585 saving code refactored a bit, added a function returning the number of bytes an object will use on disk 2010-01-04 15:00:43 -05:00
antirez
e20fb74f69 Now the PUSH side of RPOPLPUSH is able to unblock clients blocked on BLPOP 2010-01-02 10:02:24 -05:00
antirez
08ff05b012 Version is now 1.3.1 2010-01-02 09:37:01 -05:00
antirez
b177fd30ac New vararg BLPOP able to block against multiple keys 2010-01-02 09:06:44 -05:00
antirez
58d976b8e8 fixed a problem with BLPOP timeout of zero, now it blocks forever 2009-12-29 19:11:05 -05:00
antirez
f86a74e944 BLPOP timeouts implemented 2009-12-29 16:26:05 -05:00
antirez
95242ab507 first working implementation of BLPOP and BRPOP, still everything is to test well 2009-12-29 16:05:56 -05:00
antirez
9fe33a0e12 a few more fixes, still broken 2009-12-29 15:50:08 -05:00
antirez
2affc3ed20 First fix, still broken 2009-12-29 15:32:37 -05:00
antirez
c04c9ac94f minor fix for Linux 64 bit 2009-12-29 15:03:44 -05:00
antirez
4409877e19 not yet working BLPOP implementation 2009-12-29 14:59:40 -05:00
antirez
436b423e18 AOFSYNC removed, got a better idea... 2009-12-27 20:40:11 -05:00
antirez
279e33bee7 AOFSYNC command implemented 2009-12-27 20:31:16 -05:00
antirez
7c8163b85b Version changed to 1.3.0, welcome to the new unstable 2009-12-27 16:26:51 -05:00
antirez
36c548f01d Now MULTI returns +OK as well 2009-12-27 15:58:03 -05:00
antirez
6e4698826f MULTI/EXEC first implementation 2009-12-27 15:47:28 -05:00
antirez
322fc7d855 Fixed a minor bug in GETSET, now the SET part is not performed if the GET fails because the key does not contain a string value 2009-12-24 09:40:11 -05:00
antirez
56c2735d89 version is now 1.1.94 2009-12-23 11:01:31 -05:00
antirez
2c14807b2d Add the command name in the unknown command error message. 2009-12-23 06:23:32 -05:00
antirez
752da584f0 ZRANGE, ZREVRANGE now support WITHSCORES options 2009-12-22 16:09:27 -05:00
antirez
d922ae6592 Now SORT returns an empty bulk reply if the key does not exist 2009-12-18 09:06:53 -05:00
antirez
ac945e2dcf SHUTDOWN now does the right thing when append only is on, that is, fsync instead to save the snapshot. 2009-12-18 07:31:44 -05:00
antirez
fdcaae84d3 Added a missing server.dirty increment in a non critical place, added more tests 2009-12-18 07:13:13 -05:00
antirez
ab9d4cb1e3 LTRIM now returns +OK against non existing keys. More tests in test-redis.tcl 2009-12-18 06:45:26 -05:00
antirez
b055378971 LZF compression re-enabled by default, but with INIT_HTAB set to 0 to avoid the very costly memset initialization. Note that with this option set valgrind will output some false positive about lzf_c.c 2009-12-16 15:48:57 -05:00
antirez
121f70cfae lzf compression switched off by default now, with config file option to enable it in redis.conf 2009-12-16 11:28:41 -05:00
antirez
483049a737 Regression for epoll bug in redis-test.tcl, version is now 1.1.93 2009-12-16 08:40:32 -05:00
antirez
8879cbfe60 version is now 1.1.92 2009-12-15 16:27:13 -05:00
antirez
e96e4fbf15 Two important fixes to append only file: zero length values and expires. A pretty neat new test to check consistency of randomly build datasets against snapshotting and AOF. 2009-12-15 13:06:41 -05:00
antirez
71c2b467b0 debug loadaof implemented in order to add more consistency tests in test-redis.tcl 2009-12-15 11:15:47 -05:00
antirez
e054afda90 Added a new test able to stress a lot the snapshotting engine 2009-12-15 10:55:13 -05:00
antirez
ed10f40b15 Unified handling of empty queries with normal queries. 2009-12-15 09:33:29 -05:00
antirez
7c49733ce3 Fixed some subtle bug in the command processing code almost impossible to spot in the real world, thanks to gcov 2009-12-15 09:14:40 -05:00
antirez
0d36ded040 Fixed issue #121 2009-12-15 04:06:10 -05:00
antirez
49b99ab43e Changed the reply of BGSAVE and BGREWRITEAOF from +OK to a more meaningful message that makes the user aware of an operation that just started and is not yet finished. 2009-12-13 16:52:43 +01:00
antirez
179b395244 Set the master->slave logical client as authenticated on creation, so that if the slave requires a password replication works anyway 2009-12-13 15:09:46 +01:00
antirez
b3fad521cc bgrewriteaof_in_progress added to INFO 2009-12-12 22:41:10 +01:00
antirez
b32627cdc1 some change to redis-sha1.rb utility to make it more robust against non-meaningful changes in the dataset 2009-12-11 18:45:25 +01:00
antirez
454d4e43b5 a bit more verbose -ERR wrong number o arguments error, now gives info about the command name causing the error 2009-12-10 19:35:09 +01:00
antirez
333fd21615 TODO change and minor SETNX optimization 2009-12-10 16:38:24 +01:00
antirez
231d758eec in rdbLoadDoubleValue now the buffer is nul terminated correctly. Thanks valgrind. 2009-12-06 01:42:41 +01:00
antirez
83c6a61889 printf format warnings fixed by casting 2009-12-06 01:25:37 +01:00
antirez
5acdc75d66 Regression tests for SETNX and MSETNX bugs added 2009-12-06 01:16:12 +01:00
antirez
906573e78d SETNX and MSETNX now respect the delete-on-write operation of EXPIREing keys 2009-12-06 01:09:15 +01:00
antirez
71c54b21e2 Fixed daemonization when using kqueue/kevent. Now the server initialization is performed *after* the daemonization 2009-12-06 00:59:35 +01:00
antirez
76d31044d4 more HTML doc changes 2009-12-05 19:35:15 +01:00
antirez
682ac7248a use __attribute__ format in sdscatprintf() when the compiler is GCC. Fixed format bugs resulting from the new warnings. 2009-12-05 13:50:36 +01:00
antirez
da0a162077 compilation problem on 64bit mac os x 10.5 possibly fixed 2009-12-01 11:53:00 +01:00
antirez
dfc5e96ce5 Fixed issued #85 (getDecodedObject: Assertion 1 != 1 failed. While sorting a set), added a smarter assert() function to dump the stacktrace, provided a macro to initalize Redis objects on the stack to avoid this kind of bugs. 2009-11-30 20:25:06 +01:00
antirez
d07ffa178d Version chagned to 1.100, also known as the first first 2.0 beta version 2009-11-29 10:44:25 +01:00
antirez
0b13687c25 more tests in test-redis.tcl, some minor fix 2009-11-29 10:29:08 +01:00
antirez
a5eb649bfa SORT support for sorted sets 2009-11-29 10:10:35 +01:00
antirez
80181f7848 Implemented LIMIT option in ZRANGEBYSCORE. We now enter feature-freeze 2009-11-28 22:01:13 +01:00
antirez
c74e7c7757 ZRANGEBYSCORE memory leak fixed, ZRANGEBYSCORE initial test added 2009-11-28 18:03:09 +01:00
antirez
1c85b79fef INFO refactored. Stack trace on memory corruption now dumps the same information as the INFO command 2009-11-28 17:13:32 +01:00
antirez
7a932b74cc ifdefs added to use kevent on Free Open and Net BSD as well. INFO and ae.c modified in order to report the multiplexing API in use 2009-11-28 17:06:28 +01:00
antirez
1751139117 Enabled object encoding for multiple keys in MSET. Added a test for memory leaks in test-redis.tcl when running on Mac OS X 2009-11-28 16:55:05 +01:00
antirez
1fd9bc8adc Changes to TODO list, commented a function in redis.c 2009-11-28 15:31:40 +01:00
antirez
0f151ef1a0 zero length bulk data reading fixed in loadAppendOnlyFile() 2009-11-26 19:18:52 +01:00
antirez
85a831729f append only file fixes 2009-11-26 19:03:32 +01:00
antirez
9d65a1bbae log rebuilding, random refactoring, work in progress please wait for an OK commit before to use this version 2009-11-26 18:10:02 +01:00
antirez
210e29f7d2 DEBUG RELOAD implemented, and test-redis.tcl modified to use it to check for persistence consistency. 2009-11-24 21:44:20 +01:00
antirez
1c0abf3c5d Redis version set to 1.07 2009-11-24 21:29:08 +01:00
antirez
6c446631da sorted sets saving fixed 2009-11-24 17:52:46 +01:00
antirez
266373b283 ae.c now supports multiple polling API modules, even if only ae_select.c is implemented currently. Also adding and removing an event is now O(1). 2009-11-23 18:50:39 +01:00
antirez
a96ffc6641 version incremented up to 1.06 2009-11-21 16:40:08 +01:00
antirez
ed5a857a6d Fixed a SORT memory leak that should never happen in practice 2009-11-21 13:46:34 +01:00
antirez
28173a49a7 SORT GET # implemented, with a test 2009-11-21 13:25:51 +01:00
antirez
91d71bfc79 ZINCRBY return value fixed 2009-11-20 11:22:20 +01:00
antirez
7db723adb2 ZINCRSCOREBY => ZINCRBY 2009-11-20 09:18:40 +01:00
antirez
e2665397a7 ZINCRSCOREBY implemented 2009-11-19 19:48:46 +01:00
antirez
37f68e6102 writev() finally uncommented again 2009-11-19 19:04:54 +01:00
antirez
b892cabed4 redis-benchmark hopefully last bug with multi bulk reply fixed 2009-11-19 18:44:18 +01:00
antirez
7ea870c092 Use writev(2) if glue output buffers is disabled 2009-11-19 11:46:28 +01:00
antirez
c28b42acd9 more experiments with long replies, glue output buffer, and writev. 2009-11-18 20:32:03 +01:00
antirez
cc30e368a3 benchmarking with different number of LRANGE elements. Ability to change the glue output buffer limit by #define 2009-11-18 19:41:25 +01:00
antirez
2895e86267 support for writev implemented but currently ifdef-ed in order to understan why I can't see the improvements expected. Btw code provided by Stefano Barbato 2009-11-17 17:46:44 +01:00
antirez
ef3ac64a27 Solaris fix thanks to Alan Harder 2009-11-12 21:49:15 +01:00
antirez
96d8b4eeba ZSCORE fixed, now returns NULL on missing key or missing element 2009-11-12 21:35:05 +01:00
antirez
0f5f7e9a82 LPOPPUSH renamed into RPOPLPUSH 2009-11-12 11:21:26 +01:00
antirez
fee803ba3e Removed a long time warning compiling with recent GCC on Linux 2009-11-11 19:59:54 +01:00
antirez
12f9d551b6 LPUSHPOP first implementation 2009-11-11 18:38:37 +01:00
antirez
bcfc686db7 Tcl script, make target, and redis.c changes to build the static symbol table automagically 2009-11-10 19:20:32 +01:00
antirez
f232429386 Implemented a much better lazy expiring algorithm for EXPIRE 2009-11-10 17:48:01 +01:00
root
121796f792 fixed a refcounting bug with SORT ... STORE leading to random crashes 2009-11-04 11:59:27 +01:00
antirez
d0ccebcf46 masterauth option merged, thanks to Anthony Lauzon 2009-11-04 09:53:43 +01:00
antirez
eaa256ad25 ZSets double to string serialization fixed 2009-11-03 14:36:38 +01:00
antirez
443c6409c3 SORT STORE option 2009-11-01 15:29:38 +01:00
antirez
d8f8b666f4 now Redis prints DB stats just after the startup without to wait a second for the first report 2009-11-01 14:14:02 +01:00
antirez
33ed1a426d another fix for append only mode, now read-only operations are not appended 2009-11-01 13:43:34 +01:00
antirez
1766c6dadc appendfsync parsing in config file fixed. If you benchmarked Redis against different appendfsync options is time to try again ;) 2009-11-01 11:55:46 +01:00
antirez
9387d17dfe append only file loading fixed 2009-11-01 11:05:50 +01:00
antirez
f80dff6212 first version of append only file loading -- STILL BROKEN don't use it 2009-11-01 10:54:55 +01:00
antirez
412a8bcea3 Fixed Issue 83:Using TYPE on a zset results in a malformed response from the Redis server 2009-10-31 23:03:10 +01:00
antirez
71eba4775d Fixed compilation on Linux 2009-10-31 14:32:01 +01:00
antirez
4e141d5a21 append only mode is now able to translate EXPIRE into EXPIREAT transparently 2009-10-30 17:20:24 +01:00
antirez
0154acdc57 appendfsync is now set to NO by default 2009-10-30 16:35:16 +01:00
antirez
48f0308ad3 support for appendonly mode no, always, everysec 2009-10-30 13:48:53 +01:00
antirez
16f9254761 first fix for append only mode 2009-10-30 01:11:29 +01:00
antirez
44b38ef432 Initial implementation of append-only mode. Loading still not implemented. 2009-10-30 01:04:17 +01:00
antirez
43e5ccdf57 EXPIRE behaviour changed a bit, a negative TTL or an EXPIREAT with unix time in the past will now delete the key. It seems saner to me than doing nothing. 2009-10-30 00:21:04 +01:00
antirez
802e837373 EXPIREAT implemented, will be useful for the append-only mode 2009-10-30 00:15:45 +01:00
antirez
fa4c0aba85 Fixed Issue 74 (ERR just returned on invalid password), now the error message is -ERR invalid password. 2009-10-29 11:43:40 +01:00
antirez
4aa701c11a Fixed issue 72 (SLAVEOF shutdowns redis-server on malformed reply) 2009-10-29 11:38:32 +01:00
antirez
6c9385e01d Fixed issue 77 (Incorrect time in log files) thanks to youwantalex 2009-10-29 11:31:55 +01:00
antirez
f72b934d14 Fixed Issue 76 (redis-server crashes when it can't connect to MASTER and client connects to SLAVE) 2009-10-29 11:30:43 +01:00
antirez
1807985baf ZREMRANGEBYSCORE implemented. Remove a range of elements with score between min and max 2009-10-29 11:10:16 +01:00
antirez
d13f767cf2 TODO changes and mostly theoretical minor skiplist change 2009-10-28 23:03:57 +01:00
antirez
3c41331e11 ZLEN renamed ZCARD for consistency with SCARD 2009-10-28 13:17:14 +01:00
antirez
0bc1b2f651 a fix for the solaris fix itself ;) 2009-10-27 18:39:47 +01:00
antirez
5043dff351 More Solaris fixes 2009-10-27 18:38:25 +01:00
antirez
d7f43c081a A lot of ZSETs tests implemented, and a bug fixed thanks to this new tests 2009-10-27 18:31:12 +01:00
antirez
6e333bbee2 ZSCORE implemented 2009-10-27 01:06:49 +01:00
antirez
dbbc7285ee fix for ZRANGEBYSCORE 2009-10-26 23:06:19 +01:00
antirez
50c55df529 ZRANGEBYSCORE implemented. Redis got range queries! 2009-10-26 23:02:56 +01:00
antirez
9d60e6e466 A trivial change makes the new implementation O(log(N)) instead of O(log(N))+O(M) when there are M repeated scores! 2009-10-26 20:47:23 +01:00
antirez
2b59cfdfe9 ZSET now saved on disk like any other type 2009-10-26 18:47:12 +01:00
antirez
a7866db6cc double serialization routines implemented 2009-10-26 18:26:04 +01:00
antirez
2161a96527 ZSETs random fixes. Now the implementation appears to be pretty stable 2009-10-26 17:57:24 +01:00
antirez
ad807e6fa3 another leak fixed. Can't find more for now, but still a bug in ZSETs to fix 2009-10-26 17:33:31 +01:00
antirez
599379ddda ZSETs memory leak #1 solved, another one missing 2009-10-26 17:02:05 +01:00
antirez
bb975144e4 Fix for skiplists backward link 2009-10-26 16:43:56 +01:00
antirez
325d1eb4a8 Merged Solaris patches provided by Alan Harder 2009-10-26 16:25:07 +01:00
antirez
e3870fab57 backward support to skiplists for ZREVRANGE, still broken, committing since I've to merge the Solaris patches 2009-10-26 16:14:49 +01:00
antirez
1b7106e7db ZREM implemented 2009-10-26 12:04:42 +01:00
antirez
f4d4c47f66 fix for ZADD in score update mode 2009-10-24 01:31:29 +02:00
antirez
e197b441a2 some work on ZADD against existing element (score update), still broken... 2009-10-24 01:27:18 +02:00
antirez
0aad7a1938 zrange now starts to work. zadd still does not support update and will crash or leak or b000mmmmm 2009-10-23 22:39:25 +02:00
antirez
cc81236105 zrange initial hack (not working for now) 2009-10-23 22:32:29 +02:00
antirez
913e9d6bca first skiplist fix, courtesy of valgrind 2009-10-23 22:16:50 +02:00
antirez
ace4ee541a zset symbols added to stack trace code. ZSets will simply crash at the moment 2009-10-23 21:43:09 +02:00
antirez
fd8ccf4419 more work on ZSETs and a new make target called 32bit to build i386 binaries on mac os x leopard 2009-10-23 21:24:01 +02:00
antirez
6b47e12ef8 initial skiplist implementation. Most memory checks removed and zmalloc() modified to fail with an error message and abort. Anyway Redis is not designed to recover from out of memory conditions. 2009-10-23 20:33:25 +02:00
antirez
cb7e07cc63 Fixed compilation in mac os x snow leopard when compiling a 32 bit binary. 2009-10-23 01:36:10 +02:00
antirez
1812e0246c version incremented to 1.050 to distinguish from 1.001 stable and next stable versions with minor fixes 2009-10-22 16:15:26 +02:00
antirez
2abb95a9a8 SRANDMEMBER added 2009-10-21 10:50:24 +02:00
antirez
f69f2cbafe Imporant bug leading to data corruption fixed (NOT affecting stable distribution), Tcl client lib MSET/MSETNX implementation fixed, Added new tests for MSET and MSETNX in test-redis.tcl 2009-10-20 11:39:20 +02:00
antirez
2ed22c8b29 MSET fixed, was not able to replace keys already set for a stupid bug 2009-10-17 22:02:59 +02:00
antirez
8d0490e7ec some dead code removed 2009-10-16 23:40:47 +02:00
antirez
638e42aca4 multi bulk input protocol fixed 2009-10-16 23:36:33 +02:00
antirez
f6b141c57d MSET and MSETNX commands implemented 2009-10-16 13:44:25 +02:00
antirez
f1017b3fb3 undoed all the sds hacking that lead just to random bugs and no memory saving ;) 2009-10-07 17:34:00 +02:00
antirez
e8a74421bb initial multi-bulk query protocol, this will allow MSET and other interesting features. 2009-10-07 13:30:15 +02:00
antirez
0ea663ea01 Issue 69 fixed. Object integer encoding now works with replication and MONITORing again. 2009-10-02 10:23:25 +02:00
antirez
724a51b1a9 LREM fixed, used to crash since the new object integer encoding is on the stage 2009-09-18 20:31:47 +02:00
antirez
d446590041 maxmemory didn't worked in 64 systems for values > 4GB since it used to be an unsigned int. Fixed 2009-09-17 17:23:59 +02:00
antirez
244de507b3 incremented version number to 1.001, AKA Redis edge is no longer stable... 2009-09-10 17:46:21 +02:00
antirez
942a39618b in-memory specialized object encoding (for now 32 signed integers only) 2009-09-10 17:45:30 +02:00
antirez
61c38ac531 Redis version pushed to 1.0 2009-09-02 11:37:01 +02:00
antirez
af807d87e8 Fixed crash with only space and newline as command (issue 61), thanks to a guy having as nick "fixxxerrr" 2009-09-01 16:30:52 +02:00
antirez
cbc59b3810 more snow leopard related fixes (for 32bit systems) 2009-07-24 14:43:20 +02:00
antirez
06db1f50cd fixed compilation with Snow Leopard, thanks to Lon Baker for providing SSH access to Snow Leopard box 2009-07-24 14:32:58 +02:00
antirez
fbf9bcdb6f Fixed NetBSD compile problems 2009-07-22 10:32:21 +02:00
antirez
21aecf4bab now the size of the shared pool can be really modified via config, also the number of objects in the sharing pool is logged when the log level is set to debug. Thanks to Aman Gupta 2009-07-17 11:56:56 +02:00
antirez
b91cf5ef2b Applied three different patches thanks to Chris Lamb, one to fix compilation and get the IP register value on Linux IA64 and other systems. One in order to log the overcommit problem on the logs instead of the standard output when Redis is demonized. The latest in order to suggest a more consistent way in order to switch to 1 the memory overcommit Linux feature. 2009-07-04 15:43:57 +02:00
antirez
774230260f bugfix: EXPIRE now propagates to the Slave. 2009-07-03 19:57:26 +02:00
antirez
f0dec43b53 Redis version modified to 0.900 2009-06-16 17:33:58 +02:00
antirez
a3b21203d2 Better handling of background saving process killed or crashed 2009-06-16 16:42:20 +02:00
antirez
c3cb078d46 number of keys info in INFO command thanks to Diego Rosario Brogna 2009-06-14 23:34:25 +02:00
antirez
e59229a2d5 Clojure library thanks to Ragnar Dahlén 2009-06-14 23:15:21 +02:00
antirez
c9a111acf4 It is now possible to specify - as config file name to read it from stdin 2009-06-10 14:40:11 +02:00
antirez
cd19463854 max inline request raised again to 1024*1024*256 bytes 2009-06-10 00:03:53 +02:00
antirez
644fafa383 max bytes in an inline command raised to 1024*1024 bytes, in order to allow for very large MGETs and still protect from client crashes 2009-06-10 00:02:08 +02:00
antirez
12fea92890 SPOP implemented. Hash table resizing for Sets and Expires too. Changed the resize policy to play better with RANDOMKEY and SPOP. 2009-06-08 23:51:35 +02:00
antirez
d76412d1d1 some minor changes to the backtrace code 2009-06-07 20:22:43 +02:00
antirez
e65fdc7838 enable backtrace capabilities only for Linux and MacOSX 2009-06-07 15:47:59 +02:00
antirez
56906eefea Dump a backtrace on sigsegv/sigbus, original coded thanks to Diego Rosario Brogna, modified in order to work on different OSes and to enhance reliability 2009-06-07 14:00:31 +02:00
antirez
c4cd5f393c Merge git://github.com/dierbro/redis 2009-06-06 23:40:48 +02:00
hrothgar
433cc893c0 add more output 2009-06-06 09:49:10 +00:00
hrothgar
de96dbfedf store static function pointer for a useful stack trace 2009-06-06 08:50:43 +00:00
antirez
6f37672920 Avoid a busy loop while sending very large replies against very fast links, this allows to be more responsive with other clients even under a KEY * against the loopback interface 2009-06-05 23:44:26 +02:00
antirez
9f3c422c72 Kill the background saving process before performing SHUTDOWN to avoid races 2009-06-05 22:52:30 +02:00
antirez
33c08b3916 LREM now returns :0 for non existing keys 2009-06-05 16:07:22 +02:00
hrothgar
fe3bbfbe16 - put some order in code
- better output
2009-06-05 10:10:44 +00:00
antirez
dde65f3f3c added config.h for #ifdef business isolation, added fstat64 for Mac OS X 2009-06-05 10:50:51 +02:00
hrothgar
8a355d697a remove die() :-) 2009-06-04 18:48:26 +00:00
hrothgar
c9468bcf8a initial commit print stack trace 2009-06-04 17:26:21 +00:00
antirez
333298dac3 DEBUG OBJECT implemented 2009-06-04 17:13:33 +02:00