6516 Commits

Author SHA1 Message Date
ShooterIT
02d1a6091b Avoid compiler warnings 2020-03-05 12:51:15 +01:00
antirez
749a4e962a Make sync RDB deletion configurable. Default to no. 2020-03-05 12:51:15 +01:00
antirez
a0fec660f6 Check that the file exists in removeRDBUsedToSyncReplicas(). 2020-03-05 12:51:15 +01:00
antirez
93328171ca Log RDB deletion in persistence-less instances. 2020-03-05 12:51:14 +01:00
antirez
00e53fb140 Introduce bg_unlink(). 2020-03-05 12:51:14 +01:00
antirez
e91ca9fee9 Remove RDB files used for replication in persistence-less instances. 2020-03-05 12:51:14 +01:00
antirez
dcafd2d77e Use a smaller getkeys global buffer.
The idea is that very few commands have a lot of keys, and when this
happens the allocation time becomes neglegible.
2020-03-05 12:51:14 +01:00
Oran Agra
328b6e473c Optimize temporary memory allocations for getKeysFromCommand mechanism
now that we may use it more often (ACL), these excessive calls to malloc
and free can become an overhead.
2020-03-05 12:51:14 +01:00
antirez
8a7e1fe3b0 Modules: reformat RM_Scan() top comment a bit. 2020-03-05 12:51:14 +01:00
antirez
76cfe21ff7 Modules: more details in RM_Scan API top comment. 2020-03-05 12:51:14 +01:00
Oran Agra
0693ac1961 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-03-05 12:51:14 +01:00
Guy Benoish
470de731e9 Add RM_CreateStringFromDouble 2020-03-05 12:51:14 +01:00
Oran Agra
4ca389bb60 add no_auth to COMMAND INFO 2020-03-05 12:51:14 +01:00
Oran Agra
bec15e6534 module api docs for aux_save and aux_load 2020-03-05 12:51:14 +01:00
Guy Benoish
f14bc2799e streamReplyWithRangeFromConsumerPEL: Redundant streamDecodeID 2020-03-05 12:51:14 +01:00
antirez
c1951137bb Show Redis version when not understanding a config directive.
This makes simpler to give people help when posting such kind of errors
in the mailing list or other help forums, because sometimes the
directive looks well spelled, but the version of Redis they are using is
not able to support it.
2020-03-05 12:51:14 +01:00
bodong.ybd
9fb8903adb Fix spop return nil #4709 2020-02-27 18:02:30 +01:00
antirez
b977f87438 Fix SDS misuse in enumConfigSet(). Related to #6778. 2020-02-27 18:02:30 +01:00
antirez
310a80764d Remove useless comment from enumConfigSet(). 2020-02-27 18:02:30 +01:00
Ponnuvel Palaniyappan
3af14cfa3d Fix a potential overflow with strncpy 2020-02-27 18:02:30 +01:00
antirez
ae97c31644 Improve aeDeleteEventLoop() top comment grammar. 2020-02-27 18:02:30 +01:00
wangyuan21
64700cca61 free time event when delete eventloop 2020-02-27 18:02:30 +01:00
srzhao
3ab91ff206 fix impl of aof-child whitelist SIGUSR1 feature. 2020-02-27 18:02:30 +01:00
meir@redislabs.com
22c571795c Changed log level for module fork api from 'notice' to 'verbos'. 2020-02-27 18:02:30 +01:00
hwware
7e6b81527c format fix 2020-02-27 18:02:30 +01:00
hwware
afe5179dd4 fix potentical memory leaks 2020-02-27 18:02:30 +01:00
Hengjian Tang
6718d5d375 modify the read buf size according to the write buf size PROTO_IOBUF_LEN defined before 2020-02-27 18:02:30 +01:00
Ariel
663d207da4 fix ThreadSafeContext lock/unlock function names 2020-02-27 18:02:30 +01:00
Guy Benoish
0f578ef183 XREADGROUP should propagate XCALIM/SETID in MULTI/EXEC
Use built-in alsoPropagate mechanism that wraps commands
in MULTI/EXEC before sending them to replica/AOF
2020-02-27 18:02:30 +01:00
Guy Benoish
9d5f9b3cb5 Modules: Do not auto-unblock clients if not blocked on keys 2020-02-27 18:02:30 +01:00
antirez
75a7615ce2 Tracking: optin/out implemented. 2020-02-27 18:02:30 +01:00
hwware
b995612a78 add missing subcommand description for debug oom 2020-02-27 18:00:47 +01:00
Madelyn Olson
fa54ce9036 Give an error message if you specify redirect twice 2020-02-27 18:00:47 +01:00
Madelyn Olson
188f478f43 Minor CSC fixes and fixed documentation 2020-02-27 18:00:47 +01:00
Oran Agra
79e8b17d7b 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-27 18:00:47 +01:00
Guy Benoish
d1be7aaa18 XGROUP DESTROY should unblock XREADGROUP with -NOGROUP 2020-02-27 18:00:47 +01:00
hayashier
253fcf98f8 fix typo from fss to rss 2020-02-27 18:00:47 +01:00
antirez
a227fd7cca Tracking: fix max-keys configuration directive. 2020-02-27 18:00:46 +01:00
Itamar Haber
3c2b67dc2a Fixes segfault on calling trackingGetTotalKeys
... with CSC disabled
2020-02-27 18:00:46 +01:00
antirez
1c2d250dd2 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-27 18:00:46 +01:00
antirez
5173b1042e Tracking: fix operators precedence error in bcast check. 2020-02-27 17:59:57 +01:00
antirez
2fdce45e9d Tracking: fix behavior when switchinig from normal to BCAST. 2020-02-27 17:59:57 +01:00
antirez
d5517def76 Tracking: fix sending messages bug + tracking off bug. 2020-02-27 17:59:57 +01:00
antirez
7841d0234f Tracking: BCAST: basic feature now works. 2020-02-27 17:59:57 +01:00
antirez
261fabeaa4 Tracking: BCAST: broadcasting of keys in prefixes implemented. 2020-02-27 17:59:57 +01:00
antirez
abdaebc6c4 Tracking: BCAST: registration in the prefix table. 2020-02-27 17:59:57 +01:00
antirez
ed36f3c76f Tracking: BCAST: parsing of the options + skeleton. 2020-02-27 17:59:57 +01:00
antirez
a34422aee7 Tracking: always reply with an array of keys. 2020-02-27 17:59:57 +01:00
antirez
ddc4965ac5 Tracking: minor change of names and new INFO field. 2020-02-27 17:59:57 +01:00
antirez
13fbdf9706 Rax.c: populate data field after random walk. 2020-02-27 17:59:57 +01:00