ok: SINTER against non-set should throw error ok: SUNION against non-set should throw error ok: SINTER should handle non existing key as empty ok: SINTER with same integer elements but different encoding ok: SINTERSTORE against non existing keys should delete dstkey ok: SUNIONSTORE against non existing keys should delete dstkey ok: SPOP basics - hashtable ok: SPOP with =1 - hashtable ok: SRANDMEMBER - hashtable ok: SPOP basics - intset ok: SPOP with =1 - intset ok: BZPOPMIN with zero timeout should block indefinitely ok: SRANDMEMBER - intset ok: SPOP with ok: SPOP with ok: SPOP using integers, testing Knuth's and Floyd's algorithm ok: SPOP using integers with Knuth's algorithm ok: SPOP new implementation: code path #1 ok: ZSCORE - skiplist ok: SPOP new implementation: code path #2 ok: SPOP new implementation: code path #3 ok: SRANDMEMBER with against non existing key ok: SRANDMEMBER with - hashtable ok: SRANDMEMBER with - intset ok: SMOVE basics - from regular set to intset ok: SMOVE basics - from intset to regular set ok: SMOVE non existing key ok: SMOVE non existing src set ok: SMOVE from regular set to non existing destination set ok: SMOVE from intset to non existing destination set ok: SMOVE wrong src key type ok: SMOVE wrong dst key type ok: SMOVE with identical source and destination ok: LTRIM stress testing - linkedlist ok: MULTI and script timeout ok: SCAN regression test for issue #4906 ok: SET 10000 numeric keys and access all them in reverse order ok: DBSIZE should be 10000 now ok: SETNX target key missing ok: SETNX target key exists ok: SETNX against not-expired volatile key ok: BRPOPLPUSH timeout ok: BLPOP when new key is moved into place ok: BLPOP when result key is created by SORT..STORE ok: BLPOP: with single empty list argument ok: BLPOP: with negative timeout ok: BLPOP: with non-integer timeout ok: EXEC and script timeout

ok: SELECT an out of range DB ok: ZSCORE after a DEBUG RELOAD - skiplist

Testing integration/block-repl ok: ZSET sorting stresser - skiplist ok: Big Hash table: SORT BY key ok: Big Hash table: SORT BY key with limit ok: MULTI-EXEC body and script timeout ok: Big Hash table: SORT BY hash field ok: SORT GET # ok: SORT GET ok: SORT GET (key and hash) with sanity check ok: SORT BY key STORE ok: SORT BY hash field STORE ok: SORT extracts STORE correctly ok: SORT extracts multiple STORE correctly ok: SORT DESC ok: SORT ALPHA against integer encoded strings ok: SORT sorted set ok: SORT sorted set BY nosort should retain ordering ok: SORT sorted set BY nosort + LIMIT ok: SORT sorted set BY nosort works as expected from scripts ok: SORT sorted set: +inf and -inf handling ok: SORT regression for issue #19, sorting floats ok: SORT with STORE returns zero if result is empty (github issue 224) ok: SORT with STORE does not create empty lists (github issue 224) ok: SORT with STORE removes key if result is empty (github issue 227) ok: SORT with BY and STORE should still order output ok: SORT will complain with numerical sorting and bad doubles (1) ok: SORT will complain with numerical sorting and bad doubles (2) ok: SORT BY sub-sorts lexicographically if score is the same ok: SORT GET with pattern ending with just -> does not get hash field ok: SORT by nosort retains native order for lists ok: SORT by nosort plus store retains native order for lists ok: SORT by nosort with limit returns based on original list order ok: intsets implementation stress testing ok: SORT speed, 100 element list BY key, 100 times ok: SORT speed, 100 element list BY hash field, 100 times ok: SORT speed, 100 element list directly, 100 times ok: SORT speed, 100 element list BY , 100 times

Testing integration/replication

Testing integration/replication-2 ok: EXPIRE precision is now the millisecond ok: BLPOP: with zero timeout should block indefinitely ok: BLPOP: second argument is not a list ok: just EXEC and script timeout ok: exec with write commands and state change ok: exec with read commands and stale replica state change ok: EXEC with only read commands should not be rejected when OOM ok: EXEC with at least one use-memory command should fail ok: Empty stream with no lastid can be rewrite into AOF correctly ok: EXPIRES after a reload (snapshot + append only file rewrite) ok: First server should have role slave after SLAVEOF ok: ZRANGEBYSCORE fuzzy test, 100 ranges in 100 element sorted set - skiplist ok: PEXPIRE/PSETEX/PEXPIREAT can set sub-second expires ok: TTL returns time to live in seconds ok: PTTL returns time to live in milliseconds ok: TTL / PTTL return -1 if key has no expire ok: TTL / PTTL return -2 if key does not exit

Testing integration/replication-3 ok: ZRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist ok: ZREMRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist ok: ZSETs skiplist implementation backlink consistency test - skiplist ok: BLPOP: timeout ok: BLPOP: arguments are empty ok: BRPOP: with single empty list argument ok: BRPOP: with negative timeout ok: BRPOP: with non-integer timeout ok: Slave enters handshake

Testing integration/replication-4 ok: ZSETs ZRANK augmented skip list stress testing - skiplist ok: BZPOPMIN, ZADD + DEL should not awake blocked client ok: BZPOPMIN, ZADD + DEL + SET should not awake blocked client ok: BZPOPMIN with same key multiple times should work ok: MULTI/EXEC is isolated from the point of view of BZPOPMIN ok: BZPOPMIN with variadic ZADD ok: First server should have role slave after SLAVEOF ok: If min-slaves-to-write is honored, write is accepted ok: No write if min-slaves-to-write is < attached slaves ok: If min-slaves-to-write is honored, write is accepted (again) ok: Test latency events logging ok: LATENCY HISTORY output is ok ok: LATENCY LATEST output is ok ok: LATENCY HISTORY / RESET with wrong event name is fine ok: LATENCY DOCTOR produces some output ok: LATENCY RESET is able to reset events ok: SETNX against expired volatile key

