Commit Graph

367 Commits

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