7033 Commits

Author SHA1 Message Date
antirez
6d3bd2ed5a Minor aesthetic changes to #7135. 2020-04-24 10:15:04 +02:00
Valentino Geron
a2a5b1d6ae XREADGROUP with NOACK should propagate only one XGROUP SETID command 2020-04-24 10:15:04 +02:00
antirez
408d4fb35d ACL: re-enable command execution of disabled users.
After all I changed idea again: enabled/disabled should have a more
clear meaning, and it only means: you can't authenticate with such user
with new connections, however old connections continue to work as
expected.
2020-04-24 10:15:04 +02:00
antirez
76aa8a43ab getRandomBytes(): use HMAC-SHA256.
Now that we have an interface to use this API directly, via ACL GENPASS,
we are no longer sure what people could do with it. So why don't make it
a strong primitive exported by Redis in order to create unique IDs and
so forth?

The implementation was tested against the test vectors that can
be found in RFC4231.
2020-04-24 10:14:48 +02:00
antirez
32c6699847 ACL GENPASS: take number of bits as argument. 2020-04-24 10:14:48 +02:00
antirez
9651156a7b ACL GENPASS: emit 256 bits instead of 128. 2020-04-24 10:14:48 +02:00
antirez
de38fa2b65 ACL: deny commands execution of disabled users. 2020-04-24 10:14:48 +02:00
Theo Buehler
6a8f6ac1a3 TLS: Fix build with SSL_OP_NO_CLIENT_RENEGOTIATION
There is no ssl in this scope, so the build breaks.
All the other options are set directly on the ctx.
2020-04-24 10:14:48 +02:00
Yossi Gottlieb
48ff17e1de TLS: Fix build on older verisons of OpenSSL. 2020-04-24 10:14:48 +02:00
antirez
a05f6b064b Tracking: signal key as modified when evicting. 2020-04-24 10:14:48 +02:00
antirez
249d933215 Tracking: NOLOOP further implementation and fixes. 2020-04-24 10:14:48 +02:00
antirez
f066273907 Tracking: NOLOOP internals implementation. 2020-04-24 10:14:48 +02:00
antirez
14758cdc63 Implement redis_set_thread_title for MacOS.
Strange enough, pthread_setname_np() produces a warning for not defined
function even if pthread is included. Moreover the MacOS documentation
claims the return value for the function is void, but actually is int.

Related to #7089.
2020-04-24 10:14:48 +02:00
zhenwei pi
ff889d2c8a Threaded IO: set thread name for redis-server
Set thread name for each thread of redis-server, this helps us to
monitor the utilization and optimise the performance.

And suggested-by Salvatore, implement this feature for multi
platforms. Currently support linux and bsd, ignore other OS.

An exmaple on Linux:
 # top -d 5 -p `pidof redis-server ` -H

    PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
3682671 root      20   0  227744   8248   3836 R 99.2  0.0   0:19.53 redis-server
3682677 root      20   0  227744   8248   3836 S 26.4  0.0   0:04.15 io_thd_3
3682675 root      20   0  227744   8248   3836 S 23.6  0.0   0:03.98 io_thd_1
3682676 root      20   0  227744   8248   3836 S 23.6  0.0   0:03.97 io_thd_2
3682672 root      20   0  227744   8248   3836 S  0.2  0.0   0:00.02 bio_close_file
3682673 root      20   0  227744   8248   3836 S  0.2  0.0   0:00.02 bio_aof_fsync
3682674 root      20   0  227744   8248   3836 S  0.0  0.0   0:00.00 bio_lazy_free
3682678 root      20   0  227744   8248   3836 S  0.0  0.0   0:00.00 jemalloc_bg_thd
3682682 root      20   0  227744   8248   3836 S  0.0  0.0   0:00.00 jemalloc_bg_thd
3682683 root      20   0  227744   8248   3836 S  0.0  0.0   0:00.00 jemalloc_bg_thd
3682684 root      20   0  227744   8248   3836 S  0.0  0.0   0:00.00 jemalloc_bg_thd
3682685 root      20   0  227744   8248   3836 S  0.0  0.0   0:00.00 jemalloc_bg_thd
3682687 root      20   0  227744   8248   3836 S  0.0  0.0   0:00.00 jemalloc_bg_thd

