Commit Graph

332 Commits

Author SHA1 Message Date
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