- 25 Jun, 2018 10 commits
- 22 Jun, 2018 4 commits
-
-
Salvatore Sanfilippo authored
config: handle special configuration "" for auth
-
Salvatore Sanfilippo authored
Fix rdbLoadIntegerObject() to create shared objects when needed.
-
Salvatore Sanfilippo authored
Update ZPOPMIN/ZPOPMAX command declaration
-
Salvatore Sanfilippo authored
fix typo
-
- 21 Jun, 2018 5 commits
-
-
michael-grunder authored
Unlike the BZPOP variants, these functions take a single key. This fixes an erroneous CROSSSLOT error when passing a count to a cluster enabled server.
-
Salvatore Sanfilippo authored
fix streams memory estimation, missing raxSeek
-
Oran Agra authored
-
shenlongxing authored
-
youjiali1995 authored
-
- 20 Jun, 2018 5 commits
-
-
Salvatore Sanfilippo authored
Update README.md
-
Salvatore Sanfilippo authored
64 bit RDB_OPCODE_RESIZEDB in rdb saving
-
Salvatore Sanfilippo authored
use safe macro (non empty) in memrev64ifbe to eliminate empty if warning
-
Salvatore Sanfilippo authored
Enhance RESTORE with RDBv9 new features
-
Guy Benoish authored
RESTORE now supports: 1. Setting LRU/LFU 2. Absolute-time TTL Other related changes: 1. RDB loading will not override LRU bits when RDB file does not contain the LRU opcode. 2. RDB loading will not set LRU/LFU bits if the server's maxmemory-policy does not match.
-
- 19 Jun, 2018 13 commits
-
-
Salvatore Sanfilippo authored
add malloc_usable_size for libc malloc
-
Oran Agra authored
this reduces the extra 8 bytes we save before each pointer. but more importantly maybe, it makes the valgrind runs to be more similiar to our normal runs. note: the change in malloc_stats struct in server.h is to eliminate an name conflict. structs that are not typedefed are resolved from a separate name space.
-
Salvatore Sanfilippo authored
Fix update_zmalloc_stat_alloc in zrealloc
-
antirez authored
-
Salvatore Sanfilippo authored
fix redis-rdb-check to provide proper arguments to rdbLoadMillisecondTime
-
antirez authored
-
Oran Agra authored
due to incorrect forward declaration, it didn't provide all arguments. this lead to random value being read from the stack and return of incorrect time, which in this case doesn't matter since no one uses it.
-
antirez authored
-
antirez authored
-
Oran Agra authored
-
Oran Agra authored
this complication in the code is from times were rdbSaveLen didn't support 64 bits.
-
antirez authored
Basically we cannot be sure that if the key is expired while writing the AOF, the main thread will surely find the key expired. There are possible race conditions like the moment at which the "now" is sampled, and the fact that time may jump backward. Think about the following: SET a 5 EXPIRE a 1 AOF rewrite starts after about 1 second. The child process finds the key expired, while in the main thread instead an INCR command is called against the key "a" immediately after a fork, and the scheduler was faster to give execution time to the main thread, so "a" is yet not expired. The main thread will generate an INCR a command to the AOF log that will be appended to the rewritten AOF file, but that INCR command will target a non existin "a" key, so a new non volatile key "a" will be created. Two observations: A) In theory by computing "now" before the fork, we should be sure that if a key is expired at that time, it will be expired later when the main thread will try to access to such key. However this does not take into account the fact that the computer time may jump backward. B) Technically we may still make the process safe by using a monotonic time source. However there were other similar related bugs, and in general the new "vision" is that Redis persistence files should represent the memory state without trying to be too smart: this makes the design more consistent, bugs less likely to arise from complex interactions, and in the end what is to fix is the Redis expire process to have less expired keys in RAM. Thanks to Oran Agra and Guy Benoish for writing me an email outlining this problem, after they conducted a Redis 5 code review.
-
Benjamin Holst authored
-
- 18 Jun, 2018 3 commits