9193 Commits

Author SHA1 Message Date
Guy Benoish
e3b50b6432 XGROUP DESTROY should unblock XREADGROUP with -NOGROUP 2020-02-19 08:25:31 +05:30
Oran Agra
d3a0fc70c3 Defrag big lists in portions to avoid latency and freeze
When active defrag kicks in and finds a big list, it will create a bookmark to
a node so that it is able to resume iteration from that node later.

The quicklist manages that bookmark, and updates it in case that node is deleted.

This will increase memory usage only on lists of over 1000 (see
active-defrag-max-scan-fields) quicklist nodes (1000 ziplists, not 1000 items)
by 16 bytes.

In 32 bit build, this change reduces the maximum effective config of
list-compress-depth and list-max-ziplist-size (from 32767 to 8191)
2020-02-18 17:22:32 +02:00
hwware
3efa9dd5c0 add missing subcommand description for debug oom 2020-02-17 23:40:24 -05:00
Oran Agra
4006d36600 module api docs for aux_save and aux_load 2020-02-16 15:43:19 +02:00
Madelyn Olson
651a1b2262 Give an error message if you specify redirect twice 2020-02-16 05:41:39 -08:00
Madelyn Olson
7f07fed499 Minor CSC fixes and fixed documentation 2020-02-16 05:28:29 -08:00
antirez
8c8e4cc7ca Merge branch 'unstable' of github.com:/antirez/redis into unstable 2020-02-14 18:23:13 +01:00
antirez
3b031b1600 Signal key as modified when expired on-access.
This fixes WATCH and client side caching with keys expiring because of
a synchronous access and not because of background expiring.
2020-02-14 18:22:25 +01:00
Salvatore Sanfilippo
21d286c81b Merge pull request #6890 from itamarhaber/patch-trackingGetTotalKeys
Fixes segfault on calling trackingGetTotalKeys
2020-02-14 16:21:24 +01:00
Itamar Haber
53aa39c059 Fixes segfault on calling trackingGetTotalKeys
... with CSC disabled
2020-02-14 17:13:58 +02:00
antirez
50c1288d4f Merge branch 'csc2' into unstable 2020-02-14 14:29:18 +01:00
antirez
0ae05a229a Tracking: first set of tests for the feature. 2020-02-14 14:29:00 +01:00
antirez
8cb485ad3b Tracking: fix operators precedence error in bcast check. 2020-02-14 14:27:45 +01:00
antirez
4597ec9b1c Tracking: fix behavior when switchinig from normal to BCAST. 2020-02-14 14:27:43 +01:00
Salvatore Sanfilippo
948c09c29a Merge pull request #6863 from oranagra/module_commands_no_slowlog
add no-slowlog option to RM_CreateCommand
2020-02-13 17:02:19 +01:00
antirez
c6cf2ed643 Tracking: fix sending messages bug + tracking off bug. 2020-02-13 16:58:07 +01:00
antirez
c98236a5f3 Tracking: BCAST: basic feature now works. 2020-02-12 19:22:04 +01:00
Salvatore Sanfilippo
3fb021696f Merge pull request #6691 from kraj/fno-common
Mark extern definition of SDS_NOINIT in sds.h
2020-02-12 14:04:53 +01:00
Salvatore Sanfilippo
5f1f2bed7d Merge pull request #6882 from lifubang/userpass
correct help info for --user and --pass
2020-02-12 14:04:15 +01:00
lifubang
9ae32c1420 correct help info for --user and --pass
Signed-off-by: lifubang <lifubang@acmcoder.com>
2020-02-12 16:34:22 +08:00
antirez
07a92b8118 Tracking: BCAST: broadcasting of keys in prefixes implemented. 2020-02-11 18:11:59 +01:00
antirez
6cd5fa3338 Tracking: BCAST: registration in the prefix table. 2020-02-11 17:26:29 +01:00
antirez
c797326742 Tracking: BCAST: parsing of the options + skeleton. 2020-02-10 17:18:11 +01:00
antirez
f7dccdf3d0 Tracking: always reply with an array of keys. 2020-02-10 13:42:18 +01:00
meir@redislabs.com
054932343e Changed log level for module fork api from 'notice' to 'verbos'. 2020-02-10 12:10:32 +02:00
Salvatore Sanfilippo
63df48d91b Merge pull request #6875 from WOOSEUNGHOON/cve20158080_fix
[FIX] revisit CVE-2015-8080 vulnerability
2020-02-10 10:45:52 +01:00
Seunghoon Woo
dda3f1636a [FIX] revisit CVE-2015-8080 vulnerability 2020-02-10 16:32:46 +09:00
antirez
dcb43f4530 Tracking: minor change of names and new INFO field. 2020-02-07 18:12:45 +01:00
antirez
d5286419fc Rax.c: populate data field after random walk. 2020-02-07 18:12:10 +01:00
antirez
ddc2a9f5ee Tracking: rename INFO field with total items. 2020-02-07 17:19:17 +01:00
antirez
bcc9361ad4 Tracking: first conversion from hashing to key names. 2020-02-07 14:03:43 +01:00
Oran Agra
0cacccddc3 add no-slowlog option to RM_CreateCommand 2020-02-06 15:06:33 +02:00
Guy Benoish
6c41cd1807 Fix memory leak in test_ld_conv 2020-02-06 18:36:21 +05:30
Oran Agra
19e6ef248b add no_auth to COMMAND INFO 2020-02-06 14:53:54 +02:00
Salvatore Sanfilippo
8052340ce8 Merge pull request #6822 from guybe7/diskless_load_module_hook_fix
Diskless-load emptyDb-related fixes
2020-02-06 13:10:00 +01:00
Guy Benoish
b2bd353f62 Diskless-load emptyDb-related fixes
1. Call emptyDb even in case of diskless-load: We want modules
   to get the same FLUSHDB event as disk-based replication.
