Commit Graph

415 Commits

Author SHA1 Message Date
antirez
ee5cfe3853 Merged ZREMBYRANK from Pietern 2010-03-09 16:22:50 +01:00
antirez
e3f46030fc Merged ZREVRANK from Pietern 2010-03-09 16:19:33 +01:00
Pieter Noordhuis
8f92e76831 use a struct to store both a dict and its weight for ZUNION and ZINTER, so qsort can be applied 2010-03-09 16:12:34 +01:00
antirez
ada386b218 Hash auto conversion from zipmap to hash table, type fixed for hashes, hash loading from disk 2010-03-09 13:18:49 +01:00
Pieter Noordhuis
2830ca539b replaced ZMERGE by ZUNION and ZINTER. note: key preloading by the VM does not yet work 2010-03-09 12:38:50 +01:00
antirez
b1befe6a8e Hashes saving / fixes 2010-03-08 21:33:07 +01:00
Pieter Noordhuis
b287c9bb2b use ZMERGE as starting point 2010-03-08 21:27:26 +01:00
antirez
cbba7dd7c9 HSET fixes, now the new pointer is stored back in the object pointer field 2010-03-07 23:41:48 +01:00
Pieter Noordhuis
798d9e5531 added ZREVRANK 2010-03-07 20:35:53 +01:00
antirez
18e61fa2ff Fix for replicaiton with over 2GB dump file initial SYNC stage 2010-03-06 12:08:22 +01:00
antirez
978c2c944c first implementation of HSET/HSET. More work needed 2010-03-06 01:56:16 +01:00
antirez
5234952bee zipmaps functions to get, iterate, test for existence. Initial works for Hash data type 2010-03-05 14:04:17 +01:00
Pieter Noordhuis
841053366f moved code to delete a single node from a zset to a separate function 2010-03-04 17:55:16 +01:00
Pieter Noordhuis
f84d393374 rename zslDeleteRange to zslDeleteRangeByScore (to differentiate between deleting using score or rank) 2010-03-04 17:50:25 +01:00
Pieter Noordhuis
2424490f9b use 1-based rank across zsl*Rank functions consistently 2010-03-04 17:48:31 +01:00
Pieter Noordhuis
9212eafd5d implemented ZREMBYRANK 2010-03-04 17:42:33 +01:00
antirez
94e543b5c2 A fix for initialization of augmented skip lists 2010-03-04 17:00:06 +01:00
antirez
ddfaca9d81 A fix for an invalid access when VM is disabled 2010-03-04 16:48:26 +01:00
antirez
947efa8d6e Merge branch 'zsl-get-rank' of git://github.com/pietern/redis 2010-03-04 16:43:50 +01:00
Pieter Noordhuis
a50ea45c84 merged memory reduction patch 2010-03-04 16:35:57 +01:00
antirez
520b5a33ae Now list push commands return the length of the new list, thanks to Gustavo Picon 2010-03-04 16:16:01 +01:00
Pieter Noordhuis
edb519581a first check if starting point is trivial (head or tail) before applying log(N) search 2010-03-04 14:23:59 +01:00
Pieter Noordhuis
e74825c24f use rank to find starting point for ZRANGE and ZREVRANGE 2010-03-04 14:16:07 +01:00
Pieter Noordhuis
27b0ccca71 lookup rank of a zset entry in a different function 2010-03-04 13:35:46 +01:00
antirez
8fe7fad771 SUBSTR fix for integer encoded vals 2010-03-04 13:10:50 +01:00
Pieter Noordhuis
67cac14343 fix ZRANK (realize that rank is 1-based due to the skip list header) 2010-03-04 01:33:37 +01:00
antirez
3919155375 initial implementation of SUBSTR 2010-03-03 23:15:52 +01:00
Pieter Noordhuis
2b37892e9b use less memory as element->span[0] will always be 1; any level 0 skip list is essentially a linked list 2010-03-03 19:04:38 +01:00
Pieter Noordhuis
912b9165a9 rank is very unlikely to overflow integer range 2010-03-03 18:40:42 +01:00
Pieter Noordhuis
709d0a1bbc x->backward never equals zsl->header 2010-03-03 18:35:56 +01:00
Pieter Noordhuis
69d95c3e1c initial implementation for augmented zsets and the zrank command 2010-03-03 18:21:02 +01:00
antirez
54bac49d92 minor fix for a Linux warning 2010-03-02 17:42:22 +01:00
antirez
ed7451548a Better to increment the version minor number when a VM bug is fixed... it will be simpler to understand what's going on when users will report problems with the INFO trace. 2010-03-02 00:57:09 +01:00
antirez
ba76a8f901 Fixed a subtle VM bug... was not flushing the buffer so the child process read truncated data 2010-03-02 00:52:50 +01:00
antirez
a3f9eec291 KEYS now returns a multi bulk reply 2010-03-01 23:46:24 +01:00
Damian Janowski
18b6cb7643 Add DISCARD command to discard queued MULTI commands. 2010-03-01 23:29:48 +01:00
antirez
c8c72447f6 Swappability bug due to a typo fixed thanks to code review by Felix Geisendörfer @felixge 2010-03-01 22:15:49 +01:00
antirez
5921aa36ed Bug #169 fixed (BLOP/BRPOP interrupted connections are not cleared from the queue) 2010-02-27 12:26:08 +01:00
antirez
9ebed7cf06 Fixed 32bit make target to work on Linux out of the box 2010-02-22 17:36:54 +01:00
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