9904 Commits

Author SHA1 Message Date
John Sully
e8b9258890 Fix crash propogating stale keys
Former-commit-id: d95bead3837edeca11f27f6f344eca8174ca53e3
2020-02-26 21:49:40 -05:00
John Sully
014db04212 Change Redis to KeyDB
Former-commit-id: 51ea3cf30ca99be8064fc95c8ddd0d61fdcc5c5d
2020-02-17 23:46:01 -05:00
John Sully
67eccf74ba Change Redis to KeyDB
Former-commit-id: 6ad6c1d780f26a0785f39586b074ac3bb3132e09
2020-02-17 23:45:40 -05:00
John Sully
8d720e220d Merge branch 'unstable' into redis_6_merge
Former-commit-id: 32f34f63fd1025ae8337e8f30e9622abf08ee014
2020-02-17 19:55:29 -05:00
John Sully
1d368edc10 Add double unlock detection and improve fastlock_unlock assmebly
Former-commit-id: 98aefac09b6b59371e6c1c77d1ef2794bfc5ae62
2020-02-17 19:54:05 -05:00
John Sully
950cda8ea5 Incorrect use of std::atomic
Former-commit-id: 5dc84850addff084c95f9280718fcb1d6fee3b82
2020-02-17 19:07:13 -05:00
John Sully
2c28a3f3d7 processEventsWhileBlocked not exception safe
Former-commit-id: 45b711f9d124a948a66e667992176b5387943512
2020-02-17 19:04:11 -05:00
John Sully
c810823abe processEventsWhileBlocked not exception safe
Former-commit-id: 1ef187533c26bfa0c084a815b8b80de92ba1cf0b
2020-02-17 19:03:49 -05:00
John Sully
bd5ffe7069 Merge branch 'unstable' into redis_6_merge
Former-commit-id: 6a71de7835f427cebb23e4c2f0d19ed63a02f09e
2020-02-16 19:14:51 -05:00
John Sully
d229b03b2c Support C++14 and remove dependency on future standard 2a
Former-commit-id: 18496b62853738bf7bd48f65fe34aafcba8bbe0b
2020-02-16 19:04:56 -05:00
John Sully
b6db2d32ad Graceful shutdown of server threads when quit is requested
Former-commit-id: b9db899f6ccea62222170c6eec264d403a7a911d
2020-02-16 18:53:46 -05:00
John Sully
dde7fc4c18 Fix memory leak in RDB load
Former-commit-id: 4e9d2f08b11cc76bb2716514fa6d55f76160fd13
2020-02-16 18:42:14 -05:00
John Sully
d3a69998e4 Fix memory leak in RDB load
Former-commit-id: 06ad1c15d719a34fed36244b12a593f749bbb8a6
2020-02-16 18:41:50 -05:00
John Sully
04d174ba1a Merge branch 'unstable' into redis_6_merge
Former-commit-id: 30a603ce05956195aa027a3400eafd48d2750ea7
2020-02-16 18:18:24 -05:00
John Sully
fd375eb95c 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
8f6f496c7e Memory leak fix on config, and redisDb dtor
Former-commit-id: b92bbf4de8ffc3edc965e2f9da4dd82ed7071559
2020-02-16 17:08:00 -05:00
John Sully
41c75234bd Fix memory leak of ReplicaNestState on shutdown
Former-commit-id: 4781eda7225c2640e25387663c33ef74cd98b0c4
2020-02-16 03:43:29 -05:00
John Sully
4bf9beb484 aeDeleteEventLoop use after free and leak fixes
Former-commit-id: 2fd93c5789a4e81455d51b2a4786f708e8d6a2d7
2020-02-16 03:34:25 -05:00
Khem Raj
0545a70d52 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
5b3a6b5e80 correct help info for --user and --pass
Signed-off-by: lifubang <lifubang@acmcoder.com>
2020-02-12 14:17:54 +01:00
Seunghoon Woo
9edd6808c8 [FIX] revisit CVE-2015-8080 vulnerability 2020-02-12 14:17:54 +01:00
Guy Benoish
05b2e8c5c8 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
af3ff9d733 fix ssl flag check for redis-cli
Signed-off-by: lifubang <lifubang@acmcoder.com>
2020-02-12 14:17:54 +01:00
Guy Benoish
98a59c540d 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
a1a25bc7f1 update RM_SignalModifiedKey doc comment 2020-02-12 14:17:40 +01:00
Oran Agra
1f9520a75d Add handling of short read of module id in rdb 2020-02-12 14:17:40 +01:00
Yossi Gottlieb
e7e595192a TLS: Update documentation. 2020-02-12 14:17:40 +01:00
Oran Agra
ca22e14d8a 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
da8ec22fc6 Memory leak when bind config is provided twice 2020-02-12 14:17:40 +01:00
Oran Agra
600d02e1a7 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
a98e5a1fc3 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
e92983ed3f 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
a8e2bbe8f6 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
2af4039b3e 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
23cbfea39b add SAVE subcommand to ACL HELP and top comment 2020-02-12 14:15:56 +01:00
Oran Agra
5e3b4c978b freeClientAsync don't lock mutex if there's just one thread 2020-02-12 14:15:56 +01:00
Oran Agra
3988bfff50 DEBUG HELP - add PROTOCOL 2020-02-12 14:15:56 +01:00
Oran Agra
ad1c21283e 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
Guy Benoish
084dc68128 Some refactroing using getClientType instead of CLIENT_SLAVE 2020-02-12 14:15:56 +01:00
Guy Benoish
f4c30fd74b Fix small bugs related to replica and monitor ambiguity
1. server.repl_no_slaves_since can be set when a MONITOR client disconnects
2. c->repl_ack_time can be set by a newline from a MONITOR client
3. Improved comments
2020-02-12 14:15:56 +01:00
Yossi Gottlieb
351529cc39 TLS: Some redis.conf clarifications. 2020-02-12 14:15:56 +01:00
Oran Agra
601d423498 config.c verbose error replies for CONFIG SET, like config file parsing
We noticed that the error replies for the generic mechanism for enums
are very verbose for config file parsing, but not for config set
command.

instead of replicating this code, i did a small refactoring to share
code between CONFIG SET and config file parsing.

and also renamed the enum group functions to be consistent with the
naming of other types.
2020-02-12 14:15:56 +01:00
Oran Agra
138252dc56 memoryGetKeys helper function so that ACL can limit access to keys for MEMORY command 2020-02-12 14:15:56 +01:00
antirez
491949ee5b ACL LOG: make max log entries configurable. 2020-02-12 14:15:35 +01:00
antirez
c30fe3a93f ACL LOG: test for AUTH reason. 2020-02-12 14:15:35 +01:00
antirez
c0de265bfa ACL LOG: log failed auth attempts. 2020-02-12 14:15:35 +01:00
antirez
c60351e489 ACL LOG: implement a few basic tests. 2020-02-12 14:15:35 +01:00
antirez
74c4d2f158 ACL LOG: also log ACL errors in the scripting/MULTI ctx. 2020-02-12 14:15:35 +01:00
antirez
3853c71288 ACL LOG: implement LOG RESET. 2020-02-12 14:15:35 +01:00
antirez
7b53636462 ACL LOG: group similar entries in a given time delta. 2020-02-12 14:15:35 +01:00