10482 Commits

Author SHA1 Message Date
Guy Benoish
770cb0ba97 XGROUP DESTROY should unblock XREADGROUP with -NOGROUP 2020-02-19 08:25:31 +05:30
Oran Agra
485425cec7 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
John Sully
c33886e152 Change Redis to KeyDB
Former-commit-id: 51ea3cf30ca99be8064fc95c8ddd0d61fdcc5c5d
2020-02-17 23:46:01 -05:00
John Sully
5e885739ef Change Redis to KeyDB
Former-commit-id: 6ad6c1d780f26a0785f39586b074ac3bb3132e09
2020-02-17 23:45:40 -05:00
hwware
7d4ebe114f add missing subcommand description for debug oom 2020-02-17 23:40:24 -05:00
John Sully
1abc602081 Merge branch 'unstable' into redis_6_merge
Former-commit-id: 32f34f63fd1025ae8337e8f30e9622abf08ee014
2020-02-17 19:55:29 -05:00
John Sully
c2ef5957ef Add double unlock detection and improve fastlock_unlock assmebly
Former-commit-id: 98aefac09b6b59371e6c1c77d1ef2794bfc5ae62
2020-02-17 19:54:05 -05:00
John Sully
77f90d9515 Incorrect use of std::atomic
Former-commit-id: 5dc84850addff084c95f9280718fcb1d6fee3b82
2020-02-17 19:07:13 -05:00
John Sully
d90ebb9f85 processEventsWhileBlocked not exception safe
Former-commit-id: 45b711f9d124a948a66e667992176b5387943512
2020-02-17 19:04:11 -05:00
John Sully
96c4f5ecfc processEventsWhileBlocked not exception safe
Former-commit-id: 1ef187533c26bfa0c084a815b8b80de92ba1cf0b
2020-02-17 19:03:49 -05:00
John Sully
79e945f5e5 Merge branch 'unstable' into redis_6_merge
Former-commit-id: 6a71de7835f427cebb23e4c2f0d19ed63a02f09e
2020-02-16 19:14:51 -05:00
John Sully
47f98259f9 Support C++14 and remove dependency on future standard 2a
Former-commit-id: 18496b62853738bf7bd48f65fe34aafcba8bbe0b
2020-02-16 19:04:56 -05:00
John Sully
4d01660331 Graceful shutdown of server threads when quit is requested
Former-commit-id: b9db899f6ccea62222170c6eec264d403a7a911d
2020-02-16 18:53:46 -05:00
John Sully
3de971b10c Fix memory leak in RDB load
Former-commit-id: 4e9d2f08b11cc76bb2716514fa6d55f76160fd13
2020-02-16 18:42:14 -05:00
John Sully
2f62f3fbcd Fix memory leak in RDB load
Former-commit-id: 06ad1c15d719a34fed36244b12a593f749bbb8a6
2020-02-16 18:41:50 -05:00
John Sully
873d5537e8 Merge branch 'unstable' into redis_6_merge
Former-commit-id: 30a603ce05956195aa027a3400eafd48d2750ea7
2020-02-16 18:18:24 -05:00
John Sully
e5f23dbd07 Merge branch 'unstable' of https://github.com/JohnSully/KeyDB into unstable
Former-commit-id: 63ae679fe1104f7cde4c9b5efe4a72be6b3435db
2020-02-16 18:12:11 -05:00
John Sully
0b5a7f5482 Memory leak fix on config, and redisDb dtor
Former-commit-id: b92bbf4de8ffc3edc965e2f9da4dd82ed7071559
2020-02-16 17:08:00 -05:00
Oran Agra
6fff2cf9b6 module api docs for aux_save and aux_load 2020-02-16 15:43:19 +02:00
Madelyn Olson
c1b5220ee7 Give an error message if you specify redirect twice 2020-02-16 05:41:39 -08:00
Madelyn Olson
d63a435362 Minor CSC fixes and fixed documentation 2020-02-16 05:28:29 -08:00
John Sully
5780020388 Fix memory leak of ReplicaNestState on shutdown
Former-commit-id: 4781eda7225c2640e25387663c33ef74cd98b0c4
2020-02-16 03:43:29 -05:00
John Sully
5f2e509129 aeDeleteEventLoop use after free and leak fixes
Former-commit-id: 2fd93c5789a4e81455d51b2a4786f708e8d6a2d7
2020-02-16 03:34:25 -05:00
antirez
df45fed050 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2020-02-14 18:23:13 +01:00
antirez
20eeddfb8a 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
Itamar Haber
8a44b2cc7e Fixes segfault on calling trackingGetTotalKeys
... with CSC disabled
2020-02-14 17:13:58 +02:00
antirez
090bc0c1a3 Merge branch 'csc2' into unstable 2020-02-14 14:29:18 +01:00
antirez
47177c9edc Tracking: fix operators precedence error in bcast check. 2020-02-14 14:27:45 +01:00
antirez
f6e32a832f Tracking: fix behavior when switchinig from normal to BCAST. 2020-02-14 14:27:43 +01:00
Salvatore Sanfilippo
c21c23bbba
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
6922ccc0b9 Tracking: fix sending messages bug + tracking off bug. 2020-02-13 16:58:07 +01:00
antirez
40194a2a68 Tracking: BCAST: basic feature now works. 2020-02-12 19:22:04 +01:00
Khem Raj
5e762d847c Mark extern definition of SDS_NOINIT in sds.h
This helps in avoiding multiple definition of this variable, its also
defined globally in sds.c

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-02-12 14:17:54 +01:00
lifubang
54f5499aee correct help info for --user and --pass
Signed-off-by: lifubang <lifubang@acmcoder.com>
2020-02-12 14:17:54 +01:00
Guy Benoish
dd34f70368 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-12 14:17:54 +01:00
lifubang
5e042dbc05 fix ssl flag check for redis-cli
Signed-off-by: lifubang <lifubang@acmcoder.com>
2020-02-12 14:17:54 +01:00
Guy Benoish
dcbe8bfad1 Exclude "keymiss" notification from NOTIFY_ALL
Because "keymiss" is "special" compared to the rest of
the notifications (Trying not to break existing apps
using the 'A' format for notifications)