ok: MGET against non existing key ok: MGET against non-string key

ok: MSET base case ok: MSET wrong number of args ok: MSETNX with already existent key ok: MSETNX with not existing keys ok: STRLEN against non-existing key ok: STRLEN against integer-encoded value ok: STRLEN against plain string ok: SETBIT against non-existing key ok: SETBIT against string-encoded key ok: SETBIT against integer-encoded key ok: SETBIT against key with wrong type ok: SETBIT with out of range bit offset ok: SETBIT with non-bit argument ok: Redis should actively expire keys incrementally ok: SETBIT fuzzing ok: GETBIT against non-existing key ok: GETBIT against string-encoded key ok: GETBIT against integer-encoded key ok: SETRANGE against non-existing key ok: SETRANGE against string-encoded key ok: SETRANGE against integer-encoded key ok: SETRANGE against key with wrong type ok: SETRANGE with out of range offset ok: GETRANGE against non-existing key ok: GETRANGE against string value ok: GETRANGE against integer-encoded value ok: First server should have role slave after SLAVEOF ok: BRPOP: with zero timeout should block indefinitely ok: BRPOP: second argument is not a list ok: BZPOPMIN with zero timeout should block indefinitely ok: First server should have role slave after SLAVEOF ok: Redis should lazy expire keys ok: GETRANGE fuzzing ok: Extended SET can detect syntax errors ok: Extended SET NX option ok: Extended SET XX option ok: Extended SET EX option ok: Extended SET PX option ok: Extended SET using multiple options at once ok: GETRANGE with huge ranges, Github issue #1844 ok: STRALGO LCS string output with STRINGS option ok: STRALGO LCS len ok: LCS with KEYS option ok: LCS indexes ok: LCS indexes with match len ok: LCS indexes with match len and minimum match len ok: BRPOP: timeout ok: BRPOP: arguments are empty ok: BLPOP inside a transaction ok: LPUSHX, RPUSHX - generic ok: LPUSHX, RPUSHX - linkedlist ok: LINSERT - linkedlist ok: LPUSHX, RPUSHX - ziplist ok: LINSERT - ziplist ok: LINSERT raise error on bad syntax ok: LINDEX consistency test - quicklist ok: ZSET skiplist order consistency when elements are moved ok: LINDEX random access - quicklist ok: EXPIRE should not resurrect keys (issue #1026) ok: 5 keys in, 5 keys out ok: EXPIRE with empty string as TTL should report an error ok: EXPIRES after AOF reload (without rewrite)

Testing integration/replication-psync

Testing integration/aof ok: Unfinished MULTI: Server should start if load-truncated is yes ok: Check if list is still ok after a DEBUG RELOAD - quicklist ok: LINDEX consistency test - quicklist ok: LTRIM stress testing - ziplist ok: LINDEX random access - quicklist ok: PIPELINING stresser (also a regression for the old epoll bug) ok: APPEND basics ok: APPEND basics, integer encoded values

Testing integration/rdb ok: APPEND fuzzing

ok: Perform a final SAVE to leave a clean DB on disk ok: RDB encoding loading test ok: Short read: Server should start if load-truncated is yes ok: Truncated AOF loaded: we expect foo to be equal to 5 ok: Append a new command after loading an incomplete AOF ok: Check if list is still ok after a DEBUG RELOAD - quicklist ok: LLEN against non-list value error ok: LLEN against non existing key ok: LINDEX against non-list value error ok: LINDEX against non existing key ok: LPUSH against non-list value error ok: RPUSH against non-list value error ok: RPOPLPUSH base case - linkedlist ok: RPOPLPUSH with the same list as src and dst - linkedlist ok: RPOPLPUSH with linkedlist source and existing target linkedlist ok: RPOPLPUSH with linkedlist source and existing target ziplist ok: RPOPLPUSH base case - ziplist ok: RPOPLPUSH with the same list as src and dst - ziplist ok: RPOPLPUSH with ziplist source and existing target linkedlist ok: RPOPLPUSH with ziplist source and existing target ziplist ok: RPOPLPUSH against non existing key ok: RPOPLPUSH against non list src key ok: RPOPLPUSH against non list dst key ok: RPOPLPUSH against non existing src key ok: Basic LPOP/RPOP - linkedlist ok: Basic LPOP/RPOP - ziplist ok: LPOP/RPOP against non list value ok: Mass RPOP/LPOP - quicklist ok: Mass RPOP/LPOP - quicklist ok: LRANGE basics - linkedlist ok: LRANGE inverted indexes - linkedlist ok: LRANGE out of range indexes including the full list - linkedlist ok: LRANGE out of range negative end index - linkedlist ok: LRANGE basics - ziplist ok: LRANGE inverted indexes - ziplist ok: LRANGE out of range indexes including the full list - ziplist ok: LRANGE out of range negative end index - ziplist ok: LRANGE against non existing key ok: LTRIM basics - linkedlist ok: LTRIM out of range negative end index - linkedlist ok: LTRIM basics - ziplist ok: LTRIM out of range negative end index - ziplist ok: LSET - linkedlist ok: LSET out of range index - linkedlist ok: LSET - ziplist ok: LSET out of range index - ziplist ok: LSET against non existing key ok: LSET against non list value ok: LREM remove all the occurrences - linkedlist ok: LREM remove the first occurrence - linkedlist ok: LREM remove non existing element - linkedlist ok: LREM starting from tail with negative count - linkedlist ok: LREM starting from tail with negative count (2) - linkedlist ok: LREM deleting objects that may be int encoded - linkedlist ok: LREM remove all the occurrences - ziplist ok: LREM remove the first occurrence - ziplist ok: LREM remove non existing element - ziplist ok: LREM starting from tail with negative count - ziplist ok: LREM starting from tail with negative count (2) - ziplist ok: LREM deleting objects that may be int encoded - ziplist ok: LATENCY of expire events are correctly collected ok: LATENCY HELP should not have unexpected options ok: Server started empty with non-existing RDB file ok: Short read + command: Server should start ok: Truncated AOF loaded: we expect foo to be equal to 6 now ok: Don't rehash if redis has child proecess

