10327 Commits

Author SHA1 Message Date
John Sully
35ad3b53fc Reduce test load for more reliability
Former-commit-id: 3f8f9743c1f6d75647cfbdbc1544a8c8a5142df3
2020-05-11 22:04:52 -04:00
John Sully
464326eb07 limit clients to make tests more reliable
Former-commit-id: 2c130a816647bacaba5d99d76c19e09b9c9875da
2020-05-11 21:56:17 -04:00
John Sully
84ce8b3ca8 Update cached time only in main cron
Former-commit-id: 5396dd9587599d6672e8d80967aa1fd8ba16e7ec
2020-05-11 20:31:47 -04:00
John
063672dbdb more reliability fixes for multimaster
Former-commit-id: 3543a3c763de91a4d76bca89659fec9bf6b7a1c8
2020-05-11 05:38:21 -04:00
John
b03c4ccc50 more reliability fixes for multimaster
Former-commit-id: fd5b541260908423c35227ff9e42a83f96ace6c0
2020-05-11 09:37:42 +00:00
John
0e6add2e84 Make multimaster tests more reliable
Former-commit-id: 3122912920973cb433d625a09b183c3f538e2523
2020-05-11 05:23:47 -04:00
John
680a6ac90f Make multimaster tests more reliable
Former-commit-id: 4fe59ba11b720864ea0124885b358cb72127cc2d
2020-05-11 09:22:27 +00:00
John Sully
c48c9a57a9 too many clients makes tests unreliable
Former-commit-id: 89b39629980ab3e2930663c2922141e18e2fc38c
2020-05-11 04:54:17 -04:00
John
519db6a56d Run tests with more clients if possible
Former-commit-id: 3c73eb41bd904953c1e0e2d655d42599f3e9d2a2
2020-05-11 08:25:13 +00:00
John
39a7f92a97 link dependent libs
Former-commit-id: 165eb203f2a64f588b42b765afaafc370c547a25
2020-05-11 08:19:08 +00:00
John Sully
96744f633d run on self hosted
Former-commit-id: 51dba847764abc0014ef3be17a03afebd038854d
2020-05-11 03:10:27 -04:00
John Sully
42297389eb update ci.yml
Former-commit-id: 92a31cfd4d5bcf913f55c0f127b28738056f2a0a
2020-05-11 01:08:46 -04:00
John Sully
0ca8d8371c Fix bug merging LFU fix
Former-commit-id: 319099e1cb337d13444c16df1b5e1c300e6f2d15
2020-05-11 01:05:57 -04:00
John Sully
268f2efb48 Fix crash during RDB save with module events
Former-commit-id: 0f7eac411eccb853d7e50152e2bbd1ee28e6ee53
2020-05-11 01:02:58 -04:00
John Sully
5ea1948d68 Merge branch 'unstable' into keydbpro
Former-commit-id: d89c15518f984c1d4d4e7638a4e8ac5aa499632a
2020-05-11 00:53:38 -04:00
John Sully
87a9f79e20 Update access LFU/LRU access times when overwriting key
Former-commit-id: f11fdf671700fd5445599c473d69e015eb6618e8
2020-05-11 00:42:46 -04:00
John Sully
4477a8b145 We should still send replies even if an async close is pending
Former-commit-id: 572bcca9c2e7985782909cca22ef9e381bea55b4
2020-05-10 23:56:29 -04:00
John Sully
344699b2ce Fix race on clients_to_close
Former-commit-id: 10fa06410941121c4c9fc3cc9c553a7afe347147
2020-05-10 23:14:15 -04:00
John Sully
73c436dba2 Fix crash in client unblock command
Former-commit-id: 7cd779d304d75833ca891b4fe3b7e1cfdabf6fa8
2020-05-10 22:08:50 -04:00
John Sully
03b811b13c Fix crash during hook module test
Former-commit-id: 628d168049d00526169d13e31f540820aed1437c
2020-05-10 21:57:16 -04:00
John Sully
f76a52b957 Fix crash in module tests
Former-commit-id: 37423757b54b2052512dcfeaba72ccbd360d3c1e
2020-05-10 21:06:38 -04:00
John Sully
73f60aca33 Run sentinel and module tests under CI
Former-commit-id: 58752bb8feff60199a4351e5e659fd94ecfe3172
2020-05-10 18:05:05 -04:00
John Sully
f30fb5554f add help for hrename
Former-commit-id: 7e7f70ff3e238b0b70a40b3e0f0de4ba3c2720ea
2020-05-10 17:41:01 -04:00
John Sully
da7765a84e hrename tests
Former-commit-id: f77c227b2d34b7ec74c1fc993e03f063dcbfa090
2020-05-10 17:14:44 -04:00
John Sully
02311d5c85 Implement keydb.hrename command
Former-commit-id: 21d842b0b0d9a0da44e4618a2c1d4ac26553f17b
2020-05-10 17:04:22 -04:00
ShooterIT
acda6d9f70 Redis Benchmark: Fix coredump because of double free 2020-05-09 11:14:58 +02:00
antirez
c2caa62ea3 Cluster: clarify we always resolve the sender. 2020-05-09 11:14:58 +02:00
antirez
94b9c321f8 Cluster: refactor ping/data delay handling. 2020-05-09 11:14:58 +02:00
antirez
2a5f56e67a Cluster: introduce data_received field.
We want to send pings and pongs at specific intervals, since our packets
also contain information about the configuration of the cluster and are
used for gossip. However since our cluster bus is used in a mixed way
for data (such as Pub/Sub or modules cluster messages) and metadata,
sometimes a very busy channel may delay the reception of pong packets.
So after discussing it in #7216, this commit introduces a new field that
is not exposed in the cluster, is only an internal information about
the last time we received any data from a given node: we use this field
in order to avoid detecting failures, claiming data reception of new
data from the node is a proof of liveness.
2020-05-09 11:14:58 +02:00
antirez
24075946c7 Don't propagate spurious MULTI on DEBUG LOADAOF. 2020-05-08 10:37:36 +02:00
antirez
351a891407 stringmatchlen() should not expect null terminated strings. 2020-05-08 10:37:36 +02:00
antirez
e3ea90b0d7 Dump recent backlog on master query generating errors. 2020-05-08 10:37:36 +02:00
Brad Dunbar
1fd555da79 Remove unreachable branch. 2020-05-08 10:37:36 +02:00
Titouan Christophe
1e3555e85c make struct user anonymous (only typedefed)
This works because this struct is never referenced by its name,
but always by its type.