Also updated redis.conf and module.c docs
2020-02-12 14:17:54 +01:00
Oran Agra
36caf2e42b update RM_SignalModifiedKey doc comment 2020-02-12 14:17:40 +01:00
Oran Agra
3067352a8d Add handling of short read of module id in rdb 2020-02-12 14:17:40 +01:00
Oran Agra
4440133e9a A few non-data commands that should be allowed while loading or stale
SELECT, and HELLO are commands that may be executed by the client
as soon as it connects, there's no reason to block them, preventing the
client from doing the rest of his sequence (which might just be INFO or
CONFIG, etc).

MONITOR, DEBUG, SLOWLOG, TIME, LASTSAVE are all non-data accessing
commands, which there's no reason to block.
2020-02-12 14:17:40 +01:00
Oran Agra
c957794144 Memory leak when bind config is provided twice 2020-02-12 14:17:40 +01:00
Oran Agra
1333a46b7e fix maxmemory config warning
the warning condition was if usage > limit (saying it'll cause eviction
or oom), but in fact the eviction and oom depends on used minus slave
buffers.

other than fixing the condition, i add info about the current usage and
limit, which may be useful when looking at the log.
2020-02-12 14:17:40 +01:00
Oran Agra
8e7282eb3e Fix client flags to be int64 in module.c
currently there's no bug since the flags these functions handle are
always lower than 32bit, but still better fix the type to prevent future
bugs.
2020-02-12 14:17:40 +01:00
Oran Agra
a678390e52 moduleRDBLoadError, add key name, and use panic rather than exit
using panic rather than exit means you get s stack trace of the code
path that experianced the error, and possibly other info.
2020-02-12 14:17:40 +01:00
Oran Agra
f42ce57d0f stopAppendOnly resets aof_rewrite_scheduled
althouh in theory, users can do BGREWRITEAOF even if aof is disabled, i
suppose it is more common that the scheduled flag is set by either
startAppendOnly, of a failed initial AOFRW fork (AOF_WAIT_REWRITE)
2020-02-12 14:15:56 +01:00
Oran Agra
919fbf421d reduce repeated calls to use_diskless_load
this function possibly iterates on the module list
2020-02-12 14:15:56 +01:00
Oran Agra
df096bc96b add SAVE subcommand to ACL HELP and top comment 2020-02-12 14:15:56 +01:00
Oran Agra
22e45d46fe freeClientAsync don't lock mutex if there's just one thread 2020-02-12 14:15:56 +01:00
Oran Agra
a55e584706 DEBUG HELP - add PROTOCOL 2020-02-12 14:15:56 +01:00
Oran Agra
ba28924418 move restartAOFAfterSYNC from replicaofCommand to replicationUnsetMaster
replicationUnsetMaster can be called from other places, not just
replicaofCOmmand, and all of these need to restart AOF
2020-02-12 14:15:56 +01:00