Testing integration/convert-zipmap-hash-on-load ok: RDB load zipmap hash: converts to ziplist ok: Regression for bug 593 - chaining BRPOPLPUSH with other blocking cmds ok: Slave should be able to synchronize with the master ok: Detect write load to master ok: Test replication partial resync: no reconnection, just sync (diskless: no, disabled, reconnect: 0)

Testing integration/logging

Testing integration/psync2 ok: XRANGE fuzzing ok: XREVRANGE regression test for issue #5006 ok: XREAD streamID edge (no-blocking) ok: XREAD streamID edge (blocking) ok: XADD streamID edge ok: Bad format: Server should have logged an error ok: RDB load zipmap hash: converts to hash table when hash-max-ziplist-entries is exceeded ok: Unfinished MULTI: Server should have logged an error ok: Server is able to generate a stack trace on selected systems ok: Short read: Server should have logged an error ok: Short read: Utility should confirm the AOF is not valid ok: Short read: Utility should be able to fix the AOF ok: Fixed AOF: Server should have been started ok: Fixed AOF: Keyspace should contain values that were parseable ok: PSYNC2: --- CYCLE 1 --- ok: PSYNC2: [NEW LAYOUT] Set #1 as master ok: PSYNC2: Set #3 to replicate from #1 ok: PSYNC2: Set #4 to replicate from #3 ok: PSYNC2: Set #0 to replicate from #1

Testing integration/psync2-reg ok: PSYNC2: Set #2 to replicate from #1 ok: RDB load zipmap hash: converts to hash table when hash-max-ziplist-value is exceeded ok: Server started empty with empty RDB file ok: XADD with MAXLEN > xlen can propagate correctly

Testing integration/psync2-pingoff ok: No write if min-slaves-max-lag is > of the slave lag ok: min-slaves-to-write is ignored by slaves ok: AOF+SPOP: Server should have been started ok: AOF+SPOP: Set should have 1 member ok: XADD with ~ MAXLEN can propagate correctly ok: SET - use EX/PX option, TTL should not be reseted after loadaof ok: SET command will remove expire ok: SET - use KEEPTTL option, TTL should not be removed ok: Test RDB stream encoding ok: AOF+SPOP: Server should have been started ok: AOF+SPOP: Set should have 1 member ok: Test replication with parallel clients writing in different DBs ok: XTRIM with ~ MAXLEN can propagate correctly ok: PSYNC2 #3899 regression: setup ok: Server should not start if RDB is corrupted ok: AOF+EXPIRE: Server should have been started ok: AOF+EXPIRE: List should be empty ok: XADD can CREATE an empty stream ok: XSETID can set a specific ID ok: XSETID cannot SETID with smaller ID ok: XSETID cannot SETID on non-existent key ok: PSYNC2: cluster is consistent after failover ok: Slave should be able to synchronize with the master ok: Detect write load to master ok: PSYNC2 #3899 regression: kill chained replica ok: Test FLUSHALL aborts bgsave ok: Redis should not try to convert DEL into EXPIREAT for EXPIRE -1 ok: bgsave resets the change counter ok: PSYNC2 pingoff: setup ok: PSYNC2 pingoff: write and wait replication ok: SET - use KEEPTTL option, TTL should not be removed after loadaof ok: MIGRATE cached connections are released after some time

Testing integration/redis-cli ok: Interactive CLI: INFO response should be printed raw ok: Interactive CLI: Status reply ok: Interactive CLI: Integer reply ok: Interactive CLI: Bulk reply ok: MIGRATE is able to migrate a key between two instances ok: Interactive CLI: Multi-bulk reply ok: Interactive CLI: Parsing quotes ok: Non-interactive TTY CLI: Status reply ok: Non-interactive TTY CLI: Integer reply ok: Non-interactive TTY CLI: Bulk reply ok: Non-interactive TTY CLI: Multi-bulk reply ok: Non-interactive TTY CLI: Read last argument from pipe ok: Non-interactive TTY CLI: Read last argument from file ok: Non-interactive non-TTY CLI: Status reply ok: Non-interactive non-TTY CLI: Integer reply ok: Non-interactive non-TTY CLI: Bulk reply ok: Non-interactive non-TTY CLI: Multi-bulk reply ok: Non-interactive non-TTY CLI: Read last argument from pipe ok: Empty stream can be rewrite into AOF correctly ok: Non-interactive non-TTY CLI: Read last argument from file ok: MASTER and SLAVE consistency with expire ok: MIGRATE is able to copy a key between two instances ok: First server should have role slave after SLAVEOF ok: With min-slaves-to-write (1,3): master should be writable ok: With min-slaves-to-write (2,3): master should not be writable Waiting for process 16173 to exit... ok: Stream can be rewrite into AOF correctly after XDEL lastid ok: Slave is able to detect timeout during handshake ok: PSYNC2 #3899 regression: kill first replica ok: MIGRATE will not overwrite existing keys, unless REPLACE is used ok: MIGRATE propagates TTL correctly ok: XGROUP HELP should not have unexpected options