Another exmaple on FreeBSD-12.1:
  PID USERNAME    PRI NICE   SIZE    RES STATE    C   TIME    WCPU COMMAND
 5212 root        100    0    48M  7280K CPU2     2   0:26  99.52% redis-server{redis-server}
 5212 root         38    0    48M  7280K umtxn    4   0:06  26.94% redis-server{io_thd_3}
 5212 root         36    0    48M  7280K umtxn    6   0:06  26.84% redis-server{io_thd_1}
 5212 root         39    0    48M  7280K umtxn    1   0:06  25.30% redis-server{io_thd_2}
 5212 root         20    0    48M  7280K uwait    3   0:00   0.00% redis-server{redis-server}
 5212 root         21    0    48M  7280K uwait    2   0:00   0.00% redis-server{bio_close_file}
 5212 root         21    0    48M  7280K uwait    3   0:00   0.00% redis-server{bio_aof_fsync}
 5212 root         21    0    48M  7280K uwait    0   0:00   0.00% redis-server{bio_lazy_free}

Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
2020-04-24 10:14:48 +02:00
antirez
ac512f2928 Sentinel: small refactoring of sentinelCollectTerminatedScripts().
Related to #7113.
2020-04-24 10:14:48 +02:00
omg-by
b949f7c173 fix(sentinel): sentinel.running_scripts will always increase more times and not reset
when trigger a always fail scripts, sentinel.running_scripts will increase ten times, however it
only decrease one times onretry the maximum. and it will't reset, when it become
SENTINEL_SCRIPT_MAX_RUNNING, sentinel don't trigger scripts.
2020-04-24 10:14:48 +02:00
John Sully
4acd49c4fc MacOS Build Break Fix
Former-commit-id: d6738ffa5df6dd4d6cdf9f717d30f163d3dc0129
2020-04-22 01:21:35 -04:00
antirez
0b1b56b6fc Fix XCLAIM propagation in AOF/replicas for blocking XREADGROUP.
See issue #7105.
2020-04-17 12:40:54 +02:00
John Sully
9bc3029a02 Fix some clang warnings
Former-commit-id: 3785b1efd49002e629c1d821c57e971f8f09a2d2
2020-04-16 20:12:05 -04:00
John Sully
68c455a6d6 Always link libatomic
Former-commit-id: 7aeae62f84fe958bcda9925f76180a7e149a337e
2020-04-16 20:01:24 -04:00
John Sully
fbecb9d5c9 Fix warning in cluster.cpp
Former-commit-id: e5e33f8cb7b4c928884a934184cbf81b916b3c03
2020-04-16 20:01:13 -04:00
John Sully
fe307bb1b1 quiet TSAN in serverLog
Former-commit-id: a836d5947d5a024d855bf5d0d6269e014e47b868
2020-04-16 17:06:25 -04:00
antirez
b3ff2337b9 Redis 6.0-RC4. 2020-04-16 16:18:02 +02:00
antirez
151fae1f23 Update SDS to latest version. 2020-04-16 16:09:06 +02:00
antirez
2dac74ffb4 RESP3: fix HELLO map len in Sentinel mode.
See #6160.
2020-04-16 11:22:18 +02:00
John Sully
34d768f5ad Deprecate travis and finish setting up github CI
Former-commit-id: 90094a2dcaa004437c43818b411d44e722da420a
2020-04-15 23:04:04 -04:00
John Sully
c001ea5b41 Merge branch 'unstable' into redis_6_merge
Former-commit-id: cc9924ffa606200f331b3bf5e1e1a4aa3f2702fa
2020-04-15 23:00:13 -04:00
John Sully
fe06034b33 OS X build break
Former-commit-id: 5e6b4ab99e6f2ad29577c8d4cc151284f0c652b4
2020-04-15 22:43:40 -04:00
John Sully
822f64ed2f During AOF reload we can erroneously read incorrect aof_state values, so this variable must be read with the global lock acquired
Former-commit-id: 6ff9d23fd4541a011d754209d9fda3ef3af4a7f9
2020-04-15 22:30:19 -04:00
John Sully
32b028b9cb Quiet test only ASAN fd race
Former-commit-id: d4939c838b58eab2fb3b631267045cff9d3caff1
2020-04-15 22:27:45 -04:00
John Sully
c177e6e34d Fix race in sendBulk
Former-commit-id: 5fd07e08894482e1a55f18ece9c52ff5379b82ec
2020-04-15 22:26:00 -04:00
John Sully
e8270a2f0b Convert variables accessed outside lock to atomics
Former-commit-id: b0796ff5fd7e069a2fadbfd968f7bbb2020edd2d
2020-04-15 22:25:17 -04:00
John Sully
c64f9d5d30 ASAN races in leak checker
Former-commit-id: 9dfa074cd6d5ed9a87036e582861dfc386b56d5e
2020-04-15 22:24:12 -04:00
John Sully
4fba2ce074 Fix TSAN race
Former-commit-id: f00d28fdabe858bd621a1bd98e40493aca5aba1e
2020-04-15 16:34:38 -04:00
John Sully
2da48575e4 Fix incorrect cluster slot tracking (regression from merge)
Former-commit-id: 4705f29e2f62d90c374e072319c8cd486d32f807
2020-04-15 16:34:07 -04:00
antirez
9674ad9579 Don't allow empty spaces in ACL usernames.
Fixes issue #6418.
2020-04-15 18:40:11 +02:00
antirez
577b4b6908 Don't allow empty spaces in ACL key patterns.
Fixes issue #6418.
2020-04-15 18:40:11 +02:00
antirez
97e58ee026 Use the special static refcount for stack objects. 2020-04-15 16:03:16 +02:00
antirez
3b373fbb0b Speedup: unblock clients on keys in O(1).
See #7071.
2020-04-15 16:03:16 +02:00
liumiuyong
ec68525829 FIX: truncate max/min longitude,latitude related geo_point (ex: {180, 85.05112878} ) 2020-04-15 16:03:16 +02:00
antirez
ec24d65c06 RDB: refactor some RDB loading code into dbAddRDBLoad(). 2020-04-15 16:03:16 +02:00
Guy Benoish
157906ca8d Typo in getTimeoutFromObjectOrReply's error reply 2020-04-15 16:03:16 +02:00
antirez
a889c94447 incrRefCount(): abort on statically allocated object. 2020-04-15 16:03:16 +02:00
antirez
d1a7b69981 Fix HELLO reply in Sentinel mode, see #6160. 2020-04-15 16:03:16 +02:00
antirez
d16b8275ff More powerful DEBUG RELOAD.
Related to #3243.
2020-04-15 16:03:16 +02:00
hwware
868ad19b96 fix spelling in acl.c 2020-04-15 16:03:16 +02:00
antirez
33725240c0 RDB: clarify a condition in rdbLoadRio(). 2020-04-15 16:03:16 +02:00
antirez
37a54d6e96 Fix zsetAdd() top comment spelling. 2020-04-15 16:03:16 +02:00
antirez
533fd1fe7b RDB: load files faster avoiding useless free+realloc.
Reloading of the RDB generated by

    DEBUG POPULATE 5000000
    SAVE

is now 25% faster.

This commit also prepares the ability to have more flexibility when
loading stuff from the RDB, since we no longer use dbAdd() but can
control exactly how things are added in the database.
2020-04-15 16:03:16 +02:00
hayleeliu
ebc872725f fix spelling mistake in bitops.c 2020-04-15 16:03:16 +02:00