9193 Commits

Author SHA1 Message Date
Madelyn Olson
0978a60b3b Implemented CRC64 based on slice by 4 2020-04-24 17:00:03 -07:00
antirez
75cf725568 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2020-04-24 16:59:56 +02:00
antirez
ae3cf7911a LCS -> STRALGO LCS.
STRALGO should be a container for mostly read-only string
algorithms in Redis. The algorithms should have two main
characteristics:

1. They should be non trivial to compute, and often not part of
programming language standard libraries.
2. They should be fast enough that it is a good idea to have optimized C
implementations.

Next thing I would love to see? A small strings compression algorithm.
2020-04-24 16:54:32 +02:00
antirez
e8852b5cc5 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
8887bd306c Merge pull request #7114 from guybe7/stream_tag_xsetid
Add the stream tag to XSETID tests
2020-04-23 16:29:46 +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
0dd08d746e 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
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
4222dfae6e Tracking: test expired keys notifications. 2020-04-22 11:45:34 +02:00
antirez
3b98f3f2ce Tracking: NOLOOP tests. 2020-04-22 11:24:19 +02:00
Salvatore Sanfilippo
ec2c103701 Merge pull request #7131 from botovq/tls_no_renegotiation
TLS: Fix build with SSL_OP_NO_CLIENT_RENEGOTIATION
2020-04-22 11:10:48 +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
fc3d393607 add tcl test for cluster slots 2020-04-21 16:56:10 +08: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
Guy Benoish
b43d2fa48b Add the stream tag to XSETID tests 2020-04-19 15:59:58 +03: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
c97372af78 A few comments and name changes for #7103. 2020-04-17 10:51:12 +02:00
antirez
99ed64ce20 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2020-04-17 10:43:50 +02:00
Salvatore Sanfilippo
ac2cd53286 Merge pull request #7103 from oranagra/run_solo_test
testsuite run the defrag latency test solo
2020-04-17 10:43:21 +02:00
Salvatore Sanfilippo
668fb44e5e Merge pull request #7087 from IAmATeaPot418/patch-6
Adding acllog-max-len to Redis.conf
2020-04-16 17:37:44 +02:00
Oran Agra
4ccb0cee4b testsuite run the defrag latency test solo
this test is time sensitive and it sometimes fail to pass below the
latency threshold, even on strong machines.

this test was the reson we're running just 2 parallel tests in the
github actions CI, revering this.
2020-04-16 18:09:22 +03: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
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