Testing unit/pubsub ok: Pub/Sub PING ok: PUBLISH/SUBSCRIBE basics ok: PUBLISH/SUBSCRIBE with two clients ok: PUBLISH/SUBSCRIBE after UNSUBSCRIBE without arguments ok: SUBSCRIBE to one channel more than once ok: UNSUBSCRIBE from non-subscribed channels ok: PUBLISH/PSUBSCRIBE basics ok: PUBLISH/PSUBSCRIBE with two clients ok: PUBLISH/PSUBSCRIBE after PUNSUBSCRIBE without arguments ok: PUNSUBSCRIBE from non-subscribed channels ok: NUMSUB returns numbers, not strings (#1561) ok: Mix SUBSCRIBE and PSUBSCRIBE ok: PUNSUBSCRIBE and UNSUBSCRIBE should always reply ok: Keyspace notifications: we receive keyspace notifications ok: Keyspace notifications: we receive keyevent notifications ok: Keyspace notifications: we can receive both kind of events ok: Keyspace notifications: we are able to mask events ok: Keyspace notifications: general events test ok: Keyspace notifications: list events test ok: Keyspace notifications: set events test ok: Keyspace notifications: zset events test ok: Keyspace notifications: hash events test ok: Keyspace notifications: expired events (triggered expire) ok: Keyspace notifications: expired events (background expire) ok: Keyspace notifications: evicted events ok: Keyspace notifications: test CONFIG GET/SET of event flags

Testing unit/slowlog ok: SLOWLOG - check that it starts with an empty log ok: Set instance A as slave of B ok: SLOWLOG - only logs commands taking more time than specified ok: SLOWLOG - max entries is correctly handled ok: SLOWLOG - GET optional argument to limit output len works ok: SLOWLOG - RESET subcommand works ok: MASTER and SLAVE dataset should be identical after complex ops ok: SLOWLOG - logged entry sanity check ok: SLOWLOG - commands with too many arguments are trimmed ok: SLOWLOG - too long arguments are trimmed ok: PSYNC2 #3899 regression: kill chained replica ok: SLOWLOG - EXEC is not logged, just executed commands

Testing unit/scripting ok: PSYNC2: generate load while killing replication links ok: PSYNC2: cluster is consistent after load (x = 55798) ok: PSYNC2: total sum of full synchronizations is exactly 4 ok: PSYNC2: --- CYCLE 2 --- ok: PSYNC2: [NEW LAYOUT] Set #1 as master ok: PSYNC2: Set #0 to replicate from #1 ok: PSYNC2: Set #2 to replicate from #0 ok: PSYNC2: Set #4 to replicate from #0 ok: PSYNC2: Set #3 to replicate from #2 ok: EVAL - Does Lua interpreter replies to our requests? ok: EVAL - Lua integer -> Redis protocol type conversion ok: EVAL - Lua string -> Redis protocol type conversion ok: EVAL - Lua true boolean -> Redis protocol type conversion ok: EVAL - Lua false boolean -> Redis protocol type conversion ok: EVAL - Lua status code reply -> Redis protocol type conversion ok: EVAL - Lua error reply -> Redis protocol type conversion ok: EVAL - Lua table -> Redis protocol type conversion ok: EVAL - Are the KEYS and ARGV arrays populated correctly? ok: EVAL - is Lua able to call Redis API? ok: EVALSHA - Can we call a SHA1 if already defined? ok: EVALSHA - Can we call a SHA1 in uppercase? ok: EVALSHA - Do we get an error on invalid SHA1? ok: EVALSHA - Do we get an error on non defined SHA1? ok: EVAL - Redis integer -> Lua type conversion ok: EVAL - Redis bulk -> Lua type conversion ok: EVAL - Redis multi bulk -> Lua type conversion ok: EVAL - Redis status reply -> Lua type conversion ok: EVAL - Redis error reply -> Lua type conversion ok: EVAL - Redis nil bulk reply -> Lua type conversion ok: EVAL - Is the Lua client using the currently selected DB? ok: EVAL - SELECT inside Lua should not affect the caller ok: EVAL - Scripts can't run certain commands ok: EVAL - Scripts can't run XREAD and XREADGROUP with BLOCK option ok: EVAL - Scripts can't run certain commands ok: EVAL - No arguments to redis.call/pcall is considered an error ok: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) ok: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) ok: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) ok: EVAL - JSON numeric decoding ok: EVAL - JSON string decoding ok: EVAL - cmsgpack can pack double? ok: EVAL - cmsgpack can pack negative int64? ok: EVAL - cmsgpack can pack and unpack circular references? ok: EVAL - Numerical sanity check from bitop ok: EVAL - Verify minimal bitop functionality ok: EVAL - Able to parse trailing comments ok: SCRIPTING FLUSH - is able to clear the scripts cache? ok: SCRIPT EXISTS - can detect already defined scripts? ok: SCRIPT LOAD - is able to register scripts in the scripting cache ok: In the context of Lua the output of random commands gets ordered ok: SORT is normally not alpha re-ordered for the scripting engine ok: SORT BY output gets ordered for scripting ok: SORT BY with GET gets ordered for scripting ok: redis.sha1hex() implementation ok: Globals protection reading an undeclared global variable ok: Globals protection setting an undeclared global* ok: Test an example script DECR_IF_GT ok: Scripting engine resets PRNG at every script execution ok: Scripting engine PRNG can be seeded correctly ok: SLOWLOG - can clean older entires ok: EVAL does not leak in the Lua stack ok: Dumping an RDB ok: INCRBYFLOAT replication, should not remove expire ok: BRPOPLPUSH replication, when blocking against empty list ok: PSYNC2 #3899 regression: kill first replica ok: SLOWLOG - can be disabled ok: client freed during loading

Testing unit/maxmemory ok: With min-slaves-to-write: master not writable with lagged slave ok: PSYNC2 pingoff: pause replica and promote it ok: Without maxmemory small integers are shared ok: With maxmemory and non-LRU policy integers are still shared ok: With maxmemory and LRU policy integers are not shared

Testing unit/introspection ok: EVAL processes writes from AOF in read-only slaves ok: CLIENT LIST ok: MONITOR can log executed commands ok: MONITOR can log commands issued by the scripting engine ok: CLIENT GETNAME should return NIL if name is not assigned ok: CLIENT LIST shows empty fields for unassigned names ok: CLIENT SETNAME does not accept spaces ok: CLIENT SETNAME can assign a name to this connection ok: CLIENT SETNAME can change the name of an existing connection ok: After CLIENT SETNAME, connection can still be closed ok: CONFIG sanity ok: maxmemory - is the memory limit honoured? (policy allkeys-random) ok: First server should have role slave after SLAVEOF ok: CONFIG REWRITE sanity ok: BRPOPLPUSH replication, list exists ok: maxmemory - is the memory limit honoured? (policy allkeys-lru)

Testing unit/introspection-2 ok: maxmemory - is the memory limit honoured? (policy allkeys-lfu) ok: PSYNC2: cluster is consistent after failover ok: maxmemory - is the memory limit honoured? (policy volatile-lru) ok: Connecting as a replica ok: Test replication partial resync: ok psync (diskless: no, disabled, reconnect: 1) ok: Slave is able to evict keys created in writable slaves ok: maxmemory - is the memory limit honoured? (policy volatile-lfu) ok: BLPOP followed by role change, issue #2473 ok: Make the old master a replica of the new one and check conditions ok: EVAL timeout from AOF ok: We can call scripts rewriting client->argv from Lua ok: Call Redis command with many args from Lua (issue #1764) ok: Number conversion precision test (issue #1118) ok: String containing number precision test (regression of issue #1118) ok: Verify negative arg count is error instead of crash (issue #1842) ok: Correct handling of reused argv (issue #1939) ok: Functions in the Redis namespace are able to report errors ok: Script with RESP3 map ok: Piping raw protocol ok: Second server should have role master at first ok: SLAVEOF should start with link status "down" ok: The role should immediately be changed to "replica" ok: maxmemory - is the memory limit honoured? (policy volatile-random) ok: MIGRATE can correctly transfer large values

Testing unit/limits ok: MIGRATE can correctly transfer hashes ok: Sync should have transferred keys from master ok: The link status should be up ok: SET on the master should immediately propagate ok: FLUSHALL should replicate ok: ROLE in master reports master with a slave ok: ROLE in slave reports slave in connected state ok: maxmemory - is the memory limit honoured? (policy volatile-ttl) ok: PSYNC2 #3899 regression: kill first replica ok: Timedout read-only scripts can be killed by SCRIPT KILL ok: AOF fsync always barrier issue ok: Timedout script link is still usable after Lua returns ok: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-random) ok: PSYNC2 #3899 regression: kill chained replica

Testing unit/obuf-limits ok: Timedout scripts that modified data can't be killed by SCRIPT KILL ok: SHUTDOWN NOSAVE can kill a timedout script anyway ok: TTL, TYPE and EXISTS do not alter the last access time of a key ok: Check if maxclients works refusing connections ok: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-lru) ok: Before the replica connects we issue two EVAL commands (scripts replication) ok: PSYNC2 #3899 regression: kill chained replica ok: PSYNC2 #3899 regression: kill first replica ok: MIGRATE timeout actually works

Testing unit/bitops ok: MIGRATE can migrate multiple keys at once ok: MIGRATE with multiple keys must have empty key arg ok: BITCOUNT returns 0 against non existing key ok: BITCOUNT returns 0 with out of range indexes ok: BITCOUNT returns 0 with negative indexes where start > end ok: BITCOUNT against test vector #1 ok: BITCOUNT against test vector #2 ok: BITCOUNT against test vector #3 ok: BITCOUNT against test vector #4 ok: BITCOUNT against test vector #5 ok: BITCOUNT fuzzing without start/end ok: First server should have role slave after SLAVEOF ok: maxmemory - only allkeys- should remove non-volatile keys (volatile-lru) ok: Slave should be able to synchronize with the master ok: Detect write load to master ok: MIGRATE with multiple keys migrate just existing ones ok: Connect a replica to the master instance (scripts replication) ok: Now use EVALSHA against the master, with both SHAs (scripts replication) ok: If EVALSHA was replicated as EVAL, 'x' should be '4' (scripts replication) ok: Replication of script multiple pushes to list with BLPOP (scripts replication) ok: EVALSHA replication when first call is readonly (scripts replication) ok: Lua scripts using SELECT are replicated correctly (scripts replication) ok: BITCOUNT fuzzing with start/end ok: BITCOUNT with start, end ok: BITCOUNT syntax error #1 ok: BITCOUNT regression test for github issue #582 ok: BITCOUNT misaligned prefix ok: BITCOUNT misaligned prefix + full words + remainder ok: BITOP NOT (empty string) ok: BITOP NOT (known string) ok: BITOP where dest and target are the same key ok: BITOP AND|OR|XOR don't change the string with single input key ok: BITOP missing key is considered a stream of zero ok: BITOP shorter keys are zero-padded to the key with max length ok: PSYNC2 #3899 regression: kill first replica ok: PSYNC2 #3899 regression: kill chained replica ok: MIGRATE with multiple keys: stress command rewriting ok: maxmemory - only allkeys- should remove non-volatile keys (volatile-random) ok: Before the replica connects we issue two EVAL commands (commands replication) ok: BITOP and fuzzing ok: maxmemory - only allkeys-* should remove non-volatile keys (volatile-ttl) ok: PSYNC2 #3899 regression: kill chained replica ok: PSYNC2: generate load while killing replication links ok: PSYNC2: cluster is consistent after load (x = 112624) ok: PSYNC2: total sum of full synchronizations is exactly 4 ok: PSYNC2: --- CYCLE 3 --- ok: PSYNC2: [NEW LAYOUT] Set #2 as master ok: PSYNC2: Set #0 to replicate from #2 ok: PSYNC2: Set #1 to replicate from #2 ok: PSYNC2: Set #4 to replicate from #0 ok: PSYNC2: Set #3 to replicate from #2 ok: MIGRATE with multiple keys: delete just ack keys ok: MIGRATE AUTH: correct and wrong password cases ok: maxmemory - policy volatile-lru should only remove volatile keys. ok: Connect a replica to the master instance (commands replication) ok: Now use EVALSHA against the master, with both SHAs (commands replication) ok: If EVALSHA was replicated as EVAL, 'x' should be '4' (commands replication) ok: Replication of script multiple pushes to list with BLPOP (commands replication) ok: EVALSHA replication when first call is readonly (commands replication) ok: Lua scripts using SELECT are replicated correctly (commands replication) ok: BITOP or fuzzing

Testing unit/bitfield ok: TOUCH alters the last access time of a key ok: TOUCH returns the number of existing keys specified ok: command stats for GEOADD ok: command stats for EXPIRE ok: command stats for BRPOP ok: command stats for MULTI ok: command stats for scripts ok: BITFIELD signed SET and GET basics ok: BITFIELD unsigned SET and GET basics ok: BITFIELD # form ok: BITFIELD basic INCRBY form ok: BITFIELD chaining of multiple commands ok: BITFIELD unsigned overflow wrap ok: BITFIELD unsigned overflow sat ok: BITFIELD signed overflow wrap ok: BITFIELD signed overflow sat ok: maxmemory - policy volatile-lfu should only remove volatile keys. ok: BITFIELD overflow detection fuzzing ok: PSYNC2: cluster is consistent after failover

Testing unit/geo ok: GEOADD create ok: GEOADD update ok: GEOADD invalid coordinates ok: GEOADD multi add ok: Check geoset values ok: GEORADIUS simple (sorted) ok: GEORADIUS withdist (sorted) ok: GEORADIUS with COUNT ok: GEORADIUS with COUNT but missing integer argument ok: GEORADIUS with COUNT DESC ok: GEORADIUS HUGE, issue #2767 ok: GEORADIUSBYMEMBER simple (sorted) ok: GEORADIUSBYMEMBER withdist (sorted) ok: GEOHASH is able to return geohash strings ok: GEOPOS simple ok: GEOPOS missing element ok: GEODIST simple & unit ok: GEODIST missing elements ok: GEORADIUS STORE option: syntax error ok: GEORANGE STORE option: incompatible options ok: GEORANGE STORE option: plain usage ok: GEORANGE STOREDIST option: plain usage ok: GEORANGE STOREDIST option: COUNT ASC and DESC ok: BITFIELD overflow wrap fuzzing ok: BITFIELD regression for #3221 ok: BITFIELD regression for #3564 ok: maxmemory - policy volatile-random should only remove volatile keys. ok: PSYNC2 #3899 regression: kill chained replica ok: PSYNC2 #3899 regression: kill first replica ok: BITOP xor fuzzing ok: PSYNC2 #3899 regression: kill chained replica ok: maxmemory - policy volatile-ttl should only remove volatile keys. ok: PSYNC2 #3899 regression: kill chained replica ok: PSYNC2 #3899 regression: kill first replica ok: Connect a replica to the master instance ok: Redis.replicate_commands() must be issued before any write

ok: Redis.set_repl() don't accept invalid values ok: Test selective replication of certain Redis commands from Lua ok: PRNG is seeded randomly for command replication ok: Using side effects is not a problem with command replication ok: PSYNC2 #3899 regression: kill first replica ok: PSYNC2 #3899 regression: kill chained replica ok: BITFIELD: setup slave ok: BITFIELD: write on master, read on slave ok: BITFIELD_RO fails when write option is used ok: Replication: commands with many arguments (issue #1221) ok: Test replication with blocking lists and sorted sets operations

Testing unit/memefficiency ok: BITOP NOT fuzzing ok: BITOP with integer encoded source objects ok: BITOP with non string source key ok: BITOP with empty string after non empty string (issue #529) ok: BITPOS bit=0 with empty key returns 0 ok: BITPOS bit=1 with empty key returns -1 ok: BITPOS bit=0 with string less than 1 word works ok: BITPOS bit=1 with string less than 1 word works ok: BITPOS bit=0 starting at unaligned address ok: BITPOS bit=1 starting at unaligned address ok: BITPOS bit=0 unaligned+full word+reminder ok: BITPOS bit=1 unaligned+full word+reminder ok: BITPOS bit=1 returns -1 if string is all 0 bits ok: BITPOS bit=0 works with intervals ok: BITPOS bit=1 works with intervals ok: BITPOS bit=0 changes behavior if end is given

Testing unit/hyperloglog ok: BITPOS bit=1 fuzzy testing using SETBIT ok: BITPOS bit=0 fuzzy testing using SETBIT ok: Replication of SPOP command -- alsoPropagate() API

Testing unit/lazyfree ok: test various edge cases of repl topology changes with missing pings at the end ok: HyperLogLog self test passes ok: PFADD without arguments creates an HLL value ok: Approximated cardinality after creation is zero ok: PFADD returns 1 when at least 1 reg was modified ok: PFADD returns 0 when no reg was modified ok: PFADD works with empty string (regression) ok: PFCOUNT returns approximated cardinality of set

Testing unit/wait ok: PSYNC2: generate load while killing replication links ok: PSYNC2: cluster is consistent after load (x = 144832) ok: PSYNC2: total sum of full synchronizations is exactly 4 ok: PSYNC2: --- CYCLE 4 --- ok: PSYNC2: [NEW LAYOUT] Set #4 as master ok: PSYNC2: Set #3 to replicate from #4 ok: PSYNC2: Set #2 to replicate from #4 ok: PSYNC2: Set #1 to replicate from #4 ok: PSYNC2: Set #0 to replicate from #3 ok: Memory efficiency with values in range 32 ok: UNLINK can reclaim memory in background ok: FLUSHDB ASYNC can reclaim memory in background ok: Memory efficiency with values in range 64 ok: HyperLogLogs are promote from sparse to dense

Testing unit/pendingquerybuf

Testing unit/tls ok: Memory efficiency with values in range 128 ok: Test replication partial resync: no backlog (diskless: no, disabled, reconnect: 1)

Testing unit/tracking ok: HyperLogLog sparse encoding stress test ok: Corrupted sparse HyperLogLogs are detected: Additional at tail ok: Corrupted sparse HyperLogLogs are detected: Broken magic ok: Corrupted sparse HyperLogLogs are detected: Invalid encoding ok: Corrupted dense HyperLogLogs are detected: Wrong length ok: Setup slave ok: WAIT should acknowledge 1 additional copy of the data ok: Memory efficiency with values in range 1024 ok: Clients are able to enable tracking and redirect it ok: The other connection is able to get invalidations ok: The client is now able to disable tracking ok: Clients can enable the BCAST mode with the empty prefix ok: The connection gets invalidation messages about all the keys ok: Clients can enable the BCAST mode with prefixes ok: Adding prefixes to BCAST mode works ok: Tracking NOLOOP mode in standard mode works ok: Tracking NOLOOP mode in BCAST mode works ok: PSYNC2 #3899 regression: verify consistency ok: PSYNC2: cluster is consistent after failover

Testing unit/oom-score-adj ok: CONFIG SET oom-score-adj works as expected ok: WAIT should not acknowledge 2 additional copies of the data ok: Tracking gets notification of expired keys ok: Tracking gets notification on tracking table key eviction

Testing unit/shutdown ok: Memory efficiency with values in range 16384 ok: Temp rdb will be deleted if we use bg_unlink when shutdown ok: Temp rdb will be deleted in signal handle

ok: Slave should be able to synchronize with the master ok: Detect write load to master ok: pending querybuf: check size of pending_querybuf after set a big value

ok: WAIT should not acknowledge 1 additional copy if slave is blocked ok: Chained replicas disconnect when replica re-connect with the same master ok: MASTER and SLAVE consistency with EVALSHA replication

ok: PSYNC2: generate load while killing replication links ok: PSYNC2: cluster is consistent after load (x = 193602) ok: PSYNC2: total sum of full synchronizations is exactly 4 ok: PSYNC2: --- CYCLE 5 --- ok: PSYNC2: [NEW LAYOUT] Set #4 as master ok: PSYNC2: Set #3 to replicate from #4 ok: PSYNC2: Set #2 to replicate from #3 ok: PSYNC2: Set #1 to replicate from #4 ok: PSYNC2: Set #0 to replicate from #2

ok: AOF rewrite during write load: RDB preamble=yes ok: slave buffer are counted correctly ok: SLAVE can reload "lua" AUX RDB fields of duplicated scripts

ok: PSYNC2: cluster is consistent after failover ok: GEOADD + GEORANGE randomized test

ok: Test replication partial resync: ok after delay (diskless: no, disabled, reconnect: 1) ok: PSYNC2: generate load while killing replication links ok: PSYNC2: cluster is consistent after load (x = 244773) ok: PSYNC2: total sum of full synchronizations is exactly 4 ok: PSYNC2: --- CYCLE 6 --- ok: PSYNC2: [NEW LAYOUT] Set #3 as master ok: PSYNC2: Set #1 to replicate from #3 ok: PSYNC2: Set #4 to replicate from #1 ok: PSYNC2: Set #0 to replicate from #3 ok: PSYNC2: Set #2 to replicate from #0 ok: replica buffer don't induce eviction ok: PSYNC2: cluster is consistent after failover ok: Slave should be able to synchronize with the master ok: Detect write load to master ok: client tracking don't cause eviction feedback loop

ok: PSYNC2: generate load while killing replication links ok: PSYNC2: cluster is consistent after load (x = 315943) ok: PSYNC2: total sum of full synchronizations is exactly 4 ok: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=disabled ok: PSYNC2: Bring the master back again for next test Waiting for process 19663 to exit... ok: PSYNC2: Partial resync after restart using RDB aux fields Waiting for process 19607 to exit... ok: PSYNC2: Replica RDB restart with EVALSHA in backlog issue #4483 ok: Client output buffer hard limit is enforced Waiting for process 19567 to exit...

ok: Test replication partial resync: backlog expired (diskless: no, disabled, reconnect: 1) Waiting for process 19527 to exit... ok: Slave should be able to synchronize with the master ok: Detect write load to master ok: Test replication partial resync: no reconnection, just sync (diskless: no, swapdb, reconnect: 0) ok: Slave should be able to synchronize with the master ok: Detect write load to master ok: Test replication partial resync: ok psync (diskless: no, swapdb, reconnect: 1) ok: Client output buffer soft limit is not enforced if time is not overreached ok: Slave should be able to synchronize with the master ok: Detect write load to master ok: Fuzzing dense/sparse encoding: Redis should always detect errors ok: PFADD, PFCOUNT, PFMERGE type checking works ok: PFMERGE results on the cardinality of union of sets ok: Stress tester for #3343-alike bugs ok: PFCOUNT multiple-keys merge returns cardinality of union #1 ok: PFCOUNT multiple-keys merge returns cardinality of union #2 ok: PFDEBUG GETREG returns the HyperLogLog raw registers ok: PFADD / PFCOUNT cache invalidation works

ok: Test replication partial resync: no backlog (diskless: no, swapdb, reconnect: 1) ok: Client output buffer soft limit is enforced if time is overreached ok: No response for single command if client output buffer hard limit is enforced ok: ziplist implementation: value encoding and backlink ok: Slave should be able to synchronize with the master ok: Detect write load to master ok: No response for multi commands in pipeline if client output buffer limit is enforced ok: Execute transactions completely even if client output buffer limit is enforced

ok: ziplist implementation: encoding stress testing

ok: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=swapdb Waiting for process 25891 to exit... Waiting for process 25845 to exit... ok: Test replication partial resync: ok after delay (diskless: no, swapdb, reconnect: 1) Waiting for process 25805 to exit... ok: Slave should be able to synchronize with the master ok: Detect write load to master Waiting for process 25763 to exit... ok: Test replication partial resync: backlog expired (diskless: no, swapdb, reconnect: 1) ok: Slave should be able to synchronize with the master ok: Detect write load to master ok: Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, reconnect: 0) ok: Slave should be able to synchronize with the master ok: Detect write load to master ok: AOF rewrite during write load: RDB preamble=no Waiting for process 11187 to exit... Waiting for process 11187 to exit... Waiting for process 11187 to exit... Waiting for process 11187 to exit... Waiting for process 11187 to exit... ok: Test replication partial resync: ok psync (diskless: yes, disabled, reconnect: 1) ok: Turning off AOF kills the background writing child if any ok: AOF rewrite of list with quicklist encoding, string data ok: Slave should be able to synchronize with the master ok: Detect write load to master ok: AOF rewrite of list with quicklist encoding, int data ok: AOF rewrite of set with intset encoding, string data ok: AOF rewrite of set with hashtable encoding, string data ok: AOF rewrite of set with intset encoding, int data ok: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=disabled Waiting for process 28545 to exit... ok: AOF rewrite of set with hashtable encoding, int data ok: AOF rewrite of hash with ziplist encoding, string data Waiting for process 28525 to exit... ok: AOF rewrite of hash with hashtable encoding, string data Waiting for process 28525 to exit... ok: AOF rewrite of hash with ziplist encoding, int data Waiting for process 28505 to exit... ok: Test replication partial resync: no backlog (diskless: yes, disabled, reconnect: 1) ok: AOF rewrite of hash with hashtable encoding, int data Waiting for process 28485 to exit... ok: AOF rewrite of zset with ziplist encoding, string data ok: Slave should be able to synchronize with the master ok: Detect write load to master ok: AOF rewrite of zset with skiplist encoding, string data ok: AOF rewrite of zset with ziplist encoding, int data ok: AOF rewrite of zset with skiplist encoding, int data ok: BGREWRITEAOF is delayed if BGSAVE is in progress ok: BGREWRITEAOF is refused if already in progress

ok: Test replication partial resync: ok after delay (diskless: yes, disabled, reconnect: 1) ok: Slave should be able to synchronize with the master ok: Detect write load to master ok: Test replication partial resync: backlog expired (diskless: yes, disabled, reconnect: 1) ok: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=swapdb Waiting for process 32298 to exit... ok: Slave should be able to synchronize with the master ok: Detect write load to master ok: Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, reconnect: 0) Waiting for process 32278 to exit... Waiting for process 32258 to exit... Waiting for process 32238 to exit... ok: Slave should be able to synchronize with the master ok: Detect write load to master ok: Test replication partial resync: ok psync (diskless: yes, swapdb, reconnect: 1) ok: Slave should be able to synchronize with the master ok: Detect write load to master ok: Test replication partial resync: no backlog (diskless: yes, swapdb, reconnect: 1) ok: Master stream is correctly processed while the replica has a script in -BUSY state ok: Slave should be able to synchronize with the master ok: Detect write load to master ok: slave fails full sync and diskless load swapdb recovers it Waiting for process 2984 to exit... ok: Test replication partial resync: ok after delay (diskless: yes, swapdb, reconnect: 1) ok: diskless loading short read ok: Slave should be able to synchronize with the master ok: Detect write load to master ok: diskless no replicas drop during rdb pipe ok: Test replication partial resync: backlog expired (diskless: yes, swapdb, reconnect: 1) Waiting for process 5423 to exit...

