summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Speedup INFO by counting client memory incrementally.faster-infoantirez2020-04-074-26/+52
| | | | | | | | | | | Related to #5145. Design note: clients may change type when they turn into replicas or are moved into the Pub/Sub category and so forth. Moreover the recomputation of the bytes used is problematic for obvious reasons: it changes continuously, so as a conservative way to avoid accumulating errors, each client remembers the contribution it gave to the sum, and removes it when it is freed or before updating it with the new memory usage.
* Merge pull request #7065 from qetu3790/unstableSalvatore Sanfilippo2020-04-061-4/+1
|\ | | | | fix comments about RESIZE DB opcode in rdb.c
| * fix comments about RESIZE DB opcode in rdb.c qetu37902020-04-061-4/+1
| | | | | | fix comments about RESIZE DB opcode in rdb.c
* | Clarify redis.conf comment about lazyfree-lazy-user-del.antirez2020-04-061-5/+9
| |
* | Merge pull request #6243 from soloestoy/expand-lazy-free-server-delSalvatore Sanfilippo2020-04-064-2/+7
|\ \ | |/ |/| lazyfree: add a new configuration lazyfree-lazy-user-del
| * lazyfree: add a new configuration lazyfree-lazy-user-delzhaozhao.zz2019-12-184-2/+7
| | | | | | | | | | Delete keys in async way when executing DEL command, if lazyfree-lazy-user-del is yes.
* | Merge branch 'lcs' into unstableantirez2020-04-065-1/+267
|\ \
| * | LCS: more tests.antirez2020-04-061-0/+8
| | |
| * | LCS: allow KEYS / STRINGS to be anywhere.antirez2020-04-061-6/+0
| | | | | | | | | | | | | | | | | | Initially they needed to be at the end so that we could extend to N strings in the future, but after further consideration I no longer believe it's worth it.
| * | LCS tests.antirez2020-04-061-0/+22
| | |
| * | LCS: get rid of STOREIDX option. Fix get keys helper.antirez2020-04-062-21/+20
| | |
| * | LCS: fix stale comment.lcsantirez2020-04-021-1/+1
| | |
| * | LCS: output LCS len as well in IDX mode.antirez2020-04-021-1/+6
| | |
| * | LCS: MINMATCHLEN and WITHMATCHLEN options.antirez2020-04-021-11/+24
| | |
| * | LCS: 7x speedup by accessing the array with better locality.antirez2020-04-011-1/+1
| | |
| * | LCS: implement KEYS option.antirez2020-04-011-2/+18
| | |
| * | LCS: other fixes to range emission.antirez2020-04-011-16/+20
| | |
| * | LCS: fix emission of last range starting at index 0.antirez2020-04-011-1/+1
| | |
| * | LCS: implement range indexes option.antirez2020-04-011-9/+59
| | |
| * | LCS: initial functionality implemented.antirez2020-04-014-1/+156
| | |
* | | Merge pull request #6797 from patpatbear/issue_#6565_memory_borderlineSalvatore Sanfilippo2020-04-063-4/+11
|\ \ \ | | | | | | | | Check OOM at script start to get stable lua OOM state.
| * | | Check OOM at script start to get stable lua OOM state.srzhao2020-01-203-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Checking OOM by `getMaxMemoryState` inside script might get different result with `freeMemoryIfNeededAndSafe` at script start, because lua stack and arguments also consume memory. This leads to memory `borderline` when memory grows near server.maxmemory: - `freeMemoryIfNeededAndSafe` at script start detects no OOM, no memory freed - `getMaxMemoryState` inside script detects OOM, script aborted We solve this 'borderline' issue by saving OOM state at script start to get stable lua OOM state. related to issue #6565 and #5250.
* | | | Merge pull request #7063 from oranagra/oran-runtest-externalSalvatore Sanfilippo2020-04-062-13/+13
|\ \ \ \ | | | | | | | | | | diffrent fix for runtest --host --port
| * | | | diffrent fix for runtest --host --portOran Agra2020-04-062-13/+13
|/ / / /
* | | | Merge pull request #7051 from guybe7/sleep_in_blockonkeys_testsSalvatore Sanfilippo2020-04-031-1/+54
|\ \ \ \ | | | | | | | | | | Try to fix time-sensitive tests in blockonkey.tcl
| * | | | Try to fix time-sensitive tests in blockonkey.tclGuy Benoish2020-04-031-1/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is an inherent race between the deferring client and the "main" client of the test: While the deferring client issues a blocking command, we can't know for sure that by the time the "main" client tries to issue another command (Usually one that unblocks the deferring client) the deferring client is even blocked... For lack of a better choice this commit uses TCL's 'after' in order to give some time for the deferring client to issues its blocking command before the "main" client does its thing. This problem probably exists in many other tests but this commit tries to fix blockonkeys.tcl
* | | | | Merge pull request #7057 from guybe7/fix_attr_gnucSalvatore Sanfilippo2020-04-031-3/+12
|\ \ \ \ \ | |/ / / / |/| | | | Use __attribute__ only if __GNUC__ is defined
| * | | | Use __attribute__ only if __GNUC__ is definedGuy Benoish2020-04-031-3/+12
|/ / / /
* | | | Merge pull request #6855 from guybe7/var_funcs_format_checkSalvatore Sanfilippo2020-04-031-3/+3
|\ \ \ \ | | | | | | | | | | Modules: Perform printf-like format checks in variadic API
| * | | | Modules: Perform printf-like format checks in variadic APIGuy Benoish2020-04-031-3/+3
| | | | |
* | | | | Merge pull request #7030 from valentinogeron/xread-in-luaSalvatore Sanfilippo2020-04-033-2/+18
|\ \ \ \ \ | | | | | | | | | | | | XREAD and XREADGROUP should not be allowed from scripts when BLOCK op…
| * | | | | XREAD and XREADGROUP should not be allowed from scripts when BLOCK option is ↵Valentino Geron2020-03-263-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | being used
* | | | | | Merge pull request #6933 from guybe7/multi_exec_allow_staleSalvatore Sanfilippo2020-04-031-3/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | Stale replica should allow MULTI/EXEC
| * | | | | | Stale replica should allow MULTI/EXECGuy Benoish2020-04-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Example: Client uses a pipe to send the following to a stale replica: MULTI .. do something ... DISCARD The replica will reply the MUTLI with -MASTERDOWN and execute the rest of the commands... A client using a pipe might not be aware that MULTI failed until it's too late. I can't think of a reason why MULTI/EXEC/DISCARD should not be executed on stale replicas... Also, enable MULTI/EXEC/DISCARD during loading
* | | | | | | Merge pull request #7055 from zxdvd/patch-1Salvatore Sanfilippo2020-04-031-2/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | fix integer overflow
| * | | | | | | fix integer overflowXudong Zhang2020-04-021-2/+2
| | |_|/ / / / | |/| | | | |
* | | | | | | Merge pull request #7054 from guybe7/fix_neg_zero_testSalvatore Sanfilippo2020-04-021-0/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix no-negative-zero test
| * | | | | | | Fix no-negative-zero testGuy Benoish2020-04-021-0/+1
| |/ / / / / /
* | | | | | | Merge pull request #6694 from oranagra/signal_modified_keySalvatore Sanfilippo2020-04-024-8/+8
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | modules don't signalModifiedKey in setKey() since that's done (optionally) in RM_CloseKey
| * | | | | | modules don't signalModifiedKey in setKey() since that's done (optionally) ↵Oran Agra2019-12-234-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | in RM_CloseKey
* | | | | | | Merge pull request #6927 from oranagra/ci-moduleapi-testsSalvatore Sanfilippo2020-04-021-0/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | change CI to build and run the module api tests
| * | | | | | | change CI to build and run the module api testsOran Agra2020-02-271-0/+2
| | | | | | | |
* | | | | | | | Merge pull request #6654 from oranagra/fix_module_info_warningSalvatore Sanfilippo2020-04-021-1/+1
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | fix possible warning on incomplete struct init
| * | | | | | | | fix possible warning on incomplete struct initOran Agra2019-12-101-1/+1
| | | | | | | | |
* | | | | | | | | Merge pull request #6546 from guybe7/fix_neg_zeroSalvatore Sanfilippo2020-04-022-0/+10
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Make sure Redis does not reply with negative zero
| * | | | | | | | | Make sure Redis does not reply with negative zeroGuy Benoish2019-11-052-0/+10
| | | | | | | | | |
* | | | | | | | | | Merge pull request #6813 from guybe7/debug_object_pass_keynameSalvatore Sanfilippo2020-04-023-4/+4
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|_|/ / / / / |/| | | | | | | | | DEBUG OBJECT should pass keyname to module when loading
| * | | | | | | | | DEBUG OBJECT should pass keyname to module when loadingGuy Benoish2020-01-303-4/+4
| | | | | | | | | |
* | | | | | | | | | Merge pull request #6960 from devnexen/debug_arm_linuxSalvatore Sanfilippo2020-04-021-27/+55
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | debug, dump registers on arm too.
| * | | | | | | | | | debug, dump registers on arm too.David Carlier2020-03-071-27/+55
| | | | | | | | | | |