Oran Agra
fb732f7a94
optimize memory usage of deferred replies
...
When deffered reply is added the previous reply node cannot be used so
all the extra space we allocated in it is wasted. in case someone uses
deffered replies in a loop, each time adding a small reply, each of
these reply nodes (the small string reply) would have consumed a 16k
block.
now when we add anther diferred reply node, we trim the unused portion
of the previous reply block.
see #7123
2020-04-24 17:20:28 +03:00
antirez
373ae6061a
Also use propagate() in streamPropagateGroupID().
2020-04-24 10:15:04 +02:00
yanhui13
f03f1fad67
add tcl test for cluster slots
2020-04-24 10:15:04 +02:00
yanhui13
374ffdf1c1
optimize the output of cluster slots
2020-04-24 10:15:04 +02:00
antirez
4db38d2efd
Minor aesthetic changes to #7135 .
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
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
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
345c3768de
ACL GENPASS: take number of bits as argument.
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
321acea038
ACL: deny commands execution of disabled users.
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
149b658b56
TLS: Fix build on older verisons of OpenSSL.
2020-04-24 10:14:48 +02:00
antirez
06917e581c
Tracking: test expired keys notifications.
2020-04-24 10:14:48 +02:00
antirez
e434b2ce4f
Tracking: NOLOOP tests.
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
e63bb7ec8c
Tracking: NOLOOP further implementation and fixes.
2020-04-24 10:14:48 +02:00
antirez
6791ff0525
Tracking: NOLOOP internals implementation.
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
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
a76c67578c
Sentinel: small refactoring of sentinelCollectTerminatedScripts().
...
Related to #7113 .
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
57a0c9c98d
Also use propagate() in streamPropagateGroupID().
2020-04-24 10:13:20 +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
42d309fffc
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
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
72f0751905
Merge pull request #7123 from fayadexinqing/optimizeClusterSlots
...
Optimize the command of cluster slots
2020-04-23 16:18:22 +02:00
antirez
12cd67b7ca
Minor aesthetic changes to #7135 .
2020-04-23 16:13:45 +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
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
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
a95a086be7
ACL GENPASS: take number of bits as argument.
2020-04-23 10:53:21 +02:00
antirez
dc1bc0f423
ACL GENPASS: emit 256 bits instead of 128.
2020-04-23 10:39:53 +02:00
antirez
889eaba2b7
ACL: deny commands execution of disabled users.
2020-04-22 17:14:15 +02:00
Valentino Geron
6fd2d7cfee
XREADGROUP with NOACK should propagate only one XGROUP SETID command
2020-04-22 17:03:51 +03:00
antirez
c2db3de498
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2020-04-22 11:51:05 +02:00
antirez
8d67211450
Tracking: test expired keys notifications.
2020-04-22 11:45:34 +02:00
antirez
58d61dd639
Tracking: NOLOOP tests.
2020-04-22 11:24:19 +02:00
Salvatore Sanfilippo
3e738c8a6c
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
2d1968f841
Tracking: signal key as modified when evicting.
2020-04-22 10:49:17 +02:00
Theo Buehler
04f1a280e0
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
John Sully
3395d984eb
Default yes in apt install
...
Former-commit-id: e0a8709c09796b4e9a32166205ebdd487b52290a
2020-04-22 02:17:28 -04:00
John Sully
2909b19cdb
Run arm CI builds
...
Former-commit-id: 17795fd5ce5fed0706769b37b3d11104b575fc37
2020-04-22 02:13:02 -04:00
John Sully
f34e25393e
MacOS Build Break Fix
...
Former-commit-id: d6738ffa5df6dd4d6cdf9f717d30f163d3dc0129
2020-04-22 01:21:35 -04:00
John Sully
5bf79833c5
Add deps to CI yml
...
Former-commit-id: 29d9fba802a24ba3e29bf5a66ab684c7d9d0959a
2020-04-22 01:11:06 -04:00
John Sully
f762cb4de0
Bump version
...
Former-commit-id: f527649f156147f29efb81a7a20057909fe43748
2020-04-22 01:07:14 -04:00
John Sully
c92fac42a9
Merge branch 'PRO_RELEASE_6' of https://github.com/JohnSully/KeyDB-Pro into PRO_RELEASE_6
...
Former-commit-id: 859540b68c54f86f97c33c87802d8c3e74437325
2020-04-22 01:06:43 -04:00
John Sully
a9b56bfb2f
Merge branch 'keydbpro' into PRO_RELEASE_6
...
Former-commit-id: 6b6a1c711dbb7786e30be29e2d1930582037f7f9
2020-04-22 01:06:24 -04:00
John Sully
509712d29c
Merge branch 'keydbpro' of https://github.com/JohnSully/KeyDB-Pro into keydbpro
...
Former-commit-id: 9004ecf11e31be1b0d43a0d8c6e8263636b3bac4
2020-04-22 01:06:06 -04:00
John Sully
5980d7bd64
Don't CI build Pro on MacOS
...
Former-commit-id: aaed87516ea9f428ebea286dd936dd219691b4f6
2020-04-22 01:05:24 -04:00