This prevents a conflict with struct user from <sys/user.h>
when compiling against uclibc.

Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
2020-05-08 10:37:36 +02:00
hwware
dbc58bcf6f add jemalloc-bg-thread config in redis conf 2020-05-08 10:37:36 +02:00
antirez
8134e0b3f1 Test: --dont-clean should do first cleanup. 2020-05-08 10:37:36 +02:00
hwware
2e96a8263f add include guard for lolwut.h 2020-05-08 10:37:36 +02:00
Benjamin Sergeant
f357735e8b Add --user argument to redis-benchmark.c (ACL) 2020-05-08 10:37:36 +02:00
antirez
96a8cdf767 Drop not needed part from #7194. 2020-05-08 10:37:36 +02:00
Muhammad Zahalqa
6bbfb97a89 Fix compiler warnings on function rev(unsigned long) 2020-05-08 10:37:36 +02:00
Guy Benoish
3843eb300d XPENDING should not update consumer's seen-time
Same goes for XGROUP DELCONSUMER (But in this case, it doesn't
have any visible effect)
2020-05-08 10:37:35 +02:00
Deliang Yang
5133e970cc reformat code 2020-05-08 10:37:35 +02:00
antirez
6b8fdaa8d6 Move CRC64 initialization in main(). 2020-05-08 10:37:35 +02:00
Oran Agra
8b40f686fb optimize memory usage of deferred replies - fixed
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

cherry picked from commit 4ed5b7cb74caf5bef6606909603e371af0da4f9b
with fix to handle a crash with LIBC allocator, which apparently can
return the same pointer despite changing it's size.
i.e. shrinking an allocation of 16k into 56 bytes without changing the
pointer.
2020-05-08 10:37:35 +02:00
Oran Agra
eb9d28903d add daily github actions with libc malloc and valgrind
* fix memlry leaks with diskless replica short read.
* fix a few timing issues with valgrind runs
* fix issue with valgrind and watchdog schedule signal

about the valgrind WD issue:
the stack trace test in logging.tcl, has issues with valgrind:
==28808== Can't extend stack to 0x1ffeffdb38 during signal delivery for thread 1:
==28808==   too small or bad protection modes

it seems to be some valgrind bug with SA_ONSTACK.
SA_ONSTACK seems unneeded since WD is not recursive (SA_NODEFER was removed),
also, not sure if it's even valid without a call to sigaltstack()
2020-05-08 10:37:35 +02:00
antirez
b7ec0cb259 Fix CRC64 initialization outside the Redis server itself. 2020-05-08 10:37:35 +02:00
hwware
d45fd94b8a Client Side Caching: Add Tracking Prefix Number Stats in Server Info 2020-05-08 10:37:35 +02:00
antirez
07dab1935e Fix NetBSD build by fixing redis_set_thread_title() support.
See #7188.
2020-05-08 10:37:35 +02:00
antirez
3ed2e23fcb Rework a bit the documentation for CPU pinning. 2020-05-08 10:37:35 +02:00
zhenwei pi
1a632b6964 Support setcpuaffinity on linux/bsd
Currently, there are several types of threads/child processes of a
redis server. Sometimes we need deeply optimise the performance of
redis, so we would like to isolate threads/processes.

There were some discussion about cpu affinity cases in the issue:
https://github.com/antirez/redis/issues/2863

So implement cpu affinity setting by redis.conf in this patch, then
we can config server_cpulist/bio_cpulist/aof_rewrite_cpulist/
bgsave_cpulist by cpu list.

Examples of cpulist in redis.conf:
server_cpulist 0-7:2      means cpu affinity 0,2,4,6
bio_cpulist 1,3           means cpu affinity 1,3
aof_rewrite_cpulist 8-11  means cpu affinity 8,9,10,11
bgsave_cpulist 1,10-11    means cpu affinity 1,10,11

Test on linux/freebsd, both work fine.

Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
2020-05-08 10:37:35 +02:00