antirez
4db38d2efd
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
Valentino Geron
f0a261448c
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
fbdef6a9bd
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
05a41da75b
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
345c3768de
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
639c8a1d91
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
antirez
321acea038
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
Theo Buehler
b0920e6e86
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
Yossi Gottlieb
149b658b56
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
f3a1728873
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
e63bb7ec8c
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
6791ff0525
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
antirez
725b8cc680
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
zhenwei pi
3575b8706d
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
antirez
a76c67578c
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
omg-by
3a27064c41
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
antirez
e8852b5cc5
Also use propagate() in streamPropagateGroupID().
2020-04-24 10:13:20 +02:00
antirez
57a0c9c98d
Also use propagate() in streamPropagateGroupID().
2020-04-24 10:13:20 +02:00
Salvatore Sanfilippo
020a269592
Merge pull request #7120 from Dave-in-lafayette/patch-1
...
fix for unintended crash during panic response
2020-04-23 16:30:28 +02:00
Salvatore Sanfilippo
e83d5b64dc
Merge pull request #7120 from Dave-in-lafayette/patch-1
...
fix for unintended crash during panic response
2020-04-23 16:30:28 +02:00
Salvatore Sanfilippo
4a170b3e71
Merge pull request #7121 from Dave-in-lafayette/patch-2
...
fix for crash during panic before all threads are up
2020-04-23 16:29:00 +02:00
Salvatore Sanfilippo
25725957e9
Merge pull request #7121 from Dave-in-lafayette/patch-2
...
fix for crash during panic before all threads are up
2020-04-23 16:29:00 +02:00
Salvatore Sanfilippo
0dd08d746e
Merge pull request #7123 from fayadexinqing/optimizeClusterSlots
...
Optimize the command of cluster slots
2020-04-23 16:18:22 +02:00
Salvatore Sanfilippo
72f0751905
Merge pull request #7123 from fayadexinqing/optimizeClusterSlots
...
Optimize the command of cluster slots
2020-04-23 16:18:22 +02:00
antirez
15e36d8674
Minor aesthetic changes to #7135 .
2020-04-23 16:13:45 +02:00
antirez
12cd67b7ca
Minor aesthetic changes to #7135 .
2020-04-23 16:13:45 +02:00
Salvatore Sanfilippo
3099d3c6cf
Merge pull request #7135 from valentinogeron/optimize-xreadgroup-noack
...
XREADGROUP with NOACK should propagate only one XGROUP SETID command
2020-04-23 16:12:08 +02:00
Salvatore Sanfilippo
2a3d933cc6
Merge pull request #7135 from valentinogeron/optimize-xreadgroup-noack
...
XREADGROUP with NOACK should propagate only one XGROUP SETID command
2020-04-23 16:12:08 +02:00
antirez
8f0c7139b8
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-23 11:56:39 +02:00
antirez
96ebfc3b36
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-23 11:56:39 +02:00
antirez
aede1b04c9
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-23 11:23:50 +02:00
antirez
9ae8254e20
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-23 11:23:50 +02:00
antirez
7cedce1171
ACL GENPASS: take number of bits as argument.
2020-04-23 10:53:21 +02:00
antirez
a95a086be7
ACL GENPASS: take number of bits as argument.
2020-04-23 10:53:21 +02:00
antirez
530a73e8cc
ACL GENPASS: emit 256 bits instead of 128.
2020-04-23 10:39:53 +02:00