7175 Commits

Author SHA1 Message Date
antirez
15e36d8674 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
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
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
7cedce1171 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
antirez
febfd6a304 ACL: deny commands execution of disabled users. 2020-04-22 17:14:15 +02:00
Valentino Geron
3df7a7dcae XREADGROUP with NOACK should propagate only one XGROUP SETID command 2020-04-22 17:03:51 +03:00
antirez
e4434f93d5 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2020-04-22 11:51:05 +02:00
antirez
62a3ec8848 Tracking: signal key as modified when evicting. 2020-04-22 10:49:17 +02:00
Theo Buehler
9bb3429f1a 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-22 10:05:47 +02:00
antirez
941eb7c73e Tracking: NOLOOP further implementation and fixes. 2020-04-21 17:29:18 +02:00
yanhui13
9029a7ffe9 optimize the output of cluster slots 2020-04-21 16:55:05 +08:00
antirez
d3d5108c7d Tracking: NOLOOP internals implementation. 2020-04-21 10:51:46 +02:00
Dave-in-lafayette
986c517239 fix for crash during panic before all threads are up
If there's a panic before all threads have been started (say, if file descriptor 0 is closed at exec), the panic response will crash here again.
2020-04-20 16:38:06 -07:00
Dave-in-lafayette
fc6e48cdf6 fix for unintended crash during panic response
If redis crashes early, before lua is set up (like, if File Descriptor 0 is closed before exec), it will crash again trying to print memory statistics.
2020-04-20 16:34:36 -07:00
Salvatore Sanfilippo
e2dc559d3f Merge pull request #7118 from yossigo/fix/openssl-build-issue
TLS: Fix build on older verisons of OpenSSL.
2020-04-20 14:53:33 +02:00
Yossi Gottlieb
803b0d35e8 TLS: Fix build on older verisons of OpenSSL. 2020-04-20 13:34:37 +03:00
antirez
7580f61302 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-20 12:18:37 +02:00
Salvatore Sanfilippo
6330194952 Merge pull request #7089 from bytedance/set-thread-name
Threaded IO: set thread name for redis-server
2020-04-20 11:54:25 +02:00
antirez
59d1f57172 Sentinel: small refactoring of sentinelCollectTerminatedScripts().
Related to #7113.
2020-04-20 11:52:34 +02:00
Salvatore Sanfilippo
a69c1ac706 Merge pull request #7113 from OMG-By/unstable
fix(sentinel): sentinel.running_scripts not reset
2020-04-20 11:51:51 +02:00
zhenwei pi
302db38055 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-18 11:17:21 +08:00
omg-by
189ff29490 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-18 00:49:16 +08:00
antirez
901e70ca72 Fix XCLAIM propagation in AOF/replicas for blocking XREADGROUP.
See issue #7105.
2020-04-17 12:38:15 +02:00
antirez
7d289b1771 Update SDS to latest version. 2020-04-16 16:08:37 +02:00
antirez
f475453b11 RESP3: fix HELLO map len in Sentinel mode.
See #6160.
2020-04-16 11:21:52 +02:00
hwware
b353245450 Fix not used marco in cluster.c 2020-04-15 22:00:36 -04:00
antirez
5e496abef0 Don't allow empty spaces in ACL usernames.
Fixes issue #6418.
2020-04-15 16:40:25 +02:00
antirez
64aac09fc8 Don't allow empty spaces in ACL key patterns.
Fixes issue #6418.
2020-04-15 16:12:07 +02:00
antirez
340ee24704 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2020-04-15 16:01:56 +02:00
antirez
7547288a93 Fix HELLO reply in Sentinel mode, see #6160. 2020-04-15 15:59:52 +02:00
Salvatore Sanfilippo
f8aff04d0a Merge pull request #7078 from karelrooted/fix/geo-hash-edge-case
FIX truncate max/min longitude,latitude related geo_point
2020-04-15 10:23:23 +02:00
ShooterIT
5675053269 Implements sendfile for redis. 2020-04-14 23:56:34 +08:00
Salvatore Sanfilippo
e0ffd17591 Merge pull request #7085 from guybe7/timeout_err_typo
Typo in getTimeoutFromObjectOrReply's error reply
2020-04-14 11:40:51 +02:00
antirez
af61c07d74 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2020-04-14 11:23:57 +02:00
antirez
48bf742428 Fix zsetAdd() top comment spelling. 2020-04-14 11:23:44 +02:00
Salvatore Sanfilippo
b2964ad18d Merge pull request #7095 from hwware/typofixacl
fix spelling in acl.c
2020-04-14 11:15:26 +02:00
antirez
8f2760da7b Merge branch 'unstable' of github.com:/antirez/redis into unstable 2020-04-14 10:52:45 +02:00
antirez
bce3d16a33 Fix function names in zslDeleteNode() top comment. 2020-04-14 10:52:40 +02:00
hwware
3a31999ecc fix spelling in acl.c 2020-04-14 00:16:29 -04:00
Itamar Haber
658f6ea302 Prevents default save configuration being reset...
...when using any command line argument
2020-04-13 17:28:11 +03:00
Guy Benoish
517acf75cf Typo in getTimeoutFromObjectOrReply's error reply 2020-04-11 15:05:01 +03:00
Salvatore Sanfilippo
c62528f9e2 Merge pull request #7074 from hayleeliu/unstable
fix spelling mistake in bitops.c
2020-04-10 10:15:25 +02:00
antirez
c4dd2bd0cd RESP3: change streams items from maps to arrays.
Streams items are similar to dictionaries, however they preserve both
the order, and allow for duplicated field names. So a map is not a
semantically sounding way to deal with this.

https://twitter.com/antirez/status/1248261087553880069
2020-04-10 10:12:26 +02:00
antirez
2b2d36a2b8 Merge branch 'faster-rdb-loading' into unstable 2020-04-09 19:15:13 +02:00
antirez
ce7bfb275d Use the special static refcount for stack objects. 2020-04-09 16:25:30 +02:00
antirez
9d24b6f810 RDB: refactor some RDB loading code into dbAddRDBLoad(). 2020-04-09 16:21:48 +02:00
antirez
df90feb894 incrRefCount(): abort on statically allocated object. 2020-04-09 16:20:41 +02:00
antirez
b10fb451ce More powerful DEBUG RELOAD.
Related to #3243.
2020-04-09 12:10:10 +02:00