ok: diskless slow replicas drop during rdb pipe ok: diskless fast replicas drop during rdb pipe ok: diskless all replicas drop during rdb pipe Waiting for process 5403 to exit... Waiting for process 5403 to exit... Waiting for process 5403 to exit... ok: replicaof right after disconnection

Testing solo test ok: Active defrag ok: Active defrag big keys ok: Active defrag big list ok: Active defrag edge case

               The End

Execution time of different units: 0 seconds - unit/printver 0 seconds - unit/type/incr 1 seconds - unit/auth 1 seconds - unit/protocol 1 seconds - unit/keyspace 1 seconds - unit/quit 3 seconds - unit/type/hash 1 seconds - unit/acl 5 seconds - unit/scan 6 seconds - unit/type/set 6 seconds - unit/sort 6 seconds - unit/multi 7 seconds - unit/type/stream-cgroups 10 seconds - unit/type/string 10 seconds - unit/type/zset 10 seconds - unit/type/list-2 10 seconds - unit/other 8 seconds - unit/latency-monitor 12 seconds - unit/type/list 1 seconds - integration/logging 2 seconds - integration/convert-zipmap-hash-on-load 16 seconds - unit/expire 18 seconds - unit/type/stream 1 seconds - unit/pubsub 14 seconds - integration/replication-2 10 seconds - integration/rdb 1 seconds - unit/slowlog 1 seconds - unit/introspection 7 seconds - integration/redis-cli 14 seconds - integration/aof 2 seconds - unit/limits 27 seconds - unit/dump 7 seconds - unit/introspection-2 11 seconds - unit/scripting 5 seconds - unit/bitfield 27 seconds - integration/block-repl 8 seconds - unit/bitops 26 seconds - integration/replication-4 1 seconds - unit/lazyfree 1 seconds - unit/tls 22 seconds - integration/psync2-reg 2 seconds - unit/tracking 0 seconds - unit/shutdown 5 seconds - unit/memefficiency 1 seconds - unit/oom-score-adj 5 seconds - unit/pendingquerybuf 7 seconds - unit/wait 27 seconds - integration/psync2-pingoff 36 seconds - integration/replication-3 18 seconds - unit/geo 33 seconds - unit/maxmemory 48 seconds - integration/psync2 49 seconds - unit/hyperloglog 63 seconds - unit/obuf-limits 91 seconds - unit/type/list-3 149 seconds - unit/aofrw 232 seconds - integration/replication-psync 259 seconds - integration/replication 72 seconds - defrag

!!! WARNING The following tests failed:

*** [err]: ZSCAN with encoding skiplist in tests/unit/scan.tcl Expected key:0 eq "key:nan" (context: type eval line 31 cmd {assert {$k eq "key:$v"}} proc ::test) Cleanup: may take some time... OK make[1]: *** [test] Error 1 make[1]: Leaving directory `/usr/local/tools/redis/redis-6.0.10/src' make: *** [test] Error 2

Comment From: qq1052121189

How to solve it?

Comment From: oranagra

This is a bug in glibc Redhat released in a recent update. i filed a report: https://bugzilla.redhat.com/show_bug.cgi?id=1925204 you can either downgrade glibc, or wait a few more days till they fix it.

Comment From: oranagra

looks like Redhat released the fix.