- 25 6月, 2018 3 次提交
- 22 6月, 2018 4 次提交
-
-
由 Salvatore Sanfilippo 提交于
Fix rdbLoadIntegerObject() to create shared objects when needed.
-
由 Salvatore Sanfilippo 提交于
Update ZPOPMIN/ZPOPMAX command declaration
-
由 Salvatore Sanfilippo 提交于
fix typo
-
由 michael-grunder 提交于
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.
-
- 21 6月, 2018 4 次提交
-
-
由 Salvatore Sanfilippo 提交于
fix streams memory estimation, missing raxSeek
-
由 Oran Agra 提交于
-
由 shenlongxing 提交于
-
由 youjiali1995 提交于
-
- 20 6月, 2018 5 次提交
-
-
由 Salvatore Sanfilippo 提交于
Update README.md
-
由 Salvatore Sanfilippo 提交于
64 bit RDB_OPCODE_RESIZEDB in rdb saving
-
由 Salvatore Sanfilippo 提交于
use safe macro (non empty) in memrev64ifbe to eliminate empty if warning
-
由 Salvatore Sanfilippo 提交于
Enhance RESTORE with RDBv9 new features
-
由 Guy Benoish 提交于
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 6月, 2018 13 次提交
-
-
由 Salvatore Sanfilippo 提交于
add malloc_usable_size for libc malloc
-
由 Oran Agra 提交于
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 提交于
Fix update_zmalloc_stat_alloc in zrealloc
-
由 antirez 提交于
-
由 Salvatore Sanfilippo 提交于
fix redis-rdb-check to provide proper arguments to rdbLoadMillisecondTime
-
由 antirez 提交于
-
由 Oran Agra 提交于
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 提交于
-
由 antirez 提交于
-
由 Oran Agra 提交于
-
由 Oran Agra 提交于
this complication in the code is from times were rdbSaveLen didn't support 64 bits.
-
由 antirez 提交于
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 提交于
-
- 18 6月, 2018 9 次提交
-
-
由 antirez 提交于
-
由 antirez 提交于
-
由 antirez 提交于
See #5011.
-
由 antirez 提交于
-
由 Salvatore Sanfilippo 提交于
Fix config_set_numerical_field() integer overflow.
-
由 antirez 提交于
The old version could not handle the fact that "STREAMS" is a valid key name for streams. Now we really try to parse the command like the command implementation would do. Related to #5028 and 4857.
-
由 Salvatore Sanfilippo 提交于
Fix core dump when using some commands with wrong arguments.
-
由 antirez 提交于
The loop allocated a buffer for the right number of keys positions, then overflowed it going past the limit. Related to #4857 and cause of the memory violation seen in #5028.
-
由 antirez 提交于
Now a MAXLEN of 0 really does what it means: it will create a zero entries stream. This is useful in order to make sure that the behavior is identical to XTRIM, that must be able to reduce the stream to zero elements when MAXLEN is given. Also now MAXLEN with a count < 0 will return an error.
-
- 17 6月, 2018 1 次提交
-
-
由 antirez 提交于
-
- 16 6月, 2018 1 次提交
-
-
由 Salvatore Sanfilippo 提交于
Critical: Fix server crash and data inconsistency in some cases.
-