2. Do not fire any module events when flushing the backups array.
3. Delete redundant call to signalFlushedDb (Called from emptyDb).
2020-02-06 16:48:02 +05:30
antirez
2700fae0b7 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2020-02-06 11:24:22 +01:00
antirez
3d167847aa Merge branch 'acl-log' into unstable 2020-02-06 11:24:16 +01:00
Salvatore Sanfilippo
fedec37757 Merge pull request #6826 from lifubang/opensslcli
fix ssl args check for redis-cli
2020-02-06 11:22:20 +01:00
Oran Agra
f390ad6d51 RM_Scan disable dict rehashing
The callback approach we took is very efficient, the module can do any
filtering of keys without building any list and cloning strings, it can
also read data from the key's value. but if the user tries to re-open
the key, or any other key, this can cause dict re-hashing (dictFind does
that), and that's very bad to do from inside dictScan.

this commit protects the dict from doing any rehashing during scan, but
also warns the user not to attempt any writes or command calls from
within the callback, for fear of unexpected side effects and crashes.
2020-02-06 11:48:12 +02:00
Salvatore Sanfilippo
7d10c95786 Merge pull request #6821 from guybe7/key_miss_notify
Exclude "keymiss" notification from NOTIFY_ALL
2020-02-06 10:43:05 +01:00
Salvatore Sanfilippo
4bf051d4d2 Merge pull request #6837 from oranagra/signal_modified_key_doc
update RM_SignalModifiedKey doc comment
2020-02-06 10:38:36 +01:00
Salvatore Sanfilippo
acb1ce28bf Merge pull request #6840 from oranagra/short_read_moduleid
Add handling of short read of module id in rdb
2020-02-06 10:35:42 +01:00
Salvatore Sanfilippo
4a8b1c778a Merge pull request #6841 from yossigo/tls-doc-update
TLS: Update documentation.
2020-02-06 10:35:21 +01:00
Salvatore Sanfilippo
f703f2ac56 Merge pull request #6843 from oranagra/command_flags
A few non-data commands that should be allowed while loading or stale
2020-02-06 10:34:26 +01:00
Salvatore Sanfilippo
f27243d2da Merge pull request #6844 from oranagra/bind_config_leak
Memory leak when bind config is provided twice
2020-02-06 10:33:40 +01:00
Salvatore Sanfilippo
c923153ab2 Merge pull request #6845 from oranagra/maxmemory_warning
fix maxmemory config warning
2020-02-06 10:33:15 +01:00
Salvatore Sanfilippo
1056e09940 Merge pull request #6846 from oranagra/module_client_flags
Fix client flags to be int64 in module.c
2020-02-06 10:32:35 +01:00
Salvatore Sanfilippo
8211b8d5ae Merge pull request #6847 from oranagra/module_read_err_panic
moduleRDBLoadError, add key name, and use panic rather than exit
2020-02-06 10:31:29 +01:00
Salvatore Sanfilippo
cdd502da4c Merge pull request #6848 from oranagra/opt_use_diskless_load_calls
reduce repeated calls to use_diskless_load
2020-02-06 10:30:39 +01:00