Diff of the two buildlogs: -- --- b1/build.log 2025-09-04 02:32:49.483651065 +0000 +++ b2/build.log 2025-09-04 03:28:03.703870434 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Tue Oct 6 19:13:05 -12 2026 -I: pbuilder-time-stamp: 1791357185 +I: Current time: Thu Sep 4 16:32:52 +14 2025 +I: pbuilder-time-stamp: 1756953172 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration @@ -31,53 +31,85 @@ dpkg-source: info: applying 0007-CVE-2025-49112.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/1238051/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/2670978/tmp/hooks/D01_modify_environment starting +debug: Running on ionos1-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Sep 4 02:33 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/2670978/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/2670978/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' - DISTRIBUTION='forky' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=40 ' + DIRSTACK=() + DISTRIBUTION=forky + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='8db0ef1b2e454828a636287727c3d8c6' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='1238051' - PS1='# ' - PS2='> ' + INVOCATION_ID=66949c48475d4d60928bd434853d3be6 + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=2670978 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.IjSV3NiQ/pbuilderrc_ICHb --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.IjSV3NiQ/b1 --logfile b1/build.log redict_7.3.5+ds-1.dsc' - SUDO_GID='110' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='105' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://213.165.73.152:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.IjSV3NiQ/pbuilderrc_QV4H --distribution forky --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.IjSV3NiQ/b2 --logfile b2/build.log redict_7.3.5+ds-1.dsc' + SUDO_GID=110 + SUDO_HOME=/var/lib/jenkins + SUDO_UID=105 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://46.16.76.132:3128 I: uname -a - Linux ionos5-amd64 6.12.41+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.41-1 (2025-08-12) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.12.41+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.41-1 (2025-08-12) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/1238051/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/2670978/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -199,7 +231,7 @@ Get: 58 http://deb.debian.org/debian forky/main amd64 tcl8.6 amd64 8.6.17+dfsg-1 [121 kB] Get: 59 http://deb.debian.org/debian forky/main amd64 tcl amd64 8.6.16 [4096 B] Get: 60 http://deb.debian.org/debian forky/main amd64 tcl-tls amd64 1.8.0-2 [65.1 kB] -Fetched 22.1 MB in 6s (3731 kB/s) +Fetched 22.1 MB in 0s (113 MB/s) Preconfiguring packages ... Selecting previously unselected package tzdata. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19897 files and directories currently installed.) @@ -401,8 +433,8 @@ Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' -Local time is now: Wed Oct 7 07:14:12 UTC 2026. -Universal Time is now: Wed Oct 7 07:14:12 UTC 2026. +Local time is now: Thu Sep 4 02:33:24 UTC 2025. +Universal Time is now: Thu Sep 4 02:33:24 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libjemalloc-dev (5.3.0-3) ... @@ -464,7 +496,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/redict-7.3.5+ds/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../redict_7.3.5+ds-1_source.changes +I: user script /srv/workspace/pbuilder/2670978/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for forky +I: user script /srv/workspace/pbuilder/2670978/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/redict-7.3.5+ds/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../redict_7.3.5+ds-1_source.changes dpkg-buildpackage: info: source package redict dpkg-buildpackage: info: source version 7.3.5+ds-1 dpkg-buildpackage: info: source distribution unstable @@ -474,7 +510,7 @@ debian/rules clean dh clean --with=installsysusers dh_auto_clean - make -j42 distclean + make -j40 distclean make[1]: Entering directory '/build/reproducible-path/redict-7.3.5+ds' make -C src distclean make[2]: Entering directory '/build/reproducible-path/redict-7.3.5+ds/src' @@ -483,11 +519,11 @@ (cd ../deps && make distclean) make[3]: Entering directory '/build/reproducible-path/redict-7.3.5+ds/deps' (cd hiredict && make clean) > /dev/null || true -/bin/sh: 1: cd: can't cd to hiredict +/bin/sh: line 1: cd: hiredict: No such file or directory (cd linenoise && make clean) > /dev/null || true (cd lua && make clean) > /dev/null || true (cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true -/bin/sh: 1: cd: can't cd to jemalloc +/bin/sh: line 1: cd: jemalloc: No such file or directory (cd hdr_histogram && make clean) > /dev/null || true (cd fpconv && make clean) > /dev/null || true (rm -f .make-*) @@ -512,7 +548,7 @@ debian/rules override_dh_auto_build make[1]: Entering directory '/build/reproducible-path/redict-7.3.5+ds' dh_auto_build -- V=1 USE_SYSTEM_JEMALLOC=yes USE_SYSTEMD=yes USE_JEMALLOC=yes USE_SYSTEM_HIREDICT=yes - make -j42 "INSTALL=install --strip-program=true" V=1 USE_SYSTEM_JEMALLOC=yes USE_SYSTEMD=yes USE_JEMALLOC=yes USE_SYSTEM_HIREDICT=yes + make -j40 "INSTALL=install --strip-program=true" V=1 USE_SYSTEM_JEMALLOC=yes USE_SYSTEMD=yes USE_JEMALLOC=yes USE_SYSTEM_HIREDICT=yes make[2]: Entering directory '/build/reproducible-path/redict-7.3.5+ds' make -C src all make[3]: Entering directory '/build/reproducible-path/redict-7.3.5+ds/src' @@ -558,25 +594,25 @@ (echo "-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.5+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf" > .make-cflags) (echo "-Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf" > .make-ldflags) MAKE linenoise -cd linenoise && make MAKE lua +cd linenoise && make +MAKE hdr_histogram cd lua/src && make all CFLAGS="-Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.5+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2" MYLDFLAGS="-Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf" AR="ar rc" +cd hdr_histogram && make +MAKE fpconv make[5]: Entering directory '/build/reproducible-path/redict-7.3.5+ds/deps/linenoise' +cd fpconv && make cc -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.5+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -Wdate-time -D_FORTIFY_SOURCE=2 -c linenoise.c make[5]: Entering directory '/build/reproducible-path/redict-7.3.5+ds/deps/lua/src' -MAKE hdr_histogram -cd hdr_histogram && make -MAKE fpconv cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.5+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lapi.o lapi.c +make[5]: Entering directory '/build/reproducible-path/redict-7.3.5+ds/deps/fpconv' +cc -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.5+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -c fpconv_dtoa.c make[5]: Entering directory '/build/reproducible-path/redict-7.3.5+ds/deps/hdr_histogram' -cd fpconv && make +cc -std=c99 -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.5+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -Wdate-time -D_FORTIFY_SOURCE=2 -DHDR_MALLOC_INCLUDE=\"hdr_redis_malloc.h\" -c hdr_histogram.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.5+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lcode.o lcode.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.5+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldebug.o ldebug.c -cc -std=c99 -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.5+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -Wdate-time -D_FORTIFY_SOURCE=2 -DHDR_MALLOC_INCLUDE=\"hdr_redis_malloc.h\" -c hdr_histogram.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.5+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldo.o ldo.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.5+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldump.o ldump.c -make[5]: Entering directory '/build/reproducible-path/redict-7.3.5+ds/deps/fpconv' -cc -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.5+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -c fpconv_dtoa.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.5+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lfunc.o lfunc.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.5+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lgc.o lgc.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.5+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o llex.o llex.c @@ -723,8 +759,8 @@ cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.5+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o cli_commands.o -c cli_commands.c cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.5+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o redict-benchmark.o -c redict-benchmark.c cc -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -rdynamic -o redict-benchmark ae.o anet.o redict-benchmark.o adlist.o dict.o zmalloc.o redictassert.o release.o crcspeed.o crc64.o siphash.o crc16.o monotonic.o cli_common.o mt19937-64.o strl.o ../deps/hdr_histogram/libhdrhistogram.a -ljemalloc -lm -ldl -pthread -lrt -lsystemd -lhiredict -lhiredict_ssl -lhiredict -lssl -lcrypto -cc -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -rdynamic -o redict-server threads_mngr.o adlist.o quicklist.o ae.o anet.o dict.o kvstore.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o cluster_legacy.o crc16.o endianconv.o slowlog.o eval.o bio.o rio.o rand.o memtest.o syscheck.o crcspeed.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redict-check-rdb.o redict-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o lolwut.o lolwut5.o lolwut6.o acl.o tracking.o socket.o tls.o sha256.o timeout.o setcpuaffinity.o monotonic.o mt19937-64.o resp_parser.o call_reply.o script_lua.o script.o functions.o function_lua.o commands.o strl.o connection.o unix.o logreqres.o ../deps/lua/src/liblua.a ../deps/hdr_histogram/libhdrhistogram.a ../deps/fpconv/libfpconv.a -ljemalloc -lm -ldl -pthread -lrt -lsystemd -lhiredict -lhiredict_ssl -lhiredict -lssl -lcrypto cc -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -rdynamic -o redict-cli anet.o adlist.o dict.o redict-cli.o zmalloc.o release.o ae.o redictassert.o crcspeed.o crc64.o siphash.o crc16.o monotonic.o cli_common.o mt19937-64.o strl.o cli_commands.o ../deps/linenoise/linenoise.o -ljemalloc -lm -ldl -pthread -lrt -lsystemd -lhiredict -lhiredict_ssl -lhiredict -lssl -lcrypto +cc -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -rdynamic -o redict-server threads_mngr.o adlist.o quicklist.o ae.o anet.o dict.o kvstore.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o cluster_legacy.o crc16.o endianconv.o slowlog.o eval.o bio.o rio.o rand.o memtest.o syscheck.o crcspeed.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redict-check-rdb.o redict-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o lolwut.o lolwut5.o lolwut6.o acl.o tracking.o socket.o tls.o sha256.o timeout.o setcpuaffinity.o monotonic.o mt19937-64.o resp_parser.o call_reply.o script_lua.o script.o functions.o function_lua.o commands.o strl.o connection.o unix.o logreqres.o ../deps/lua/src/liblua.a ../deps/hdr_histogram/libhdrhistogram.a ../deps/fpconv/libfpconv.a -ljemalloc -lm -ldl -pthread -lrt -lsystemd -lhiredict -lhiredict_ssl -lhiredict -lssl -lcrypto In function 'memcpy', inlined from 'zipmapSet' at zipmap.c:239:5: /usr/include/x86_64-linux-gnu/bits/string_fortified.h:29:10: warning: '__builtin_memcpy' writing between 254 and 4294967295 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=] @@ -734,9 +770,9 @@ lto1: note: destination object is likely at address zero install --strip-program=true redict-server redict-sentinel install --strip-program=true redict-server redict-check-rdb +install --strip-program=true redict-server redict-check-aof +install: WARNING: ignoring --strip-program option as -s option was not specified install: WARNING: ignoring --strip-program option as -s option was not specified -install: install --strip-program=true redict-server redict-check-aof -WARNING: ignoring --strip-program option as -s option was not specified install: WARNING: ignoring --strip-program option as -s option was not specified Hint: It's a good idea to run 'make test' ;) @@ -755,4557 +791,82 @@ Certificate request self-signature ok subject=O=Redict Test, CN=Generic-cert Generating DH parameters, 2048 bit long safe prime -......................................................................................+..............................................................+.....................................................................................+.....................................................................................................................................................................................................................................+......................................................................................................................................................................................................................................................................................................+..................................................................................................................................................................................+.............................................................................+................................................+...............................................+..............................................................................................................................................................................................................................................................+......+...........+.........++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++* +.................................................+.............................................................................................................................................................................................................+.............................+.......+...................................................+........................................................................................................................................................................................................................+............+.........................................................................+.........................................................+......................................................................+..........................................................................................................................................................................................................................................+.....................................................................................+...............................................................+...............................................................................................................................................................................................................................................................................+...............................................................................................................................................+.........................+.....................+.........................................................................................................................................+.......................................................................+..............................................................................+..................................................................+........................................................................................................................................................+.............+............................................+........................................................................................................................................................................................+..................................................................................................................+..................+............................................................................................................................................................................+...................................................................................................+..................................................................................................................................................................+..........+...............................................................................................................................................................................+............................................................................................+...........................................................+..........................................................................................+......................................................................................................+................................................................+....................................+.............................................+.......................................................................................................................................................................................................................................................................................................................................................................................................+.........................+..............................................................................+...............................................+.....................................+..........+...........................................................................................+...+..............................................................................................................................................................................................+..........+.....+...................................................................................................................................................................................................................................+..................................................................................................................................................................................+....................................................................................................................................................................................................................................................................................................................................................................................................................................................................+................................................................+......................................................................................................................................................................................................................................+...........................................................................+..............................................+.............................................................................................................+..........................................................................................................................................................................................................................................................................+...........................+......................................................................................................................................+..............................+.............................................+..............................................................................................................................................................................................................................................+.............................................+..........................................................................................................................................................................................................+..............................................................................+..............................................................................................................................................................................................................................................................................+...............................................................................................................+....................................................................................................+...........................................+...............+.............+.......................................................................+...........................................+.....+..................................................................................................................................................................+.....................................................................................................................+...................................................................................................................................................................................................................................................................................................................................................................................................................................................................+................................................................................................................................................................................................................+..............................................................+..........................................................................................+.............................+...........................................................................+....................................................................................................................+..........+.......................................+...............................................................................................+..........................................................................................................................................................................................................................................................................................................................................................................................................................................+........................................................................................................................................................................................++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++* # Avoid race conditions in upstream testsuite ./runtest --clients 1 --verbose --dump-logs --tls || true Cleanup: may take some time... OK Starting test server at port 21079 -[ready]: 1251531 +[ready]: 2790728 Testing unit/printver === () Starting server 127.0.0.1:21111 ok Testing Redict version 7.3.5 (00000000) [1/91 done]: unit/printver (1 seconds) Testing unit/dump === (dump) Starting server 127.0.0.1:21113 ok -[ok]: DUMP / RESTORE are able to serialize / unserialize a simple key (9 ms) +[ok]: DUMP / RESTORE are able to serialize / unserialize a simple key (2 ms) [ok]: RESTORE can set an arbitrary expire to the materialized key (1 ms) [ok]: RESTORE can set an expire that overflows a 32 bit integer (1 ms) [ok]: RESTORE can set an absolute expire (1 ms) -[ok]: RESTORE with ABSTTL in the past (5 ms) -[ok]: RESTORE can set LRU (12 ms) -[ok]: RESTORE can set LFU (2 ms) -[ok]: RESTORE returns an error of the key already exists (0 ms) -[ok]: RESTORE can overwrite an existing key with REPLACE (2 ms) -[ok]: RESTORE can detect a syntax error for unrecognized options (3 ms) -[ok]: RESTORE should not store key that are already expired, with REPLACE will propagate it as DEL or UNLINK (149 ms) +[ok]: RESTORE with ABSTTL in the past (1 ms) +[ok]: RESTORE can set LRU (2 ms) +[ok]: RESTORE can set LFU (1 ms) +[ok]: RESTORE returns an error of the key already exists (1 ms) +[ok]: RESTORE can overwrite an existing key with REPLACE (1 ms) +[ok]: RESTORE can detect a syntax error for unrecognized options (1 ms) +[ok]: RESTORE should not store key that are already expired, with REPLACE will propagate it as DEL or UNLINK (64 ms) [ok]: DUMP of non existing key returns nil (0 ms) === (repl) Starting server 127.0.0.1:21115 ok -[ok]: MIGRATE is caching connections (325 ms) -[ok]: MIGRATE cached connections are released after some time (15004 ms) +[ok]: MIGRATE is caching connections (266 ms) +[ok]: MIGRATE cached connections are released after some time (15002 ms) === (repl) Starting server 127.0.0.1:21117 ok -[ok]: MIGRATE is able to migrate a key between two instances (282 ms) +[ok]: MIGRATE is able to migrate a key between two instances (267 ms) === (repl) Starting server 127.0.0.1:21119 ok -[ok]: MIGRATE is able to copy a key between two instances (291 ms) +[ok]: MIGRATE is able to copy a key between two instances (367 ms) === (repl) Starting server 127.0.0.1:21121 ok -[ok]: MIGRATE will not overwrite existing keys, unless REPLACE is used (292 ms) +[ok]: MIGRATE will not overwrite existing keys, unless REPLACE is used (499 ms) === (repl) Starting server 127.0.0.1:21123 ok -[ok]: MIGRATE propagates TTL correctly (281 ms) +[ok]: MIGRATE propagates TTL correctly (336 ms) === (repl) Starting server 127.0.0.1:21125 ok -[ok]: MIGRATE can correctly transfer large values (40612 ms) +[ok]: MIGRATE can correctly transfer large values (15455 ms) === (repl) Starting server 127.0.0.1:21127 ok -[ok]: MIGRATE can correctly transfer hashes (277 ms) +[ok]: MIGRATE can correctly transfer hashes (246 ms) === (repl) Starting server 127.0.0.1:21129 ok -[ok]: MIGRATE timeout actually works (765 ms) +[ok]: MIGRATE timeout actually works (707 ms) === (repl) Starting server 127.0.0.1:21131 ok -[ok]: MIGRATE can migrate multiple keys at once (313 ms) -[ok]: MIGRATE with multiple keys must have empty key arg (1 ms) +[ok]: MIGRATE can migrate multiple keys at once (246 ms) +[ok]: MIGRATE with multiple keys must have empty key arg (0 ms) === (repl) Starting server 127.0.0.1:21133 ok -[ok]: MIGRATE with multiple keys migrate just existing ones (302 ms) +[ok]: MIGRATE with multiple keys migrate just existing ones (251 ms) === (repl) Starting server 127.0.0.1:21135 ok -[ok]: MIGRATE with multiple keys: stress command rewriting (292 ms) +[ok]: MIGRATE with multiple keys: stress command rewriting (240 ms) === (repl) Starting server 127.0.0.1:21137 ok -[ok]: MIGRATE with multiple keys: delete just ack keys (290 ms) +[ok]: MIGRATE with multiple keys: delete just ack keys (254 ms) === (repl) Starting server 127.0.0.1:21139 ok -[ok]: MIGRATE AUTH: correct and wrong password cases (396 ms) -[2/91 done]: unit/dump (60 seconds) +[ok]: MIGRATE AUTH: correct and wrong password cases (248 ms) +[2/91 done]: unit/dump (34 seconds) Testing unit/auth === (auth external:skip) Starting server 127.0.0.1:21141 ok -[ok]: AUTH fails if there is no password configured server side (6 ms) -[ok]: Arity check for auth command (1 ms) +[ok]: AUTH fails if there is no password configured server side (3 ms) +[ok]: Arity check for auth command (0 ms) === (auth external:skip) Starting server 127.0.0.1:21143 ok -[ok]: AUTH fails when a wrong password is given (22 ms) -[ok]: Arbitrary command gives an error when AUTH is required (0 ms) +[ok]: AUTH fails when a wrong password is given (7 ms) +[ok]: Arbitrary command gives an error when AUTH is required (1 ms) [ok]: AUTH succeeds when the right password is given (0 ms) -[ok]: Once AUTH succeeded we can actually send commands to the server (0 ms) -[ok]: For unauthenticated clients multibulk and bulk length are limited (47 ms) -[ok]: For unauthenticated clients output buffer is limited (4946 ms) -=== (auth_binary_password external:skip) Starting server 127.0.0.1:21145 ok -[ok]: AUTH fails when binary password is wrong (1 ms) -[ok]: AUTH succeeds when binary password is correct (1 ms) -=== (masterauth) Starting server 127.0.0.1:21147 ok -[ok]: MASTERAUTH test with binary password (859 ms) -[3/91 done]: unit/auth (7 seconds) -Testing unit/protocol -=== (protocol network) Starting server 127.0.0.1:21149 ok -[ok]: Handle an empty query (68 ms) -[ok]: Negative multibulk length (67 ms) -[ok]: Out of range multibulk length (32 ms) -[ok]: Wrong multibulk payload header (27 ms) -[ok]: Negative multibulk payload length (16 ms) -[ok]: Out of range multibulk payload length (22 ms) -[ok]: Non-number multibulk payload length (28 ms) -[ok]: Multi bulk request not followed by bulk arguments (21 ms) -[ok]: Generic wrong number of args (14 ms) -[ok]: Unbalanced number of quotes (12 ms) -[ok]: Protocol desync regression test #1 (193 ms) -[ok]: Protocol desync regression test #2 (167 ms) -[ok]: Protocol desync regression test #3 (259 ms) -[ok]: raw protocol response (0 ms) -[ok]: raw protocol response - deferred (0 ms) -[ok]: raw protocol response - multiline (1 ms) -[ok]: RESP3 attributes (2 ms) -[ok]: RESP3 attributes readraw (1 ms) -[ok]: RESP3 attributes on RESP2 (1 ms) -[ok]: test big number parsing (0 ms) -[ok]: test bool parsing (1 ms) -[ok]: test verbatim str parsing (0 ms) -[ok]: test large number of args (34 ms) -[ok]: test argument rewriting - issue 9598 (1 ms) -=== (regression) Starting server 127.0.0.1:21151 ok -[ok]: Regression for a crash with blocking ops and pipelining (24 ms) -[4/91 done]: unit/protocol (2 seconds) -Testing unit/keyspace -=== (keyspace) Starting server 127.0.0.1:21153 ok -[ok]: DEL against a single item (1 ms) -[ok]: Vararg DEL (1 ms) -[ok]: Untagged multi-key commands (1 ms) -[ok]: KEYS with pattern (2 ms) -[ok]: KEYS to get all keys (0 ms) -[ok]: DBSIZE (0 ms) -[ok]: KEYS with hashtag (1 ms) -[ok]: DEL all keys (3 ms) -[ok]: DEL against expired key (1102 ms) -[ok]: EXISTS (1 ms) -[ok]: Zero length value in key. SET/GET/EXISTS (1 ms) -[ok]: Commands pipelining (0 ms) -[ok]: Non existing command (5 ms) -[ok]: RENAME basic usage (1 ms) -[ok]: RENAME source key should no longer exist (0 ms) -[ok]: RENAME against already existing key (0 ms) -[ok]: RENAMENX basic usage (0 ms) -[ok]: RENAMENX against already existing key (4 ms) -[ok]: RENAMENX against already existing key (2) (0 ms) -[ok]: RENAME against non existing source key (0 ms) -[ok]: RENAME where source and dest key are the same (existing) (1 ms) -[ok]: RENAMENX where source and dest key are the same (existing) (0 ms) -[ok]: RENAME where source and dest key are the same (non existing) (1 ms) -[ok]: RENAME with volatile key, should move the TTL as well (2 ms) -[ok]: RENAME with volatile key, should not inherit TTL of target key (7 ms) -[ok]: DEL all keys again (DB 0) (1 ms) -[ok]: DEL all keys again (DB 1) (0 ms) -[ok]: COPY basic usage for string (2 ms) -[ok]: COPY for string does not replace an existing key without REPLACE option (1 ms) -[ok]: COPY for string can replace an existing key with REPLACE option (0 ms) -[ok]: COPY for string ensures that copied data is independent of copying data (8 ms) -[ok]: COPY for string does not copy data to no-integer DB (0 ms) -[ok]: COPY can copy key expire metadata as well (1 ms) -[ok]: COPY does not create an expire if it does not exist (1 ms) -[ok]: COPY basic usage for list - quicklist (49 ms) -[ok]: COPY basic usage for list - listpack (2 ms) -[ok]: COPY basic usage for $type set (1 ms) -[ok]: COPY basic usage for $type set (4 ms) -[ok]: COPY basic usage for $type set (57 ms) -[ok]: COPY basic usage for listpack sorted set (10 ms) -[ok]: COPY basic usage for skiplist sorted set (50 ms) -[ok]: COPY basic usage for listpack hash (2 ms) -[ok]: COPY basic usage for hashtable hash (50 ms) -[ok]: COPY basic usage for stream (424 ms) -[ok]: COPY basic usage for stream-cgroups (24 ms) -[ok]: MOVE basic usage (2 ms) -[ok]: MOVE against key existing in the target DB (1 ms) -[ok]: MOVE against non-integer DB (#1428) (1 ms) -[ok]: MOVE can move key expire metadata as well (9 ms) -[ok]: MOVE does not create an expire if it does not exist (2 ms) -[ok]: SET/GET keys in different DBs (6 ms) -[ok]: RANDOMKEY (30 ms) -[ok]: RANDOMKEY against empty DB (3 ms) -[ok]: RANDOMKEY regression 1 (2 ms) -[ok]: KEYS * two times with long key, Github issue #1208 (1 ms) -[ok]: Regression for pattern matching long nested loops (1 ms) -[ok]: Regression for pattern matching very long nested loops (99 ms) -[ok]: Coverage: basic SWAPDB test and unhappy path (7 ms) -[ok]: Coverage: SWAPDB and FLUSHDB (7 ms) -[5/91 done]: unit/keyspace (2 seconds) -Testing unit/scan -=== (scan network standalone) Starting server 127.0.0.1:21155 ok -[ok]: {standalone} SCAN basic (257 ms) -[ok]: {standalone} SCAN COUNT (341 ms) -[ok]: {standalone} SCAN MATCH (493 ms) -[ok]: {standalone} SCAN TYPE (659 ms) -[ok]: {standalone} SCAN unknown type (521 ms) -[ok]: {standalone} SCAN with expired keys (601 ms) -[ok]: {standalone} SCAN with expired keys with TYPE filter (423 ms) -[ok]: {standalone} SSCAN with encoding intset (3 ms) -[ok]: {standalone} SSCAN with encoding listpack (7 ms) -[ok]: {standalone} SSCAN with encoding hashtable (32 ms) -[ok]: {standalone} HSCAN with encoding listpack (7 ms) -[ok]: {standalone} HSCAN with encoding hashtable (252 ms) -[ok]: {standalone} ZSCAN with encoding listpack (18 ms) -[ok]: {standalone} ZSCAN with encoding skiplist (207 ms) -[ok]: {standalone} SCAN guarantees check under write load (129 ms) -[ok]: {standalone} SSCAN with integer encoded object (issue #1345) (1 ms) -[ok]: {standalone} SSCAN with PATTERN (1 ms) -[ok]: {standalone} HSCAN with PATTERN (16 ms) -[ok]: {standalone} HSCAN with NOVALUES (0 ms) -[ok]: {standalone} ZSCAN with PATTERN (0 ms) -[ok]: {standalone} ZSCAN scores: regression test for issue #2175 (567 ms) -[ok]: {standalone} SCAN regression test for issue #4906 (34073 ms) -[ok]: {standalone} SCAN MATCH pattern implies cluster slot (144 ms) -=== (external:skip cluster scan) Starting server 127.0.0.1:21157 ok -[ok]: {cluster} SCAN basic (378 ms) -[ok]: {cluster} SCAN COUNT (344 ms) -[ok]: {cluster} SCAN MATCH (280 ms) -[ok]: {cluster} SCAN TYPE (431 ms) -[ok]: {cluster} SCAN unknown type (392 ms) -[ok]: {cluster} SCAN with expired keys (312 ms) -[ok]: {cluster} SCAN with expired keys with TYPE filter (470 ms) -[ok]: {cluster} SSCAN with encoding intset (2 ms) -[ok]: {cluster} SSCAN with encoding listpack (10 ms) -[ok]: {cluster} SSCAN with encoding hashtable (19 ms) -[ok]: {cluster} HSCAN with encoding listpack (2 ms) -[ok]: {cluster} HSCAN with encoding hashtable (193 ms) -[ok]: {cluster} ZSCAN with encoding listpack (3 ms) -[ok]: {cluster} ZSCAN with encoding skiplist (409 ms) -[ok]: {cluster} SCAN guarantees check under write load (241 ms) -[ok]: {cluster} SSCAN with integer encoded object (issue #1345) (14 ms) -[ok]: {cluster} SSCAN with PATTERN (1 ms) -[ok]: {cluster} HSCAN with PATTERN (0 ms) -[ok]: {cluster} HSCAN with NOVALUES (1 ms) -[ok]: {cluster} ZSCAN with PATTERN (1 ms) -[ok]: {cluster} ZSCAN scores: regression test for issue #2175 (340 ms) -[ok]: {cluster} SCAN regression test for issue #4906 (31001 ms) -[ok]: {cluster} SCAN MATCH pattern implies cluster slot (233 ms) -[6/91 done]: unit/scan (76 seconds) -Testing unit/info -=== (info external:skip) Starting server 127.0.0.1:21159 ok -=== () Starting server 127.0.0.1:21161 ok -[ok]: latencystats: disable/enable (23 ms) -[ok]: latencystats: configure percentiles (12 ms) -[ok]: latencystats: bad configure percentiles (4 ms) -[ok]: latencystats: blocking commands (33 ms) -[ok]: latencystats: subcommands (2 ms) -[ok]: latencystats: measure latency (53 ms) -[ok]: errorstats: failed call authentication error (3 ms) -[ok]: errorstats: failed call within MULTI/EXEC (15 ms) -[ok]: errorstats: failed call within LUA (11 ms) -[ok]: errorstats: failed call NOSCRIPT error (12 ms) -[ok]: errorstats: failed call NOGROUP error (2 ms) -[ok]: errorstats: rejected call unknown command (6 ms) -[ok]: errorstats: rejected call within MULTI/EXEC (11 ms) -[ok]: errorstats: rejected call due to wrong arity (12 ms) -[ok]: errorstats: rejected call by OOM error (11 ms) -[ok]: errorstats: rejected call by authorization error (12 ms) -[ok]: errorstats: blocking commands (31 ms) -[ok]: errorstats: limit errors will not increase indefinitely (311 ms) -eventloop metrics cycle1: 1103, cycle2: 1105 -eventloop metrics el_sum1: 86573, el_sum2: 87718 -eventloop metrics cmd_sum1: 16350, cmd_sum2: 16384 -[ok]: stats: eventloop metrics (117 ms) -instantaneous metrics instantaneous_eventloop_cycles_per_sec: 8 -instantaneous metrics instantaneous_eventloop_duration_usec: 295 -[ok]: stats: instantaneous metrics (1615 ms) -[ok]: stats: debug metrics (121 ms) -[ok]: stats: client input and output buffer limit disconnections (123 ms) -[ok]: clients: pubsub clients (148 ms) -[ok]: clients: watching clients (127 ms) -=== (info external:skip) Starting server 127.0.0.1:21163 ok -[ok]: memory: database and pubsub overhead and rehashing dict count (10 ms) -[7/91 done]: unit/info (4 seconds) -Testing unit/info-command -=== (info and its relative command) Starting server 127.0.0.1:21165 ok -[ok]: info command with at most one sub command (3 ms) -[ok]: info command with one sub-section (2 ms) -[ok]: info command with multiple sub-sections (2 ms) -[8/91 done]: unit/info-command (1 seconds) -Testing unit/type/string -=== (string) Starting server 127.0.0.1:21167 ok -[ok]: SET and GET an item (0 ms) -[ok]: SET and GET an empty item (0 ms) -[ok]: Very big payload in GET/SET (224 ms) -[ok]: Very big payload random access (8089 ms) -[ok]: SET 10000 numeric keys and access all them in reverse order (5401 ms) -[ok]: DBSIZE should be 10000 now (1 ms) -[ok]: SETNX target key missing (1 ms) -[ok]: SETNX target key exists (7 ms) -[ok]: SETNX against not-expired volatile key (1 ms) -[ok]: SETNX against expired volatile key (5869 ms) -[ok]: GETEX EX option (5 ms) -[ok]: GETEX PX option (1 ms) -[ok]: GETEX EXAT option (1 ms) -[ok]: GETEX PXAT option (1 ms) -[ok]: GETEX PERSIST option (10 ms) -[ok]: GETEX no option (2 ms) -[ok]: GETEX syntax errors (1 ms) -[ok]: GETEX and GET expired key or not exist (3 ms) -[ok]: GETEX no arguments (1 ms) -[ok]: GETDEL command (1 ms) -[ok]: GETDEL propagate as DEL command to replica (178 ms) -[ok]: GETEX without argument does not propagate to replica (308 ms) -[ok]: MGET (27 ms) -[ok]: MGET against non existing key (6 ms) -[ok]: MGET against non-string key (5 ms) -[ok]: GETSET (set new value) (1 ms) -[ok]: GETSET (replace old value) (0 ms) -[ok]: MSET base case (0 ms) -[ok]: MSET/MSETNX wrong number of args (0 ms) -[ok]: MSET with already existing - same key twice (1 ms) -[ok]: MSETNX with already existent key (10 ms) -[ok]: MSETNX with not existing keys (1 ms) -[ok]: MSETNX with not existing keys - same key twice (1 ms) -[ok]: MSETNX with already existing keys - same key twice (1 ms) -[ok]: STRLEN against non-existing key (1 ms) -[ok]: STRLEN against integer-encoded value (6 ms) -[ok]: STRLEN against plain string (1 ms) -[ok]: SETBIT against non-existing key (1 ms) -[ok]: SETBIT against string-encoded key (5 ms) -[ok]: SETBIT against integer-encoded key (1 ms) -[ok]: SETBIT against key with wrong type (0 ms) -[ok]: SETBIT with out of range bit offset (0 ms) -[ok]: SETBIT with non-bit argument (8 ms) -[ok]: SETBIT fuzzing (1035 ms) -[ok]: GETBIT against non-existing key (0 ms) -[ok]: GETBIT against string-encoded key (2 ms) -[ok]: GETBIT against integer-encoded key (1 ms) -[ok]: SETRANGE against non-existing key (1 ms) -[ok]: SETRANGE against string-encoded key (2 ms) -[ok]: SETRANGE against integer-encoded key (4 ms) -[ok]: SETRANGE against key with wrong type (0 ms) -[ok]: SETRANGE with out of range offset (1 ms) -[ok]: GETRANGE against non-existing key (1 ms) -[ok]: GETRANGE against wrong key type (0 ms) -[ok]: GETRANGE against string value (1 ms) -[ok]: GETRANGE against integer-encoded value (2 ms) -[ok]: GETRANGE fuzzing (2556 ms) -[ok]: Coverage: SUBSTR (2 ms) -[ok]: trim on SET with big value (51 ms) -[ok]: Extended SET can detect syntax errors (0 ms) -[ok]: Extended SET NX option (6 ms) -[ok]: Extended SET XX option (1 ms) -[ok]: Extended SET GET option (1 ms) -[ok]: Extended SET GET option with no previous value (1 ms) -[ok]: Extended SET GET option with XX (8 ms) -[ok]: Extended SET GET option with XX and no previous value (1 ms) -[ok]: Extended SET GET option with NX (1 ms) -[ok]: Extended SET GET option with NX and previous value (2 ms) -[ok]: Extended SET GET with incorrect type should result in wrong type error (1 ms) -[ok]: Extended SET EX option (6 ms) -[ok]: Extended SET PX option (1 ms) -[ok]: Extended SET EXAT option (1 ms) -[ok]: Extended SET PXAT option (0 ms) -[ok]: Extended SET using multiple options at once (1 ms) -[ok]: GETRANGE with huge ranges, Github issue #1844 (1 ms) -[ok]: LCS basic (1 ms) -[ok]: LCS len (1 ms) -[ok]: LCS indexes (1 ms) -[ok]: LCS indexes with match len (1 ms) -[ok]: LCS indexes with match len and minimum match len (0 ms) -[ok]: SETRANGE with huge offset (0 ms) -[ok]: APPEND modifies the encoding from int to raw (6 ms) -[9/91 done]: unit/type/string (24 seconds) -Testing unit/type/incr -=== (incr) Starting server 127.0.0.1:21169 ok -[ok]: INCR against non existing key (4 ms) -[ok]: INCR against key created by incr itself (0 ms) -[ok]: DECR against key created by incr (1 ms) -[ok]: DECR against key is not exist and incr (0 ms) -[ok]: INCR against key originally set with SET (0 ms) -[ok]: INCR over 32bit value (6 ms) -[ok]: INCRBY over 32bit value with over 32bit increment (3 ms) -[ok]: INCR fails against key with spaces (left) (0 ms) -[ok]: INCR fails against key with spaces (right) (1 ms) -[ok]: INCR fails against key with spaces (both) (1 ms) -[ok]: DECRBY negation overflow (0 ms) -[ok]: INCR fails against a key holding a list (5 ms) -[ok]: DECRBY over 32bit value with over 32bit increment, negative res (1 ms) -[ok]: DECRBY against key is not exist (1 ms) -[ok]: INCR uses shared objects in the 0-9999 range (2 ms) -[ok]: INCR can modify objects in-place (2 ms) -[ok]: INCRBYFLOAT against non existing key (7 ms) -[ok]: INCRBYFLOAT against key originally set with SET (1 ms) -[ok]: INCRBYFLOAT over 32bit value (0 ms) -[ok]: INCRBYFLOAT over 32bit value with over 32bit increment (0 ms) -[ok]: INCRBYFLOAT fails against key with spaces (left) (0 ms) -[ok]: INCRBYFLOAT fails against key with spaces (right) (0 ms) -[ok]: INCRBYFLOAT fails against key with spaces (both) (1 ms) -[ok]: INCRBYFLOAT fails against a key holding a list (1 ms) -[ok]: INCRBYFLOAT does not allow NaN or Infinity (1 ms) -[ok]: INCRBYFLOAT decrement (1 ms) -[ok]: string to double with null terminator (1 ms) -[ok]: No negative zero (1 ms) -[ok]: INCRBY INCRBYFLOAT DECRBY against unhappy path (1 ms) -[ok]: incr operation should update encoding from raw to int (7 ms) -[ok]: decr operation should update encoding from raw to int (2 ms) -[ok]: incrby operation should update encoding from raw to int (2 ms) -[ok]: decrby operation should update encoding from raw to int (7 ms) -[10/91 done]: unit/type/incr (0 seconds) -Testing unit/type/list -=== () Starting server 127.0.0.1:21171 ok -[ok]: packed node check compression with insert and pop (15 ms) -[ok]: packed node check compression combined with trim (1 ms) -[ok]: packed node check compression with lset (16 ms) -[ok]: plain node check compression with insert and pop (389 ms) -[ok]: plain node check compression combined with trim (138 ms) -[ok]: plain node check compression with lset (191 ms) -=== () Starting server 127.0.0.1:21173 ok -[ok]: Test LPUSH and LPOP on plain nodes (14 ms) -[ok]: Test LINDEX and LINSERT on plain nodes (3 ms) -[ok]: Test LTRIM on plain nodes (7 ms) -[ok]: Test LREM on plain nodes (3 ms) -[ok]: Test LPOS on plain nodes (7 ms) -[ok]: Test LMOVE on plain nodes (13 ms) -[ok]: Test LSET with packed / plain combinations (216 ms) -[ok]: Test LSET with packed is split in the middle (4 ms) -[ok]: Test LSET with packed consist only one item (188 ms) -[ok]: Crash due to delete entry from a compress quicklist node (3 ms) -[ok]: Crash due to split quicklist node wrongly (16 ms) -[ok]: Test LPUSH and LPOP on plain nodes (9 ms) -[ok]: Test LINDEX and LINSERT on plain nodes (12 ms) -[ok]: Test LTRIM on plain nodes (2 ms) -[ok]: Test LREM on plain nodes (3 ms) -[ok]: Test LPOS on plain nodes (6 ms) -[ok]: Test LMOVE on plain nodes (10 ms) -[ok]: Test LSET with packed / plain combinations (186 ms) -[ok]: Test LSET with packed is split in the middle (19 ms) -[ok]: Test LSET with packed consist only one item (201 ms) -[ok]: Crash due to delete entry from a compress quicklist node (15 ms) -[ok]: Crash due to split quicklist node wrongly (2 ms) -=== () Starting server 127.0.0.1:21175 ok -[ignore]: Test LPUSH and LPOP on plain nodes over 4GB: large memory flag not provided -[ignore]: Test LINDEX and LINSERT on plain nodes over 4GB: large memory flag not provided -[ignore]: Test LTRIM on plain nodes over 4GB: large memory flag not provided -[ignore]: Test LREM on plain nodes over 4GB: large memory flag not provided -[ignore]: Test LSET on plain nodes over 4GB: large memory flag not provided -[ignore]: Test LSET on plain nodes with large elements under packed_threshold over 4GB: large memory flag not provided -[ignore]: Test LSET splits a quicklist node, and then merge: large memory flag not provided -[ignore]: Test LSET splits a LZF compressed quicklist node, and then merge: large memory flag not provided -[ignore]: Test LMOVE on plain nodes over 4GB: large memory flag not provided -=== (list) Starting server 127.0.0.1:21177 ok -[ok]: LPOS basic usage - quicklist (52 ms) -[ok]: LPOS RANK (positive, negative and zero rank) option (2 ms) -[ok]: LPOS COUNT option (1 ms) -[ok]: LPOS COUNT + RANK option (0 ms) -[ok]: LPOS non existing key (0 ms) -[ok]: LPOS no match (1 ms) -[ok]: LPOS MAXLEN (1 ms) -[ok]: LPOS when RANK is greater than matches (0 ms) -[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - quicklist (90 ms) -[ok]: LPOP/RPOP with wrong number of arguments (5 ms) -[ok]: RPOP/LPOP with the optional count argument - quicklist (50 ms) -[ok]: LPOS basic usage - listpack (5 ms) -[ok]: LPOS RANK (positive, negative and zero rank) option (1 ms) -[ok]: LPOS COUNT option (0 ms) -[ok]: LPOS COUNT + RANK option (0 ms) -[ok]: LPOS non existing key (0 ms) -[ok]: LPOS no match (0 ms) -[ok]: LPOS MAXLEN (1 ms) -[ok]: LPOS when RANK is greater than matches (1 ms) -[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - listpack (11 ms) -[ok]: LPOP/RPOP with wrong number of arguments (1 ms) -[ok]: RPOP/LPOP with the optional count argument - listpack (1 ms) -[ok]: LPOP/RPOP with the count 0 returns an empty array in RESP3 (1 ms) -[ok]: LPOP/RPOP against non existing key in RESP3 (1 ms) -[ok]: LPOP/RPOP with against non existing key in RESP3 (1 ms) -[ok]: LPOP/RPOP with the count 0 returns an empty array in RESP2 (1 ms) -[ok]: LPOP/RPOP against non existing key in RESP2 (1 ms) -[ok]: LPOP/RPOP with against non existing key in RESP2 (6 ms) -[ok]: Variadic RPUSH/LPUSH (1 ms) -[ok]: DEL a list (2 ms) -[ok]: BLPOP: single existing list - quicklist (83 ms) -[ok]: BLPOP: multiple existing lists - quicklist (128 ms) -[ok]: BLPOP: second list has an entry - quicklist (87 ms) -[ok]: BLMPOP_LEFT: single existing list - quicklist (83 ms) -[ok]: BLMPOP_LEFT: multiple existing lists - quicklist (134 ms) -[ok]: BLMPOP_LEFT: second list has an entry - quicklist (86 ms) -[ok]: BRPOPLPUSH - quicklist (89 ms) -[ok]: BLMOVE left left - quicklist (88 ms) -[ok]: BLMOVE left right - quicklist (87 ms) -[ok]: BLMOVE right left - quicklist (96 ms) -[ok]: BLMOVE right right - quicklist (91 ms) -[ok]: BLPOP: single existing list - listpack (37 ms) -[ok]: BLPOP: multiple existing lists - listpack (39 ms) -[ok]: BLPOP: second list has an entry - listpack (35 ms) -[ok]: BLMPOP_LEFT: single existing list - listpack (39 ms) -[ok]: BLMPOP_LEFT: multiple existing lists - listpack (74 ms) -[ok]: BLMPOP_LEFT: second list has an entry - listpack (49 ms) -[ok]: BRPOPLPUSH - listpack (52 ms) -[ok]: BLMOVE left left - listpack (59 ms) -[ok]: BLMOVE left right - listpack (60 ms) -[ok]: BLMOVE right left - listpack (37 ms) -[ok]: BLMOVE right right - listpack (71 ms) -[ok]: BLPOP, LPUSH + DEL should not awake blocked client (36 ms) -[ok]: BLPOP, LPUSH + DEL + SET should not awake blocked client (44 ms) -[ok]: BLMPOP_LEFT, LPUSH + DEL should not awake blocked client (34 ms) -[ok]: BLMPOP_LEFT, LPUSH + DEL + SET should not awake blocked client (37 ms) -[ok]: BLPOP with same key multiple times should work (issue #801) (40 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BLPOP (36 ms) -[ok]: BLPOP with variadic LPUSH (32 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BLMPOP_LEFT (37 ms) -[ok]: BLMPOP_LEFT with variadic LPUSH (35 ms) -[ok]: BRPOPLPUSH with zero timeout should block indefinitely (33 ms) -[ok]: BLMOVE left left with zero timeout should block indefinitely (38 ms) -[ok]: BLMOVE left right with zero timeout should block indefinitely (28 ms) -[ok]: BLMOVE right left with zero timeout should block indefinitely (45 ms) -[ok]: BLMOVE right right with zero timeout should block indefinitely (39 ms) -[ok]: BLMOVE (left, left) with a client BLPOPing the target list (60 ms) -[ok]: BLMOVE (left, right) with a client BLPOPing the target list (59 ms) -[ok]: BLMOVE (right, left) with a client BLPOPing the target list (65 ms) -[ok]: BLMOVE (right, right) with a client BLPOPing the target list (56 ms) -[ok]: BRPOPLPUSH with wrong source type (244 ms) -[ok]: BRPOPLPUSH with wrong destination type (57 ms) -[ok]: BRPOPLPUSH maintains order of elements after failure (42 ms) -[ok]: BRPOPLPUSH with multiple blocked clients (56 ms) -[ok]: BLMPOP with multiple blocked clients (118 ms) -[ok]: Linked LMOVEs (64 ms) -[ok]: Circular BRPOPLPUSH (59 ms) -[ok]: Self-referential BRPOPLPUSH (20 ms) -[ok]: BRPOPLPUSH inside a transaction (5 ms) -[ok]: PUSH resulting from BRPOPLPUSH affect WATCH (38 ms) -[ok]: BRPOPLPUSH does not affect WATCH while still blocked (43 ms) -[ok]: BRPOPLPUSH timeout (1032 ms) -[ok]: SWAPDB awakes blocked client (16 ms) -[ok]: SWAPDB wants to wake blocked client, but the key already expired (241 ms) -[ok]: MULTI + LPUSH + EXPIRE + DEBUG SLEEP on blocked client, key already expired (328 ms) -[ok]: BLPOP unblock but the key is expired and then block again - reprocessing command (1067 ms) -[ok]: BLPOP when new key is moved into place (25 ms) -[ok]: BLPOP when result key is created by SORT..STORE (48 ms) -[ok]: BLMPOP_LEFT when new key is moved into place (31 ms) -[ok]: BLMPOP_LEFT when result key is created by SORT..STORE (24 ms) -[ok]: BLPOP: timeout value out of range (0 ms) -[ok]: BLPOP: with single empty list argument (27 ms) -[ok]: BLPOP: with negative timeout (29 ms) -[ok]: BLPOP: with non-integer timeout (27 ms) -[ok]: BLPOP: with zero timeout should block indefinitely (31 ms) -[ok]: BLPOP: with 0.001 timeout should not block indefinitely (42 ms) -[ok]: BLPOP: second argument is not a list (26 ms) -[ok]: BLPOP: timeout (1115 ms) -[ok]: BLPOP: arguments are empty (26 ms) -[ok]: BRPOP: with single empty list argument (20 ms) -[ok]: BRPOP: with negative timeout (19 ms) -[ok]: BRPOP: with non-integer timeout (24 ms) -[ok]: BRPOP: with zero timeout should block indefinitely (34 ms) -[ok]: BRPOP: with 0.001 timeout should not block indefinitely (36 ms) -[ok]: BRPOP: second argument is not a list (27 ms) -[ok]: BRPOP: timeout (1104 ms) -[ok]: BRPOP: arguments are empty (33 ms) -[ok]: BLMPOP_LEFT: with single empty list argument (34 ms) -[ok]: BLMPOP_LEFT: with negative timeout (19 ms) -[ok]: BLMPOP_LEFT: with non-integer timeout (27 ms) -[ok]: BLMPOP_LEFT: with zero timeout should block indefinitely (24 ms) -[ok]: BLMPOP_LEFT: with 0.001 timeout should not block indefinitely (35 ms) -[ok]: BLMPOP_LEFT: second argument is not a list (29 ms) -[ok]: BLMPOP_LEFT: timeout (1115 ms) -[ok]: BLMPOP_LEFT: arguments are empty (42 ms) -[ok]: BLMPOP_RIGHT: with single empty list argument (35 ms) -[ok]: BLMPOP_RIGHT: with negative timeout (30 ms) -[ok]: BLMPOP_RIGHT: with non-integer timeout (32 ms) -[ok]: BLMPOP_RIGHT: with zero timeout should block indefinitely (29 ms) -[ok]: BLMPOP_RIGHT: with 0.001 timeout should not block indefinitely (57 ms) -[ok]: BLMPOP_RIGHT: second argument is not a list (39 ms) -[ok]: BLMPOP_RIGHT: timeout (1078 ms) -[ok]: BLMPOP_RIGHT: arguments are empty (31 ms) -[ok]: BLPOP inside a transaction (8 ms) -[ok]: BLMPOP_LEFT inside a transaction (8 ms) -[ok]: BLMPOP propagate as pop with count command to replica (262 ms) -[ok]: LPUSHX, RPUSHX - generic (1 ms) -[ok]: LPUSHX, RPUSHX - quicklist (50 ms) -[ok]: LINSERT - quicklist (55 ms) -[ok]: LPUSHX, RPUSHX - listpack (2 ms) -[ok]: LINSERT - listpack (9 ms) -[ok]: LINSERT raise error on bad syntax (1 ms) -[ok]: LINSERT against non-list value error (8 ms) -[ok]: LINSERT against non existing key (4 ms) -[ok]: LINDEX consistency test - listpack (325 ms) -[ok]: LINDEX random access - listpack (196 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - listpack (489 ms) -[ok]: LINDEX consistency test - listpack (789 ms) -[ok]: LINDEX random access - listpack (605 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - listpack (769 ms) -[ok]: LINDEX consistency test - quicklist (197 ms) -[ok]: LINDEX random access - quicklist (113 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (279 ms) -[ok]: LINDEX consistency test - quicklist (393 ms) -[ok]: LINDEX random access - quicklist (470 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (717 ms) -[ok]: LLEN against non-list value error (1 ms) -[ok]: LLEN against non existing key (0 ms) -[ok]: LINDEX against non-list value error (0 ms) -[ok]: LINDEX against non existing key (1 ms) -[ok]: LPUSH against non-list value error (1 ms) -[ok]: RPUSH against non-list value error (0 ms) -[ok]: RPOPLPUSH base case - quicklist (51 ms) -[ok]: LMOVE left left base case - quicklist (51 ms) -[ok]: LMOVE left right base case - quicklist (50 ms) -[ok]: LMOVE right left base case - quicklist (56 ms) -[ok]: LMOVE right right base case - quicklist (50 ms) -[ok]: RPOPLPUSH with the same list as src and dst - quicklist (54 ms) -[ok]: LMOVE left left with the same list as src and dst - quicklist (48 ms) -[ok]: LMOVE left right with the same list as src and dst - quicklist (51 ms) -[ok]: LMOVE right left with the same list as src and dst - quicklist (45 ms) -[ok]: LMOVE right right with the same list as src and dst - quicklist (51 ms) -[ok]: RPOPLPUSH with quicklist source and existing target quicklist (103 ms) -[ok]: LMOVE left left with quicklist source and existing target quicklist (102 ms) -[ok]: LMOVE left right with quicklist source and existing target quicklist (93 ms) -[ok]: LMOVE right left with quicklist source and existing target quicklist (91 ms) -[ok]: LMOVE right right with quicklist source and existing target quicklist (104 ms) -[ok]: RPOPLPUSH with quicklist source and existing target listpack (55 ms) -[ok]: LMOVE left left with quicklist source and existing target listpack (56 ms) -[ok]: LMOVE left right with quicklist source and existing target listpack (51 ms) -[ok]: LMOVE right left with quicklist source and existing target listpack (51 ms) -[ok]: LMOVE right right with quicklist source and existing target listpack (47 ms) -[ok]: RPOPLPUSH base case - listpack (8 ms) -[ok]: LMOVE left left base case - listpack (8 ms) -[ok]: LMOVE left right base case - listpack (8 ms) -[ok]: LMOVE right left base case - listpack (3 ms) -[ok]: LMOVE right right base case - listpack (6 ms) -[ok]: RPOPLPUSH with the same list as src and dst - listpack (6 ms) -[ok]: LMOVE left left with the same list as src and dst - listpack (2 ms) -[ok]: LMOVE left right with the same list as src and dst - listpack (8 ms) -[ok]: LMOVE right left with the same list as src and dst - listpack (9 ms) -[ok]: LMOVE right right with the same list as src and dst - listpack (2 ms) -[ok]: RPOPLPUSH with listpack source and existing target quicklist (45 ms) -[ok]: LMOVE left left with listpack source and existing target quicklist (44 ms) -[ok]: LMOVE left right with listpack source and existing target quicklist (58 ms) -[ok]: LMOVE right left with listpack source and existing target quicklist (46 ms) -[ok]: LMOVE right right with listpack source and existing target quicklist (53 ms) -[ok]: RPOPLPUSH with listpack source and existing target listpack (5 ms) -[ok]: LMOVE left left with listpack source and existing target listpack (3 ms) -[ok]: LMOVE left right with listpack source and existing target listpack (3 ms) -[ok]: LMOVE right left with listpack source and existing target listpack (3 ms) -[ok]: LMOVE right right with listpack source and existing target listpack (10 ms) -[ok]: RPOPLPUSH against non existing key (1 ms) -[ok]: RPOPLPUSH against non list src key (2 ms) -[ok]: RPOPLPUSH against non list dst key - quicklist (50 ms) -[ok]: RPOPLPUSH against non list dst key - listpack (2 ms) -[ok]: RPOPLPUSH against non existing src key (6 ms) -[ok]: Basic LPOP/RPOP/LMPOP - quicklist (90 ms) -[ok]: Basic LPOP/RPOP/LMPOP - listpack (8 ms) -[ok]: LPOP/RPOP/LMPOP against empty list (2 ms) -[ok]: LPOP/RPOP/LMPOP NON-BLOCK or BLOCK against non list value (8 ms) -[ok]: Mass RPOP/LPOP - listpack (177 ms) -[ok]: Mass RPOP/LPOP - listpack (295 ms) -[ok]: LMPOP with illegal argument (5 ms) -[ok]: LMPOP single existing list - quicklist (152 ms) -[ok]: LMPOP multiple existing lists - quicklist (726 ms) -[ok]: LMPOP single existing list - listpack (15 ms) -[ok]: LMPOP multiple existing lists - listpack (15 ms) -[ok]: LMPOP propagate as pop with count command to replica (70 ms) -[ok]: LRANGE basics - quicklist (56 ms) -[ok]: LRANGE inverted indexes - quicklist (54 ms) -[ok]: LRANGE out of range indexes including the full list - quicklist (43 ms) -[ok]: LRANGE out of range negative end index - quicklist (44 ms) -[ok]: LRANGE basics - listpack (12 ms) -[ok]: LRANGE inverted indexes - listpack (2 ms) -[ok]: LRANGE out of range indexes including the full list - listpack (8 ms) -[ok]: LRANGE out of range negative end index - listpack (9 ms) -[ok]: LRANGE against non existing key (0 ms) -[ok]: LRANGE with start > end yields an empty array for backward compatibility (3 ms) -[ok]: LTRIM basics - quicklist (588 ms) -[ok]: LTRIM out of range negative end index - quicklist (99 ms) -[ok]: LSET - quicklist (54 ms) -[ok]: LSET out of range index - quicklist (0 ms) -[ok]: LTRIM basics - listpack (50 ms) -[ok]: LTRIM out of range negative end index - listpack (8 ms) -[ok]: LSET - listpack (2 ms) -[ok]: LSET out of range index - listpack (1 ms) -[ok]: LSET against non existing key (0 ms) -[ok]: LSET against non list value (1 ms) -[ok]: LREM remove all the occurrences - quicklist (55 ms) -[ok]: LREM remove the first occurrence - quicklist (1 ms) -[ok]: LREM remove non existing element - quicklist (0 ms) -[ok]: LREM starting from tail with negative count - quicklist (60 ms) -[ok]: LREM starting from tail with negative count (2) - quicklist (1 ms) -[ok]: LREM deleting objects that may be int encoded - quicklist (53 ms) -[ok]: LREM remove all the occurrences - listpack (10 ms) -[ok]: LREM remove the first occurrence - listpack (1 ms) -[ok]: LREM remove non existing element - listpack (4 ms) -[ok]: LREM starting from tail with negative count - listpack (4 ms) -[ok]: LREM starting from tail with negative count (2) - listpack (4 ms) -[ok]: LREM deleting objects that may be int encoded - listpack (9 ms) -[ok]: Regression for bug 593 - chaining BRPOPLPUSH with other blocking cmds (42 ms) -[ok]: BLPOP/BLMOVE should increase dirty (25 ms) -[ok]: client unblock tests (28 ms) -[ok]: client unblock tests (29 ms) -[ok]: List listpack -> quicklist encoding conversion (7 ms) -[ok]: List listpack -> quicklist encoding conversion (190 ms) -[ok]: List quicklist -> listpack encoding conversion (248 ms) -[ok]: List encoding conversion when RDB loading (157 ms) -[ok]: List invalid list-max-listpack-size config (93 ms) -[ok]: List of various encodings (101 ms) -[ok]: List of various encodings - sanitize dump (10 ms) -[ok]: Unblock fairness is kept while pipelining (45 ms) -[ok]: Unblock fairness is kept during nested unblock (93 ms) -[ok]: Blocking command accounted only once in commandstats (29 ms) -[ok]: Blocking command accounted only once in commandstats after timeout (39 ms) -[ok]: Command being unblocked cause another command to get unblocked execution order test (147 ms) -[11/91 done]: unit/type/list (26 seconds) -Testing unit/type/list-2 -=== (list) Starting server 127.0.0.1:21179 ok -[ok]: LTRIM stress testing - quicklist (31485 ms) -[ok]: LTRIM stress testing - listpack (42769 ms) -[12/91 done]: unit/type/list-2 (75 seconds) -Testing unit/type/list-3 -=== (list ziplist) Starting server 127.0.0.1:21181 ok -[ok]: Explicit regression for a list bug (1 ms) -[ok]: Regression for quicklist #3343 bug (134 ms) -[ok]: Check compression with recompress (95 ms) -[ok]: Crash due to wrongly recompress after lrem (231 ms) -[ok]: LINSERT correctly recompress full quicklistNode after inserting a element before it (48 ms) -[ok]: LINSERT correctly recompress full quicklistNode after inserting a element after it (49 ms) -[ok]: Stress tester for #3343-alike bugs comp: 2 (11885 ms) -[ok]: Stress tester for #3343-alike bugs comp: 1 (12068 ms) -[ok]: Stress tester for #3343-alike bugs comp: 0 (10532 ms) -[ok]: ziplist implementation: value encoding and backlink (12220 ms) -[ok]: ziplist implementation: encoding stress testing (40516 ms) -[13/91 done]: unit/type/list-3 (88 seconds) -Testing unit/type/set -=== (set) Starting server 127.0.0.1:21183 ok -[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - listpack (7 ms) -[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - hashtable (40 ms) -[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - intset (3 ms) -[ok]: SMISMEMBER SMEMBERS SCARD against non set (1 ms) -[ok]: SMISMEMBER SMEMBERS SCARD against non existing key (1 ms) -[ok]: SMISMEMBER requires one or more members (5 ms) -[ok]: SADD against non set (1 ms) -[ok]: SADD a non-integer against a small intset (1 ms) -[ok]: SADD a non-integer against a large intset (22 ms) -[ok]: SADD an integer larger than 64 bits (1 ms) -[ok]: SADD an integer larger than 64 bits to a large intset (23 ms) -[ok]: SADD overflows the maximum allowed integers in an intset - single (171 ms) -[ok]: SADD overflows the maximum allowed elements in a listpack - single (46 ms) -[ok]: SADD overflows the maximum allowed integers in an intset - multiple (46 ms) -[ok]: SADD overflows the maximum allowed elements in a listpack - multiple (2 ms) -[ok]: SADD overflows the maximum allowed integers in an intset - single_multiple (46 ms) -[ok]: SADD overflows the maximum allowed elements in a listpack - single_multiple (2 ms) -[ok]: Variadic SADD (5 ms) -[ok]: Set encoding after DEBUG RELOAD (458 ms) -[ok]: SREM basics - $type (1 ms) -[ok]: SREM basics - $type (59 ms) -[ok]: SREM basics - intset (2 ms) -[ok]: SREM with multiple arguments (1 ms) -[ok]: SREM variadic version with more args needed to destroy the key (6 ms) -[ok]: SINTERCARD with illegal arguments (8 ms) -[ok]: SINTERCARD against non-set should throw error (1 ms) -[ok]: SINTERCARD against non-existing key (0 ms) -[ok]: Generated sets must be encoded correctly - regular (4 ms) -[ok]: SINTER with two sets - regular (1 ms) -[ok]: SINTERCARD with two sets - regular (1 ms) -[ok]: SINTERSTORE with two sets - regular (0 ms) -[ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - regular (10 ms) -[ok]: SUNION with two sets - regular (14 ms) -[ok]: SUNIONSTORE with two sets - regular (29 ms) -[ok]: SINTER against three sets - regular (6 ms) -[ok]: SINTERCARD against three sets - regular (4 ms) -[ok]: SINTERSTORE with three sets - regular (0 ms) -[ok]: SUNION with non existing keys - regular (23 ms) -[ok]: SDIFF with two sets - regular (4 ms) -[ok]: SDIFF with three sets - regular (0 ms) -[ok]: SDIFFSTORE with three sets - regular (7 ms) -[ok]: SINTER/SUNION/SDIFF with three same sets - regular (23 ms) -[ok]: Generated sets must be encoded correctly - intset (1 ms) -[ok]: SINTER with two sets - intset (0 ms) -[ok]: SINTERCARD with two sets - intset (1 ms) -[ok]: SINTERSTORE with two sets - intset (0 ms) -[ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - intset (14 ms) -[ok]: SUNION with two sets - intset (16 ms) -[ok]: SUNIONSTORE with two sets - intset (18 ms) -[ok]: SINTER against three sets - intset (1 ms) -[ok]: SINTERCARD against three sets - intset (1 ms) -[ok]: SINTERSTORE with three sets - intset (1 ms) -[ok]: SUNION with non existing keys - intset (21 ms) -[ok]: SDIFF with two sets - intset (0 ms) -[ok]: SDIFF with three sets - intset (1 ms) -[ok]: SDIFFSTORE with three sets - intset (1 ms) -[ok]: SINTER/SUNION/SDIFF with three same sets - intset (12 ms) -[ok]: SINTERSTORE with two listpack sets where result is intset (2 ms) -[ok]: SINTERSTORE with two hashtable sets where result is intset (111 ms) -[ok]: SUNION hashtable and listpack (6 ms) -[ok]: SDIFF with first set empty (9 ms) -[ok]: SDIFF with same set two times (1 ms) -[ok]: SDIFF fuzzing (27012 ms) -[ok]: SDIFF against non-set should throw error (11 ms) -[ok]: SDIFF should handle non existing key as empty (1 ms) -[ok]: SDIFFSTORE against non-set should throw error (7 ms) -[ok]: SDIFFSTORE should handle non existing key as empty (11 ms) -[ok]: SINTER against non-set should throw error (2 ms) -[ok]: SINTER should handle non existing key as empty (1 ms) -[ok]: SINTER with same integer elements but different encoding (6 ms) -[ok]: SINTERSTORE against non-set should throw error (10 ms) -[ok]: SINTERSTORE against non existing keys should delete dstkey (3 ms) -[ok]: SUNION against non-set should throw error (1 ms) -[ok]: SUNION should handle non existing key as empty (1 ms) -[ok]: SUNIONSTORE against non-set should throw error (8 ms) -[ok]: SUNIONSTORE should handle non existing key as empty (3 ms) -[ok]: SUNIONSTORE against non existing keys should delete dstkey (0 ms) -[ok]: SPOP basics - listpack (6 ms) -[ok]: SPOP with =1 - listpack (1 ms) -[ok]: SRANDMEMBER - listpack (28 ms) -[ok]: SPOP basics - intset (2 ms) -[ok]: SPOP with =1 - intset (2 ms) -[ok]: SRANDMEMBER - intset (15 ms) -[ok]: SPOP integer from listpack set (2 ms) -[ok]: SPOP with - listpack (7 ms) -[ok]: SPOP with - intset (5 ms) -[ok]: SPOP with - hashtable (7 ms) -[ok]: SPOP using integers, testing Knuth's and Floyd's algorithm (6 ms) -[ok]: SPOP using integers with Knuth's algorithm (0 ms) -[ok]: SPOP new implementation: code path #1 intset (4 ms) -[ok]: SPOP new implementation: code path #2 intset (4 ms) -[ok]: SPOP new implementation: code path #3 intset (4 ms) -[ok]: SPOP new implementation: code path #1 listpack (14 ms) -[ok]: SPOP new implementation: code path #2 listpack (5 ms) -[ok]: SPOP new implementation: code path #3 listpack (5 ms) -[ok]: SPOP new implementation: code path #1 propagate as DEL or UNLINK (61 ms) -[ok]: SRANDMEMBER count of 0 is handled correctly (0 ms) -[ok]: SRANDMEMBER with against non existing key (0 ms) -[ok]: SRANDMEMBER count overflow (1 ms) -[ok]: SRANDMEMBER count of 0 is handled correctly - emptyarray (0 ms) -[ok]: SRANDMEMBER with against non existing key - emptyarray (0 ms) -[ok]: SRANDMEMBER with - listpack (138 ms) -[ok]: SRANDMEMBER with - intset (97 ms) -[ok]: SRANDMEMBER with - hashtable (111 ms) -[ok]: SRANDMEMBER histogram distribution - listpack (479 ms) -[ok]: SRANDMEMBER histogram distribution - intset (336 ms) -[ok]: SRANDMEMBER histogram distribution - hashtable (308 ms) - -Waiting for background save to finish... Hash table 0 stats (main hash table): - table size: 4096 - number of elements: 499 - different slots: 21 - max chain length: 31 - avg chain length (counted): 23.76 - avg chain length (computed): 23.76 - Chain length distribution: - 0: 4075 (99.49%) - 12: 1 (0.02%) - 13: 1 (0.02%) - 18: 2 (0.05%) - 20: 2 (0.05%) - 22: 2 (0.05%) - 23: 1 (0.02%) - 25: 2 (0.05%) - 26: 2 (0.05%) - 27: 2 (0.05%) - 28: 2 (0.05%) - 29: 2 (0.05%) - 30: 1 (0.02%) - 31: 1 (0.02%) - - -Waiting for background save to finish... -Waiting for background save to finish... [ok]: SRANDMEMBER with a dict containing long chain (60018 ms) -[ok]: SMOVE basics - from regular set to intset (13 ms) -[ok]: SMOVE basics - from intset to regular set (3 ms) -[ok]: SMOVE non existing key (8 ms) -[ok]: SMOVE non existing src set (2 ms) -[ok]: SMOVE from regular set to non existing destination set (8 ms) -[ok]: SMOVE from intset to non existing destination set (2 ms) -[ok]: SMOVE wrong src key type (1 ms) -[ok]: SMOVE wrong dst key type (4 ms) -[ok]: SMOVE with identical source and destination (0 ms) -[ok]: SMOVE only notify dstset when the addition is successful (27 ms) -[ok]: intsets implementation stress testing (5510 ms) -=== () Starting server 127.0.0.1:21185 ok -[ignore]: SADD, SCARD, SISMEMBER - large data: large memory flag not provided -[14/91 done]: unit/type/set (97 seconds) -Testing unit/type/zset -=== (zset) Starting server 127.0.0.1:21187 ok -[ok]: Check encoding - listpack (4 ms) -[ok]: ZSET basic ZADD and score update - listpack (1 ms) -[ok]: ZSET element can't be set to NaN with ZADD - listpack (1 ms) -[ok]: ZSET element can't be set to NaN with ZINCRBY - listpack (0 ms) -[ok]: ZADD with options syntax error with incomplete pair - listpack (1 ms) -[ok]: ZADD XX option without key - listpack (1 ms) -[ok]: ZADD XX existing key - listpack (4 ms) -[ok]: ZADD XX returns the number of elements actually added - listpack (1 ms) -[ok]: ZADD XX updates existing elements score - listpack (2 ms) -[ok]: ZADD GT updates existing elements when new scores are greater - listpack (5 ms) -[ok]: ZADD LT updates existing elements when new scores are lower - listpack (1 ms) -[ok]: ZADD GT XX updates existing elements when new scores are greater and skips new elements - listpack (7 ms) -[ok]: ZADD LT XX updates existing elements when new scores are lower and skips new elements - listpack (1 ms) -[ok]: ZADD XX and NX are not compatible - listpack (0 ms) -[ok]: ZADD NX with non existing key - listpack (1 ms) -[ok]: ZADD NX only add new elements without updating old ones - listpack (2 ms) -[ok]: ZADD GT and NX are not compatible - listpack (6 ms) -[ok]: ZADD LT and NX are not compatible - listpack (0 ms) -[ok]: ZADD LT and GT are not compatible - listpack (1 ms) -[ok]: ZADD INCR LT/GT replies with nill if score not updated - listpack (1 ms) -[ok]: ZADD INCR LT/GT with inf - listpack (9 ms) -[ok]: ZADD INCR works like ZINCRBY - listpack (1 ms) -[ok]: ZADD INCR works with a single score-elemenet pair - listpack (0 ms) -[ok]: ZADD CH option changes return value to all changed elements - listpack (2 ms) -[ok]: ZINCRBY calls leading to NaN result in error - listpack (0 ms) -[ok]: ZINCRBY against invalid incr value - listpack (1 ms) -[ok]: ZADD - Variadic version base case - listpack (7 ms) -[ok]: ZADD - Return value is the number of actually added items - listpack (1 ms) -[ok]: ZADD - Variadic version does not add nothing on single parsing err - listpack (1 ms) -[ok]: ZADD - Variadic version will raise error on missing arg - listpack (0 ms) -[ok]: ZINCRBY does not work variadic even if shares ZADD implementation - listpack (1 ms) -[ok]: ZCARD basics - listpack (1 ms) -[ok]: ZREM removes key after last element is removed - listpack (2 ms) -[ok]: ZREM variadic version - listpack (6 ms) -[ok]: ZREM variadic version -- remove elements after key deletion - listpack (1 ms) -[ok]: ZRANGE basics - listpack (8 ms) -[ok]: ZREVRANGE basics - listpack (9 ms) -[ok]: ZRANK/ZREVRANK basics - listpack (13 ms) -[ok]: ZRANK - after deletion - listpack (1 ms) -[ok]: ZINCRBY - can create a new sorted set - listpack (1 ms) -[ok]: ZINCRBY - increment and decrement - listpack (2 ms) -[ok]: ZINCRBY return value - listpack (1 ms) -[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - listpack (21 ms) -[ok]: ZRANGEBYSCORE with WITHSCORES - listpack (6 ms) -[ok]: ZRANGEBYSCORE with LIMIT - listpack (17 ms) -[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - listpack (2 ms) -[ok]: ZRANGEBYSCORE with non-value min or max - listpack (1 ms) -[ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - listpack (6 ms) -[ok]: ZLEXCOUNT advanced - listpack (4 ms) -[ok]: ZRANGEBYLEX with LIMIT - listpack (9 ms) -[ok]: ZRANGEBYLEX with invalid lex range specifiers - listpack (2 ms) -[ok]: ZREMRANGEBYSCORE basics - listpack (20 ms) -[ok]: ZREMRANGEBYSCORE with non-value min or max - listpack (1 ms) -[ok]: ZREMRANGEBYRANK basics - listpack (9 ms) -[ok]: ZREMRANGEBYLEX basics - listpack (24 ms) -[ok]: ZUNIONSTORE against non-existing key doesn't set destination - listpack (1 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF against non-existing key - listpack (1 ms) -[ok]: ZUNIONSTORE with empty set - listpack (1 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - listpack (1 ms) -[ok]: ZUNIONSTORE basics - listpack (2 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - listpack (3 ms) -[ok]: ZUNIONSTORE with weights - listpack (1 ms) -[ok]: ZUNION with weights - listpack (1 ms) -[ok]: ZUNIONSTORE with a regular set and weights - listpack (1 ms) -[ok]: ZUNIONSTORE with AGGREGATE MIN - listpack (1 ms) -[ok]: ZUNION/ZINTER with AGGREGATE MIN - listpack (1 ms) -[ok]: ZUNIONSTORE with AGGREGATE MAX - listpack (1 ms) -[ok]: ZUNION/ZINTER with AGGREGATE MAX - listpack (1 ms) -[ok]: ZINTERSTORE basics - listpack (1 ms) -[ok]: ZINTER basics - listpack (0 ms) -[ok]: ZINTERCARD with illegal arguments (2 ms) -[ok]: ZINTERCARD basics - listpack (1 ms) -[ok]: ZINTER RESP3 - listpack (2 ms) -[ok]: ZINTERSTORE with weights - listpack (1 ms) -[ok]: ZINTER with weights - listpack (0 ms) -[ok]: ZINTERSTORE with a regular set and weights - listpack (1 ms) -[ok]: ZINTERSTORE with AGGREGATE MIN - listpack (1 ms) -[ok]: ZINTERSTORE with AGGREGATE MAX - listpack (1 ms) -[ok]: ZUNIONSTORE with +inf/-inf scores - listpack (11 ms) -[ok]: ZUNIONSTORE with NaN weights - listpack (1 ms) -[ok]: ZINTERSTORE with +inf/-inf scores - listpack (5 ms) -[ok]: ZINTERSTORE with NaN weights - listpack (0 ms) -[ok]: ZDIFFSTORE basics - listpack (1 ms) -[ok]: ZDIFF basics - listpack (0 ms) -[ok]: ZDIFFSTORE with a regular set - listpack (10 ms) -[ok]: ZDIFF subtracting set from itself - listpack (0 ms) -[ok]: ZDIFF algorithm 1 - listpack (2 ms) -[ok]: ZDIFF algorithm 2 - listpack (2 ms) -[ok]: ZDIFF fuzzing - listpack (20262 ms) -[ok]: ZPOPMIN with the count 0 returns an empty array (1 ms) -[ok]: ZPOPMIN with negative count (2 ms) -[ok]: ZPOPMAX with the count 0 returns an empty array (1 ms) -[ok]: ZPOPMAX with negative count (1 ms) -[ok]: Basic ZPOPMIN/ZPOPMAX with a single key - listpack (3 ms) -[ok]: ZPOPMIN/ZPOPMAX with count - listpack (2 ms) -[ok]: Basic ZMPOP_MIN/ZMPOP_MAX with a single key - listpack (4 ms) -[ok]: ZMPOP_MIN/ZMPOP_MAX with count - listpack (5 ms) -[ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - listpack (22 ms) -[ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - listpack (24 ms) -[ok]: BZPOPMIN/BZPOPMAX second sorted set has members - listpack (28 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - listpack (18 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - listpack (27 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - listpack (19 ms) -[ok]: Basic ZPOPMIN/ZPOPMAX - listpack RESP3 (2 ms) -[ok]: ZPOPMIN/ZPOPMAX with count - listpack RESP3 (8 ms) -[ok]: Basic ZMPOP_MIN/ZMPOP_MAX - listpack RESP3 (2 ms) -[ok]: ZMPOP_MIN/ZMPOP_MAX with count - listpack RESP3 (2 ms) -[ok]: BZPOPMIN/BZPOPMAX - listpack RESP3 (23 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX - listpack RESP3 (29 ms) -[ok]: Check encoding - skiplist (0 ms) -[ok]: ZSET basic ZADD and score update - skiplist (2 ms) -[ok]: ZSET element can't be set to NaN with ZADD - skiplist (0 ms) -[ok]: ZSET element can't be set to NaN with ZINCRBY - skiplist (0 ms) -[ok]: ZADD with options syntax error with incomplete pair - skiplist (0 ms) -[ok]: ZADD XX option without key - skiplist (0 ms) -[ok]: ZADD XX existing key - skiplist (0 ms) -[ok]: ZADD XX returns the number of elements actually added - skiplist (0 ms) -[ok]: ZADD XX updates existing elements score - skiplist (1 ms) -[ok]: ZADD GT updates existing elements when new scores are greater - skiplist (2 ms) -[ok]: ZADD LT updates existing elements when new scores are lower - skiplist (1 ms) -[ok]: ZADD GT XX updates existing elements when new scores are greater and skips new elements - skiplist (1 ms) -[ok]: ZADD LT XX updates existing elements when new scores are lower and skips new elements - skiplist (2 ms) -[ok]: ZADD XX and NX are not compatible - skiplist (1 ms) -[ok]: ZADD NX with non existing key - skiplist (1 ms) -[ok]: ZADD NX only add new elements without updating old ones - skiplist (1 ms) -[ok]: ZADD GT and NX are not compatible - skiplist (0 ms) -[ok]: ZADD LT and NX are not compatible - skiplist (1 ms) -[ok]: ZADD LT and GT are not compatible - skiplist (1 ms) -[ok]: ZADD INCR LT/GT replies with nill if score not updated - skiplist (1 ms) -[ok]: ZADD INCR LT/GT with inf - skiplist (4 ms) -[ok]: ZADD INCR works like ZINCRBY - skiplist (1 ms) -[ok]: ZADD INCR works with a single score-elemenet pair - skiplist (1 ms) -[ok]: ZADD CH option changes return value to all changed elements - skiplist (1 ms) -[ok]: ZINCRBY calls leading to NaN result in error - skiplist (1 ms) -[ok]: ZINCRBY against invalid incr value - skiplist (1 ms) -[ok]: ZADD - Variadic version base case - skiplist (1 ms) -[ok]: ZADD - Return value is the number of actually added items - skiplist (1 ms) -[ok]: ZADD - Variadic version does not add nothing on single parsing err - skiplist (1 ms) -[ok]: ZADD - Variadic version will raise error on missing arg - skiplist (0 ms) -[ok]: ZINCRBY does not work variadic even if shares ZADD implementation - skiplist (0 ms) -[ok]: ZCARD basics - skiplist (1 ms) -[ok]: ZREM removes key after last element is removed - skiplist (2 ms) -[ok]: ZREM variadic version - skiplist (1 ms) -[ok]: ZREM variadic version -- remove elements after key deletion - skiplist (0 ms) -[ok]: ZRANGE basics - skiplist (3 ms) -[ok]: ZREVRANGE basics - skiplist (3 ms) -[ok]: ZRANK/ZREVRANK basics - skiplist (4 ms) -[ok]: ZRANK - after deletion - skiplist (2 ms) -[ok]: ZINCRBY - can create a new sorted set - skiplist (1 ms) -[ok]: ZINCRBY - increment and decrement - skiplist (2 ms) -[ok]: ZINCRBY return value - skiplist (0 ms) -[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - skiplist (7 ms) -[ok]: ZRANGEBYSCORE with WITHSCORES - skiplist (2 ms) -[ok]: ZRANGEBYSCORE with LIMIT - skiplist (18 ms) -[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - skiplist (20 ms) -[ok]: ZRANGEBYSCORE with non-value min or max - skiplist (1 ms) -[ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - skiplist (31 ms) -[ok]: ZLEXCOUNT advanced - skiplist (9 ms) -[ok]: ZRANGEBYLEX with LIMIT - skiplist (27 ms) -[ok]: ZRANGEBYLEX with invalid lex range specifiers - skiplist (1 ms) -[ok]: ZREMRANGEBYSCORE basics - skiplist (55 ms) -[ok]: ZREMRANGEBYSCORE with non-value min or max - skiplist (1 ms) -[ok]: ZREMRANGEBYRANK basics - skiplist (34 ms) -[ok]: ZREMRANGEBYLEX basics - skiplist (70 ms) -[ok]: ZUNIONSTORE against non-existing key doesn't set destination - skiplist (1 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF against non-existing key - skiplist (1 ms) -[ok]: ZUNIONSTORE with empty set - skiplist (1 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - skiplist (6 ms) -[ok]: ZUNIONSTORE basics - skiplist (2 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - skiplist (5 ms) -[ok]: ZUNIONSTORE with weights - skiplist (1 ms) -[ok]: ZUNION with weights - skiplist (1 ms) -[ok]: ZUNIONSTORE with a regular set and weights - skiplist (1 ms) -[ok]: ZUNIONSTORE with AGGREGATE MIN - skiplist (1 ms) -[ok]: ZUNION/ZINTER with AGGREGATE MIN - skiplist (1 ms) -[ok]: ZUNIONSTORE with AGGREGATE MAX - skiplist (1 ms) -[ok]: ZUNION/ZINTER with AGGREGATE MAX - skiplist (1 ms) -[ok]: ZINTERSTORE basics - skiplist (1 ms) -[ok]: ZINTER basics - skiplist (0 ms) -[ok]: ZINTERCARD with illegal arguments (2 ms) -[ok]: ZINTERCARD basics - skiplist (1 ms) -[ok]: ZINTER RESP3 - skiplist (1 ms) -[ok]: ZINTERSTORE with weights - skiplist (1 ms) -[ok]: ZINTER with weights - skiplist (0 ms) -[ok]: ZINTERSTORE with a regular set and weights - skiplist (1 ms) -[ok]: ZINTERSTORE with AGGREGATE MIN - skiplist (0 ms) -[ok]: ZINTERSTORE with AGGREGATE MAX - skiplist (0 ms) -[ok]: ZUNIONSTORE with +inf/-inf scores - skiplist (3 ms) -[ok]: ZUNIONSTORE with NaN weights - skiplist (1 ms) -[ok]: ZINTERSTORE with +inf/-inf scores - skiplist (2 ms) -[ok]: ZINTERSTORE with NaN weights - skiplist (1 ms) -[ok]: ZDIFFSTORE basics - skiplist (1 ms) -[ok]: ZDIFF basics - skiplist (0 ms) -[ok]: ZDIFFSTORE with a regular set - skiplist (1 ms) -[ok]: ZDIFF subtracting set from itself - skiplist (0 ms) -[ok]: ZDIFF algorithm 1 - skiplist (1 ms) -[ok]: ZDIFF algorithm 2 - skiplist (1 ms) -[ok]: ZDIFF fuzzing - skiplist (21192 ms) -[ok]: ZPOPMIN with the count 0 returns an empty array (1 ms) -[ok]: ZPOPMIN with negative count (2 ms) -[ok]: ZPOPMAX with the count 0 returns an empty array (1 ms) -[ok]: ZPOPMAX with negative count (4 ms) -[ok]: Basic ZPOPMIN/ZPOPMAX with a single key - skiplist (7 ms) -[ok]: ZPOPMIN/ZPOPMAX with count - skiplist (1 ms) -[ok]: Basic ZMPOP_MIN/ZMPOP_MAX with a single key - skiplist (3 ms) -[ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist (6 ms) -[ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - skiplist (26 ms) -[ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - skiplist (27 ms) -[ok]: BZPOPMIN/BZPOPMAX second sorted set has members - skiplist (27 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - skiplist (18 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - skiplist (14 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - skiplist (13 ms) -[ok]: Basic ZPOPMIN/ZPOPMAX - skiplist RESP3 (1 ms) -[ok]: ZPOPMIN/ZPOPMAX with count - skiplist RESP3 (1 ms) -[ok]: Basic ZMPOP_MIN/ZMPOP_MAX - skiplist RESP3 (2 ms) -[ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist RESP3 (2 ms) -[ok]: BZPOPMIN/BZPOPMAX - skiplist RESP3 (14 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX - skiplist RESP3 (13 ms) -[ok]: ZPOP/ZMPOP against wrong type (3 ms) -[ok]: ZMPOP with illegal argument (7 ms) -[ok]: ZMPOP propagate as pop with count command to replica (134 ms) -[ok]: ZPOPMIN/ZPOPMAX readraw in RESP3 (9 ms) -[ok]: BZPOPMIN/BZPOPMAX readraw in RESP3 (141 ms) -[ok]: ZMPOP readraw in RESP3 (3 ms) -[ok]: BZMPOP readraw in RESP3 (190 ms) -[ok]: ZPOPMIN/ZPOPMAX readraw in RESP2 (2 ms) -[ok]: BZPOPMIN/BZPOPMAX readraw in RESP2 (172 ms) -[ok]: ZMPOP readraw in RESP2 (3 ms) -[ok]: BZMPOP readraw in RESP2 (179 ms) -[ok]: ZINTERSTORE regression with two sets, intset+hashtable (7 ms) -[ok]: ZUNIONSTORE regression, should not create NaN in scores (4 ms) -[ok]: ZINTERSTORE #516 regression, mixed sets and ziplist zsets (4 ms) -[ok]: ZUNIONSTORE result is sorted (226 ms) -[ok]: ZUNIONSTORE/ZINTERSTORE/ZDIFFSTORE error if using WITHSCORES (20 ms) -[ok]: ZMSCORE retrieve (20 ms) -[ok]: ZMSCORE retrieve from empty set (1 ms) -[ok]: ZMSCORE retrieve with missing member (1 ms) -[ok]: ZMSCORE retrieve single member (0 ms) -[ok]: ZMSCORE retrieve requires one or more members (8 ms) -[ok]: ZSET commands don't accept the empty strings as valid score (8 ms) -[ok]: zunionInterDiffGenericCommand at least 1 input key (10 ms) -[ok]: ZSCORE - listpack (198 ms) -[ok]: ZMSCORE - listpack (250 ms) -[ok]: ZSCORE after a DEBUG RELOAD - listpack (837 ms) -[ok]: ZSET sorting stresser - listpack (152 ms) -[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 128 element sorted set - listpack (12851 ms) -[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (606 ms) -[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (1100 ms) -[ok]: ZSETs skiplist implementation backlink consistency test - listpack (132 ms) -[ok]: ZSETs ZRANK augmented skip list stress testing - listpack (5774 ms) -[ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (44 ms) -[ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (47 ms) -[ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (37 ms) -[ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (41 ms) -[ok]: BZPOPMIN unblock but the key is expired and then block again - reprocessing command (1060 ms) -[ok]: BZPOPMIN with same key multiple times should work (41 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (39 ms) -[ok]: BZPOPMIN with variadic ZADD (139 ms) -[ok]: BZPOPMIN with zero timeout should block indefinitely (1067 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (68 ms) -[ok]: BZMPOP_MIN with variadic ZADD (48 ms) -[ok]: BZMPOP_MIN with zero timeout should block indefinitely (1060 ms) -[ok]: ZSCORE - skiplist (179 ms) -[ok]: ZMSCORE - skiplist (165 ms) -[ok]: ZSCORE after a DEBUG RELOAD - skiplist (168 ms) -[ok]: ZSET sorting stresser - skiplist (142 ms) -[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 100 element sorted set - skiplist (12343 ms) -[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (426 ms) -[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (849 ms) -[ok]: ZSETs skiplist implementation backlink consistency test - skiplist (62 ms) -[ok]: ZSETs ZRANK augmented skip list stress testing - skiplist (3825 ms) -[ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (24 ms) -[ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (13 ms) -[ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (13 ms) -[ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (43 ms) -[ok]: BZPOPMIN unblock but the key is expired and then block again - reprocessing command (1047 ms) -[ok]: BZPOPMIN with same key multiple times should work (33 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (30 ms) -[ok]: BZPOPMIN with variadic ZADD (17 ms) -[ok]: BZPOPMIN with zero timeout should block indefinitely (1039 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (41 ms) -[ok]: BZMPOP_MIN with variadic ZADD (67 ms) -[ok]: BZMPOP_MIN with zero timeout should block indefinitely (1065 ms) -[ok]: BZPOP/BZMPOP against wrong type (20 ms) -[ok]: BZMPOP with illegal argument (4 ms) -[ok]: BZMPOP with multiple blocked clients (174 ms) -[ok]: BZMPOP propagate as pop with count command to replica (246 ms) -[ok]: BZMPOP should not blocks on non key arguments - #10762 (106 ms) -[ok]: ZSET skiplist order consistency when elements are moved (4517 ms) -[ok]: ZRANGESTORE basic (1 ms) -[ok]: ZRANGESTORE RESP3 (1 ms) -[ok]: ZRANGESTORE range (1 ms) -[ok]: ZRANGESTORE BYLEX (1 ms) -[ok]: ZRANGESTORE BYSCORE (1 ms) -[ok]: ZRANGESTORE BYSCORE LIMIT (0 ms) -[ok]: ZRANGESTORE BYSCORE REV LIMIT (0 ms) -[ok]: ZRANGE BYSCORE REV LIMIT (1 ms) -[ok]: ZRANGESTORE - src key missing (0 ms) -[ok]: ZRANGESTORE - src key wrong type (1 ms) -[ok]: ZRANGESTORE - empty range (0 ms) -[ok]: ZRANGESTORE BYLEX - empty range (1 ms) -[ok]: ZRANGESTORE BYSCORE - empty range (0 ms) -[ok]: ZRANGE BYLEX (0 ms) -[ok]: ZRANGESTORE invalid syntax (0 ms) -[ok]: ZRANGESTORE with zset-max-listpack-entries 0 #10767 case (2 ms) -[ok]: ZRANGESTORE with zset-max-listpack-entries 1 dst key should use skiplist encoding (2 ms) -[ok]: ZRANGE invalid syntax (1 ms) -[ok]: ZRANDMEMBER - listpack (30 ms) -[ok]: ZRANDMEMBER - skiplist (20 ms) -[ok]: ZRANDMEMBER with RESP3 (1 ms) -[ok]: ZRANDMEMBER count of 0 is handled correctly (0 ms) -[ok]: ZRANDMEMBER with against non existing key (0 ms) -[ok]: ZRANDMEMBER count overflow (1 ms) -[ok]: ZRANDMEMBER count of 0 is handled correctly - emptyarray (0 ms) -[ok]: ZRANDMEMBER with against non existing key - emptyarray (0 ms) -[ok]: ZRANDMEMBER with - skiplist (1141 ms) -[ok]: ZRANDMEMBER with - listpack (1392 ms) -[ok]: zset score double range (1 ms) -[ok]: zunionInterDiffGenericCommand acts on SET and ZSET (96 ms) -[ok]: ZADD overflows the maximum allowed elements in a listpack - single (32 ms) -[ok]: ZADD overflows the maximum allowed elements in a listpack - multiple (10 ms) -[ok]: ZADD overflows the maximum allowed elements in a listpack - single_multiple (9 ms) -[15/91 done]: unit/type/zset (100 seconds) -Testing unit/type/hash -=== (hash) Starting server 127.0.0.1:21189 ok -[ok]: HSET/HLEN - Small hash creation (2 ms) -[ok]: Is the small hash encoded with a listpack? (1 ms) -[ok]: HRANDFIELD - listpack (15 ms) -[ok]: HRANDFIELD - hashtable (14 ms) -[ok]: HRANDFIELD with RESP3 (1 ms) -[ok]: HRANDFIELD count of 0 is handled correctly (1 ms) -[ok]: HRANDFIELD count overflow (1 ms) -[ok]: HRANDFIELD with against non existing key (0 ms) -[ok]: HRANDFIELD count of 0 is handled correctly - emptyarray (0 ms) -[ok]: HRANDFIELD with against non existing key - emptyarray (1 ms) -[ok]: HRANDFIELD with - hashtable (256 ms) -[ok]: HRANDFIELD with - listpack (838 ms) -[ok]: HSET/HLEN - Big hash creation (657 ms) -[ok]: Is the big hash encoded with an hash table? (1 ms) -[ok]: HGET against the small hash (2 ms) -[ok]: HGET against the big hash (565 ms) -[ok]: HGET against non existing key (1 ms) -[ok]: HSET in update and insert mode (16 ms) -[ok]: HSETNX target key missing - small hash (1 ms) -[ok]: HSETNX target key exists - small hash (1 ms) -[ok]: HSETNX target key missing - big hash (0 ms) -[ok]: HSETNX target key exists - big hash (3 ms) -[ok]: HSET/HMSET wrong number of args (1 ms) -[ok]: HMSET - small hash (6 ms) -[ok]: HMSET - big hash (104 ms) -[ok]: HMGET against non existing key and fields (19 ms) -[ok]: Hash commands against wrong type (12 ms) -[ok]: HMGET - small hash (1 ms) -[ok]: HMGET - big hash (109 ms) -[ok]: HKEYS - small hash (1 ms) -[ok]: HKEYS - big hash (51 ms) -[ok]: HVALS - small hash (1 ms) -[ok]: HVALS - big hash (3 ms) -[ok]: HGETALL - small hash (0 ms) -[ok]: HGETALL - big hash (134 ms) -[ok]: HGETALL against non-existing key (4 ms) -[ok]: HDEL and return value (5 ms) -[ok]: HDEL - more than a single value (1 ms) -[ok]: HDEL - hash becomes empty before deleting all specified fields (5 ms) -[ok]: HEXISTS (8 ms) -[ok]: Is a ziplist encoded Hash promoted on big payload? (2 ms) -[ok]: HINCRBY against non existing database key (5 ms) -[ok]: HINCRBY HINCRBYFLOAT against non-integer increment value (2 ms) -[ok]: HINCRBY against non existing hash key (1 ms) -[ok]: HINCRBY against hash key created by hincrby itself (1 ms) -[ok]: HINCRBY against hash key originally set with HSET (1 ms) -[ok]: HINCRBY over 32bit value (10 ms) -[ok]: HINCRBY over 32bit value with over 32bit increment (1 ms) -[ok]: HINCRBY fails against hash value with spaces (left) (1 ms) -[ok]: HINCRBY fails against hash value with spaces (right) (1 ms) -[ok]: HINCRBY can detect overflows (1 ms) -[ok]: HINCRBYFLOAT against non existing database key (1 ms) -[ok]: HINCRBYFLOAT against non existing hash key (5 ms) -[ok]: HINCRBYFLOAT against hash key created by hincrby itself (1 ms) -[ok]: HINCRBYFLOAT against hash key originally set with HSET (2 ms) -[ok]: HINCRBYFLOAT over 32bit value (1 ms) -[ok]: HINCRBYFLOAT over 32bit value with over 32bit increment (11 ms) -[ok]: HINCRBYFLOAT fails against hash value with spaces (left) (2 ms) -[ok]: HINCRBYFLOAT fails against hash value with spaces (right) (1 ms) -[ok]: HINCRBYFLOAT fails against hash value that contains a null-terminator in the middle (0 ms) -[ok]: HSTRLEN against the small hash (7 ms) -[ok]: HSTRLEN against the big hash (611 ms) -[ok]: HSTRLEN against non existing field (1 ms) -[ok]: HSTRLEN corner cases (17 ms) -[ok]: HINCRBYFLOAT over hash-max-listpack-value encoded with a listpack (17 ms) -[ok]: Hash ziplist regression test for large keys (11 ms) -[ok]: Hash fuzzing #1 - 10 fields (159 ms) -[ok]: Hash fuzzing #2 - 10 fields (139 ms) -[ok]: Hash fuzzing #1 - 512 fields (9226 ms) -[ok]: Hash fuzzing #2 - 512 fields (3199 ms) -[ok]: Stress test the hash ziplist -> hashtable encoding conversion (5358 ms) -[ok]: Test HINCRBYFLOAT for correct float representation (issue #2846) (5 ms) -[ok]: Hash ziplist of various encodings (103 ms) -[ok]: Hash ziplist of various encodings - sanitize dump (15 ms) -[ok]: HINCRBYFLOAT does not allow NaN or Infinity (7 ms) -[16/91 done]: unit/type/hash (22 seconds) -Testing unit/type/stream -=== (stream) Starting server 127.0.0.1:21191 ok -[ok]: XADD wrong number of args (1 ms) -[ok]: XADD can add entries into a stream that XRANGE can fetch (5 ms) -[ok]: XADD IDs are incremental (2 ms) -[ok]: XADD IDs are incremental when ms is the same as well (1 ms) -[ok]: XADD IDs correctly report an error when overflowing (1 ms) -[ok]: XADD auto-generated sequence is incremented for last ID (0 ms) -[ok]: XADD auto-generated sequence is zero for future timestamp ID (1 ms) -[ok]: XADD auto-generated sequence can't be smaller than last ID (1 ms) -[ok]: XADD auto-generated sequence can't overflow (1 ms) -[ok]: XADD 0-* should succeed (1 ms) -[ok]: XADD with MAXLEN option (195 ms) -[ok]: XADD with MAXLEN option and the '=' argument (323 ms) -[ok]: XADD with MAXLEN option and the '~' argument (372 ms) -[ok]: XADD with NOMKSTREAM option (5 ms) -[ok]: XADD with MINID option (416 ms) -[ok]: XTRIM with MINID option (5 ms) -[ok]: XTRIM with MINID option, big delta from master record (7 ms) -[ok]: XADD mass insertion and XLEN (6345 ms) -[ok]: XADD with ID 0-0 (10 ms) -[ok]: XADD with LIMIT delete entries no more than limit (1 ms) -[ok]: XRANGE COUNT works as expected (0 ms) -[ok]: XREVRANGE COUNT works as expected (4 ms) -[ok]: XRANGE can be used to iterate the whole stream (1749 ms) -[ok]: XREVRANGE returns the reverse of XRANGE (6852 ms) -[ok]: XRANGE exclusive ranges (17 ms) -[ok]: XREAD with non empty stream (1 ms) -[ok]: Non blocking XREAD with empty streams (0 ms) -[ok]: XREAD with non empty second stream (6722 ms) -[ok]: Blocking XREAD waiting new data (28 ms) -[ok]: Blocking XREAD waiting old data (33 ms) -[ok]: Blocking XREAD will not reply with an empty array (77 ms) -[ok]: Blocking XREAD for stream that ran dry (issue #5299) (107 ms) -[ok]: XREAD last element from non-empty stream (7 ms) -[ok]: XREAD last element from empty stream (1 ms) -[ok]: XREAD last element blocking from empty stream (34 ms) -[ok]: XREAD last element blocking from non-empty stream (8 ms) -[ok]: XREAD last element from multiple streams (9 ms) -[ok]: XREAD last element with count > 1 (2 ms) -[ok]: XREAD: XADD + DEL should not awake client (23 ms) -[ok]: XREAD: XADD + DEL + LPUSH should not awake client (31 ms) -[ok]: XREAD with same stream name multiple times should work (33 ms) -[ok]: XREAD + multiple XADD inside transaction (33 ms) -[ok]: XDEL basic test (1 ms) -[ok]: XDEL multiply id test (2 ms) -[ok]: XDEL fuzz test (10702 ms) -[ok]: XRANGE fuzzing (27639 ms) -[ok]: XREVRANGE regression test for issue #5006 (17 ms) -[ok]: XREAD streamID edge (no-blocking) (2 ms) -[ok]: XREAD streamID edge (blocking) (58 ms) -[ok]: XADD streamID edge (10 ms) -[ok]: XTRIM with MAXLEN option basic test (708 ms) -[ok]: XADD with LIMIT consecutive calls (70 ms) -[ok]: XTRIM with ~ is limited (76 ms) -[ok]: XTRIM without ~ is not limited (78 ms) -[ok]: XTRIM without ~ and with LIMIT (70 ms) -[ok]: XTRIM with LIMIT delete entries no more than limit (15 ms) -=== (stream needs:debug) Starting server 127.0.0.1:21193 ok -[ok]: XADD with MAXLEN > xlen can propagate correctly (35 ms) -=== (stream needs:debug) Starting server 127.0.0.1:21195 ok -[ok]: XADD with MINID > lastid can propagate correctly (38 ms) -=== (stream needs:debug) Starting server 127.0.0.1:21197 ok -[ok]: XADD with ~ MAXLEN can propagate correctly (51 ms) -=== (stream needs:debug) Starting server 127.0.0.1:21199 ok -[ok]: XADD with ~ MAXLEN and LIMIT can propagate correctly (34 ms) -=== (stream needs:debug) Starting server 127.0.0.1:21201 ok -[ok]: XADD with ~ MINID can propagate correctly (59 ms) -=== (stream needs:debug) Starting server 127.0.0.1:21203 ok -[ok]: XADD with ~ MINID and LIMIT can propagate correctly (46 ms) -=== (stream needs:debug) Starting server 127.0.0.1:21205 ok -[ok]: XTRIM with ~ MAXLEN can propagate correctly (39 ms) -=== (stream) Starting server 127.0.0.1:21207 ok -[ok]: XADD can CREATE an empty stream (0 ms) -[ok]: XSETID can set a specific ID (3 ms) -[ok]: XSETID cannot SETID with smaller ID (1 ms) -[ok]: XSETID cannot SETID on non-existent key (0 ms) -[ok]: XSETID cannot run with an offset but without a maximal tombstone (1 ms) -[ok]: XSETID cannot run with a maximal tombstone but without an offset (0 ms) -[ok]: XSETID errors on negstive offset (0 ms) -[ok]: XSETID cannot set the maximal tombstone with larger ID (5 ms) -[ok]: XSETID cannot set the offset to less than the length (1 ms) -[ok]: XSETID cannot set smaller ID than current MAXDELETEDID (3 ms) -=== (stream) Starting server 127.0.0.1:21209 ok -[ok]: XADD advances the entries-added counter and sets the recorded-first-entry-id (4 ms) -[ok]: XDEL/TRIM are reflected by recorded first entry (8 ms) -[ok]: Maximum XDEL ID behaves correctly (6 ms) -[ok]: XADD with artial ID with maximal seq (1 ms) -=== (stream needs:debug) Starting server 127.0.0.1:21211 ok - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Empty stream can be rewrite into AOF correctly (747 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Stream can be rewrite into AOF correctly after XDEL lastid (128 ms) -=== (stream) Starting server 127.0.0.1:21213 ok -[ok]: XGROUP HELP should not have unexpected options (0 ms) -[ok]: XINFO HELP should not have unexpected options (1 ms) -[17/91 done]: unit/type/stream (71 seconds) -Testing unit/type/stream-cgroups -=== (stream) Starting server 127.0.0.1:21215 ok -[ok]: XGROUP CREATE: creation and duplicate group name detection (4 ms) -[ok]: XGROUP CREATE: with ENTRIESREAD parameter (2 ms) -[ok]: XGROUP CREATE: automatic stream creation fails without MKSTREAM (1 ms) -[ok]: XGROUP CREATE: automatic stream creation works with MKSTREAM (8 ms) -[ok]: XREADGROUP will return only new elements (0 ms) -[ok]: XREADGROUP can read the history of the elements we own (1 ms) -[ok]: XPENDING is able to return pending items (1 ms) -[ok]: XPENDING can return single consumer items (4 ms) -[ok]: XPENDING only group (1 ms) -[ok]: XPENDING with IDLE (22 ms) -[ok]: XPENDING with exclusive range intervals works as expected (1 ms) -[ok]: XACK is able to remove items from the consumer/group PEL (1 ms) -[ok]: XACK can't remove the same item multiple times (1 ms) -[ok]: XACK is able to accept multiple arguments (0 ms) -[ok]: XACK should fail if got at least one invalid ID (2 ms) -[ok]: PEL NACK reassignment after XGROUP SETID event (7 ms) -[ok]: XREADGROUP will not report data on empty history. Bug #5577 (9 ms) -[ok]: XREADGROUP history reporting of deleted entries. Bug #5570 (11 ms) -[ok]: Blocking XREADGROUP will not reply with an empty array (46 ms) -[ok]: Blocking XREADGROUP: key deleted (20 ms) -[ok]: Blocking XREADGROUP: key type changed with SET (20 ms) -[ok]: Blocking XREADGROUP: key type changed with transaction (13 ms) -[ok]: Blocking XREADGROUP: flushed DB (18 ms) -[ok]: Blocking XREADGROUP: swapped DB, key doesn't exist (18 ms) -[ok]: Blocking XREADGROUP: swapped DB, key is not a stream (16 ms) -[ok]: XREAD and XREADGROUP against wrong parameter (1 ms) -[ok]: Blocking XREAD: key deleted (12 ms) -[ok]: Blocking XREAD: key type changed with SET (12 ms) -[ok]: Blocking XREADGROUP for stream that ran dry (issue #5299) (132 ms) -[ok]: Blocking XREADGROUP will ignore BLOCK if ID is not > (36 ms) -[ok]: Blocking XREADGROUP for stream key that has clients blocked on list (64 ms) -[ok]: Blocking XREADGROUP for stream key that has clients blocked on stream - avoid endless loop (115 ms) -[ok]: Blocking XREADGROUP for stream key that has clients blocked on stream - reprocessing command (1090 ms) -[ok]: XGROUP DESTROY should unblock XREADGROUP with -NOGROUP (59 ms) -[ok]: RENAME can unblock XREADGROUP with data (31 ms) -[ok]: RENAME can unblock XREADGROUP with -NOGROUP (39 ms) -[ok]: XCLAIM can claim PEL items from another consumer (623 ms) -[ok]: XCLAIM without JUSTID increments delivery count (412 ms) -[ok]: XCLAIM same consumer (214 ms) -[ok]: XAUTOCLAIM can claim PEL items from another consumer (629 ms) -[ok]: XAUTOCLAIM as an iterator (224 ms) -[ok]: XAUTOCLAIM COUNT must be > 0 (1 ms) -[ok]: XCLAIM with XDEL (31 ms) -[ok]: XCLAIM with trimming (7 ms) -[ok]: XAUTOCLAIM with XDEL (6 ms) -[ok]: XAUTOCLAIM with XDEL and count (15 ms) -[ok]: XAUTOCLAIM with out of range count (1 ms) -[ok]: XCLAIM with trimming (14 ms) -[ok]: XINFO FULL output (18 ms) -[ok]: Consumer seen-time and active-time (232 ms) -[ok]: XGROUP CREATECONSUMER: create consumer if does not exist (19 ms) -[ok]: XGROUP CREATECONSUMER: group must exist (9 ms) -=== (stream needs:debug) Starting server 127.0.0.1:21217 ok -[ok]: XREADGROUP with NOACK creates consumer (786 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Consumer without PEL is present in AOF after AOFRW (194 ms) -[ok]: Consumer group read counter and lag in empty streams (5 ms) -[ok]: Consumer group read counter and lag sanity (13 ms) -[ok]: Consumer group lag with XDELs (23 ms) -[ok]: Loading from legacy (Redict <= v6.2.x, rdb_ver < 10) persistence (1 ms) -[ok]: Loading from legacy (Redict <= v7.0.x, rdb_ver < 11) persistence (4 ms) -=== (external:skip) Starting server 127.0.0.1:21219 ok -[ok]: Consumer group last ID propagation to slave (NOACK=0) (118 ms) -[ok]: Consumer group last ID propagation to slave (NOACK=1) (112 ms) -=== (external:skip) Starting server 127.0.0.1:21221 ok -[ok]: Replication tests of XCLAIM with deleted entries (autoclaim=0) (979 ms) -[ok]: Replication tests of XCLAIM with deleted entries (autoclaim=1) (118 ms) -[ok]: XREADGROUP ACK would propagate entries-read (9 ms) -=== (stream needs:debug) Starting server 127.0.0.1:21223 ok - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Empty stream with no lastid can be rewrite into AOF correctly (130 ms) -[18/91 done]: unit/type/stream-cgroups (9 seconds) -Testing unit/sort -=== (sort) Starting server 127.0.0.1:21225 ok -[ok]: Listpack: SORT BY key (0 ms) -[ok]: Listpack: SORT BY key with limit (0 ms) -[ok]: Listpack: SORT BY hash field (0 ms) -[ok]: Quicklist: SORT BY key (24 ms) -[ok]: Quicklist: SORT BY key with limit (2 ms) -[ok]: Quicklist: SORT BY hash field (24 ms) -[ok]: Big Quicklist: SORT BY key (2682 ms) -[ok]: Big Quicklist: SORT BY key with limit (20 ms) -[ok]: Big Quicklist: SORT BY hash field (2173 ms) -[ok]: Intset: SORT BY key (3 ms) -[ok]: Intset: SORT BY key with limit (0 ms) -[ok]: Intset: SORT BY hash field (0 ms) -[ok]: Hash table: SORT BY key (51 ms) -[ok]: Hash table: SORT BY key with limit (1 ms) -[ok]: Hash table: SORT BY hash field (42 ms) -[ok]: Big Hash table: SORT BY key (2472 ms) -[ok]: Big Hash table: SORT BY key with limit (24 ms) -[ok]: Big Hash table: SORT BY hash field (2302 ms) -[ok]: SORT GET # (1 ms) -[ok]: SORT GET (1 ms) -[ok]: SORT_RO GET (1 ms) -[ok]: SORT GET (key and hash) with sanity check (15 ms) -[ok]: SORT BY key STORE (2 ms) -[ok]: SORT BY hash field STORE (1 ms) -[ok]: SORT extracts STORE correctly (0 ms) -[ok]: SORT_RO get keys (5 ms) -[ok]: SORT extracts multiple STORE correctly (1 ms) -[ok]: SORT DESC (0 ms) -[ok]: SORT ALPHA against integer encoded strings (1 ms) -[ok]: SORT sorted set (1 ms) -[ok]: SORT sorted set BY nosort should retain ordering (1 ms) -[ok]: SORT sorted set BY nosort + LIMIT (8 ms) -[ok]: SORT sorted set BY nosort works as expected from scripts (2 ms) -[ok]: SORT sorted set: +inf and -inf handling (1 ms) -[ok]: SORT regression for issue #19, sorting floats (17 ms) -[ok]: SORT with STORE returns zero if result is empty (github issue 224) (1 ms) -[ok]: SORT with STORE does not create empty lists (github issue 224) (8 ms) -[ok]: SORT with STORE removes key if result is empty (github issue 227) (8 ms) -[ok]: SORT with BY and STORE should still order output (1 ms) -[ok]: SORT will complain with numerical sorting and bad doubles (1) (5 ms) -[ok]: SORT will complain with numerical sorting and bad doubles (2) (2 ms) -[ok]: SORT BY sub-sorts lexicographically if score is the same (16 ms) -[ok]: SORT GET with pattern ending with just -> does not get hash field (5 ms) -[ok]: SORT by nosort retains native order for lists (1 ms) -[ok]: SORT by nosort plus store retains native order for lists (1 ms) -[ok]: SORT by nosort with limit returns based on original list order (5 ms) -[ok]: SORT_RO - Successful case (5 ms) -[ok]: SORT_RO - Cannot run with STORE arg (7 ms) - - Average time to sort: 0.98999999999999999 milliseconds [ok]: SORT speed, 100 element list BY key, 100 times (99 ms) - - Average time to sort: 1.3600000000000001 milliseconds [ok]: SORT speed, 100 element list BY hash field, 100 times (136 ms) - - Average time to sort: 1.1799999999999999 milliseconds [ok]: SORT speed, 100 element list directly, 100 times (118 ms) - - Average time to sort: 1.21 milliseconds [ok]: SORT speed, 100 element list BY , 100 times (121 ms) -[ok]: SETRANGE with huge offset (1 ms) -[ok]: SORT STORE quicklist with the right options (85 ms) -=== (external:skip cluster sort) Starting server 127.0.0.1:21227 ok -[ok]: sort by in cluster mode (1 ms) -[ok]: sort get in cluster mode (1 ms) -[ok]: sort_ro by in cluster mode (1 ms) -[ok]: sort_ro get in cluster mode (4 ms) -[19/91 done]: unit/sort (46 seconds) -Testing unit/expire -=== (expire) Starting server 127.0.0.1:21229 ok -[ok]: EXPIRE - set timeouts multiple times (1 ms) -[ok]: EXPIRE - It should be still possible to read 'x' (0 ms) -[ok]: EXPIRE - After 2.1 seconds the key should no longer be here (2105 ms) -[ok]: EXPIRE - write on expire should work (1 ms) -[ok]: EXPIREAT - Check for EXPIRE alike behavior (1 ms) -[ok]: SETEX - Set + Expire combo operation. Check for TTL (1 ms) -[ok]: SETEX - Check value (0 ms) -[ok]: SETEX - Overwrite old key (1 ms) -[ok]: SETEX - Wait for the key to expire (1104 ms) -[ok]: SETEX - Wrong time parameter (1 ms) -[ok]: PERSIST can undo an EXPIRE (2 ms) -[ok]: PERSIST returns 0 against non existing or non volatile keys (1 ms) -millisecond expire test attempts: 1 -[ok]: EXPIRE precision is now the millisecond (2681 ms) -PSETEX sub-second expire test attempts: 0 -[ok]: PSETEX can set sub-second expires (120 ms) -PEXPIRE sub-second expire test attempts: 0 -[ok]: PEXPIRE can set sub-second expires (111 ms) -PEXPIREAT sub-second expire test attempts: 0 -[ok]: PEXPIREAT can set sub-second expires (223 ms) -[ok]: TTL returns time to live in seconds (8 ms) -[ok]: PTTL returns time to live in milliseconds (19 ms) -[ok]: TTL / PTTL / EXPIRETIME / PEXPIRETIME return -1 if key has no expire (1 ms) -[ok]: TTL / PTTL / EXPIRETIME / PEXPIRETIME return -2 if key does not exit (1 ms) -[ok]: EXPIRETIME returns absolute expiration time in seconds (13 ms) -[ok]: PEXPIRETIME returns absolute expiration time in milliseconds (1 ms) -[ok]: Redict should actively expire keys incrementally (730 ms) -[ok]: Redict should lazy expire keys (1013 ms) -[ok]: EXPIRE should not resurrect keys (issue #1026) (1003 ms) -[ok]: 5 keys in, 5 keys out (12 ms) -[ok]: EXPIRE with empty string as TTL should report an error (1 ms) -[ok]: SET with EX with big integer should report an error (2 ms) -[ok]: SET with EX with smallest integer should report an error (8 ms) -[ok]: GETEX with big integer should report an error (4 ms) -[ok]: GETEX with smallest integer should report an error (1 ms) -[ok]: EXPIRE with big integer overflows when converted to milliseconds (1 ms) -[ok]: PEXPIRE with big integer overflow when basetime is added (1 ms) -[ok]: EXPIRE with big negative integer (5 ms) -[ok]: PEXPIREAT with big integer works (4 ms) -[ok]: PEXPIREAT with big negative integer works (4 ms) -=== (external:skip) Starting server 127.0.0.1:21231 ok -[ok]: All time-to-live(TTL) in commands are propagated as absolute timestamp in milliseconds in AOF (2103 ms) -[ok]: All TTL in commands are propagated as absolute timestamp in replication stream (218 ms) -=== (needs:repl external:skip) Starting server 127.0.0.1:21233 ok -[ok]: First server should have role slave after REPLICAOF (2 ms) -[ok]: For all replicated TTL-related commands, absolute expire times are identical on primary and replica (51 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: expired key which is created in writeable replicas should be deleted by active expiry (487 ms) -[ok]: SET command will remove expire (1 ms) -[ok]: SET - use KEEPTTL option, TTL should not be removed (1 ms) -[ok]: SET - use KEEPTTL option, TTL should not be removed after loadaof (3668 ms) -[ok]: GETEX use of PERSIST option should remove TTL (1 ms) -[ok]: GETEX use of PERSIST option should remove TTL after loadaof (16 ms) -[ok]: GETEX propagate as to replica as PERSIST, DEL, or nothing (119 ms) -[ok]: EXPIRE with NX option on a key with ttl (0 ms) -[ok]: EXPIRE with NX option on a key without ttl (0 ms) -[ok]: EXPIRE with XX option on a key with ttl (1 ms) -[ok]: EXPIRE with XX option on a key without ttl (3 ms) -[ok]: EXPIRE with GT option on a key with lower ttl (5 ms) -[ok]: EXPIRE with GT option on a key with higher ttl (0 ms) -[ok]: EXPIRE with GT option on a key without ttl (1 ms) -[ok]: EXPIRE with LT option on a key with higher ttl (1 ms) -[ok]: EXPIRE with LT option on a key with lower ttl (0 ms) -[ok]: EXPIRE with LT option on a key without ttl (2 ms) -[ok]: EXPIRE with LT and XX option on a key with ttl (3 ms) -[ok]: EXPIRE with LT and XX option on a key without ttl (1 ms) -[ok]: EXPIRE with conflicting options: LT GT (1 ms) -[ok]: EXPIRE with conflicting options: NX GT (1 ms) -[ok]: EXPIRE with conflicting options: NX LT (1 ms) -[ok]: EXPIRE with conflicting options: NX XX (1 ms) -[ok]: EXPIRE with unsupported options (0 ms) -[ok]: EXPIRE with unsupported options (3 ms) -[ok]: EXPIRE with negative expiry (4 ms) -[ok]: EXPIRE with negative expiry on a non-valitale key (0 ms) -[ok]: EXPIRE with non-existed key (0 ms) -[ok]: Redict should not propagate the read command on lazy expire (90 ms) -[ok]: SCAN: Lazy-expire should not be wrapped in MULTI/EXEC (104 ms) -[ok]: RANDOMKEY: Lazy-expire should not be wrapped in MULTI/EXEC (523 ms) -=== (expire external:skip cluster) Starting server 127.0.0.1:21235 ok -[ok]: expire scan should skip dictionaries with lot's of empty buckets (1307 ms) -[20/91 done]: unit/expire (21 seconds) -Testing unit/other -=== (other) Starting server 127.0.0.1:21237 ok -[ok]: Coverage: HELP commands (8 ms) -[ok]: Coverage: MEMORY MALLOC-STATS (4 ms) -[ok]: Coverage: MEMORY PURGE (1 ms) -[ok]: SAVE - make sure there are all the types as values (1451 ms) -[ok]: FUZZ stresser with data model binary (1201 ms) -[ok]: FUZZ stresser with data model alpha (2274 ms) -[ok]: FUZZ stresser with data model compr (1568 ms) -=== (external:skip) Starting server 127.0.0.1:21239 ok -[ok]: FLUSHALL should not reset the dirty counter if we disable save (1 ms) -[ok]: FLUSHALL should reset the dirty counter to 0 if we enable save (11 ms) - -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... [ok]: BGSAVE (178 ms) -[ok]: SELECT an out of range DB (1 ms) -[ok]: Check consistency of different data types after a reload (4591 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Same dataset digest if saving/reloading as AOF? (548 ms) - -Waiting for background AOF rewrite to finish... [ok]: EXPIRES after a reload (snapshot + append only file rewrite) (79 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: EXPIRES after AOF reload (without rewrite) (2139 ms) -[ok]: PIPELINING stresser (also a regression for the old epoll bug) (2569 ms) -[ok]: APPEND basics (27 ms) -[ok]: APPEND basics, integer encoded values (2 ms) -[ok]: APPEND fuzzing (4688 ms) -[ok]: FLUSHDB (221 ms) -[ok]: Perform a final SAVE to leave a clean DB on disk (427 ms) -[ok]: RESET clears client state (1 ms) -[ok]: RESET clears MONITOR state (55 ms) -[ok]: RESET clears and discards MULTI state (4 ms) -[ok]: RESET clears Pub/Sub state (15 ms) -[ok]: RESET clears authenticated state (16 ms) -[ok]: Subcommand syntax error crash (issue #10070) (16 ms) -=== (other external:skip) Starting server 127.0.0.1:21241 ok - -Waiting for background save to finish... -Waiting for background save to finish... [ok]: Don't rehash if redict has child process (1205 ms) -=== (other external:skip) Starting server 127.0.0.1:21243 ok -[ok]: Process title set as expected (10 ms) -=== (other external:skip cluster slow) Starting server 127.0.0.1:21245 ok -[ok]: Redict can trigger resizing (3762 ms) -[ok]: Redict can rewind and trigger smaller slot resizing (785 ms) -=== (other external:skip) Starting server 127.0.0.1:21247 ok -[ok]: Redict can resize empty dict (90 ms) -[21/91 done]: unit/other (32 seconds) -Testing unit/multi -=== (multi) Starting server 127.0.0.1:21249 ok -[ok]: MULTI / EXEC basics (2 ms) -[ok]: DISCARD (4 ms) -[ok]: Nested MULTI are not allowed (1 ms) -[ok]: MULTI where commands alter argc/argv (6 ms) -[ok]: WATCH inside MULTI is not allowed (1 ms) -[ok]: EXEC fails if there are errors while queueing commands #1 (2 ms) -[ok]: EXEC fails if there are errors while queueing commands #2 (27 ms) -[ok]: If EXEC aborts, the client MULTI state is cleared (1 ms) -[ok]: EXEC works on WATCHed key not modified (1 ms) -[ok]: EXEC fail on WATCHed key modified (1 key of 1 watched) (1 ms) -[ok]: EXEC fail on WATCHed key modified (1 key of 5 watched) (2 ms) -[ok]: EXEC fail on WATCHed key modified by SORT with STORE even if the result is empty (5 ms) -EXEC fail on lazy expired WATCHed key attempts: 0 -[ok]: EXEC fail on lazy expired WATCHed key (103 ms) -[ok]: WATCH stale keys should not fail EXEC (14 ms) -[ok]: Delete WATCHed stale keys should not fail EXEC (10 ms) -[ok]: FLUSHDB while watching stale keys should not fail EXEC (5 ms) -[ok]: After successful EXEC key is no longer watched (10 ms) -[ok]: After failed EXEC key is no longer watched (6 ms) -[ok]: It is possible to UNWATCH (2 ms) -[ok]: UNWATCH when there is nothing watched works as expected (0 ms) -[ok]: FLUSHALL is able to touch the watched keys (5 ms) -[ok]: FLUSHALL does not touch non affected keys (4 ms) -[ok]: FLUSHDB is able to touch the watched keys (2 ms) -[ok]: FLUSHDB does not touch non affected keys (6 ms) -[ok]: SWAPDB is able to touch the watched keys that exist (5 ms) -[ok]: SWAPDB is able to touch the watched keys that do not exist (2 ms) -[ok]: SWAPDB does not touch watched stale keys (8 ms) -[ok]: SWAPDB does not touch non-existing key replaced with stale key (13 ms) -[ok]: SWAPDB does not touch stale key replaced with another stale key (10 ms) -[ok]: WATCH is able to remember the DB a key belongs to (10 ms) -[ok]: WATCH will consider touched keys target of EXPIRE (7 ms) -[ok]: WATCH will consider touched expired keys (1161 ms) -[ok]: DISCARD should clear the WATCH dirty flag on the client (2 ms) -[ok]: DISCARD should UNWATCH all the keys (8 ms) -[ok]: MULTI / EXEC is not propagated (single write command) (42 ms) -[ok]: MULTI / EXEC is propagated correctly (multiple commands) (126 ms) -[ok]: MULTI / EXEC is propagated correctly (multiple commands with SELECT) (86 ms) -[ok]: MULTI / EXEC is propagated correctly (empty transaction) (91 ms) -[ok]: MULTI / EXEC is propagated correctly (read-only commands) (101 ms) -[ok]: MULTI / EXEC is propagated correctly (write command, no effect) (109 ms) -[ok]: MULTI / EXEC with REPLICAOF (104 ms) -[ok]: DISCARD should not fail during OOM (28 ms) -[ok]: MULTI and script timeout (455 ms) -[ok]: EXEC and script timeout (488 ms) -[ok]: MULTI-EXEC body and script timeout (490 ms) -[ok]: just EXEC and script timeout (491 ms) -[ok]: exec with write commands and state change (46 ms) -[ok]: exec with read commands and stale replica state change (54 ms) -[ok]: EXEC with only read commands should not be rejected when OOM (36 ms) -[ok]: EXEC with at least one use-memory command should fail (35 ms) -[ok]: Blocking commands ignores the timeout (10 ms) -[ok]: MULTI propagation of PUBLISH (2057 ms) -[ok]: MULTI propagation of SCRIPT LOAD (540 ms) -[ok]: MULTI propagation of EVAL (593 ms) -[ok]: MULTI propagation of SCRIPT FLUSH (122 ms) -[ok]: MULTI propagation of XREADGROUP (219 ms) -[ok]: MULTI with SAVE (5 ms) -[ok]: MULTI with SHUTDOWN (1 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: MULTI with BGREWRITEAOF (217 ms) - -Waiting for background AOF rewrite to finish... [ok]: MULTI with config set appendonly (184 ms) -[ok]: MULTI with config error (1 ms) -[ok]: Flushall while watching several keys by one client (2 ms) -=== (external:skip) Starting server 127.0.0.1:21251 ok -[ok]: MULTI with FLUSHALL and AOF (14 ms) -[22/91 done]: unit/multi (9 seconds) -Testing unit/quit -=== (quit) Starting server 127.0.0.1:21253 ok -[ok]: QUIT returns OK (17 ms) -[ok]: Pipelined commands after QUIT must not be executed (34 ms) -[ok]: Pipelined commands after QUIT that exceed read buffer size (23 ms) -[23/91 done]: unit/quit (1 seconds) -Testing unit/aofrw -=== (aofrw external:skip logreqres:skip) Starting server 127.0.0.1:21255 ok - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite during write load: RDB preamble=yes (9055 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite during write load: RDB preamble=no (15044 ms) -=== (aofrw external:skip) Starting server 127.0.0.1:21257 ok - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Turning off AOF kills the background writing child if any (143 ms) - -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with listpack encoding, string data (62 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, string data (409 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with listpack encoding, int data (116 ms) - -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, int data (345 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with intset encoding, string data (120 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, string data (2557 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with intset encoding, int data (410 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, int data (2261 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with listpack encoding, string data (1435 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, string data (1069 ms) - -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with listpack encoding, int data (103 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, int data (460 ms) - -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, string data (67 ms) - -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, string data (749 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, int data (116 ms) - -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, int data (766 ms) - -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite functions (63 ms) -[ok]: BGREWRITEAOF is delayed if BGSAVE is in progress (410 ms) -[ok]: BGREWRITEAOF is refused if already in progress (151 ms) -[24/91 done]: unit/aofrw (36 seconds) -Testing unit/acl -=== (acl external:skip) Starting server 127.0.0.1:21259 ok -[ok]: Connections start with the default user (1 ms) -[ok]: It is possible to create new users (0 ms) -[ok]: Coverage: ACL USERS (0 ms) -[ok]: Usernames can not contain spaces or null characters (0 ms) -[ok]: New users start disabled (1 ms) -[ok]: Enabling the user allows the login (0 ms) -[ok]: Only the set of correct passwords work (1 ms) -[ok]: It is possible to remove passwords from the set of valid ones (3 ms) -[ok]: Test password hashes can be added (0 ms) -[ok]: Test password hashes validate input (1 ms) -[ok]: ACL GETUSER returns the password hash instead of the actual password (1 ms) -[ok]: Test hashed passwords removal (0 ms) -[ok]: By default users are not able to access any command (0 ms) -[ok]: By default users are not able to access any key (5 ms) -[ok]: It's possible to allow the access of a subset of keys (2 ms) -[ok]: By default, only default user is able to publish to any channel (2 ms) -[ok]: By default, only default user is not able to publish to any shard channel (1 ms) -[ok]: By default, only default user is able to subscribe to any channel (28 ms) -[ok]: By default, only default user is able to subscribe to any shard channel (31 ms) -[ok]: By default, only default user is able to subscribe to any pattern (27 ms) -[ok]: It's possible to allow publishing to a subset of channels (1 ms) -[ok]: It's possible to allow publishing to a subset of shard channels (11 ms) -[ok]: Validate subset of channels is prefixed with resetchannels flag (2 ms) -[ok]: In transaction queue publish/subscribe/psubscribe to unauthorized channel will fail (2 ms) -[ok]: It's possible to allow subscribing to a subset of channels (26 ms) -[ok]: It's possible to allow subscribing to a subset of shard channels (26 ms) -[ok]: It's possible to allow subscribing to a subset of channel patterns (16 ms) -[ok]: Subscribers are killed when revoked of channel permission (19 ms) -[ok]: Subscribers are killed when revoked of channel permission (17 ms) -[ok]: Subscribers are killed when revoked of pattern permission (16 ms) -[ok]: Subscribers are killed when revoked of allchannels permission (26 ms) -[ok]: Subscribers are pardoned if literal permissions are retained and/or gaining allchannels (23 ms) -[ok]: blocked command gets rejected when reprocessed after permission change (27 ms) -[ok]: Users can be configured to authenticate with any password (0 ms) -[ok]: ACLs can exclude single commands (1 ms) -[ok]: ACLs can include or exclude whole classes of commands (2 ms) -[ok]: ACLs can include single subcommands (2 ms) -[ok]: ACLs can exclude single subcommands, case 1 (1 ms) -[ok]: ACLs can exclude single subcommands, case 2 (3 ms) -[ok]: ACLs cannot include a subcommand with a specific arg (0 ms) -[ok]: ACLs cannot exclude or include a container commands with a specific arg (1 ms) -[ok]: ACLs cannot exclude or include a container command with two args (1 ms) -[ok]: ACLs including of a type includes also subcommands (8 ms) -[ok]: ACLs can block SELECT of all but a specific DB (1 ms) -[ok]: ACLs can block all DEBUG subcommands except one (1 ms) -[ok]: ACLs set can include subcommands, if already full command exists (4 ms) -[ok]: ACLs set can exclude subcommands, if already full command exists (8 ms) -[ok]: ACL SETUSER RESET reverting to default newly created user (2 ms) -[ok]: ACL GETUSER is able to translate back command permissions (8 ms) -[ok]: ACL GETUSER provides reasonable results (42 ms) -[ok]: ACL GETUSER provides correct results (18 ms) -[ok]: ACL CAT with illegal arguments (1 ms) -[ok]: ACL CAT without category - list all categories (1 ms) -[ok]: ACL CAT category - list all commands/subcommands that belong to category (2 ms) -[ok]: ACL requires explicit permission for scripting for EVAL_RO, EVALSHA_RO and FCALL_RO (1 ms) -[ok]: ACL #5998 regression: memory leaks adding / removing subcommands (6 ms) -[ok]: ACL LOG aggregates similar errors together and assigns unique entry-id to new errors (9 ms) -[ok]: ACL LOG shows failed command executions at toplevel (2 ms) -[ok]: ACL LOG shows failed subcommand executions at toplevel (2 ms) -[ok]: ACL LOG is able to test similar events (2 ms) -[ok]: ACL LOG is able to log keys access violations and key name (2 ms) -[ok]: ACL LOG is able to log channel access violations and channel name (2 ms) -[ok]: ACL LOG RESET is able to flush the entries in the log (8 ms) -[ok]: ACL LOG can distinguish the transaction context (1) (2 ms) -[ok]: ACL LOG can distinguish the transaction context (2) (16 ms) -[ok]: ACL can log errors in the context of Lua scripting (6 ms) -[ok]: ACL LOG can accept a numerical argument to show less entries (3 ms) -[ok]: ACL LOG can log failed auth attempts (1 ms) -[ok]: ACLLOG - zero max length is correctly handled (3 ms) -[ok]: ACL LOG entries are limited to a maximum amount (7 ms) -[ok]: ACL LOG entries are still present on update of max len config (1 ms) -[ok]: When default user is off, new connections are not authenticated (18 ms) -[ok]: When default user has no command permission, hello command still works for other users (6 ms) -[ok]: When an authentication chain is used in the HELLO cmd, the last auth cmd has precedence (2 ms) -[ok]: When a setname chain is used in the HELLO cmd, the last setname cmd has precedence (1 ms) -[ok]: When authentication fails in the HELLO cmd, the client setname should not be applied (1 ms) -[ok]: ACL HELP should not have unexpected options (0 ms) -[ok]: Delete a user that the client doesn't use (0 ms) -[ok]: Delete a user that the client is using (1 ms) -[ok]: ACL GENPASS command failed test (17 ms) -[ok]: Default user can not be removed (1 ms) -[ok]: ACL load non-existing configured ACL file (0 ms) -[ok]: ACL-Metrics user AUTH failure (10 ms) -[ok]: ACL-Metrics invalid command accesses (13 ms) -[ok]: ACL-Metrics invalid key accesses (5 ms) -[ok]: ACL-Metrics invalid channels accesses (20 ms) -=== (external:skip) Starting server 127.0.0.1:21261 ok -[ok]: default: load from include file, can access any channels (1 ms) -[ok]: default: with config acl-pubsub-default allchannels after reset, can access any channels (6 ms) -[ok]: default: with config acl-pubsub-default resetchannels after reset, can not access any channels (2 ms) -[ok]: Alice: can execute all command (1 ms) -[ok]: Bob: just execute @set and acl command (1 ms) -[ok]: ACL LOAD only disconnects affected clients (58 ms) -[ok]: ACL LOAD disconnects clients of deleted users (38 ms) -[ok]: ACL load and save (10 ms) -[ok]: ACL load and save with restricted channels (5 ms) -=== (external:skip) Starting server 127.0.0.1:21263 ok -[ok]: Default user has access to all channels irrespective of flag (3 ms) -[ok]: Update acl-pubsub-default, existing users shouldn't get affected (7 ms) -[ok]: Single channel is valid (1 ms) -[ok]: Single channel is not valid with allchannels (1 ms) -=== (external:skip) Starting server 127.0.0.1:21265 ok -[ok]: Only default user has access to all channels irrespective of flag (1 ms) -=== (external:skip) Starting server 127.0.0.1:21267 ok -[ok]: default: load from config file, without channel permission default user can't access any channels (0 ms) -=== (external:skip) Starting server 127.0.0.1:21269 ok -[ok]: default: load from config file with all channels permissions (5 ms) -=== (external:skip) Starting server 127.0.0.1:21271 ok -[ok]: Test loading an ACL file with duplicate users (12 ms) -[ok]: Test loading an ACL file with duplicate default user (16 ms) -[ok]: Test loading duplicate users in config on startup (79 ms) -=== (acl external:skip) Starting server 127.0.0.1:21273 ok -[ok]: ACL from config file and config rewrite (248 ms) -[25/91 done]: unit/acl (4 seconds) -Testing unit/acl-v2 -=== (acl external:skip) Starting server 127.0.0.1:21275 ok -[ok]: Test basic multiple selectors (5 ms) -[ok]: Test ACL selectors by default have no permissions (1 ms) -[ok]: Test deleting selectors (7 ms) -[ok]: Test selector syntax error reports the error in the selector context (1 ms) -[ok]: Test flexible selector definition (9 ms) -[ok]: Test separate read permission (2 ms) -[ok]: Test separate write permission (2 ms) -[ok]: Test separate read and write permissions (1 ms) -[ok]: Validate read and write permissions format (1 ms) -[ok]: Validate key permissions format - empty and omitted pattern (6 ms) -[ok]: Test separate read and write permissions on different selectors are not additive (2 ms) -[ok]: Test SET with separate read permission (9 ms) -[ok]: Test SET with separate write permission (3 ms) -[ok]: Test SET with read and write permissions (9 ms) -[ok]: Test BITFIELD with separate read permission (2 ms) -[ok]: Test BITFIELD with separate write permission (1 ms) -[ok]: Test BITFIELD with read and write permissions (9 ms) -[ok]: Test ACL log correctly identifies the relevant item when selectors are used (4 ms) -[ok]: Test ACL GETUSER response information (7 ms) -[ok]: Test ACL list idempotency (2 ms) -[ok]: Test R+W is the same as all permissions (0 ms) -[ok]: Test basic dry run functionality (1 ms) -[ok]: Test various commands for command permissions (1 ms) -[ok]: Test various odd commands for key permissions (35 ms) -[ok]: Existence test commands are not marked as access (3 ms) -[ok]: Intersection cardinaltiy commands are access commands (16 ms) -[ok]: Test general keyspace commands require some type of permission to execute (4 ms) -[ok]: Cardinality commands require some type of permission to execute (13 ms) -[ok]: Test sharded channel permissions (2 ms) -[ok]: Test sort with ACL permissions (12 ms) -[ok]: Test DRYRUN with wrong number of arguments (5 ms) -=== (external:skip) Starting server 127.0.0.1:21277 ok -[ok]: Test behavior of loading ACLs (1 ms) -[26/91 done]: unit/acl-v2 (2 seconds) -Testing unit/latency-monitor -=== (latency-monitor needs:latency) Starting server 127.0.0.1:21279 ok -[ok]: LATENCY HISTOGRAM with empty histogram (1 ms) -[ok]: LATENCY HISTOGRAM all commands (2 ms) -[ok]: LATENCY HISTOGRAM sub commands (8 ms) -[ok]: LATENCY HISTOGRAM with a subset of commands (3 ms) -[ok]: LATENCY HISTOGRAM command (1 ms) -[ok]: LATENCY HISTOGRAM with wrong command name skips the invalid one (2 ms) -[ok]: Test latency events logging (3489 ms) -LATENCY HISTORY data: -{1791358157 370} {1791358158 403} {1791358160 503} -[ok]: LATENCY HISTORY output is ok (0 ms) -LATENCY LATEST data: -{command 1791358160 503 503} -[ok]: LATENCY LATEST output is ok (1 ms) -LATENCY GRAPH data: -command - high 503 ms, low 370 ms (all time high 503 ms) --------------------------------------------------------------------------------- - # - | - | -_#| - -320 -sss - -[ok]: LATENCY GRAPH can output the event graph (6 ms) -[ok]: LATENCY GRAPH can output the expire event graph (0 ms) -[ok]: LATENCY of expire events are correctly collected (11373 ms) -[ok]: LATENCY HISTORY / RESET with wrong event name is fine (1 ms) -[ok]: LATENCY DOCTOR produces some output (2 ms) -[ok]: LATENCY RESET is able to reset events (1 ms) -[ok]: LATENCY HELP should not have unexpected options (0 ms) -[27/91 done]: unit/latency-monitor (15 seconds) -Testing integration/block-repl -=== (repl external:skip) Starting server 127.0.0.1:21281 ok -=== () Starting server 127.0.0.1:21283 ok -[ok]: First server should have role slave after SLAVEOF (2213 ms) -[ok]: Test replication with blocking lists and sorted sets operations (25017 ms) -[28/91 done]: integration/block-repl (29 seconds) -Testing integration/replication -=== (repl network external:skip) Starting server 127.0.0.1:21285 ok -=== () Starting server 127.0.0.1:21287 ok -[ok]: Slave enters handshake (1005 ms) -[ok]: Slave enters wait_bgsave (1 ms) -[ok]: Slave is able to detect timeout during handshake (0 ms) -=== (repl external:skip) Starting server 127.0.0.1:21289 ok -=== () Starting server 127.0.0.1:21291 ok -[ok]: Set instance A as slave of B (105 ms) -[ok]: INCRBYFLOAT replication, should not remove expire (639 ms) -[ok]: GETSET replication (8 ms) -[ok]: BRPOPLPUSH replication, when blocking against empty list (24 ms) -[ok]: BRPOPLPUSH replication, list exists (1023 ms) -[ok]: BLMOVE (left, left) replication, when blocking against empty list (25 ms) -[ok]: BLMOVE (left, left) replication, list exists (1042 ms) -[ok]: BLMOVE (left, right) replication, when blocking against empty list (37 ms) -[ok]: BLMOVE (left, right) replication, list exists (1032 ms) -[ok]: BLMOVE (right, left) replication, when blocking against empty list (32 ms) -[ok]: BLMOVE (right, left) replication, list exists (2006 ms) -[ok]: BLMOVE (right, right) replication, when blocking against empty list (35 ms) -[ok]: BLMOVE (right, right) replication, list exists (1110 ms) -[ok]: BLPOP followed by role change, issue #2473 (239 ms) -=== (repl external:skip) Starting server 127.0.0.1:21293 ok -=== () Starting server 127.0.0.1:21295 ok -[ok]: Second server should have role master at first (1 ms) -[ok]: SLAVEOF should start with link status "down" (11 ms) -[ok]: The role should immediately be changed to "replica" (1 ms) -[ok]: Sync should have transferred keys from master (10 ms) -[ok]: The link status should be up (7 ms) -[ok]: SET on the master should immediately propagate (1 ms) -[ok]: FLUSHDB / FLUSHALL should replicate (415 ms) -[ok]: ROLE in master reports master with a slave (1 ms) -[ok]: ROLE in slave reports slave in connected state (1 ms) -=== (repl external:skip) Starting server 127.0.0.1:21297 ok -=== () Starting server 127.0.0.1:21299 ok -=== () Starting server 127.0.0.1:21301 ok -=== () Starting server 127.0.0.1:21303 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=disabled (16485 ms) -=== (repl external:skip) Starting server 127.0.0.1:21305 ok -=== () Starting server 127.0.0.1:21307 ok -=== () Starting server 127.0.0.1:21309 ok -=== () Starting server 127.0.0.1:21311 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=swapdb (14816 ms) -=== (repl external:skip) Starting server 127.0.0.1:21313 ok -=== () Starting server 127.0.0.1:21315 ok -=== () Starting server 127.0.0.1:21317 ok -=== () Starting server 127.0.0.1:21319 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=disabled (11969 ms) -=== (repl external:skip) Starting server 127.0.0.1:21321 ok -=== () Starting server 127.0.0.1:21323 ok -=== () Starting server 127.0.0.1:21325 ok -=== () Starting server 127.0.0.1:21327 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=swapdb (12323 ms) -=== (repl external:skip) Starting server 127.0.0.1:21329 ok -=== () Starting server 127.0.0.1:21331 ok -[ok]: Master stream is correctly processed while the replica has a script in -BUSY state (79941 ms) -=== (repl external:skip) Starting server 127.0.0.1:21333 ok -=== () Starting server 127.0.0.1:21335 ok -[ok]: Diskless load swapdb (different replid): new database is exposed after swapping (1 ms) -=== (repl external:skip) Starting server 127.0.0.1:21337 ok -=== () Starting server 127.0.0.1:21339 ok -[ok]: Diskless load swapdb (different replid): replica enter loading (583 ms) -[ok]: Diskless load swapdb (different replid): old database is exposed after replication fails (0 ms) -=== (repl external:skip) Starting server 127.0.0.1:21341 ok -=== () Starting server 127.0.0.1:21343 ok -[ok]: Diskless load swapdb (async_loading): new database is exposed after swapping (8 ms) -=== (repl external:skip) Starting server 127.0.0.1:21345 ok -=== () Starting server 127.0.0.1:21347 ok -[ok]: Diskless load swapdb (async_loading): replica enter async_loading (441 ms) -[ok]: Diskless load swapdb (async_loading): old database is exposed while async replication is in progress (1058 ms) -[ok]: Busy script during async loading (1311 ms) -[ok]: Blocked commands and configs during async-loading (521 ms) -[ok]: Diskless load swapdb (async_loading): old database is exposed after async replication fails (1 ms) -Waiting for process 1361086 to exit... -Waiting for process 1361086 to exit... -Waiting for process 1361086 to exit... -Waiting for process 1361086 to exit... -=== (repl) Starting server 127.0.0.1:21349 ok -=== () Starting server 127.0.0.1:21351 ok -filling took 7981 ms (TODO: use pipeline) -{1361873:S 06 Oct 2026 19:33:14.510 # Internal error in RDB reading offset 1696608, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 50 -{1361873:S 06 Oct 2026 19:33:14.591 # Internal error in RDB reading offset 3750947, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 65 -{1361873:S 06 Oct 2026 19:33:14.686 # Internal error in RDB reading offset 3750947, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 80 -{1361873:S 06 Oct 2026 19:33:14.772 # Internal error in RDB reading offset 3750947, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 95 -{1361873:S 06 Oct 2026 19:33:14.845 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 110 -{1361873:S 06 Oct 2026 19:33:14.912 # Internal error in RDB reading offset 1696608, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 125 -{1361873:S 06 Oct 2026 19:33:14.996 # Internal error in RDB reading offset 3750947, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 140 -{1361873:S 06 Oct 2026 19:33:15.081 # Internal error in RDB reading offset 1696608, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 155 -{1361873:S 06 Oct 2026 19:33:15.177 # Internal error in RDB reading offset 1696608, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 170 -{1361873:S 06 Oct 2026 19:33:15.227 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 185 -{1361873:S 06 Oct 2026 19:33:15.299 # Internal error in RDB reading offset 1696608, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 200 -{1361873:S 06 Oct 2026 19:33:15.394 # Internal error in RDB reading offset 1696608, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 215 -{1361873:S 06 Oct 2026 19:33:15.455 # Internal error in RDB reading offset 1696608, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 230 -{1361873:S 06 Oct 2026 19:33:16.353 * MASTER <-> REPLICA sync: Finished with success} 248 -{1361873:S 06 Oct 2026 19:33:17.009 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 274 -{1361873:S 06 Oct 2026 19:33:17.056 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 289 -{1361873:S 06 Oct 2026 19:33:17.154 # Internal error in RDB reading offset 5981851, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 304 -{1361873:S 06 Oct 2026 19:33:17.257 # Internal error in RDB reading offset 5981851, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 319 -{1361873:S 06 Oct 2026 19:33:17.351 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 334 -{1361873:S 06 Oct 2026 19:33:17.415 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 349 -{1361873:S 06 Oct 2026 19:33:17.521 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 364 -{1361873:S 06 Oct 2026 19:33:17.576 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 379 -{1361873:S 06 Oct 2026 19:33:17.665 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 394 -{1361873:S 06 Oct 2026 19:33:17.755 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 409 -{1361873:S 06 Oct 2026 19:33:17.885 # Internal error in RDB reading offset 5981851, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 424 -{1361873:S 06 Oct 2026 19:33:17.994 # Internal error in RDB reading offset 3750950, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 439 -{1361873:S 06 Oct 2026 19:33:18.072 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 454 -{1361873:S 06 Oct 2026 19:33:18.149 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 469 -{1361873:S 06 Oct 2026 19:33:18.268 # Internal error in RDB reading offset 9650478, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 484 -{1361873:S 06 Oct 2026 19:33:19.694 # Internal error in RDB reading offset 3750950, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 499 -{1361873:S 06 Oct 2026 19:33:20.298 * MASTER <-> REPLICA sync: Finished with success} 517 -{1361873:S 06 Oct 2026 19:33:20.922 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 544 -{1361873:S 06 Oct 2026 19:33:20.955 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 559 -{1361873:S 06 Oct 2026 19:33:21.006 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 574 -{1361873:S 06 Oct 2026 19:33:21.062 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 589 -{1361873:S 06 Oct 2026 19:33:21.149 # Internal error in RDB reading offset 5981851, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 604 -{1361873:S 06 Oct 2026 19:33:21.226 # Internal error in RDB reading offset 3750950, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 619 -{1361873:S 06 Oct 2026 19:33:21.371 # Internal error in RDB reading offset 16557383, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 634 -{1361873:S 06 Oct 2026 19:33:21.429 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 649 -{1361873:S 06 Oct 2026 19:33:21.524 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 664 -{1361873:S 06 Oct 2026 19:33:21.610 # Internal error in RDB reading offset 3750950, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 679 -{1361873:S 06 Oct 2026 19:33:21.701 # Internal error in RDB reading offset 3750950, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 694 -{1361873:S 06 Oct 2026 19:33:21.782 # Internal error in RDB reading offset 5981851, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 709 -{1361873:S 06 Oct 2026 19:33:21.869 # Internal error in RDB reading offset 5981851, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 724 -{1361873:S 06 Oct 2026 19:33:21.942 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 739 -{1361873:S 06 Oct 2026 19:33:22.021 # Internal error in RDB reading offset 9650478, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 754 -{1361873:S 06 Oct 2026 19:33:22.102 # Internal error in RDB reading offset 3750950, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 769 -{1361873:S 06 Oct 2026 19:33:22.158 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 784 -{1361873:S 06 Oct 2026 19:33:22.225 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 799 -{1361873:S 06 Oct 2026 19:33:22.295 # Internal error in RDB reading offset 5981851, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 814 -{1361873:S 06 Oct 2026 19:33:22.388 # Internal error in RDB reading offset 5981851, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 829 -{1361873:S 06 Oct 2026 19:33:22.465 # Internal error in RDB reading offset 3750950, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 844 -{1361873:S 06 Oct 2026 19:33:22.510 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 859 -{1361873:S 06 Oct 2026 19:33:22.566 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 874 -{1361873:S 06 Oct 2026 19:33:22.671 # Internal error in RDB reading offset 3750950, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 889 -{1361873:S 06 Oct 2026 19:33:22.718 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 904 -{1361873:S 06 Oct 2026 19:33:22.773 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 919 -{1361873:S 06 Oct 2026 19:33:22.851 # Internal error in RDB reading offset 3750950, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 934 -{1361873:S 06 Oct 2026 19:33:22.938 # Internal error in RDB reading offset 3750950, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 949 -{1361873:S 06 Oct 2026 19:33:23.002 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 964 -{1361873:S 06 Oct 2026 19:33:23.057 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 979 -{1361873:S 06 Oct 2026 19:33:23.122 # Internal error in RDB reading offset 3750950, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 994 -{1361873:S 06 Oct 2026 19:33:23.193 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1009 -{1361873:S 06 Oct 2026 19:33:23.251 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1024 -{1361873:S 06 Oct 2026 19:33:23.302 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1039 -{1361873:S 06 Oct 2026 19:33:23.362 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1054 -{1361873:S 06 Oct 2026 19:33:23.409 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1069 -{1361873:S 06 Oct 2026 19:33:23.490 # Internal error in RDB reading offset 3750950, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1084 -{1361873:S 06 Oct 2026 19:33:23.578 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1099 -{1361873:S 06 Oct 2026 19:33:23.651 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1114 -{1361873:S 06 Oct 2026 19:33:23.752 # Internal error in RDB reading offset 5981851, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1129 -{1361873:S 06 Oct 2026 19:33:23.860 # Internal error in RDB reading offset 5981851, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1144 -{1361873:S 06 Oct 2026 19:33:23.952 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1159 -{1361873:S 06 Oct 2026 19:33:24.168 # Internal error in RDB reading offset 14522608, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1174 -{1361873:S 06 Oct 2026 19:33:24.280 # Internal error in RDB reading offset 5981851, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1189 -{1361873:S 06 Oct 2026 19:33:24.371 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1204 -{1361873:S 06 Oct 2026 19:33:24.437 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1219 -{1361873:S 06 Oct 2026 19:33:24.501 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1234 -{1361873:S 06 Oct 2026 19:33:24.621 # Internal error in RDB reading offset 7650770, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1249 -{1361873:S 06 Oct 2026 19:33:24.731 # Internal error in RDB reading offset 3750950, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1264 -{1361873:S 06 Oct 2026 19:33:24.841 # Internal error in RDB reading offset 5981851, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1279 -{1361873:S 06 Oct 2026 19:33:24.910 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1294 -{1361873:S 06 Oct 2026 19:33:24.978 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1309 -{1361873:S 06 Oct 2026 19:33:25.051 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1324 -{1361873:S 06 Oct 2026 19:33:25.173 # Internal error in RDB reading offset 7650770, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1339 -{1361873:S 06 Oct 2026 19:33:25.239 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1354 -{1361873:S 06 Oct 2026 19:33:25.384 # Internal error in RDB reading offset 12439338, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1369 -{1361873:S 06 Oct 2026 19:33:25.501 # Internal error in RDB reading offset 7650770, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1384 -{1361873:S 06 Oct 2026 19:33:25.576 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1399 -{1361873:S 06 Oct 2026 19:33:25.694 # Internal error in RDB reading offset 5981851, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1414 -{1361873:S 06 Oct 2026 19:33:25.761 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1429 -{1361873:S 06 Oct 2026 19:33:25.849 # Internal error in RDB reading offset 5981851, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1444 -{1361873:S 06 Oct 2026 19:33:25.976 # Internal error in RDB reading offset 7650770, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1459 -{1361873:S 06 Oct 2026 19:33:26.071 # Internal error in RDB reading offset 3750950, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1474 -{1361873:S 06 Oct 2026 19:33:26.185 # Internal error in RDB reading offset 7650770, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1489 -{1361873:S 06 Oct 2026 19:33:26.298 # Internal error in RDB reading offset 3750950, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1504 -{1361873:S 06 Oct 2026 19:33:26.382 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1519 -{1361873:S 06 Oct 2026 19:33:26.482 # Internal error in RDB reading offset 3750950, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1534 -{1361873:S 06 Oct 2026 19:33:26.539 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1549 -{1361873:S 06 Oct 2026 19:33:26.604 # Internal error in RDB reading offset 1696611, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1564 -test took 12206 ms -[ok]: diskless loading short read (20831 ms) -=== (repl external:skip) Starting server 127.0.0.1:21353 ok -=== () Starting server 127.0.0.1:21355 ok -=== () Starting server 127.0.0.1:21357 ok -[ok]: diskless no replicas drop during rdb pipe (19082 ms) -=== () Starting server 127.0.0.1:21359 ok -=== () Starting server 127.0.0.1:21361 ok -[ok]: diskless slow replicas drop during rdb pipe (14835 ms) -=== () Starting server 127.0.0.1:21363 ok -=== () Starting server 127.0.0.1:21365 ok -[ok]: diskless fast replicas drop during rdb pipe (16944 ms) -=== () Starting server 127.0.0.1:21367 ok -=== () Starting server 127.0.0.1:21369 ok -[ok]: diskless all replicas drop during rdb pipe (3792 ms) -=== () Starting server 127.0.0.1:21371 ok -=== () Starting server 127.0.0.1:21373 ok -[ok]: diskless timeout replicas drop during rdb pipe (14683 ms) -=== (repl) Starting server 127.0.0.1:21375 ok -=== () Starting server 127.0.0.1:21377 ok -[ok]: diskless replication child being killed is collected (3404 ms) -=== (repl) Starting server 127.0.0.1:21379 ok -=== () Starting server 127.0.0.1:21381 ok -[ok]: replication child dies when parent is killed - diskless: yes (1589 ms) -=== (repl) Starting server 127.0.0.1:21383 ok -=== () Starting server 127.0.0.1:21385 ok -[ok]: replication child dies when parent is killed - diskless: no (2138 ms) -=== (repl) Starting server 127.0.0.1:21387 ok -=== () Starting server 127.0.0.1:21389 ok -[ok]: diskless replication read pipe cleanup (1768 ms) -=== (repl) Starting server 127.0.0.1:21391 ok -=== () Starting server 127.0.0.1:21393 ok -=== () Starting server 127.0.0.1:21395 ok -[ok]: replicaof right after disconnection (5184 ms) -=== (repl) Starting server 127.0.0.1:21397 ok -=== () Starting server 127.0.0.1:21399 ok -=== () Starting server 127.0.0.1:21401 ok -[ok]: Kill rdb child process if its dumping RDB is not useful (2781 ms) -=== (repl external:skip) Starting server 127.0.0.1:21403 ok -=== () Starting server 127.0.0.1:21405 ok -=== () Starting server 127.0.0.1:21407 ok -=== () Starting server 127.0.0.1:21409 ok -[ok]: Don't disconnect with replicas before loading transferred RDB when full sync (2 ms) -[ok]: Discard cache master before loading transferred RDB when full sync (121 ms) -=== (repl) Starting server 127.0.0.1:21411 ok -=== () Starting server 127.0.0.1:21413 ok -[ok]: replica can handle EINTR if use diskless load (973 ms) -=== (repl external:skip) Starting server 127.0.0.1:21415 ok -SYNC _addReplyToBufferOrList: REDIS0012ú redis-ver7.3.5ú -redis-bitsÀ@úctimeÂ"öÅjúused-memÂXÃúrepl-stream-dbÀúrepl-id(639f6477c9db8ef3f30022cf02062ab56b7159cfú repl-offsetÀúaof-baseÀÿV˜,ÝQ^…— -[ok]: replica do not write the reply to the replication link - SYNC (_addReplyToBufferOrList) (62 ms) -SYNC addReplyDeferredLen: I/O error reading reply - -Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - SYNC (addReplyDeferredLen) (135 ms) -PSYNC _addReplyToBufferOrList: I/O error reading reply - -Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - PSYNC (_addReplyToBufferOrList) (91 ms) -PSYNC addReplyDeferredLen: I/O error reading reply - -Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - PSYNC (addReplyDeferredLen) (88 ms) -[ok]: PSYNC with wrong offset should throw error (6 ms) -=== (repl external:skip) Starting server 127.0.0.1:21417 ok -=== () Starting server 127.0.0.1:21419 ok -[ok]: Test replication with lazy expire (871 ms) -[29/91 done]: integration/replication (300 seconds) -Testing integration/replication-2 -=== (repl external:skip) Starting server 127.0.0.1:21421 ok -=== () Starting server 127.0.0.1:21423 ok -[ok]: First server should have role slave after SLAVEOF (109 ms) -[ok]: If min-slaves-to-write is honored, write is accepted (616 ms) -[ok]: No write if min-slaves-to-write is < attached slaves (1 ms) -[ok]: If min-slaves-to-write is honored, write is accepted (again) (7 ms) -[ok]: No write if min-slaves-max-lag is > of the slave lag (3097 ms) -[ok]: min-slaves-to-write is ignored by slaves (15 ms) -[ok]: MASTER and SLAVE dataset should be identical after complex ops (50739 ms) -[30/91 done]: integration/replication-2 (55 seconds) -Testing integration/replication-3 -=== (repl external:skip) Starting server 127.0.0.1:21425 ok -=== () Starting server 127.0.0.1:21427 ok -[ok]: First server should have role slave after SLAVEOF (122 ms) -[ok]: MASTER and SLAVE consistency with expire (16390 ms) -[ok]: Master can replicate command longer than client-query-buffer-limit on replica (145 ms) -[ok]: Slave is able to evict keys created in writable slaves (6493 ms) -[ok]: Writable replica doesn't return expired keys (143 ms) -[ok]: PFCOUNT updates cache on readonly replica (32 ms) -[ok]: PFCOUNT doesn't use expired key on readonly replica (127 ms) -[31/91 done]: integration/replication-3 (25 seconds) -Testing integration/replication-4 -=== (repl network external:skip singledb:skip) Starting server 127.0.0.1:21429 ok -=== () Starting server 127.0.0.1:21431 ok -[ok]: First server should have role slave after SLAVEOF (3 ms) -[ok]: Test replication with parallel clients writing in different DBs (6711 ms) -=== (repl external:skip) Starting server 127.0.0.1:21433 ok -=== () Starting server 127.0.0.1:21435 ok -[ok]: First server should have role slave after SLAVEOF (153 ms) -[ok]: With min-slaves-to-write (1,3): master should be writable (1 ms) -[ok]: With min-slaves-to-write (2,3): master should not be writable (3 ms) -[ok]: With min-slaves-to-write function without no-write flag (1 ms) -[ok]: With not enough good slaves, read in Lua script is still accepted (11 ms) -[ok]: With min-slaves-to-write: master not writable with lagged slave (3666 ms) -=== (repl external:skip) Starting server 127.0.0.1:21437 ok -=== () Starting server 127.0.0.1:21439 ok -[ok]: First server should have role slave after SLAVEOF (114 ms) -Replication of an expired key does not delete the expired key test attempts: 1 -[ok]: Replication of an expired key does not delete the expired key (3161 ms) -=== (repl external:skip) Starting server 127.0.0.1:21441 ok -=== () Starting server 127.0.0.1:21443 ok -[ok]: First server should have role slave after SLAVEOF (64 ms) -[ok]: Replication: commands with many arguments (issue #1221) (65220 ms) -[ok]: spopwithcount rewrite srem command (289 ms) -[ok]: Replication of SPOP command -- alsoPropagate() API (3517 ms) -=== (repl external:skip) Starting server 127.0.0.1:21445 ok -=== () Starting server 127.0.0.1:21447 ok -[ok]: First server should have role slave after SLAVEOF (766 ms) -[ok]: Data divergence can happen under default conditions (18 ms) -[ok]: Data divergence is allowed on writable replicas (14 ms) -[32/91 done]: integration/replication-4 (90 seconds) -Testing integration/replication-psync -=== (repl) Starting server 127.0.0.1:21449 ok -=== () Starting server 127.0.0.1:21451 ok -[ok]: Slave should be able to synchronize with the master (130 ms) -[ok]: Detect write load to master (2018 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, disabled, reconnect: 0) (40 ms) -=== (repl) Starting server 127.0.0.1:21453 ok -=== () Starting server 127.0.0.1:21455 ok -[ok]: Slave should be able to synchronize with the master (206 ms) -[ok]: Detect write load to master (1012 ms) -[ok]: Test replication partial resync: ok psync (diskless: no, disabled, reconnect: 1) (6281 ms) -=== (repl) Starting server 127.0.0.1:21457 ok -=== () Starting server 127.0.0.1:21459 ok -[ok]: Slave should be able to synchronize with the master (228 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: no backlog (diskless: no, disabled, reconnect: 1) (8106 ms) -=== (repl) Starting server 127.0.0.1:21461 ok -=== () Starting server 127.0.0.1:21463 ok -[ok]: Slave should be able to synchronize with the master (112 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: ok after delay (diskless: no, disabled, reconnect: 1) (9324 ms) -=== (repl) Starting server 127.0.0.1:21465 ok -=== () Starting server 127.0.0.1:21467 ok -[ok]: Slave should be able to synchronize with the master (103 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: backlog expired (diskless: no, disabled, reconnect: 1) (10103 ms) -=== (repl) Starting server 127.0.0.1:21469 ok -=== () Starting server 127.0.0.1:21471 ok -[ok]: Slave should be able to synchronize with the master (111 ms) -[ok]: Detect write load to master (1005 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, swapdb, reconnect: 0) (27 ms) -=== (repl) Starting server 127.0.0.1:21473 ok -=== () Starting server 127.0.0.1:21475 ok -[ok]: Slave should be able to synchronize with the master (116 ms) -[ok]: Detect write load to master (1007 ms) -[ok]: Test replication partial resync: ok psync (diskless: no, swapdb, reconnect: 1) (7348 ms) -=== (repl) Starting server 127.0.0.1:21477 ok -=== () Starting server 127.0.0.1:21479 ok -[ok]: Slave should be able to synchronize with the master (103 ms) -[ok]: Detect write load to master (1012 ms) -[ok]: Test replication partial resync: no backlog (diskless: no, swapdb, reconnect: 1) (10376 ms) -=== (repl) Starting server 127.0.0.1:21481 ok -=== () Starting server 127.0.0.1:21483 ok -[ok]: Slave should be able to synchronize with the master (129 ms) -[ok]: Detect write load to master (1003 ms) -[ok]: Test replication partial resync: ok after delay (diskless: no, swapdb, reconnect: 1) (9248 ms) -=== (repl) Starting server 127.0.0.1:21485 ok -=== () Starting server 127.0.0.1:21487 ok -[ok]: Slave should be able to synchronize with the master (103 ms) -[ok]: Detect write load to master (3296 ms) -[ok]: Test replication partial resync: backlog expired (diskless: no, swapdb, reconnect: 1) (9189 ms) -=== (repl) Starting server 127.0.0.1:21489 ok -=== () Starting server 127.0.0.1:21491 ok -[ok]: Slave should be able to synchronize with the master (773 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, reconnect: 0) (27 ms) -=== (repl) Starting server 127.0.0.1:21493 ok -=== () Starting server 127.0.0.1:21495 ok -[ok]: Slave should be able to synchronize with the master (938 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: ok psync (diskless: yes, disabled, reconnect: 1) (7644 ms) -=== (repl) Starting server 127.0.0.1:21497 ok -=== () Starting server 127.0.0.1:21499 ok -[ok]: Slave should be able to synchronize with the master (2279 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: no backlog (diskless: yes, disabled, reconnect: 1) (9128 ms) -=== (repl) Starting server 127.0.0.1:21501 ok -=== () Starting server 127.0.0.1:21503 ok -[ok]: Slave should be able to synchronize with the master (1255 ms) -[ok]: Detect write load to master (3 ms) -[ok]: Test replication partial resync: ok after delay (diskless: yes, disabled, reconnect: 1) (9680 ms) -=== (repl) Starting server 127.0.0.1:21505 ok -=== () Starting server 127.0.0.1:21507 ok -[ok]: Slave should be able to synchronize with the master (1764 ms) -[ok]: Detect write load to master (4 ms) -[ok]: Test replication partial resync: backlog expired (diskless: yes, disabled, reconnect: 1) (9220 ms) -=== (repl) Starting server 127.0.0.1:21509 ok -=== () Starting server 127.0.0.1:21511 ok -[ok]: Slave should be able to synchronize with the master (732 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, reconnect: 0) (270 ms) -=== (repl) Starting server 127.0.0.1:21513 ok -=== () Starting server 127.0.0.1:21515 ok -[ok]: Slave should be able to synchronize with the master (1912 ms) -[ok]: Detect write load to master (4 ms) -[ok]: Test replication partial resync: ok psync (diskless: yes, swapdb, reconnect: 1) (6276 ms) -=== (repl) Starting server 127.0.0.1:21517 ok -=== () Starting server 127.0.0.1:21519 ok -[ok]: Slave should be able to synchronize with the master (1616 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: no backlog (diskless: yes, swapdb, reconnect: 1) (8025 ms) -=== (repl) Starting server 127.0.0.1:21521 ok -=== () Starting server 127.0.0.1:21523 ok -[ok]: Slave should be able to synchronize with the master (725 ms) -[ok]: Detect write load to master (2 ms) -[ok]: Test replication partial resync: ok after delay (diskless: yes, swapdb, reconnect: 1) (9212 ms) -=== (repl) Starting server 127.0.0.1:21525 ok -=== () Starting server 127.0.0.1:21527 ok -[ok]: Slave should be able to synchronize with the master (743 ms) -[ok]: Detect write load to master (5 ms) -[ok]: Test replication partial resync: backlog expired (diskless: yes, swapdb, reconnect: 1) (11072 ms) -[33/91 done]: integration/replication-psync (184 seconds) -Testing integration/replication-buffer -=== (repl external:skip) Starting server 127.0.0.1:21529 ok -=== () Starting server 127.0.0.1:21531 ok -=== () Starting server 127.0.0.1:21533 ok -=== () Starting server 127.0.0.1:21535 ok -[ok]: All replicas share one global replication buffer (301 ms) -[ok]: Replication buffer will become smaller when no replica uses (62 ms) -=== (repl external:skip) Starting server 127.0.0.1:21537 ok -=== () Starting server 127.0.0.1:21539 ok -=== () Starting server 127.0.0.1:21541 ok -[ok]: Replication backlog size can outgrow the backlog limit config (8813 ms) -[ok]: Replica could use replication buffer (beyond backlog config) for partial resynchronization (10595 ms) -[ok]: Replication backlog memory will become smaller if disconnecting with replica (588 ms) -=== (repl external:skip) Starting server 127.0.0.1:21543 ok -=== () Starting server 127.0.0.1:21545 ok -[ok]: Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size (6229 ms) -=== (repl external:skip) Starting server 127.0.0.1:21547 ok -=== () Starting server 127.0.0.1:21549 ok -[ok]: The update of replBufBlock's repl_offset is ok - Regression test for #11666 (21 ms) -[ok]: Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending (2775 ms) -[34/91 done]: integration/replication-buffer (36 seconds) -Testing integration/shutdown -=== () Starting server 127.0.0.1:21551 ok -=== () Starting server 127.0.0.1:21553 ok -[ok]: Shutting down master waits for replica to catch up (sigterm) (4569 ms) -=== () Starting server 127.0.0.1:21555 ok -=== () Starting server 127.0.0.1:21557 ok -[ok]: Shutting down master waits for replica to catch up (shutdown) (4977 ms) -=== () Starting server 127.0.0.1:21559 ok -=== () Starting server 127.0.0.1:21561 ok -[ok]: Shutting down master waits for replica timeout (5312 ms) -=== () Starting server 127.0.0.1:21563 ok -=== () Starting server 127.0.0.1:21565 ok -[ok]: Shutting down master waits for replica then fails (1707 ms) -=== () Starting server 127.0.0.1:21567 ok -=== () Starting server 127.0.0.1:21569 ok -[ok]: Shutting down master waits for replica then aborted (892 ms) -[35/91 done]: integration/shutdown (17 seconds) -Testing integration/aof -=== () Starting server 127.0.0.1:21571 ok -[ok]: Unfinished MULTI: Server should start if load-truncated is yes (7 ms) -=== () Starting server 127.0.0.1:21573 ok -[ok]: Short read: Server should start if load-truncated is yes (4 ms) -[ok]: Truncated AOF loaded: we expect foo to be equal to 5 (20 ms) -[ok]: Append a new command after loading an incomplete AOF (1 ms) -=== () Starting server 127.0.0.1:21575 ok -[ok]: Short read + command: Server should start (1 ms) -[ok]: Truncated AOF loaded: we expect foo to be equal to 6 now (20 ms) -=== () Starting server 127.0.0.1:21577 -[ok]: Bad format: Server should have logged an error (3 ms) -=== () Starting server 127.0.0.1:21579 -[ok]: Unfinished MULTI: Server should have logged an error (3 ms) -=== () Starting server 127.0.0.1:21581 -[ok]: Short read: Server should have logged an error (12 ms) -[ok]: Short read: Utility should confirm the AOF is not valid (36 ms) -[ok]: Short read: Utility should show the abnormal line num in AOF (33 ms) -[ok]: Short read: Utility should be able to fix the AOF (32 ms) -=== () Starting server 127.0.0.1:21583 ok -[ok]: Fixed AOF: Server should have been started (3 ms) -[ok]: Fixed AOF: Keyspace should contain values that were parseable (23 ms) -=== () Starting server 127.0.0.1:21585 ok -[ok]: AOF+SPOP: Server should have been started (4 ms) -[ok]: AOF+SPOP: Set should have 1 member (20 ms) -=== () Starting server 127.0.0.1:21587 ok -[ok]: AOF+SPOP: Server should have been started (1 ms) -[ok]: AOF+SPOP: Set should have 1 member (23 ms) -=== () Starting server 127.0.0.1:21589 ok -[ok]: AOF+EXPIRE: Server should have been started (3 ms) -[ok]: AOF+EXPIRE: List should be empty (19 ms) -=== () Starting server 127.0.0.1:21591 ok -[ok]: Redict should not try to convert DEL into EXPIREAT for EXPIRE -1 (0 ms) -=== () Starting server 127.0.0.1:21593 ok -[ok]: AOF fsync always barrier issue (8338 ms) -=== () Starting server 127.0.0.1:21595 ok -[ok]: GETEX should not append to AOF (1 ms) -=== () Starting server 127.0.0.1:21597 -[ok]: Unknown command: Server should have logged an error (7 ms) -=== () Starting server 127.0.0.1:21599 ok -[ok]: AOF+LMPOP/BLMPOP: pop elements from the list (141 ms) -=== () Starting server 127.0.0.1:21601 ok -[ok]: AOF+LMPOP/BLMPOP: after pop elements from the list (16 ms) -=== () Starting server 127.0.0.1:21603 ok -[ok]: AOF+ZMPOP/BZMPOP: pop elements from the zset (177 ms) -=== () Starting server 127.0.0.1:21605 ok -[ok]: AOF+ZMPOP/BZMPOP: after pop elements from the zset (26 ms) -=== () Starting server 127.0.0.1:21607 ok - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Generate timestamp annotations in AOF (504 ms) -=== () Starting server 127.0.0.1:21609 ok -[ok]: Successfully load AOF which has timestamp annotations inside (36 ms) -=== () Starting server 127.0.0.1:21611 ok -=== () Starting server 127.0.0.1:21613 ok -=== () Starting server 127.0.0.1:21615 ok -[ok]: Truncate AOF to specific timestamp (1062 ms) -=== () Starting server 127.0.0.1:21617 ok -[ok]: EVAL timeout with slow verbatim Lua script from AOF (5345 ms) -=== () Starting server 127.0.0.1:21619 ok -[ok]: EVAL can process writes from AOF in read-only replicas (303 ms) -[ok]: Test redict-check-aof for old style resp AOF (35 ms) -[ok]: Test redict-check-aof for old style resp AOF - has data in the same format as manifest (36 ms) -[ok]: Test redict-check-aof for old style rdb-preamble AOF (38 ms) -[ok]: Test redict-check-aof for Multi Part AOF with resp AOF base (35 ms) -[ok]: Test redict-check-aof for Multi Part AOF with rdb-preamble AOF base (59 ms) -[ok]: Test redict-check-aof for Multi Part AOF contains a format error (29 ms) -[ok]: Test redict-check-aof only truncates the last file for Multi Part AOF in fix mode (90 ms) -[ok]: Test redict-check-aof only truncates the last file for Multi Part AOF in truncate-to-timestamp mode (34 ms) -=== () Starting server 127.0.0.1:21621 ok -[ok]: FLUSHDB / FLUSHALL should persist in AOF (19 ms) -[36/91 done]: integration/aof (24 seconds) -Testing integration/aof-race -=== () Starting server 127.0.0.1:21623 ok -=== () Starting server 127.0.0.1:21625 ok -[37/91 done]: integration/aof-race (3 seconds) -Testing integration/aof-multi-part -=== () Starting server 127.0.0.1:21627 -[ok]: Multi Part AOF can't load data when some file missing (166 ms) -=== () Starting server 127.0.0.1:21629 -[ok]: Multi Part AOF can't load data when the sequence not increase monotonically (191 ms) -=== () Starting server 127.0.0.1:21631 -[ok]: Multi Part AOF can't load data when there are blank lines in the manifest file (185 ms) -=== () Starting server 127.0.0.1:21633 -[ok]: Multi Part AOF can't load data when there is a duplicate base file (183 ms) -=== () Starting server 127.0.0.1:21635 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (type unknown) (172 ms) -=== () Starting server 127.0.0.1:21637 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (missing key) (150 ms) -=== () Starting server 127.0.0.1:21639 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (line too short) (166 ms) -=== () Starting server 127.0.0.1:21641 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (line too long) (178 ms) -=== () Starting server 127.0.0.1:21643 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (odd parameter) (182 ms) -=== () Starting server 127.0.0.1:21645 -[ok]: Multi Part AOF can't load data when the manifest file is empty (196 ms) -=== () Starting server 127.0.0.1:21647 ok -[ok]: Multi Part AOF can start when no aof and no manifest (312 ms) -=== () Starting server 127.0.0.1:21649 ok -[ok]: Multi Part AOF can start when we have en empty AOF dir (390 ms) -=== () Starting server 127.0.0.1:21651 ok -[ok]: Multi Part AOF can load data discontinuously increasing sequence (314 ms) -=== () Starting server 127.0.0.1:21653 ok -[ok]: Multi Part AOF can load data when manifest add new k-v (354 ms) -=== () Starting server 127.0.0.1:21655 ok -[ok]: Multi Part AOF can load data when some AOFs are empty (305 ms) -=== () Starting server 127.0.0.1:21657 ok - -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can load data from old version redict (rdb preamble no) (1746 ms) -=== () Starting server 127.0.0.1:21659 ok - -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can load data from old version redict (rdb preamble yes) (432 ms) -=== () Starting server 127.0.0.1:21661 ok -[ok]: Multi Part AOF can continue the upgrade from the interrupted upgrade state (344 ms) -=== () Starting server 127.0.0.1:21663 ok -[ok]: Multi Part AOF can be loaded correctly when both server dir and aof dir contain old AOF (384 ms) -=== () Starting server 127.0.0.1:21665 -[ok]: Multi Part AOF can't load data when the manifest contains the old AOF file name but the file does not exist in server dir and aof dir (176 ms) -=== () Starting server 127.0.0.1:21667 ok -=== () Starting server 127.0.0.1:21669 ok - -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can upgrade when when two redict share the same server dir (redict1) (82 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can upgrade when when two redict share the same server dir (redict2) (182 ms) -[ok]: Multi Part AOF can upgrade when when two redict share the same server dir (951 ms) -=== () Starting server 127.0.0.1:21671 ok - -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can handle appendfilename contains whitespaces (408 ms) -=== () Starting server 127.0.0.1:21673 ok -[ok]: Multi Part AOF can create BASE (RDB format) when redict starts from empty (499 ms) -=== () Starting server 127.0.0.1:21675 ok -[ok]: Multi Part AOF can create BASE (AOF format) when redict starts from empty (292 ms) -=== (Multi Part AOF) Starting server 127.0.0.1:21677 ok -[ok]: Make sure aof manifest appendonly.aof.manifest not in aof directory (0 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF enable will create manifest file (493 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF multiple rewrite failures will open multiple INCR AOFs (2195 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite doesn't open new aof when AOF turn off (489 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF enable/disable auto gc (230 ms) - -Waiting for background AOF rewrite to finish... [ok]: AOF can produce consecutive sequence number after reload (98 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF enable during BGSAVE will not write data util AOFRW finish (4198 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF will trigger limit when AOFRW fails many times (1704 ms) -=== () Starting server 127.0.0.1:21679 ok - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF will open a temporary INCR AOF to accumulate data until the first AOFRW success when AOF is dynamically enabled (5674 ms) -[38/91 done]: integration/aof-multi-part (24 seconds) -Testing integration/rdb -=== () Starting server 127.0.0.1:21681 ok -[ok]: test old version rdb file (1 ms) -=== () Starting server 127.0.0.1:21683 ok -[ok]: RDB encoding loading test (25 ms) -=== () Starting server 127.0.0.1:21685 ok -[ok]: Server started empty with non-existing RDB file (9 ms) -=== () Starting server 127.0.0.1:21687 ok -[ok]: Server started empty with empty RDB file (0 ms) -=== () Starting server 127.0.0.1:21689 ok -[ok]: Test RDB stream encoding (380 ms) -[ok]: Test RDB stream encoding - sanitize dump (18 ms) -=== () Starting server 127.0.0.1:21691 -[ok]: Server should not start if RDB file can't be open (2 ms) -=== () Starting server 127.0.0.1:21693 -[ok]: Server should not start if RDB is corrupted (1 ms) -=== () Starting server 127.0.0.1:21695 ok -[ok]: Test FLUSHALL aborts bgsave (1937 ms) -[ok]: bgsave resets the change counter (104 ms) -=== () Starting server 127.0.0.1:21697 ok -[ok]: client freed during loading (3720 ms) -=== () Starting server 127.0.0.1:21699 ok -[ok]: Test RDB load info (1613 ms) -=== () Starting server 127.0.0.1:21701 ok -Keys before bgsave start: 10000 -COW info before copy-on-write: 0 -current_save_keys_processed info : 0 -COW info before copy-on-write: 831488 -current_save_keys_processed info : 1 -[ok]: Test child sending info (6656 ms) -=== () Starting server 127.0.0.1:21703 ok -[ok]: script won't load anymore if it's in rdb (0 ms) -=== () Starting server 127.0.0.1:21705 ok - -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... [ok]: failed bgsave prevents writes (1167 ms) -[39/91 done]: integration/rdb (20 seconds) -Testing integration/corrupt-dump -=== () Starting server 127.0.0.1:21707 ok -[ok]: corrupt payload: #7445 - with sanitize (619 ms) -=== () Starting server 127.0.0.1:21709 ok -[ok]: corrupt payload: hash with valid zip list header, invalid entry len (759 ms) -=== () Starting server 127.0.0.1:21711 ok -[ok]: corrupt payload: invalid zlbytes header (353 ms) -=== () Starting server 127.0.0.1:21713 ok -[ok]: corrupt payload: valid zipped hash header, dup records (295 ms) -=== () Starting server 127.0.0.1:21715 ok -[ok]: corrupt payload: quicklist big ziplist prev len (368 ms) -=== () Starting server 127.0.0.1:21717 ok -[ok]: corrupt payload: quicklist small ziplist prev len (295 ms) -=== () Starting server 127.0.0.1:21719 ok -[ok]: corrupt payload: quicklist ziplist wrong count (656 ms) -=== () Starting server 127.0.0.1:21721 ok -[ok]: corrupt payload: #3080 - quicklist (1881 ms) -=== () Starting server 127.0.0.1:21723 ok -[ok]: corrupt payload: quicklist with empty ziplist (312 ms) -=== () Starting server 127.0.0.1:21725 ok -[ok]: corrupt payload: quicklist encoded_len is 0 (378 ms) -=== () Starting server 127.0.0.1:21727 ok -[ok]: corrupt payload: quicklist listpack entry start with EOF (321 ms) -=== () Starting server 127.0.0.1:21729 ok -[ok]: corrupt payload: #3080 - ziplist (319 ms) -=== () Starting server 127.0.0.1:21731 -[ok]: corrupt payload: load corrupted rdb with no CRC - #3505 (179 ms) -=== () Starting server 127.0.0.1:21733 ok -[ok]: corrupt payload: load corrupted rdb with empty keys (525 ms) -=== () Starting server 127.0.0.1:21735 ok -[ok]: corrupt payload: load corrupted rdb with empty keys (343 ms) -=== () Starting server 127.0.0.1:21737 ok -[ok]: corrupt payload: listpack invalid size header (325 ms) -=== () Starting server 127.0.0.1:21739 ok -[ok]: corrupt payload: listpack too long entry len (280 ms) -=== () Starting server 127.0.0.1:21741 ok -[ok]: corrupt payload: listpack very long entry len (309 ms) -=== () Starting server 127.0.0.1:21743 ok -[ok]: corrupt payload: listpack too long entry prev len (281 ms) -=== () Starting server 127.0.0.1:21745 ok -[ok]: corrupt payload: stream with duplicate consumers (355 ms) -=== () Starting server 127.0.0.1:21747 ok -[ok]: corrupt payload: hash ziplist with duplicate records (404 ms) -=== () Starting server 127.0.0.1:21749 ok -[ok]: corrupt payload: hash listpack with duplicate records (333 ms) -=== () Starting server 127.0.0.1:21751 ok -[ok]: corrupt payload: hash listpack with duplicate records - convert (303 ms) -=== () Starting server 127.0.0.1:21753 ok -[ok]: corrupt payload: hash ziplist uneven record count (482 ms) -=== () Starting server 127.0.0.1:21755 ok -[ok]: corrupt payload: hash duplicate records (504 ms) -=== () Starting server 127.0.0.1:21757 ok -[ok]: corrupt payload: hash empty zipmap (342 ms) -=== () Starting server 127.0.0.1:21759 ok -[ok]: corrupt payload: fuzzer findings - NPD in streamIteratorGetID (368 ms) -=== () Starting server 127.0.0.1:21761 ok -[ok]: corrupt payload: fuzzer findings - listpack NPD on invalid stream (272 ms) -=== () Starting server 127.0.0.1:21763 ok -[ok]: corrupt payload: fuzzer findings - NPD in quicklistIndex (362 ms) -=== () Starting server 127.0.0.1:21765 ok -[ok]: corrupt payload: fuzzer findings - encoded entry header reach outside the allocation (1367 ms) -=== () Starting server 127.0.0.1:21767 ok -[ok]: corrupt payload: fuzzer findings - invalid ziplist encoding (282 ms) -=== () Starting server 127.0.0.1:21769 ok -[ok]: corrupt payload: fuzzer findings - hash crash (279 ms) -=== () Starting server 127.0.0.1:21771 ok -[ok]: corrupt payload: fuzzer findings - uneven entry count in hash (280 ms) -=== () Starting server 127.0.0.1:21773 ok -[ok]: corrupt payload: fuzzer findings - invalid read in lzf_decompress (279 ms) -=== () Starting server 127.0.0.1:21775 ok -[ok]: corrupt payload: fuzzer findings - leak in rdbloading due to dup entry in set (308 ms) -=== () Starting server 127.0.0.1:21777 ok -[ok]: corrupt payload: fuzzer findings - empty intset (306 ms) -=== () Starting server 127.0.0.1:21779 ok -[ok]: corrupt payload: fuzzer findings - zset ziplist entry lensize is 0 (290 ms) -=== () Starting server 127.0.0.1:21781 ok -[ok]: corrupt payload: fuzzer findings - valgrind ziplist prevlen reaches outside the ziplist (306 ms) -=== () Starting server 127.0.0.1:21783 ok -[ok]: corrupt payload: fuzzer findings - valgrind - bad rdbLoadDoubleValue (296 ms) -=== () Starting server 127.0.0.1:21785 ok -[ok]: corrupt payload: fuzzer findings - valgrind ziplist prev too big (282 ms) -=== () Starting server 127.0.0.1:21787 ok -[ok]: corrupt payload: fuzzer findings - lzf decompression fails, avoid valgrind invalid read (288 ms) -=== () Starting server 127.0.0.1:21789 ok -[ok]: corrupt payload: fuzzer findings - stream bad lp_count (316 ms) -=== () Starting server 127.0.0.1:21791 ok -[ok]: corrupt payload: fuzzer findings - stream bad lp_count - unsanitized (329 ms) -=== () Starting server 127.0.0.1:21793 ok -[ok]: corrupt payload: fuzzer findings - stream integrity check issue (293 ms) -=== () Starting server 127.0.0.1:21795 ok -[ok]: corrupt payload: fuzzer findings - infinite loop (242 ms) -=== () Starting server 127.0.0.1:21797 ok -[ok]: corrupt payload: fuzzer findings - hash ziplist too long entry len (281 ms) -=== () Starting server 127.0.0.1:21799 ok -[ok]: corrupt payload: OOM in rdbGenericLoadStringObject (283 ms) -=== () Starting server 127.0.0.1:21801 ok -[ok]: corrupt payload: fuzzer findings - OOM in dictExpand (280 ms) -=== () Starting server 127.0.0.1:21803 ok -[ok]: corrupt payload: fuzzer findings - zset ziplist invalid tail offset (417 ms) -=== () Starting server 127.0.0.1:21805 ok -[ok]: corrupt payload: fuzzer findings - negative reply length (279 ms) -=== () Starting server 127.0.0.1:21807 ok -[ok]: corrupt payload: fuzzer findings - valgrind negative malloc (602 ms) -=== () Starting server 127.0.0.1:21809 ok -[ok]: corrupt payload: fuzzer findings - valgrind invalid read (333 ms) -=== () Starting server 127.0.0.1:21811 ok -[ok]: corrupt payload: fuzzer findings - empty hash ziplist (602 ms) -=== () Starting server 127.0.0.1:21813 ok -=== () Starting server 127.0.0.1:21815 ok -[ok]: corrupt payload: fuzzer findings - stream with no records (1251 ms) -[ok]: corrupt payload: fuzzer findings - quicklist ziplist tail followed by extra data which start with 0xff (307 ms) -=== () Starting server 127.0.0.1:21817 ok -[ok]: corrupt payload: fuzzer findings - dict init to huge size (300 ms) -=== () Starting server 127.0.0.1:21819 ok -[ok]: corrupt payload: fuzzer findings - huge string (284 ms) -=== () Starting server 127.0.0.1:21821 ok -[ok]: corrupt payload: fuzzer findings - stream PEL without consumer (311 ms) -=== () Starting server 127.0.0.1:21823 ok -[ok]: corrupt payload: fuzzer findings - stream listpack valgrind issue (260 ms) -=== () Starting server 127.0.0.1:21825 ok -[ok]: corrupt payload: fuzzer findings - stream with bad lpFirst (282 ms) -=== () Starting server 127.0.0.1:21827 ok -[ok]: corrupt payload: fuzzer findings - stream listpack lpPrev valgrind issue (301 ms) -=== () Starting server 127.0.0.1:21829 ok -[ok]: corrupt payload: fuzzer findings - stream with non-integer entry id (479 ms) -=== () Starting server 127.0.0.1:21831 ok -[ok]: corrupt payload: fuzzer findings - empty quicklist (287 ms) -=== () Starting server 127.0.0.1:21833 ok -[ok]: corrupt payload: fuzzer findings - empty zset (306 ms) -=== () Starting server 127.0.0.1:21835 ok -[ok]: corrupt payload: fuzzer findings - hash with len of 0 (319 ms) -=== () Starting server 127.0.0.1:21837 ok -[ok]: corrupt payload: fuzzer findings - hash listpack first element too long entry len (303 ms) -=== () Starting server 127.0.0.1:21839 ok -[ok]: corrupt payload: fuzzer findings - stream double free listpack when insert dup node to rax returns 0 (344 ms) -=== () Starting server 127.0.0.1:21841 ok -[ok]: corrupt payload: fuzzer findings - LCS OOM (381 ms) -=== () Starting server 127.0.0.1:21843 ok -[ok]: corrupt payload: fuzzer findings - gcc asan reports false leak on assert (245 ms) -=== () Starting server 127.0.0.1:21845 ok -[ok]: corrupt payload: fuzzer findings - lpFind invalid access (252 ms) -=== () Starting server 127.0.0.1:21847 ok -[ok]: corrupt payload: fuzzer findings - invalid access in ziplist tail prevlen decoding (310 ms) -=== () Starting server 127.0.0.1:21849 ok -[ok]: corrupt payload: fuzzer findings - zset zslInsert with a NAN score (305 ms) -=== () Starting server 127.0.0.1:21851 ok -[ok]: corrupt payload: fuzzer findings - streamLastValidID panic (427 ms) -=== () Starting server 127.0.0.1:21853 ok -[ok]: corrupt payload: fuzzer findings - valgrind fishy value warning (296 ms) -=== () Starting server 127.0.0.1:21855 ok -[ok]: corrupt payload: fuzzer findings - empty set listpack (270 ms) -=== () Starting server 127.0.0.1:21857 ok -[ok]: corrupt payload: fuzzer findings - set with duplicate elements causes sdiff to hang (284 ms) -[40/91 done]: integration/corrupt-dump (30 seconds) -Testing integration/corrupt-dump-fuzzer -=== () Starting server 127.0.0.1:21859 ok -Done 12 cycles in 10 seconds. -RESTORE: successful: 10, rejected: 2 -Total commands sent in traffic: 4826, crashes during traffic: 1 (0 by signal). -[ok]: Fuzzer corrupt restore payloads - sanitize_dump: no (9874 ms) -=== () Starting server 127.0.0.1:21861 ok -Done 16 cycles in 11 seconds. -RESTORE: successful: 9, rejected: 7 -Total commands sent in traffic: 3837, crashes during traffic: 0 (0 by signal). -[ok]: Fuzzer corrupt restore payloads - sanitize_dump: yes (11107 ms) -[41/91 done]: integration/corrupt-dump-fuzzer (21 seconds) -Testing integration/convert-zipmap-hash-on-load -=== () Starting server 127.0.0.1:21863 ok -[ok]: RDB load zipmap hash: converts to listpack (1 ms) -=== () Starting server 127.0.0.1:21865 ok -[ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-entries is exceeded (0 ms) -=== () Starting server 127.0.0.1:21867 ok -[ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-value is exceeded (6 ms) -[42/91 done]: integration/convert-zipmap-hash-on-load (1 seconds) -Testing integration/convert-ziplist-hash-on-load -=== () Starting server 127.0.0.1:21869 ok -[ok]: RDB load ziplist hash: converts to listpack when RDB loading (1 ms) -=== () Starting server 127.0.0.1:21871 ok -[ok]: RDB load ziplist hash: converts to hash table when hash-max-ziplist-entries is exceeded (1 ms) -[43/91 done]: integration/convert-ziplist-hash-on-load (0 seconds) -Testing integration/convert-ziplist-zset-on-load -=== () Starting server 127.0.0.1:21873 ok -[ok]: RDB load ziplist zset: converts to listpack when RDB loading (1 ms) -=== () Starting server 127.0.0.1:21875 ok -[ok]: RDB load ziplist zset: converts to skiplist when zset-max-ziplist-entries is exceeded (1 ms) -[44/91 done]: integration/convert-ziplist-zset-on-load (1 seconds) -Testing integration/logging -=== () Starting server 127.0.0.1:21877 ok -{1447734:M 06 Oct 2026 19:43:51.637 # Redict 7.3.5 crashed by signal: 6, si_code: 0} 40 -[ok]: Crash report generated on SIGABRT (112 ms) -=== () Starting server 127.0.0.1:21879 ok -{1447767:M 06 Oct 2026 19:43:51.886 # Redict 7.3.5 crashed by signal: 11, si_code: 2} 40 -[ok]: Crash report generated on DEBUG SEGFAULT (25 ms) -=== () Starting server 127.0.0.1:21881 ok -{Received SIGALRM} 38 -[ok]: Stacktraces generated on SIGALRM (121 ms) -[45/91 done]: integration/logging (1 seconds) -Testing integration/psync2 -=== (psync2 external:skip) Starting server 127.0.0.1:21883 ok -=== () Starting server 127.0.0.1:21885 ok -=== () Starting server 127.0.0.1:21887 ok -=== () Starting server 127.0.0.1:21889 ok -=== () Starting server 127.0.0.1:21891 ok -[ok]: PSYNC2: --- CYCLE 1 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #0 as master (1 ms) -[ok]: PSYNC2: Set #4 to replicate from #2 (10 ms) -[ok]: PSYNC2: Set #1 to replicate from #4 (8 ms) -[ok]: PSYNC2: Set #2 to replicate from #0 (4 ms) -[ok]: PSYNC2: Set #3 to replicate from #1 (4 ms) -[ok]: PSYNC2: cluster is consistent after failover (7 ms) -[ok]: PSYNC2: generate load while killing replication links (5000 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 4625) (1008 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (12 ms) -[ok]: PSYNC2: --- CYCLE 2 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #2 as master (7 ms) -[ok]: PSYNC2: Set #4 to replicate from #1 (1 ms) -[ok]: PSYNC2: Set #0 to replicate from #2 (3 ms) -[ok]: PSYNC2: Set #1 to replicate from #3 (3 ms) -[ok]: PSYNC2: Set #3 to replicate from #2 (1 ms) -[ok]: PSYNC2: cluster is consistent after failover (27 ms) -[ok]: PSYNC2: generate load while killing replication links (6010 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 7024) (639 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (2 ms) -[ok]: PSYNC2: --- CYCLE 3 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #3 as master (0 ms) -[ok]: PSYNC2: Set #0 to replicate from #3 (1 ms) -[ok]: PSYNC2: Set #4 to replicate from #3 (7 ms) -[ok]: PSYNC2: Set #1 to replicate from #4 (9 ms) -[ok]: PSYNC2: Set #2 to replicate from #0 (3 ms) -[ok]: PSYNC2: cluster is consistent after failover (34 ms) -[ok]: PSYNC2: generate load while killing replication links (5000 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 9691) (1 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (14 ms) -[ok]: PSYNC2: --- CYCLE 4 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #3 as master (0 ms) -[ok]: PSYNC2: Set #0 to replicate from #2 (1 ms) -[ok]: PSYNC2: Set #4 to replicate from #2 (1 ms) -[ok]: PSYNC2: Set #1 to replicate from #0 (5 ms) -[ok]: PSYNC2: Set #2 to replicate from #3 (3 ms) -[ok]: PSYNC2: cluster is consistent after failover (2 ms) -[ok]: PSYNC2: generate load while killing replication links (5000 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 15549) (1025 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (2 ms) -[ok]: PSYNC2: --- CYCLE 5 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #2 as master (1 ms) -[ok]: PSYNC2: Set #4 to replicate from #2 (3 ms) -[ok]: PSYNC2: Set #0 to replicate from #2 (0 ms) -[ok]: PSYNC2: Set #1 to replicate from #0 (4 ms) -[ok]: PSYNC2: Set #3 to replicate from #0 (3 ms) -[ok]: PSYNC2: cluster is consistent after failover (1 ms) -[ok]: PSYNC2: generate load while killing replication links (6073 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 18526) (730 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (12 ms) -[ok]: PSYNC2: Bring the master back again for next test (10 ms) -[ok]: PSYNC2: Partial resync after restart using RDB aux fields (240 ms) -[46/91 done]: integration/psync2 (54 seconds) -Testing integration/psync2-reg -=== (psync2 external:skip) Starting server 127.0.0.1:21893 ok -=== () Starting server 127.0.0.1:21895 ok -=== () Starting server 127.0.0.1:21897 ok -[ok]: PSYNC2 #3899 regression: setup (1034 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (5 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (4 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (4 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (6 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (4 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (2 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (2 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (1 ms) -[ok]: PSYNC2 #3899 regression: verify consistency (2493 ms) -[47/91 done]: integration/psync2-reg (24 seconds) -Testing integration/psync2-pingoff -=== (psync2 external:skip) Starting server 127.0.0.1:21899 ok -=== () Starting server 127.0.0.1:21901 ok -[ok]: PSYNC2 pingoff: setup (1026 ms) -[ok]: PSYNC2 pingoff: write and wait replication (1 ms) -[ok]: PSYNC2 pingoff: pause replica and promote it (5034 ms) -[ok]: Make the old master a replica of the new one and check conditions (3400 ms) -=== (psync2 external:skip) Starting server 127.0.0.1:21903 ok -=== () Starting server 127.0.0.1:21905 ok -=== () Starting server 127.0.0.1:21907 ok -=== () Starting server 127.0.0.1:21909 ok -=== () Starting server 127.0.0.1:21911 ok -[ok]: test various edge cases of repl topology changes with missing pings at the end (3269 ms) -=== (psync2 external:skip) Starting server 127.0.0.1:21913 ok -=== () Starting server 127.0.0.1:21915 ok -=== () Starting server 127.0.0.1:21917 ok -[ok]: Chained replicas disconnect when replica re-connect with the same master (4074 ms) -[48/91 done]: integration/psync2-pingoff (21 seconds) -Testing integration/psync2-master-restart -=== (psync2 external:skip) Starting server 127.0.0.1:21919 ok -=== () Starting server 127.0.0.1:21921 ok -=== () Starting server 127.0.0.1:21923 ok -[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields when offset is 0 (1211 ms) -[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with data (2476 ms) -[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with expire (2774 ms) -[ok]: PSYNC2: Full resync after Master restart when too many key expired (7363 ms) -[49/91 done]: integration/psync2-master-restart (22 seconds) -Testing integration/failover -=== (failover external:skip) Starting server 127.0.0.1:21925 ok -=== () Starting server 127.0.0.1:21927 ok -=== () Starting server 127.0.0.1:21929 ok -[ok]: failover command fails without connected replica (0 ms) -[ok]: setup replication for following tests (1766 ms) -[ok]: failover command fails with invalid host (1 ms) -[ok]: failover command fails with invalid port (0 ms) -[ok]: failover command fails with just force and timeout (1 ms) -[ok]: failover command fails when sent to a replica (1 ms) -[ok]: failover command fails with force without timeout (0 ms) -[ok]: failover command to specific replica works (2001 ms) -[ok]: failover command to any replica works (1222 ms) -[ok]: failover to a replica with force works (1376 ms) -[ok]: failover with timeout aborts if replica never catches up (2003 ms) -[ok]: failovers can be aborted (402 ms) -[ok]: failover aborts if target rejects sync request (881 ms) -[50/91 done]: integration/failover (14 seconds) -Testing integration/redict-cli -=== (cli) Starting server 127.0.0.1:21931 ok -[ok]: Interactive CLI: INFO response should be printed raw (93 ms) -[ok]: Interactive CLI: Status reply (91 ms) -[ok]: Interactive CLI: Integer reply (111 ms) -[ok]: Interactive CLI: Bulk reply (88 ms) -[ok]: Interactive CLI: Multi-bulk reply (110 ms) -[ok]: Interactive CLI: Parsing quotes (503 ms) -[ok]: Interactive CLI: Subscribed mode (609 ms) -[ok]: Interactive non-TTY CLI: Subscribed mode (481 ms) -[ok]: Non-interactive TTY CLI: Status reply (41 ms) -[ok]: Non-interactive TTY CLI: Integer reply (29 ms) -[ok]: Non-interactive TTY CLI: Bulk reply (35 ms) -[ok]: Non-interactive TTY CLI: Multi-bulk reply (41 ms) -[ok]: Non-interactive TTY CLI: Read last argument from pipe (108 ms) -[ok]: Non-interactive TTY CLI: Read last argument from file (75 ms) -[ok]: Non-interactive TTY CLI: Escape character in JSON mode (368 ms) -[ok]: Non-interactive non-TTY CLI: Status reply (58 ms) -[ok]: Non-interactive non-TTY CLI: Integer reply (54 ms) -[ok]: Non-interactive non-TTY CLI: Bulk reply (57 ms) -[ok]: Non-interactive non-TTY CLI: Multi-bulk reply (47 ms) -[ok]: Non-interactive non-TTY CLI: Quoted input arguments (47 ms) -[ok]: Non-interactive non-TTY CLI: No accidental unquoting of input arguments (90 ms) -[ok]: Non-interactive non-TTY CLI: Invalid quoted input arguments (103 ms) -[ok]: Non-interactive non-TTY CLI: Read last argument from pipe (137 ms) -[ok]: Non-interactive non-TTY CLI: Read last argument from file (865 ms) -[ok]: Non-interactive non-TTY CLI: Test command-line hinting - latest server (65 ms) -[ok]: Non-interactive non-TTY CLI: Test command-line hinting - no server (28 ms) -[ok]: Non-interactive non-TTY CLI: Test command-line hinting - old server (75 ms) -[ok]: Dumping an RDB - functions only: no (5255 ms) -[ok]: Dumping an RDB - functions only: yes (5252 ms) -[ok]: Scan mode (1026 ms) -[ok]: Connecting as a replica (2462 ms) -[ok]: Piping raw protocol (2769 ms) -[ok]: Options -X with illegal argument (181 ms) -[ok]: DUMP RESTORE with -x option (1254 ms) -[ok]: DUMP RESTORE with -X option (301 ms) -[51/91 done]: integration/redict-cli (24 seconds) -Testing integration/redict-benchmark -=== () Starting server 127.0.0.1:21933 ok -[ok]: benchmark: set,get (193 ms) -[ok]: benchmark: connecting using URI set,get (114 ms) -[ok]: benchmark: connecting using URI with authentication set,get (182 ms) -[ok]: benchmark: full test suite (1795 ms) -[ok]: benchmark: multi-thread set,get (627 ms) -[ok]: benchmark: pipelined full set,get (1428 ms) -[ok]: benchmark: arbitrary command (271 ms) -[ok]: benchmark: keyspace length (782 ms) -[ok]: benchmark: clients idle mode should return error when reached maxclients limit (87 ms) -[ok]: benchmark: read last argument from stdin (203 ms) -[ok]: benchmark: specific tls-ciphers (606 ms) -[ok]: benchmark: tls connecting using URI with authentication set,get (172 ms) -[ok]: benchmark: specific tls-ciphersuites (671 ms) -[52/91 done]: integration/redict-benchmark (10 seconds) -Testing integration/dismiss-mem -=== (dismiss external:skip) Starting server 127.0.0.1:21935 ok - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: dismiss all data types memory (1425 ms) - -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... [ok]: dismiss client output buffer (2879 ms) - -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... [ok]: dismiss client query buffer (1072 ms) -=== () Starting server 127.0.0.1:21937 ok - -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... [ok]: dismiss replication backlog (3133 ms) -[53/91 done]: integration/dismiss-mem (9 seconds) -Testing unit/pubsub -=== (pubsub network) Starting server 127.0.0.1:21939 ok -[ok]: Pub/Sub PING on RESP2 (1 ms) -[ok]: Pub/Sub PING on RESP3 (1 ms) -[ok]: PUBLISH/SUBSCRIBE basics (27 ms) -[ok]: PUBLISH/SUBSCRIBE with two clients (23 ms) -[ok]: PUBLISH/SUBSCRIBE after UNSUBSCRIBE without arguments (11 ms) -[ok]: SUBSCRIBE to one channel more than once (11 ms) -[ok]: UNSUBSCRIBE from non-subscribed channels (28 ms) -[ok]: PUBLISH/PSUBSCRIBE basics (24 ms) -[ok]: PUBLISH/PSUBSCRIBE with two clients (39 ms) -[ok]: PUBLISH/PSUBSCRIBE after PUNSUBSCRIBE without arguments (25 ms) -[ok]: PubSub messages with CLIENT REPLY OFF (113 ms) -[ok]: PUNSUBSCRIBE from non-subscribed channels (22 ms) -[ok]: NUMSUB returns numbers, not strings (#1561) (0 ms) -[ok]: NUMPATs returns the number of unique patterns (136 ms) -[ok]: Mix SUBSCRIBE and PSUBSCRIBE (25 ms) -[ok]: PUNSUBSCRIBE and UNSUBSCRIBE should always reply (1 ms) -[ok]: Keyspace notifications: we receive keyspace notifications (62 ms) -[ok]: Keyspace notifications: we receive keyevent notifications (66 ms) -[ok]: Keyspace notifications: we can receive both kind of events (19 ms) -[ok]: Keyspace notifications: we are able to mask events (17 ms) -[ok]: Keyspace notifications: general events test (23 ms) -[ok]: Keyspace notifications: list events test (17 ms) -[ok]: Keyspace notifications: set events test (25 ms) -[ok]: Keyspace notifications: zset events test (24 ms) -[ok]: Keyspace notifications: hash events test (23 ms) -[ok]: Keyspace notifications: stream events test (24 ms) -[ok]: Keyspace notifications: expired events (triggered expire) (126 ms) -[ok]: Keyspace notifications: expired events (background expire) (231 ms) -[ok]: Keyspace notifications: evicted events (27 ms) -[ok]: Keyspace notifications: test CONFIG GET/SET of event flags (1 ms) -[ok]: Keyspace notifications: new key test (26 ms) -[ok]: publish to self inside multi (7 ms) -[ok]: publish to self inside script (1 ms) -[ok]: unsubscribe inside multi, and publish to self (2 ms) -[54/91 done]: unit/pubsub (1 seconds) -Testing unit/pubsubshard -=== (pubsubshard external:skip) Starting server 127.0.0.1:21941 ok -[ok]: SPUBLISH/SSUBSCRIBE basics (27 ms) -[ok]: SPUBLISH/SSUBSCRIBE with two clients (62 ms) -[ok]: SPUBLISH/SSUBSCRIBE after UNSUBSCRIBE without arguments (36 ms) -[ok]: SSUBSCRIBE to one channel more than once (24 ms) -[ok]: SUNSUBSCRIBE from non-subscribed channels (30 ms) -[ok]: PUBSUB command basics (1 ms) -[ok]: SPUBLISH/SSUBSCRIBE with two clients (46 ms) -[ok]: SPUBLISH/SSUBSCRIBE with PUBLISH/SUBSCRIBE (41 ms) -[ok]: PubSubShard with CLIENT REPLY OFF (100 ms) -=== (pubsubshard external:skip) Starting server 127.0.0.1:21943 ok -=== (pubsubshard external:skip) Starting server 127.0.0.1:21945 ok -[ok]: setup replication for following tests (103 ms) -[ok]: publish message to master and receive on replica (41 ms) -Waiting for process 1458364 to exit... -[55/91 done]: unit/pubsubshard (3 seconds) -Testing unit/slowlog -=== (slowlog) Starting server 127.0.0.1:21947 ok -[ok]: SLOWLOG - check that it starts with an empty log (1 ms) -[ok]: SLOWLOG - only logs commands taking more time than specified (203 ms) -[ok]: SLOWLOG - zero max length is correctly handled (45 ms) -[ok]: SLOWLOG - max entries is correctly handled (42 ms) -[ok]: SLOWLOG - GET optional argument to limit output len works (2 ms) -[ok]: SLOWLOG - RESET subcommand works (5 ms) -[ok]: SLOWLOG - logged entry sanity check (201 ms) -[ok]: SLOWLOG - Certain commands are omitted that contain sensitive information (14 ms) -[ok]: SLOWLOG - Some commands can redact sensitive fields (9 ms) -[ok]: SLOWLOG - Rewritten commands are logged as their original command (38 ms) -[ok]: SLOWLOG - commands with too many arguments are trimmed (1 ms) -[ok]: SLOWLOG - too long arguments are trimmed (1 ms) -[ok]: SLOWLOG - EXEC is not logged, just executed commands (202 ms) -[ok]: SLOWLOG - can clean older entries (209 ms) -[ok]: SLOWLOG - can be disabled (415 ms) -[ok]: SLOWLOG - count must be >= -1 (8 ms) -[ok]: SLOWLOG - get all slow logs (7 ms) -[ok]: SLOWLOG - blocking command is reported only after unblocked (46 ms) -[56/91 done]: unit/slowlog (2 seconds) -Testing unit/scripting -=== (scripting) Starting server 127.0.0.1:21949 ok -[ok]: Redis compatibility global exists (1 ms) -[ok]: EVAL - Does Lua interpreter replies to our requests? (1 ms) -[ok]: EVAL - Return _G (1 ms) -[ok]: EVAL - Return table with a metatable that raise error (0 ms) -[ok]: EVAL - Return table with a metatable that call redict (3 ms) -[ok]: EVAL - Lua integer -> Redict protocol type conversion (0 ms) -[ok]: EVAL - Lua string -> Redict protocol type conversion (0 ms) -[ok]: EVAL - Lua true boolean -> Redict protocol type conversion (0 ms) -[ok]: EVAL - Lua false boolean -> Redict protocol type conversion (4 ms) -[ok]: EVAL - Lua status code reply -> Redict protocol type conversion (1 ms) -[ok]: EVAL - Lua error reply -> Redict protocol type conversion (0 ms) -[ok]: EVAL - Lua table -> Redict protocol type conversion (1 ms) -[ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (1 ms) -[ok]: EVAL - is Lua able to call Redict API? (1 ms) -[ok]: EVAL - Redict integer -> Lua type conversion (1 ms) -[ok]: EVAL - Lua number -> Redict integer conversion (7 ms) -[ok]: EVAL - Redict bulk -> Lua type conversion (1 ms) -[ok]: EVAL - Redict multi bulk -> Lua type conversion (2 ms) -[ok]: EVAL - Redict status reply -> Lua type conversion (1 ms) -[ok]: EVAL - Redict error reply -> Lua type conversion (7 ms) -[ok]: EVAL - Redict nil bulk reply -> Lua type conversion (8 ms) -[ok]: EVAL - Is the Lua client using the currently selected DB? (2 ms) -[ok]: EVAL - SELECT inside Lua should not affect the caller (1 ms) -[ok]: EVAL - Scripts do not block on blpop command (1 ms) -[ok]: EVAL - Scripts do not block on brpop command (1 ms) -[ok]: EVAL - Scripts do not block on brpoplpush command (7 ms) -[ok]: EVAL - Scripts do not block on blmove command (2 ms) -[ok]: EVAL - Scripts do not block on bzpopmin command (1 ms) -[ok]: EVAL - Scripts do not block on bzpopmax command (1 ms) -[ok]: EVAL - Scripts do not block on wait (1 ms) -[ok]: EVAL - Scripts do not block on waitaof (1 ms) -[ok]: EVAL - Scripts do not block on XREAD with BLOCK option (5 ms) -[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (2 ms) -[ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (2 ms) -[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option -- non empty stream (2 ms) -[ok]: EVAL - Scripts can run non-deterministic commands (1 ms) -[ok]: EVAL - No arguments to redict.call/pcall is considered an error (0 ms) -[ok]: EVAL - redict.call variant raises a Lua error on Redict cmd error (1) (1 ms) -[ok]: EVAL - redict.call variant raises a Lua error on Redict cmd error (1) (0 ms) -[ok]: EVAL - redict.call variant raises a Lua error on Redict cmd error (1) (1 ms) -[ignore]: EVAL - JSON string encoding a string larger than 2GB: large memory flag not provided -[ok]: EVAL - JSON numeric decoding (1 ms) -[ok]: EVAL - JSON string decoding (2 ms) -[ok]: EVAL - JSON smoke test (1 ms) -[ok]: EVAL - cmsgpack can pack double? (1 ms) -[ok]: EVAL - cmsgpack can pack negative int64? (0 ms) -[ok]: EVAL - cmsgpack pack/unpack smoke test (2750 ms) -[ok]: EVAL - cmsgpack can pack and unpack circular references? (11 ms) -[ok]: EVAL - Numerical sanity check from bitop (0 ms) -[ok]: EVAL - Verify minimal bitop functionality (0 ms) -[ok]: EVAL - Able to parse trailing comments (10 ms) -[ok]: EVAL_RO - Successful case (1 ms) -[ok]: EVAL_RO - Cannot run write commands (1 ms) -[ok]: redict.sha1hex() implementation (2 ms) -[ok]: Measures elapsed time os.clock() (3775 ms) -[ok]: Prohibit dangerous lua methods in sandbox (11 ms) -[ok]: Verify execution of prohibit dangerous Lua methods will fail (20 ms) -[ok]: Globals protection reading an undeclared global variable (10 ms) -[ok]: Globals protection setting an undeclared global* (4 ms) -[ok]: lua bit.tohex bug (1 ms) -[ok]: Test an example script DECR_IF_GT (15 ms) -[ok]: EVAL does not leak in the Lua stack (4878 ms) -[ok]: Call Redict command with many args from Lua (issue #1764) (2 ms) -[ok]: Number conversion precision test (issue #1118) (14 ms) -[ok]: String containing number precision test (regression of issue #1118) (1 ms) -[ok]: Verify negative arg count is error instead of crash (issue #1842) (11 ms) -[ok]: Scripts can handle commands with incorrect arity (1 ms) -[ok]: Correct handling of reused argv (issue #1939) (1 ms) -[ok]: Functions in the Redict namespace are able to report errors (0 ms) -[ok]: CLUSTER RESET can not be invoke from within a script (1 ms) -[ok]: Script with RESP3 map (3 ms) -[ok]: Script return recursive object (453 ms) -[ok]: Script check unpack with massive arguments (4 ms) -[ok]: Script read key with expiration set (5 ms) -[ok]: Script del key with expiration set (1 ms) -[ok]: Script ACL check (11 ms) -[ok]: Binary code loading failed (1 ms) -[ok]: Try trick global protection 1 (0 ms) -[ok]: Try trick global protection 2 (0 ms) -[ok]: Try trick global protection 3 (1 ms) -[ok]: Try trick global protection 4 (0 ms) -[ok]: Try trick readonly table on redict table (5 ms) -[ok]: Try trick readonly table on json table (0 ms) -[ok]: Try trick readonly table on cmsgpack table (1 ms) -[ok]: Try trick readonly table on bit table (0 ms) -[ok]: Test loadfile are not available (0 ms) -[ok]: Test dofile are not available (5 ms) -[ok]: Test print are not available (4 ms) -=== (scripting) Starting server 127.0.0.1:21951 ok -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (435 ms) -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (309 ms) -[ok]: Timedout script does not cause a false dead client (160 ms) -[ok]: Timedout script link is still usable after Lua returns (436 ms) -[ok]: Timedout scripts and unblocked command (1323 ms) -[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (243 ms) -[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (35 ms) -=== (scripting repl needs:debug external:skip) Starting server 127.0.0.1:21953 ok -=== () Starting server 127.0.0.1:21955 ok -[ok]: Before the replica connects we issue two EVAL commands (1 ms) -[ok]: Connect a replica to the master instance (117 ms) -[ok]: Replication of script multiple pushes to list with BLPOP (33 ms) -[ok]: Lua scripts using SELECT are replicated correctly (7 ms) -=== (scripting repl external:skip) Starting server 127.0.0.1:21957 ok -=== () Starting server 127.0.0.1:21959 ok -[ok]: Connect a replica to the master instance (291 ms) -[ok]: redict.replicate_commands() can be issued anywhere now (1 ms) -[ok]: redict.set_repl() can be issued before replicate_commands() now (1 ms) -[ok]: redict.set_repl() don't accept invalid values (1 ms) -[ok]: Test selective replication of certain Redict commands from Lua (7 ms) -[ok]: PRNG is seeded randomly for command replication (2 ms) -[ok]: Using side effects is not a problem with command replication (1 ms) -=== (scripting needs:debug) Starting server 127.0.0.1:21961 ok -[ok]: test RESP2/2 big number protocol parsing (7 ms) -[ok]: test RESP2/2 malformed big number protocol parsing (1 ms) -[ok]: test RESP2/2 map protocol parsing (7 ms) -[ok]: test RESP2/2 set protocol parsing (5 ms) -[ok]: test RESP2/2 double protocol parsing (1 ms) -[ok]: test RESP2/2 null protocol parsing (0 ms) -[ok]: test RESP2/2 verbatim protocol parsing (1 ms) -[ok]: test RESP2/2 true protocol parsing (1 ms) -[ok]: test RESP2/2 false protocol parsing (0 ms) -[ok]: test RESP2/3 big number protocol parsing (0 ms) -[ok]: test RESP2/3 malformed big number protocol parsing (1 ms) -[ok]: test RESP2/3 map protocol parsing (11 ms) -[ok]: test RESP2/3 set protocol parsing (1 ms) -[ok]: test RESP2/3 double protocol parsing (0 ms) -[ok]: test RESP2/3 null protocol parsing (1 ms) -[ok]: test RESP2/3 verbatim protocol parsing (0 ms) -[ok]: test RESP2/3 true protocol parsing (1 ms) -[ok]: test RESP2/3 false protocol parsing (4 ms) -[ok]: test RESP3/2 big number protocol parsing (1 ms) -[ok]: test RESP3/2 malformed big number protocol parsing (1 ms) -[ok]: test RESP3/2 map protocol parsing (1 ms) -[ok]: test RESP3/2 set protocol parsing (2 ms) -[ok]: test RESP3/2 double protocol parsing (7 ms) -[ok]: test RESP3/2 null protocol parsing (5 ms) -[ok]: test RESP3/2 verbatim protocol parsing (1 ms) -[ok]: test RESP3/2 true protocol parsing (1 ms) -[ok]: test RESP3/2 false protocol parsing (6 ms) -[ok]: test RESP3/3 big number protocol parsing (8 ms) -[ok]: test RESP3/3 malformed big number protocol parsing (1 ms) -[ok]: test RESP3/3 map protocol parsing (1 ms) -[ok]: test RESP3/3 set protocol parsing (1 ms) -[ok]: test RESP3/3 double protocol parsing (1 ms) -[ok]: test RESP3/3 null protocol parsing (0 ms) -[ok]: test RESP3/3 verbatim protocol parsing (0 ms) -[ok]: test RESP3/3 true protocol parsing (0 ms) -[ok]: test RESP3/3 false protocol parsing (0 ms) -[ok]: test resp3 attribute protocol parsing (0 ms) -[ok]: Script block the time during execution (12 ms) -[ok]: Script delete the expired key (4 ms) -[ok]: TIME command using cached time (11 ms) -[ok]: Script block the time in some expiration related commands (88 ms) -[ok]: RESTORE expired keys with expiration time (12 ms) -=== (scripting) Starting server 127.0.0.1:21963 ok -[ok]: Redis compatibility global exists (1 ms) -[ok]: Script - disallow write on OOM (0 ms) -[ok]: EVAL - Does Lua interpreter replies to our requests? (1 ms) -[ok]: EVAL - Return _G (0 ms) -[ok]: EVAL - Return table with a metatable that raise error (0 ms) -[ok]: EVAL - Return table with a metatable that call redict (1 ms) -[ok]: EVAL - Lua integer -> Redict protocol type conversion (0 ms) -[ok]: EVAL - Lua string -> Redict protocol type conversion (0 ms) -[ok]: EVAL - Lua true boolean -> Redict protocol type conversion (1 ms) -[ok]: EVAL - Lua false boolean -> Redict protocol type conversion (0 ms) -[ok]: EVAL - Lua status code reply -> Redict protocol type conversion (0 ms) -[ok]: EVAL - Lua error reply -> Redict protocol type conversion (5 ms) -[ok]: EVAL - Lua table -> Redict protocol type conversion (0 ms) -[ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (1 ms) -[ok]: EVAL - is Lua able to call Redict API? (0 ms) -[ok]: EVALSHA - Can we call a SHA1 if already defined? (0 ms) -[ok]: EVALSHA_RO - Can we call a SHA1 if already defined? (1 ms) -[ok]: EVALSHA - Can we call a SHA1 in uppercase? (0 ms) -[ok]: EVALSHA - Do we get an error on invalid SHA1? (1 ms) -[ok]: EVALSHA - Do we get an error on non defined SHA1? (0 ms) -[ok]: EVAL - Redict integer -> Lua type conversion (0 ms) -[ok]: EVAL - Lua number -> Redict integer conversion (1 ms) -[ok]: EVAL - Redict bulk -> Lua type conversion (1 ms) -[ok]: EVAL - Redict multi bulk -> Lua type conversion (5 ms) -[ok]: EVAL - Redict status reply -> Lua type conversion (1 ms) -[ok]: EVAL - Redict error reply -> Lua type conversion (1 ms) -[ok]: EVAL - Redict nil bulk reply -> Lua type conversion (1 ms) -[ok]: EVAL - Is the Lua client using the currently selected DB? (1 ms) -[ok]: EVAL - SELECT inside Lua should not affect the caller (4 ms) -[ok]: EVAL - Scripts do not block on blpop command (1 ms) -[ok]: EVAL - Scripts do not block on brpop command (1 ms) -[ok]: EVAL - Scripts do not block on brpoplpush command (1 ms) -[ok]: EVAL - Scripts do not block on blmove command (1 ms) -[ok]: EVAL - Scripts do not block on bzpopmin command (8 ms) -[ok]: EVAL - Scripts do not block on bzpopmax command (1 ms) -[ok]: EVAL - Scripts do not block on wait (0 ms) -[ok]: EVAL - Scripts do not block on waitaof (1 ms) -[ok]: EVAL - Scripts do not block on XREAD with BLOCK option (1 ms) -[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (0 ms) -[ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (1 ms) -[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option -- non empty stream (0 ms) -[ok]: EVAL - Scripts can run non-deterministic commands (0 ms) -[ok]: EVAL - No arguments to redict.call/pcall is considered an error (0 ms) -[ok]: EVAL - redict.call variant raises a Lua error on Redict cmd error (1) (1 ms) -[ok]: EVAL - redict.call variant raises a Lua error on Redict cmd error (1) (1 ms) -[ok]: EVAL - redict.call variant raises a Lua error on Redict cmd error (1) (0 ms) -[ignore]: EVAL - JSON string encoding a string larger than 2GB: large memory flag not provided -[ok]: EVAL - JSON numeric decoding (1 ms) -[ok]: EVAL - JSON string decoding (1 ms) -[ok]: EVAL - JSON smoke test (1 ms) -[ok]: EVAL - cmsgpack can pack double? (1 ms) -[ok]: EVAL - cmsgpack can pack negative int64? (0 ms) -[ok]: EVAL - cmsgpack pack/unpack smoke test (554 ms) -[ok]: EVAL - cmsgpack can pack and unpack circular references? (0 ms) -[ok]: EVAL - Numerical sanity check from bitop (1 ms) -[ok]: EVAL - Verify minimal bitop functionality (0 ms) -[ok]: EVAL - Able to parse trailing comments (0 ms) -[ok]: EVAL_RO - Successful case (0 ms) -[ok]: EVAL_RO - Cannot run write commands (1 ms) -[ok]: SCRIPTING FLUSH - is able to clear the scripts cache? (16 ms) -[ok]: SCRIPTING FLUSH ASYNC (17 ms) -[ok]: SCRIPT EXISTS - can detect already defined scripts? (1 ms) -[ok]: SCRIPT LOAD - is able to register scripts in the scripting cache (1 ms) -[ok]: SORT is normally not alpha re-ordered for the scripting engine (0 ms) -[ok]: SORT BY output gets ordered for scripting (1 ms) -[ok]: SORT BY with GET gets ordered for scripting (0 ms) -[ok]: redict.sha1hex() implementation (1 ms) -[ok]: Measures elapsed time os.clock() (1221 ms) -[ok]: Prohibit dangerous lua methods in sandbox (0 ms) -[ok]: Verify execution of prohibit dangerous Lua methods will fail (2 ms) -[ok]: Globals protection reading an undeclared global variable (1 ms) -[ok]: Globals protection setting an undeclared global* (0 ms) -[ok]: lua bit.tohex bug (1 ms) -[ok]: Test an example script DECR_IF_GT (1 ms) -[ok]: random numbers are random now (1 ms) -[ok]: Scripting engine PRNG can be seeded correctly (1 ms) -[ok]: EVAL does not leak in the Lua stack (906 ms) -[ok]: SPOP: We can call scripts rewriting client->argv from Lua (140 ms) -[ok]: MGET: mget shouldn't be propagated in Lua (101 ms) -[ok]: EXPIRE: We can call scripts rewriting client->argv from Lua (97 ms) -=== (scripting) Starting server 127.0.0.1:21965 ok -[ok]: INCRBYFLOAT: We can call scripts expanding client->argv from Lua (393 ms) -[ok]: Call Redict command with many args from Lua (issue #1764) (2 ms) -[ok]: Number conversion precision test (issue #1118) (4 ms) -[ok]: String containing number precision test (regression of issue #1118) (1 ms) -[ok]: Verify negative arg count is error instead of crash (issue #1842) (0 ms) -[ok]: Scripts can handle commands with incorrect arity (0 ms) -[ok]: Correct handling of reused argv (issue #1939) (0 ms) -[ok]: Functions in the Redict namespace are able to report errors (0 ms) -[ok]: CLUSTER RESET can not be invoke from within a script (1 ms) -[ok]: Script with RESP3 map (8 ms) -[ok]: Script return recursive object (373 ms) -[ok]: Script check unpack with massive arguments (5 ms) -[ok]: Script read key with expiration set (8 ms) -[ok]: Script del key with expiration set (1 ms) -[ok]: Script ACL check (2 ms) -[ok]: Binary code loading failed (1 ms) -[ok]: Try trick global protection 1 (0 ms) -[ok]: Try trick global protection 2 (0 ms) -[ok]: Try trick global protection 3 (1 ms) -[ok]: Try trick global protection 4 (0 ms) -[ok]: Try trick readonly table on redict table (0 ms) -[ok]: Try trick readonly table on json table (0 ms) -[ok]: Try trick readonly table on cmsgpack table (1 ms) -[ok]: Try trick readonly table on bit table (1 ms) -[ok]: Test loadfile are not available (0 ms) -[ok]: Test dofile are not available (0 ms) -[ok]: Test print are not available (0 ms) -=== (scripting) Starting server 127.0.0.1:21967 ok -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (442 ms) -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (299 ms) -[ok]: Timedout script does not cause a false dead client (173 ms) -[ok]: Timedout script link is still usable after Lua returns (146 ms) -[ok]: Timedout scripts and unblocked command (592 ms) -[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (239 ms) -[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (10 ms) -=== (scripting repl needs:debug external:skip) Starting server 127.0.0.1:21969 ok -=== () Starting server 127.0.0.1:21971 ok -[ok]: Before the replica connects we issue two EVAL commands (0 ms) -[ok]: Connect a replica to the master instance (117 ms) -[ok]: Now use EVALSHA against the master, with both SHAs (1 ms) -[ok]: 'x' should be '4' for EVALSHA being replicated by effects (1 ms) -[ok]: Replication of script multiple pushes to list with BLPOP (25 ms) -[ok]: EVALSHA replication when first call is readonly (1 ms) -[ok]: Lua scripts using SELECT are replicated correctly (6 ms) -=== (scripting repl external:skip) Starting server 127.0.0.1:21973 ok -=== () Starting server 127.0.0.1:21975 ok -[ok]: Connect a replica to the master instance (128 ms) -[ok]: redict.replicate_commands() can be issued anywhere now (0 ms) -[ok]: redict.set_repl() can be issued before replicate_commands() now (0 ms) -[ok]: redict.set_repl() don't accept invalid values (2 ms) -[ok]: Test selective replication of certain Redict commands from Lua (1 ms) -[ok]: PRNG is seeded randomly for command replication (1 ms) -[ok]: Using side effects is not a problem with command replication (1 ms) -=== (scripting external:skip) Starting server 127.0.0.1:21977 ok -=== (scripting needs:debug external:skip) Starting server 127.0.0.1:21979 ok -[ok]: Test scripting debug protocol parsing (7 ms) -[ok]: Test scripting debug lua stack overflow (16 ms) -=== (scripting external:skip) Starting server 127.0.0.1:21981 ok -[ok]: Lua scripts eviction does not generate many scripts (342 ms) -[ok]: Lua scripts eviction is plain LRU (157 ms) -[ok]: Lua scripts eviction does not affect script load (449 ms) -=== (scripting needs:debug) Starting server 127.0.0.1:21983 ok -[ok]: test RESP2/2 big number protocol parsing (1 ms) -[ok]: test RESP2/2 malformed big number protocol parsing (0 ms) -[ok]: test RESP2/2 map protocol parsing (1 ms) -[ok]: test RESP2/2 set protocol parsing (2 ms) -[ok]: test RESP2/2 double protocol parsing (0 ms) -[ok]: test RESP2/2 null protocol parsing (1 ms) -[ok]: test RESP2/2 verbatim protocol parsing (0 ms) -[ok]: test RESP2/2 true protocol parsing (0 ms) -[ok]: test RESP2/2 false protocol parsing (1 ms) -[ok]: test RESP2/3 big number protocol parsing (0 ms) -[ok]: test RESP2/3 malformed big number protocol parsing (0 ms) -[ok]: test RESP2/3 map protocol parsing (1 ms) -[ok]: test RESP2/3 set protocol parsing (0 ms) -[ok]: test RESP2/3 double protocol parsing (0 ms) -[ok]: test RESP2/3 null protocol parsing (1 ms) -[ok]: test RESP2/3 verbatim protocol parsing (0 ms) -[ok]: test RESP2/3 true protocol parsing (0 ms) -[ok]: test RESP2/3 false protocol parsing (0 ms) -[ok]: test RESP3/2 big number protocol parsing (0 ms) -[ok]: test RESP3/2 malformed big number protocol parsing (0 ms) -[ok]: test RESP3/2 map protocol parsing (1 ms) -[ok]: test RESP3/2 set protocol parsing (6 ms) -[ok]: test RESP3/2 double protocol parsing (1 ms) -[ok]: test RESP3/2 null protocol parsing (0 ms) -[ok]: test RESP3/2 verbatim protocol parsing (1 ms) -[ok]: test RESP3/2 true protocol parsing (0 ms) -[ok]: test RESP3/2 false protocol parsing (0 ms) -[ok]: test RESP3/3 big number protocol parsing (0 ms) -[ok]: test RESP3/3 malformed big number protocol parsing (1 ms) -[ok]: test RESP3/3 map protocol parsing (0 ms) -[ok]: test RESP3/3 set protocol parsing (1 ms) -[ok]: test RESP3/3 double protocol parsing (0 ms) -[ok]: test RESP3/3 null protocol parsing (0 ms) -[ok]: test RESP3/3 verbatim protocol parsing (0 ms) -[ok]: test RESP3/3 true protocol parsing (0 ms) -[ok]: test RESP3/3 false protocol parsing (0 ms) -[ok]: test resp3 attribute protocol parsing (0 ms) -[ok]: Script block the time during execution (11 ms) -[ok]: Script delete the expired key (4 ms) -[ok]: TIME command using cached time (11 ms) -[ok]: Script block the time in some expiration related commands (83 ms) -[ok]: RESTORE expired keys with expiration time (11 ms) -=== (scripting) Starting server 127.0.0.1:21985 ok -[ok]: Shebang support for lua engine (7 ms) -[ok]: Unknown shebang option (1 ms) -[ok]: Unknown shebang flag (1 ms) -[ok]: allow-oom shebang flag (3 ms) -[ok]: no-writes shebang flag (1 ms) -=== (external:skip) Starting server 127.0.0.1:21987 ok -[ok]: no-writes shebang flag on replica (170 ms) -[ok]: not enough good replicas (5 ms) -=== (external:skip) Starting server 127.0.0.1:21989 ok -[ok]: not enough good replicas state change during long script (1120 ms) -[ok]: allow-stale shebang flag (4 ms) -[ok]: reject script do not cause a Lua stack leak (23 ms) -=== (scripting) Starting server 127.0.0.1:21991 ok -[ok]: Consistent eval error reporting (32 ms) -[ok]: LUA redict.error_reply API (3 ms) -[ok]: LUA redict.error_reply API with empty string (1 ms) -[ok]: LUA redict.status_reply API (2 ms) -[ok]: LUA test pcall (0 ms) -[ok]: LUA test pcall with error (1 ms) -[ok]: LUA test pcall with non string/integer arg (1 ms) -[ok]: LUA test trim string as expected (2 ms) -[57/91 done]: unit/scripting (35 seconds) -Testing unit/functions -=== (scripting) Starting server 127.0.0.1:21993 ok -[ok]: FUNCTION - Basic usage (1 ms) -[ok]: FUNCTION - Load with unknown argument (1 ms) -[ok]: FUNCTION - Create an already exiting library raise error (6 ms) -[ok]: FUNCTION - Create an already exiting library raise error (case insensitive) (1 ms) -[ok]: FUNCTION - Create a library with wrong name format (0 ms) -[ok]: FUNCTION - Create library with unexisting engine (1 ms) -[ok]: FUNCTION - Test uncompiled script (0 ms) -[ok]: FUNCTION - test replace argument (1 ms) -[ok]: FUNCTION - test function case insensitive (0 ms) -[ok]: FUNCTION - test replace argument with failure keeps old libraries (1 ms) -[ok]: FUNCTION - test function delete (1 ms) -[ok]: FUNCTION - test fcall bad arguments (0 ms) -[ok]: FUNCTION - test fcall bad number of keys arguments (1 ms) -[ok]: FUNCTION - test fcall negative number of keys (0 ms) -[ok]: FUNCTION - test delete on not exiting library (0 ms) -[ok]: FUNCTION - test function kill when function is not running (1 ms) -[ok]: FUNCTION - test wrong subcommand (0 ms) -[ok]: FUNCTION - test loading from rdb (8 ms) -[ok]: FUNCTION - test debug reload different options (12 ms) -[ok]: FUNCTION - test debug reload with nosave and noflush (6 ms) -[ok]: FUNCTION - test flushall and flushdb do not clean functions (5 ms) -[ok]: FUNCTION - test function dump and restore (2 ms) -[ok]: FUNCTION - test function dump and restore with flush argument (1 ms) -[ok]: FUNCTION - test function dump and restore with append argument (10 ms) -[ok]: FUNCTION - test function dump and restore with replace argument (2 ms) -[ok]: FUNCTION - test function restore with bad payload do not drop existing functions (1 ms) -[ok]: FUNCTION - test function restore with wrong number of arguments (0 ms) -[ok]: FUNCTION - test fcall_ro with write command (1 ms) -[ok]: FUNCTION - test fcall_ro with read only commands (4 ms) -[ok]: FUNCTION - test keys and argv (1 ms) -[ok]: FUNCTION - test command get keys on fcall (1 ms) -[ok]: FUNCTION - test command get keys on fcall_ro (0 ms) -[ok]: FUNCTION - test function kill (462 ms) -[ok]: FUNCTION - test script kill not working on function (459 ms) -[ok]: FUNCTION - test function kill not working on eval (497 ms) -[ok]: FUNCTION - test function flush (27 ms) -[ok]: FUNCTION - test function wrong argument (1 ms) -=== (scripting repl external:skip) Starting server 127.0.0.1:21995 ok -=== () Starting server 127.0.0.1:21997 ok -[ok]: Connect a replica to the master instance (106 ms) -[ok]: FUNCTION - creation is replicated to replica (610 ms) -[ok]: FUNCTION - call on replica (0 ms) -[ok]: FUNCTION - restore is replicated to replica (2 ms) -[ok]: FUNCTION - delete is replicated to replica (1 ms) -[ok]: FUNCTION - flush is replicated to replica (1 ms) -[ok]: Disconnecting the replica from master instance (108 ms) -[ok]: FUNCTION - test replication to replica on rdb phase (0 ms) -[ok]: FUNCTION - test replication to replica on rdb phase info command (1 ms) -[ok]: FUNCTION - create on read only replica (3 ms) -[ok]: FUNCTION - delete on read only replica (1 ms) -[ok]: FUNCTION - function effect is replicated to replica (102 ms) -[ok]: FUNCTION - modify key space of read only replica (0 ms) -=== () Starting server 127.0.0.1:21999 ok - -Waiting for background AOF rewrite to finish... [ok]: FUNCTION can processes create, delete and flush commands in AOF when doing "debug loadaof" in read-only slaves (384 ms) -=== (scripting) Starting server 127.0.0.1:22001 ok -[ok]: LIBRARIES - test shared function can access default globals (1 ms) -[ok]: LIBRARIES - usage and code sharing (1 ms) -[ok]: LIBRARIES - test registration failure revert the entire load (1 ms) -[ok]: LIBRARIES - test registration function name collision (5 ms) -[ok]: LIBRARIES - test registration function name collision on same library (0 ms) -[ok]: LIBRARIES - test registration with no argument (1 ms) -[ok]: LIBRARIES - test registration with only name (0 ms) -[ok]: LIBRARIES - test registration with to many arguments (0 ms) -[ok]: LIBRARIES - test registration with no string name (1 ms) -[ok]: LIBRARIES - test registration with wrong name format (0 ms) -[ok]: LIBRARIES - test registration with empty name (0 ms) -[ok]: LIBRARIES - math.random from function load (2 ms) -[ok]: LIBRARIES - redict.call from function load (3 ms) -[ok]: LIBRARIES - redict.setresp from function load (0 ms) -[ok]: LIBRARIES - redict.set_repl from function load (1 ms) -[ok]: LIBRARIES - redict.acl_check_cmd from function load (0 ms) -[ok]: LIBRARIES - malicious access test (1 ms) -[ok]: LIBRARIES - delete removed all functions on library (1 ms) -[ok]: LIBRARIES - register function inside a function (1 ms) -[ok]: LIBRARIES - register library with no functions (1 ms) -[ok]: LIBRARIES - load timeout (502 ms) -[ok]: LIBRARIES - verify global protection on the load run (0 ms) -[ok]: LIBRARIES - named arguments (0 ms) -[ok]: LIBRARIES - named arguments, bad function name (0 ms) -[ok]: LIBRARIES - named arguments, bad callback type (0 ms) -[ok]: LIBRARIES - named arguments, bad description (1 ms) -[ok]: LIBRARIES - named arguments, unknown argument (0 ms) -[ok]: LIBRARIES - named arguments, missing function name (0 ms) -[ok]: LIBRARIES - named arguments, missing callback (1 ms) -[ok]: FUNCTION - test function restore with function name collision (4 ms) -[ok]: FUNCTION - test function list with code (1 ms) -[ok]: FUNCTION - test function list with pattern (1 ms) -[ok]: FUNCTION - test function list wrong argument (1 ms) -[ok]: FUNCTION - test function list with bad argument to library name (0 ms) -[ok]: FUNCTION - test function list withcode multiple times (0 ms) -[ok]: FUNCTION - test function list libraryname multiple times (1 ms) -[ok]: FUNCTION - verify OOM on function load and function restore (2 ms) -[ok]: FUNCTION - verify allow-omm allows running any command (1 ms) -=== (scripting) Starting server 127.0.0.1:22003 ok -[ok]: FUNCTION - wrong flags type named arguments (4 ms) -[ok]: FUNCTION - wrong flag type (0 ms) -[ok]: FUNCTION - unknown flag (0 ms) -[ok]: FUNCTION - write script on fcall_ro (1 ms) -[ok]: FUNCTION - write script with no-writes flag (1 ms) -[ok]: FUNCTION - deny oom (1 ms) -[ok]: FUNCTION - deny oom on no-writes function (6 ms) -[ok]: FUNCTION - allow stale (2 ms) -[ok]: FUNCTION - redict version api (0 ms) -[ok]: FUNCTION - legacy redis version is hard-coded to 7.2.4 (1 ms) -[ok]: FUNCTION - function stats (1 ms) -[ok]: FUNCTION - function stats reloaded correctly from rdb (7 ms) -[ok]: FUNCTION - function stats delete library (0 ms) -[ok]: FUNCTION - test function stats on loading failure (4 ms) -[ok]: FUNCTION - function stats cleaned after flush (0 ms) -[ok]: FUNCTION - function test empty engine (1 ms) -[ok]: FUNCTION - function test unknown metadata value (1 ms) -[ok]: FUNCTION - function test no name (0 ms) -[ok]: FUNCTION - function test multiple names (0 ms) -[ok]: FUNCTION - function test name with quotes (0 ms) -[ok]: FUNCTION - trick global protection 1 (1 ms) -[ok]: FUNCTION - test getmetatable on script load (0 ms) -[58/91 done]: unit/functions (6 seconds) -Testing unit/maxmemory -=== (maxmemory external:skip) Starting server 127.0.0.1:22005 ok -evicted keys: 22 -evicted clients: 0 -dbsize: 28 -[ok]: eviction due to output buffers of many MGET clients, client eviction: false (798 ms) -evicted keys: 33 -evicted clients: 0 -dbsize: 17 -[ok]: eviction due to input buffer of a dead client, client eviction: false (2355 ms) -evicted keys: 1 -evicted clients: 0 -dbsize: 49 -[ok]: eviction due to output buffers of pubsub, client eviction: false (1195 ms) -evicted keys: 0 -evicted clients: 8 -dbsize: 50 -[ok]: eviction due to output buffers of many MGET clients, client eviction: true (1693 ms) -evicted keys: 0 -evicted clients: 19 -dbsize: 50 -[ok]: eviction due to input buffer of a dead client, client eviction: true (1336 ms) -evicted keys: 0 -evicted clients: 8 -dbsize: 50 -[ok]: eviction due to output buffers of pubsub, client eviction: true (958 ms) -=== (maxmemory external:skip) Starting server 127.0.0.1:22007 ok -[ok]: Without maxmemory small integers are shared (1 ms) -[ok]: With maxmemory and non-LRU policy integers are still shared (5 ms) -[ok]: With maxmemory and LRU policy integers are not shared (2 ms) -[ok]: maxmemory - is the memory limit honoured? (policy allkeys-random) (550 ms) -[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lru) (761 ms) -[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lfu) (611 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-lru) (517 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-lfu) (557 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-random) (741 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-ttl) (762 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-random) (2605 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-lru) (2328 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-lru) (1578 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-random) (1372 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-ttl) (862 ms) -[ok]: maxmemory - policy volatile-lru should only remove volatile keys. (1733 ms) -[ok]: maxmemory - policy volatile-lfu should only remove volatile keys. (2261 ms) -[ok]: maxmemory - policy volatile-random should only remove volatile keys. (1884 ms) -[ok]: maxmemory - policy volatile-ttl should only remove volatile keys. (1672 ms) -=== (maxmemory external:skip) Starting server 127.0.0.1:22009 ok -=== () Starting server 127.0.0.1:22011 ok -[ok]: slave buffer are counted correctly (163901 ms) -=== (maxmemory external:skip) Starting server 127.0.0.1:22013 ok -=== () Starting server 127.0.0.1:22015 ok -[ok]: replica buffer don't induce eviction (29239 ms) -=== (maxmemory external:skip) Starting server 127.0.0.1:22017 ok -[ok]: Don't rehash if used memory exceeds maxmemory after rehash (852 ms) -=== (maxmemory external:skip) Starting server 127.0.0.1:22019 ok -evicted: 35 -evicted: 35 -[ok]: client tracking don't cause eviction feedback loop (3107 ms) -=== (maxmemory external:skip) Starting server 127.0.0.1:22021 ok -[ok]: propagation with eviction (69 ms) -=== (maxmemory external:skip) Starting server 127.0.0.1:22023 ok -[ok]: propagation with eviction in MULTI (954 ms) -=== (maxmemory external:skip) Starting server 127.0.0.1:22025 ok -[ok]: lru/lfu value of the key just added (11 ms) -[59/91 done]: unit/maxmemory (231 seconds) -Testing unit/introspection -=== (introspection) Starting server 127.0.0.1:22027 ok -[ok]: PING (1 ms) -[ok]: CLIENT LIST (0 ms) -[ok]: CLIENT LIST with IDs (1 ms) -[ok]: CLIENT INFO (0 ms) -[ok]: CLIENT KILL with illegal arguments (2 ms) -CLIENT KILL maxAGE will kill old clients test attempts: 0 -[ok]: CLIENT KILL maxAGE will kill old clients (2044 ms) -[ok]: CLIENT KILL SKIPME YES/NO will kill all clients (62 ms) -[ok]: CLIENT command unhappy path coverage (4 ms) -[ok]: CLIENT KILL close the client connection during bgsave (126 ms) -[ok]: CLIENT REPLY OFF/ON: disable all commands reply (69 ms) -[ok]: CLIENT REPLY SKIP: skip the next command reply (64 ms) -[ok]: CLIENT REPLY ON: unset SKIP flag (67 ms) -[ok]: MONITOR can log executed commands (24 ms) -[ok]: MONITOR can log commands issued by the scripting engine (19 ms) -[ok]: MONITOR can log commands issued by functions (21 ms) -[ok]: MONITOR supports redacting command arguments (24 ms) -[ok]: MONITOR correctly handles multi-exec cases (23 ms) -[ok]: MONITOR log blocked command only once (60 ms) -[ok]: CLIENT GETNAME should return NIL if name is not assigned (0 ms) -[ok]: CLIENT GETNAME check if name set correctly (1 ms) -[ok]: CLIENT LIST shows empty fields for unassigned names (0 ms) -[ok]: CLIENT SETNAME does not accept spaces (2 ms) -[ok]: CLIENT SETNAME can assign a name to this connection (1 ms) -[ok]: CLIENT SETNAME can change the name of an existing connection (1 ms) -[ok]: After CLIENT SETNAME, connection can still be closed (15 ms) -[ok]: CLIENT SETINFO can set a library name to this connection (1 ms) -[ok]: CLIENT SETINFO invalid args (1 ms) -[ok]: RESET does NOT clean library name (0 ms) -[ok]: CLIENT SETINFO can clear library name (6 ms) -=== () Starting server 127.0.0.1:22029 ok -=== () Starting server 127.0.0.1:22031 ok -=== () Starting server 127.0.0.1:22033 ok -=== () Starting server 127.0.0.1:22035 ok -[ok]: CONFIG save params special case handled properly (1413 ms) -[ok]: CONFIG sanity (124 ms) -[ok]: CONFIG REWRITE sanity (334 ms) -=== () Starting server 127.0.0.1:22037 ok -[ok]: CONFIG REWRITE handles save and shutdown properly (1099 ms) -[ok]: CONFIG SET with multiple args (3 ms) -[ok]: CONFIG SET rollback on set error (3 ms) -dummy_accept: sock55ec466014e0 -[ok]: CONFIG SET rollback on apply error (50 ms) -[ok]: CONFIG SET duplicate configs (1 ms) -[ok]: CONFIG SET set immutable (0 ms) -[ok]: CONFIG GET hidden configs (9 ms) -[ok]: CONFIG GET multiple args (0 ms) -[ok]: redict-server command line arguments - error cases (348 ms) -=== () Starting server 127.0.0.1:22040 ok -[ok]: redict-server command line arguments - allow passing option name and option value in the same arg (290 ms) -=== () Starting server 127.0.0.1:22042 ok -[ok]: redict-server command line arguments - wrong usage that we support anyway (279 ms) -=== () Starting server 127.0.0.1:22044 ok -[ok]: redict-server command line arguments - allow option value to use the `--` prefix (310 ms) -=== () Starting server 127.0.0.1:22046 ok -[ok]: redict-server command line arguments - option name and option value in the same arg and `--` prefix (2084 ms) -=== () Starting server 127.0.0.1:22048 ok -=== () Starting server 127.0.0.1:22050 ok -=== () Starting server 127.0.0.1:22052 ok -=== () Starting server 127.0.0.1:22054 ok -=== () Starting server 127.0.0.1:22056 ok -[ok]: redict-server command line arguments - save with empty input (1493 ms) -=== () Starting server 127.0.0.1:22058 ok -[ok]: redict-server command line arguments - take one bulk string with spaces for MULTI_ARG configs parsing (290 ms) -=== (introspection external:skip) Starting server 127.0.0.1:22060 ok -[ok]: cannot modify protected configuration - no (1 ms) -=== (introspection external:skip) Starting server 127.0.0.1:22062 ok -[ok]: cannot modify protected configuration - local (4 ms) -=== () Starting server 127.0.0.1:22064 ok -[ok]: config during loading (2463 ms) -=== (introspection) Starting server 127.0.0.1:22066 ok -[ok]: CONFIG REWRITE handles rename-command properly (539 ms) -=== (introspection) Starting server 127.0.0.1:22068 ok -=== (introspection) Starting server 127.0.0.1:22070 ok -[ok]: CONFIG REWRITE handles alias config properly (1336 ms) -[60/91 done]: unit/introspection (17 seconds) -Testing unit/introspection-2 -=== (introspection) Starting server 127.0.0.1:22072 ok -[ok]: The microsecond part of the TIME command will not overflow (0 ms) -[ok]: TTL, TYPE and EXISTS do not alter the last access time of a key (3004 ms) -[ok]: TOUCH alters the last access time of a key (3015 ms) -[ok]: Operations in no-touch mode do not alter the last access time of a key (1112 ms) -[ok]: TOUCH returns the number of existing keys specified (2 ms) -[ok]: command stats for GEOADD (2 ms) -[ok]: errors stats for GEOADD (1 ms) -[ok]: command stats for EXPIRE (6 ms) -[ok]: command stats for BRPOP (7 ms) -[ok]: command stats for MULTI (3 ms) -[ok]: command stats for scripts (8 ms) -[ok]: COMMAND COUNT get total number of Redict commands (1 ms) -[ok]: COMMAND GETKEYS GET (6 ms) -[ok]: COMMAND GETKEYSANDFLAGS (2 ms) -[ok]: COMMAND GETKEYS MEMORY USAGE (0 ms) -[ok]: COMMAND GETKEYS XGROUP (0 ms) -[ok]: COMMAND GETKEYS EVAL with keys (1 ms) -[ok]: COMMAND GETKEYS EVAL without keys (0 ms) -[ok]: COMMAND GETKEYS LCS (1 ms) -[ok]: COMMAND GETKEYS MORE THAN 256 KEYS (4 ms) -[ok]: COMMAND LIST syntax error (1 ms) -[ok]: COMMAND LIST WITHOUT FILTERBY (12 ms) -[ok]: COMMAND LIST FILTERBY ACLCAT against non existing category (1 ms) -[ok]: COMMAND LIST FILTERBY ACLCAT - list all commands/subcommands (1 ms) -[ok]: COMMAND LIST FILTERBY PATTERN - list all commands/subcommands (2 ms) -[ok]: COMMAND LIST FILTERBY MODULE against non existing module (4 ms) -[ok]: COMMAND INFO of invalid subcommands (4 ms) -[ok]: SET command will not be marked with movablekeys (5 ms) -[ok]: GET command will not be marked with movablekeys (3 ms) -[ok]: MSET command will not be marked with movablekeys (0 ms) -[ok]: BITFIELD command will not be marked with movablekeys (1 ms) -[ok]: LMOVE command will not be marked with movablekeys (7 ms) -[ok]: LPOP command will not be marked with movablekeys (3 ms) -[ok]: BLPOP command will not be marked with movablekeys (4 ms) -[ok]: PING command will not be marked with movablekeys (3 ms) -[ok]: MEMORY command will not be marked with movablekeys (2 ms) -[ok]: MEMORY|USAGE command will not be marked with movablekeys (6 ms) -[ok]: RENAME command will not be marked with movablekeys (4 ms) -[ok]: GEORADIUS_RO command will not be marked with movablekeys (0 ms) -[ok]: ZUNIONSTORE command is marked with movablekeys (7 ms) -[ok]: XREAD command is marked with movablekeys (4 ms) -[ok]: EVAL command is marked with movablekeys (0 ms) -[ok]: SORT command is marked with movablekeys (1 ms) -[ok]: SORT_RO command is marked with movablekeys (6 ms) -[ok]: MIGRATE command is marked with movablekeys (4 ms) -[ok]: GEORADIUS command is marked with movablekeys (1 ms) -[61/91 done]: unit/introspection-2 (8 seconds) -Testing unit/limits -=== (limits network external:skip) Starting server 127.0.0.1:22074 ok -[ok]: Check if maxclients works refusing connections (1624 ms) -[62/91 done]: unit/limits (2 seconds) -Testing unit/obuf-limits -=== (obuf-limits external:skip logreqres:skip) Starting server 127.0.0.1:22076 ok -[ok]: CONFIG SET client-output-buffer-limit (4 ms) -[ok]: Client output buffer hard limit is enforced (25598 ms) -[ok]: Client output buffer soft limit is enforced if time is overreached (7695 ms) -[ok]: Client output buffer soft limit is not enforced too early and is enforced when no traffic (8023 ms) -[ok]: No response for single command if client output buffer hard limit is enforced (215 ms) -[ok]: No response for multi commands in pipeline if client output buffer limit is enforced (1198 ms) -[ok]: Execute transactions completely even if client output buffer limit is enforced (68 ms) -[ok]: Obuf limit, HRANDFIELD with huge count stopped mid-run (39 ms) -[ok]: Obuf limit, KEYS stopped mid-run (215 ms) -[63/91 done]: unit/obuf-limits (43 seconds) -Testing unit/bitops -=== (bitops) Starting server 127.0.0.1:22078 ok -[ok]: BITCOUNT against wrong type (7 ms) -[ok]: BITCOUNT returns 0 against non existing key (0 ms) -[ok]: BITCOUNT returns 0 with out of range indexes (0 ms) -[ok]: BITCOUNT returns 0 with negative indexes where start > end (11 ms) -[ok]: BITCOUNT against test vector #1 (1 ms) -[ok]: BITCOUNT against test vector #2 (6 ms) -[ok]: BITCOUNT against test vector #3 (0 ms) -[ok]: BITCOUNT against test vector #4 (0 ms) -[ok]: BITCOUNT against test vector #5 (1 ms) -[ok]: BITCOUNT fuzzing without start/end (494 ms) -[ok]: BITCOUNT fuzzing with start/end (1221 ms) -[ok]: BITCOUNT with start, end (3 ms) -[ok]: BITCOUNT with illegal arguments (2 ms) -[ok]: BITCOUNT against non-integer value (2 ms) -[ok]: BITCOUNT regression test for github issue #582 (1 ms) -[ok]: BITCOUNT misaligned prefix (1 ms) -[ok]: BITCOUNT misaligned prefix + full words + remainder (1 ms) -[ok]: BITOP NOT (empty string) (1 ms) -[ok]: BITOP NOT (known string) (1 ms) -[ok]: BITOP where dest and target are the same key (1 ms) -[ok]: BITOP AND|OR|XOR don't change the string with single input key (2 ms) -[ok]: BITOP missing key is considered a stream of zero (1 ms) -[ok]: BITOP shorter keys are zero-padded to the key with max length (1 ms) -[ok]: BITOP and fuzzing (477 ms) -[ok]: BITOP or fuzzing (600 ms) -[ok]: BITOP xor fuzzing (895 ms) -[ok]: BITOP NOT fuzzing (75 ms) -[ok]: BITOP with integer encoded source objects (1 ms) -[ok]: BITOP with non string source key (1 ms) -[ok]: BITOP with empty string after non empty string (issue #529) (0 ms) -[ok]: BITPOS against wrong type (1 ms) -[ok]: BITPOS will illegal arguments (7 ms) -[ok]: BITPOS against non-integer value (3 ms) -[ok]: BITPOS bit=0 with empty key returns 0 (1 ms) -[ok]: BITPOS bit=1 with empty key returns -1 (0 ms) -[ok]: BITPOS bit=0 with string less than 1 word works (1 ms) -[ok]: BITPOS bit=1 with string less than 1 word works (1 ms) -[ok]: BITPOS bit=0 starting at unaligned address (4 ms) -[ok]: BITPOS bit=1 starting at unaligned address (1 ms) -[ok]: BITPOS bit=0 unaligned+full word+reminder (8 ms) -[ok]: BITPOS bit=1 unaligned+full word+reminder (12 ms) -[ok]: BITPOS bit=1 returns -1 if string is all 0 bits (19 ms) -[ok]: BITPOS bit=0 works with intervals (7 ms) -[ok]: BITPOS bit=1 works with intervals (2 ms) -[ok]: BITPOS bit=0 changes behavior if end is given (6 ms) -[ok]: SETBIT/BITFIELD only increase dirty when the value changed (12 ms) -[ok]: BITPOS bit=1 fuzzy testing using SETBIT (1819 ms) -[ok]: BITPOS bit=0 fuzzy testing using SETBIT (2031 ms) -[ok]: BITPOS/BITCOUNT fuzzy testing using SETBIT (1511 ms) -=== (bitops) Starting server 127.0.0.1:22080 ok -[ignore]: BIT pos larger than UINT_MAX: large memory flag not provided -[ignore]: SETBIT values larger than UINT32_MAX and lzf_compress/lzf_decompress correctly: large memory flag not provided -[64/91 done]: unit/bitops (10 seconds) -Testing unit/bitfield -=== (bitops) Starting server 127.0.0.1:22082 ok -[ok]: BITFIELD signed SET and GET basics (1 ms) -[ok]: BITFIELD unsigned SET and GET basics (1 ms) -[ok]: BITFIELD signed SET and GET together (1 ms) -[ok]: BITFIELD unsigned with SET, GET and INCRBY arguments (1 ms) -[ok]: BITFIELD with only key as argument (0 ms) -[ok]: BITFIELD # form (1 ms) -[ok]: BITFIELD basic INCRBY form (1 ms) -[ok]: BITFIELD chaining of multiple commands (1 ms) -[ok]: BITFIELD unsigned overflow wrap (1 ms) -[ok]: BITFIELD unsigned overflow sat (1 ms) -[ok]: BITFIELD signed overflow wrap (2 ms) -[ok]: BITFIELD signed overflow sat (1 ms) -[ok]: BITFIELD overflow detection fuzzing (1098 ms) -[ok]: BITFIELD overflow wrap fuzzing (1731 ms) -[ok]: BITFIELD regression for #3221 (0 ms) -[ok]: BITFIELD regression for #3564 (13 ms) -[ok]: BITFIELD_RO with only key as argument (0 ms) -[ok]: BITFIELD_RO fails when write option is used (1 ms) -=== (repl external:skip) Starting server 127.0.0.1:22084 ok -=== () Starting server 127.0.0.1:22086 ok -[ok]: BITFIELD: setup slave (107 ms) -[ok]: BITFIELD: write on master, read on slave (830 ms) -[ok]: BITFIELD_RO with only key as argument on read-only replica (0 ms) -[ok]: BITFIELD_RO fails when write option is used on read-only replica (1 ms) -[65/91 done]: unit/bitfield (5 seconds) -Testing unit/geo -=== (geo) Starting server 127.0.0.1:22088 ok -[ok]: GEO with wrong type src key (3 ms) -[ok]: GEO with non existing src key (5 ms) -[ok]: GEO BYLONLAT with empty search (1 ms) -[ok]: GEO BYMEMBER with non existing member (1 ms) -[ok]: GEOADD create (0 ms) -[ok]: GEOADD update (1 ms) -[ok]: GEOADD update with CH option (0 ms) -[ok]: GEOADD update with NX option (1 ms) -[ok]: GEOADD update with XX option (0 ms) -[ok]: GEOADD update with CH NX option (2 ms) -[ok]: GEOADD update with CH XX option (0 ms) -[ok]: GEOADD update with XX NX option will return syntax error (0 ms) -[ok]: GEOADD update with invalid option (0 ms) -[ok]: GEOADD invalid coordinates (1 ms) -[ok]: GEOADD multi add (0 ms) -[ok]: Check geoset values (0 ms) -[ok]: GEORADIUS simple (sorted) (1 ms) -[ok]: GEORADIUS_RO simple (sorted) (1 ms) -[ok]: GEOSEARCH simple (sorted) (0 ms) -[ok]: GEOSEARCH FROMLONLAT and FROMMEMBER cannot exist at the same time (0 ms) -[ok]: GEOSEARCH FROMLONLAT and FROMMEMBER one must exist (1 ms) -[ok]: GEOSEARCH BYRADIUS and BYBOX cannot exist at the same time (0 ms) -[ok]: GEOSEARCH BYRADIUS and BYBOX one must exist (1 ms) -[ok]: GEOSEARCH with STOREDIST option (2 ms) -[ok]: GEORADIUS withdist (sorted) (0 ms) -[ok]: GEOSEARCH withdist (sorted) (0 ms) -[ok]: GEORADIUS with COUNT (0 ms) -[ok]: GEORADIUS with multiple WITH* tokens (3 ms) -[ok]: GEORADIUS with ANY not sorted by default (0 ms) -[ok]: GEORADIUS with ANY sorted by ASC (1 ms) -[ok]: GEORADIUS with ANY but no COUNT (0 ms) -[ok]: GEORADIUS with COUNT but missing integer argument (0 ms) -[ok]: GEORADIUS with COUNT DESC (0 ms) -[ok]: GEORADIUS HUGE, issue #2767 (2 ms) -[ok]: GEORADIUSBYMEMBER simple (sorted) (0 ms) -[ok]: GEORADIUSBYMEMBER_RO simple (sorted) (0 ms) -[ok]: GEORADIUSBYMEMBER search areas contain satisfied points in oblique direction (4 ms) -[ok]: GEORADIUSBYMEMBER crossing pole search (1 ms) -[ok]: GEOSEARCH FROMMEMBER simple (sorted) (1 ms) -[ok]: GEOSEARCH vs GEORADIUS (5 ms) -[ok]: GEOSEARCH non square, long and narrow (1 ms) -[ok]: GEOSEARCH corner point test (0 ms) -[ok]: GEORADIUSBYMEMBER withdist (sorted) (0 ms) -[ok]: GEOHASH is able to return geohash strings (1 ms) -[ok]: GEOHASH with only key as argument (1 ms) -[ok]: GEOPOS simple (7 ms) -[ok]: GEOPOS missing element (1 ms) -[ok]: GEOPOS with only key as argument (1 ms) -[ok]: GEODIST simple & unit (1 ms) -[ok]: GEODIST missing elements (1 ms) -[ok]: GEORADIUS STORE option: syntax error (1 ms) -[ok]: GEOSEARCHSTORE STORE option: syntax error (1 ms) -[ok]: GEORANGE STORE option: incompatible options (1 ms) -[ok]: GEORANGE STORE option: plain usage (1 ms) -[ok]: GEORADIUSBYMEMBER STORE/STOREDIST option: plain usage (2 ms) -[ok]: GEOSEARCHSTORE STORE option: plain usage (1 ms) -[ok]: GEORANGE STOREDIST option: plain usage (1 ms) -[ok]: GEOSEARCHSTORE STOREDIST option: plain usage (0 ms) -[ok]: GEORANGE STOREDIST option: COUNT ASC and DESC (2 ms) -[ok]: GEOSEARCH the box spans -180° or 180° (1 ms) -[ok]: GEOSEARCH with small distance (0 ms) -[ok]: GEOSEARCH fuzzy test - byradius (58876 ms) -[ok]: GEOSEARCH fuzzy test - bybox (48295 ms) -[ok]: GEOSEARCH box edges fuzzy test (260 ms) -[66/91 done]: unit/geo (108 seconds) -Testing unit/memefficiency -=== (memefficiency external:skip) Starting server 127.0.0.1:22090 ok -[ok]: Memory efficiency with values in range 32 (1378 ms) -[ok]: Memory efficiency with values in range 64 (1563 ms) -[ok]: Memory efficiency with values in range 128 (1508 ms) -[ok]: Memory efficiency with values in range 1024 (1412 ms) -[ok]: Memory efficiency with values in range 16384 (3459 ms) -=== (defrag external:skip cluster) Starting server 127.0.0.1:22092 ok -frag 1.53 -[ok]: Active defrag main dictionary: cluster (271786 ms) -used 80103936 -rss 81252352 -frag 1.01 -frag_bytes 968192 -used 53131368 -rss 79499264 -frag 1.49 -frag_bytes 26240920 -[ok]: Active defrag eval scripts: cluster (29739 ms) -frag 1.83 -[ok]: Active defrag big keys: cluster (155437 ms) -used 98460904 -rss 100098048 -frag 1.02 -frag_bytes 1485592 -used 71749512 -rss 99708928 -frag 1.39 -frag_bytes 27803768 -[ok]: Active defrag pubsub: cluster (216307 ms) -=== (defrag external:skip standalone) Starting server 127.0.0.1:22094 ok -frag 1.52 -[ok]: Active defrag main dictionary: standalone (287418 ms) -used 77744608 -rss 78934016 -frag 1.01 -frag_bytes 1029664 -used 51774048 -rss 77717504 -frag 1.50 -frag_bytes 25845152 -[ok]: Active defrag eval scripts: standalone (31167 ms) -frag 1.86 -[ok]: Active defrag big keys: standalone (134542 ms) -used 94959864 -rss 96518144 -frag 1.01 -frag_bytes 1423112 -used 69302560 -rss 95764480 -frag 1.38 -frag_bytes 26326752 -[ok]: Active defrag pubsub: standalone (238823 ms) -frag 2.01 -[ok]: Active defrag big list: standalone (154198 ms) -=== (defrag) Starting server 127.0.0.1:22096 ok -frag 1.96 -[ok]: Active defrag edge case: standalone (198260 ms) -[67/91 done]: unit/memefficiency (1730 seconds) -Testing unit/hyperloglog -=== (hll) Starting server 127.0.0.1:22098 ok -[ignore]: CVE-2025-32023: Sparse HLL XZERO overflow triggers crash: large memory flag not provided -[ok]: HyperLogLog self test passes (2584 ms) -[ok]: PFADD without arguments creates an HLL value (7 ms) -[ok]: Approximated cardinality after creation is zero (1 ms) -[ok]: PFADD returns 1 when at least 1 reg was modified (0 ms) -[ok]: PFADD returns 0 when no reg was modified (0 ms) -[ok]: PFADD works with empty string (regression) (0 ms) -[ok]: PFCOUNT returns approximated cardinality of set (1 ms) -[ok]: HyperLogLogs are promote from sparse to dense (2014 ms) -[ok]: Change hll-sparse-max-bytes (1 ms) -[ok]: Hyperloglog promote to dense well in different hll-sparse-max-bytes (158 ms) -[ok]: HyperLogLog sparse encoding stress test (4642 ms) -[ok]: Corrupted sparse HyperLogLogs are detected: Additional at tail (1 ms) -[ok]: Corrupted sparse HyperLogLogs are detected: Broken magic (1 ms) -[ok]: Corrupted sparse HyperLogLogs are detected: Invalid encoding (5 ms) -[ok]: Corrupted dense HyperLogLogs are detected: Wrong length (0 ms) -[ok]: Fuzzing dense/sparse encoding: Redict should always detect errors (69956 ms) -[ok]: PFADD, PFCOUNT, PFMERGE type checking works (11 ms) -[ok]: PFMERGE results on the cardinality of union of sets (1 ms) -[ok]: PFMERGE on missing source keys will create an empty destkey (1 ms) -[ok]: PFMERGE with one empty input key, create an empty destkey (1 ms) -[ok]: PFMERGE with one non-empty input key, dest key is actually one of the source keys (5 ms) -[ok]: PFCOUNT multiple-keys merge returns cardinality of union #1 (18297 ms) -[ok]: PFCOUNT multiple-keys merge returns cardinality of union #2 (13093 ms) -[ok]: PFDEBUG GETREG returns the HyperLogLog raw registers (2890 ms) -[ok]: PFADD / PFCOUNT cache invalidation works (15 ms) -[68/91 done]: unit/hyperloglog (114 seconds) -Testing unit/lazyfree -=== (lazyfree) Starting server 127.0.0.1:22100 ok -[ok]: UNLINK can reclaim memory in background (567 ms) -[ok]: FLUSHDB ASYNC can reclaim memory in background (787 ms) -[ok]: lazy free a stream with all types of metadata (507 ms) -[ok]: lazy free a stream with deleted cgroup (2 ms) -[69/91 done]: unit/lazyfree (2 seconds) -Testing unit/wait -=== (wait network external:skip) Starting server 127.0.0.1:22102 ok -=== () Starting server 127.0.0.1:22104 ok -[ok]: Setup slave (109 ms) -[ok]: WAIT out of range timeout (milliseconds) (1 ms) -[ok]: WAIT should acknowledge 1 additional copy of the data (2 ms) -[ok]: WAIT should not acknowledge 2 additional copies of the data (1076 ms) -[ok]: WAIT should not acknowledge 1 additional copy if slave is blocked (1135 ms) -[ok]: WAIT implicitly blocks on client pause since ACKs aren't sent (2347 ms) -[ok]: WAIT replica multiple clients unblock - reuse last result (201 ms) -=== () Starting server 127.0.0.1:22106 ok -[ok]: WAITAOF local copy before fsync (149 ms) -[ok]: WAITAOF local copy everysec (1 ms) -[ok]: WAITAOF local copy with appendfsync always (5 ms) -[ok]: WAITAOF local wait and then stop aof (44 ms) -[ok]: WAITAOF local on server with aof disabled (7 ms) -[ok]: WAITAOF local if AOFRW was postponed (464 ms) -=== () Starting server 127.0.0.1:22108 ok -[ok]: WAITAOF on demoted master gets unblocked with an error (49 ms) -[ok]: WAITAOF replica copy before fsync (139 ms) -[ok]: WAITAOF replica copy everysec (634 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec with AOFRW (1031 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec with slow AOFRW (2075 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec->always with AOFRW (114 ms) -[ok]: WAITAOF replica copy appendfsync always (3 ms) -[ok]: WAITAOF replica copy if replica is blocked (212 ms) -[ok]: WAITAOF replica multiple clients unblock - reuse last result (116 ms) -[ok]: WAITAOF on promoted replica (4 ms) -[ok]: WAITAOF master that loses a replica and backlog is dropped (2039 ms) -[ok]: WAITAOF master without backlog, wait is released when the replica finishes full-sync (275 ms) -[ok]: WAITAOF master isn't configured to do AOF (1014 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica isn't configured to do AOF (111 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAITAOF both local and replica got AOF enabled at runtime (915 ms) -[ok]: WAITAOF master sends PING after last write (1214 ms) -[ok]: WAITAOF master client didn't send any write command (1234 ms) -[ok]: WAITAOF master client didn't send any command (1211 ms) -=== () Starting server 127.0.0.1:22110 ok -=== () Starting server 127.0.0.1:22112 ok -[ok]: WAITAOF when replica switches between masters, fsync: no (4574 ms) -=== () Starting server 127.0.0.1:22114 ok -=== () Starting server 127.0.0.1:22116 ok -[ok]: WAITAOF when replica switches between masters, fsync: everysec (2527 ms) -=== () Starting server 127.0.0.1:22118 ok -=== () Starting server 127.0.0.1:22120 ok -[ok]: WAITAOF when replica switches between masters, fsync: always (1556 ms) -=== (failover external:skip) Starting server 127.0.0.1:22122 ok -=== () Starting server 127.0.0.1:22124 ok -=== () Starting server 127.0.0.1:22126 ok -[ok]: setup replication for following tests (126 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAIT and WAITAOF replica multiple clients unblock - reuse last result (566 ms) -[70/91 done]: unit/wait (30 seconds) -Testing unit/pause -=== (pause network) Starting server 127.0.0.1:22128 ok -[ok]: Test read commands are not blocked by client pause (19 ms) -[ok]: Test old pause-all takes precedence over new pause-write (less restrictive) (295 ms) -[ok]: Test new pause time is smaller than old one, then old time preserved (143 ms) -[ok]: Test write commands are paused by RO (37 ms) -[ok]: Test special commands are paused by RO (83 ms) -[ok]: Test read/admin multi-execs are not blocked by pause RO (41 ms) -[ok]: Test write multi-execs are blocked by pause RO (136 ms) -[ok]: Test scripts are blocked by pause RO (71 ms) -[ok]: Test RO scripts are not blocked by pause RO (28 ms) -[ok]: Test read-only scripts in multi-exec are not blocked by pause RO (27 ms) -[ok]: Test write scripts in multi-exec are blocked by pause RO (52 ms) -[ok]: Test may-replicate commands are rejected in RO scripts (713 ms) -[ok]: Test multiple clients can be queued up and unblocked (61 ms) -[ok]: Test clients with syntax errors will get responses immediately (0 ms) -[ok]: Test both active and passive expires are skipped during client pause (108 ms) -[ok]: Test that client pause starts at the end of a transaction (26 ms) -=== (needs:repl external:skip) Starting server 127.0.0.1:22130 ok -[ok]: Test when replica paused, offset would not grow (8 ms) -[ok]: Test replica offset would grow after unpause (5 ms) -[71/91 done]: unit/pause (2 seconds) -Testing unit/querybuf -=== (querybuf slow) Starting server 127.0.0.1:22132 ok -[ok]: query buffer resized correctly (2071 ms) -[ok]: query buffer resized correctly when not idle (71 ms) -[ok]: query buffer resized correctly with fat argv (2937 ms) -[72/91 done]: unit/querybuf (6 seconds) -Testing unit/tls -=== (tls) Starting server 127.0.0.1:22134 ok -[ok]: TLS: Not accepting non-TLS connections on a TLS port (3 ms) -[ok]: TLS: Verify tls-auth-clients behaves as expected (64 ms) -[ok]: TLS: Verify tls-protocols behaves as expected (29 ms) -[ok]: TLS: Verify tls-ciphers behaves as expected (61 ms) -[ok]: TLS: Verify tls-prefer-server-ciphers behaves as expected (72 ms) -=== () Starting server 127.0.0.1:22136 ok -[ok]: TLS: Verify tls-cert-file is also used as a client cert if none specified (400 ms) -[ok]: TLS: switch between tcp and tls ports (60 ms) -[ok]: TLS: Working with an encrypted keyfile (68 ms) -[73/91 done]: unit/tls (1 seconds) -Testing unit/tracking -=== (tracking network logreqres:skip) Starting server 127.0.0.1:22138 ok -[ok]: Clients are able to enable tracking and redirect it (0 ms) -[ok]: The other connection is able to get invalidations (4 ms) -[ok]: The client is now able to disable tracking (3 ms) -[ok]: Clients can enable the BCAST mode with the empty prefix (0 ms) -[ok]: The connection gets invalidation messages about all the keys (1 ms) -[ok]: Clients can enable the BCAST mode with prefixes (2 ms) -[ok]: Adding prefixes to BCAST mode works (0 ms) -[ok]: Tracking NOLOOP mode in standard mode works (1 ms) -[ok]: Tracking NOLOOP mode in BCAST mode works (5 ms) -[ok]: Tracking gets notification of expired keys (1003 ms) -[ok]: Tracking gets notification of lazy expired keys (109 ms) -[ok]: HELLO 3 reply is correct (1 ms) -[ok]: HELLO without protover (2 ms) -[ok]: RESP3 based basic invalidation (1 ms) -[ok]: RESP3 tracking redirection (1 ms) -[ok]: Invalidations of previous keys can be redirected after switching to RESP3 (4 ms) -[ok]: Invalidations of new keys can be redirected after switching to RESP3 (1 ms) -[ok]: Invalid keys should not be tracked for scripts in NOLOOP mode (2 ms) -[ok]: Tracking only occurs for scripts when a command calls a read-only command (7 ms) -[ok]: RESP3 Client gets tracking-redir-broken push message after cached key changed when rediretion client is terminated (36 ms) -[ok]: Different clients can redirect to the same connection (1 ms) -[ok]: Different clients using different protocols can track the same key (1 ms) -[ok]: No invalidation message when using OPTIN option (1 ms) -[ok]: Invalidation message sent when using OPTIN option with CLIENT CACHING yes (1 ms) -[ok]: Invalidation message sent when using OPTOUT option (1 ms) -[ok]: No invalidation message when using OPTOUT option with CLIENT CACHING no (9 ms) -[ok]: Able to redirect to a RESP3 client (2 ms) -[ok]: After switching from normal tracking to BCAST mode, no invalidation message is produced for pre-BCAST keys (10 ms) -[ok]: BCAST with prefix collisions throw errors (43 ms) -[ok]: hdel deliver invalidate message after response in the same connection (4 ms) -[ok]: Tracking invalidation message is not interleaved with multiple keys response (123 ms) -[ok]: Tracking invalidation message is not interleaved with transaction response (2 ms) -[ok]: Tracking invalidation message of eviction keys should be before response (17 ms) -[ok]: Unblocked BLMOVE gets notification after response (10 ms) -[ok]: Tracking gets notification on tracking table key eviction (112 ms) -[ok]: Invalidation message received for flushall (70 ms) -[ok]: Invalidation message received for flushdb (63 ms) -[ok]: Test ASYNC flushall (42 ms) -[ok]: flushdb tracking invalidation message is not interleaved with transaction response (54 ms) -[ok]: Server is able to evacuate enough keys when num of keys surpasses limit by more than defined initial effort (1510 ms) -[ok]: Tracking info is correct (71 ms) -[ok]: CLIENT GETREDIR provides correct client id (19 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking off (0 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on (3 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on with options (0 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optin (1 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optout (3 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking bcast mode (1 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking redir broken (58 ms) -[ok]: Regression test for #11715 (94 ms) -[ok]: RESP3 based basic invalidation with client reply off (56 ms) -[ok]: RESP2 based basic invalidation with client reply off (118 ms) -[ok]: RESP3 based basic redirect invalidation with client reply off (84 ms) -[ok]: RESP3 based basic tracking-redir-broken with client reply off (41 ms) -=== (tracking network) Starting server 127.0.0.1:22140 ok -[ok]: Coverage: Basic CLIENT CACHING (16 ms) -[ok]: Coverage: Basic CLIENT REPLY (2 ms) -[ok]: Coverage: Basic CLIENT TRACKINGINFO (1 ms) -[ok]: Coverage: Basic CLIENT GETREDIR (3 ms) -[74/91 done]: unit/tracking (4 seconds) -Testing unit/oom-score-adj -=== (oom-score-adj external:skip) Starting server 127.0.0.1:22142 ok -[ok]: CONFIG SET oom-score-adj works as expected (130 ms) -[ok]: CONFIG SET oom-score-adj handles configuration failures (3 ms) -[ok]: CONFIG SET oom-score-adj-values doesn't touch proc when disabled (6 ms) -[ok]: CONFIG SET oom score restored on disable (2 ms) -[ok]: CONFIG SET oom score relative and absolute (1 ms) -[ok]: CONFIG SET out-of-range oom score (0 ms) -[75/91 done]: unit/oom-score-adj (1 seconds) -Testing unit/shutdown -=== (shutdown external:skip) Starting server 127.0.0.1:22144 ok -[ok]: Temp rdb will be deleted if we use bg_unlink when shutdown (262 ms) -=== (shutdown external:skip) Starting server 127.0.0.1:22146 ok -[ok]: SHUTDOWN ABORT can cancel SIGTERM (23 ms) -[ok]: Temp rdb will be deleted in signal handle (63 ms) -=== (shutdown external:skip) Starting server 127.0.0.1:22148 ok -[ok]: RDB save will be failed in shutdown (10 ms) -[ok]: SHUTDOWN will abort if rdb save failed on signal (22 ms) -[ok]: SHUTDOWN will abort if rdb save failed on shutdown command (3 ms) -[ok]: SHUTDOWN can proceed if shutdown command was with nosave (20 ms) -[ok]: Clean up rdb same named folder (3 ms) -=== (shutdown external:skip) Starting server 127.0.0.1:22150 ok -[ok]: SHUTDOWN SIGTERM will abort if there's an initial AOFRW - default (47 ms) -[76/91 done]: unit/shutdown (1 seconds) -Testing unit/networking -=== () Starting server 127.0.0.1:22152 ok -[ok]: CONFIG SET port number (293 ms) -=== () Starting server 127.0.0.1:22155 ok -[ok]: CONFIG SET bind address (303 ms) -=== () Starting server 127.0.0.1:22157 ok -=== () Starting server 127.0.0.1:22159 ok -[ok]: CONFIG SET bind-source-addr (723 ms) -=== (external:skip) Starting server 127.0.0.1:22161 ok -[ok]: Default bind address configuration handling (298 ms) -[ok]: Protected mode works as expected (16 ms) -[77/91 done]: unit/networking (2 seconds) -Testing unit/client-eviction -=== () Starting server 127.0.0.1:22163 ok -[ok]: client evicted due to large argv (108 ms) -[ok]: client evicted due to large query buf (75 ms) -[ok]: client evicted due to percentage of maxmemory (64 ms) -[ok]: client evicted due to large multi buf (184 ms) -[ok]: client evicted due to watched key list (801 ms) -[ok]: client evicted due to pubsub subscriptions (5372 ms) -[ok]: client evicted due to tracking redirection (138 ms) -[ok]: client evicted due to client tracking prefixes (3719 ms) -[ok]: client evicted due to output buf (65 ms) -[ok]: client no-evict on (142 ms) -[ok]: client no-evict off (94 ms) -=== () Starting server 127.0.0.1:22165 ok -[ok]: avoid client eviction when client is freed by output buffer limit (286 ms) -=== () Starting server 127.0.0.1:22167 ok -[ok]: decrease maxmemory-clients causes client eviction (1536 ms) -=== () Starting server 127.0.0.1:22169 ok -[ok]: evict clients only until below limit (631 ms) -=== () Starting server 127.0.0.1:22171 ok -[ok]: evict clients in right order (large to small) (561 ms) -=== () Starting server 127.0.0.1:22173 ok -[ok]: client total memory grows during client no-evict (159 ms) -[ok]: client total memory grows during maxmemory-clients disabled (180 ms) -[78/91 done]: unit/client-eviction (16 seconds) -Testing unit/violations -=== () Starting server 127.0.0.1:22175 ok -[ignore]: XADD one huge field: large memory flag not provided -=== () Starting server 127.0.0.1:22177 ok -[ignore]: XADD one huge field - 1: large memory flag not provided -=== () Starting server 127.0.0.1:22179 ok -[ignore]: several XADD big fields: large memory flag not provided -=== () Starting server 127.0.0.1:22181 ok -[ignore]: single XADD big fields: large memory flag not provided -=== () Starting server 127.0.0.1:22183 ok -[ignore]: hash with many big fields: large memory flag not provided -=== () Starting server 127.0.0.1:22185 ok -[ignore]: hash with one huge field: large memory flag not provided -=== () Starting server 127.0.0.1:22187 ok -[ok]: SORT adds integer field to list (7 ms) -[79/91 done]: unit/violations (2 seconds) -Testing unit/replybufsize -=== (replybufsize) Starting server 127.0.0.1:22189 ok -[ok]: verify reply buffer limits (675 ms) -[80/91 done]: unit/replybufsize (1 seconds) -Testing unit/cluster/announced-endpoints -=== (external:skip cluster) Starting server 127.0.0.1:22191 ok -=== (external:skip cluster) Starting server 127.0.0.1:22193 ok -=== (external:skip cluster) Starting server 127.0.0.1:22195 ok -=== (external:skip cluster) Starting server 127.0.0.1:22197 ok -[ok]: Test change cluster-announce-port and cluster-announce-tls-port at runtime (378 ms) -[ok]: Test change cluster-announce-bus-port at runtime (314 ms) -[81/91 done]: unit/cluster/announced-endpoints (4 seconds) -Testing unit/cluster/misc -=== (external:skip cluster) Starting server 127.0.0.1:22201 ok -=== (external:skip cluster) Starting server 127.0.0.1:22203 ok -=== (external:skip cluster) Starting server 127.0.0.1:22205 ok -=== (external:skip cluster) Starting server 127.0.0.1:22207 ok -[ok]: Key lazy expires during key migration (29 ms) -[ok]: Coverage: Basic cluster commands (18 ms) -[82/91 done]: unit/cluster/misc (6 seconds) -Testing unit/cluster/cli -[ignore]: Not supported in tls mode -[83/91 done]: unit/cluster/cli (0 seconds) -Testing unit/cluster/scripting -=== (external:skip cluster) Starting server 127.0.0.1:22209 ok -[ok]: Eval scripts with shebangs and functions default to no cross slots (4 ms) -[ok]: Cross slot commands are allowed by default for eval scripts and with allow-cross-slot-keys flag (2 ms) -[ok]: Cross slot commands are also blocked if they disagree with pre-declared keys (1 ms) -[ok]: Cross slot commands are allowed by default if they disagree with pre-declared keys (1 ms) -[ok]: Function no-cluster flag (0 ms) -[ok]: Script no-cluster flag (1 ms) -[84/91 done]: unit/cluster/scripting (3 seconds) -Testing unit/cluster/hostnames -=== (external:skip cluster) Starting server 127.0.0.1:22211 ok -=== (external:skip cluster) Starting server 127.0.0.1:22213 ok -=== (external:skip cluster) Starting server 127.0.0.1:22215 ok -=== (external:skip cluster) Starting server 127.0.0.1:22217 ok -=== (external:skip cluster) Starting server 127.0.0.1:22219 ok -=== (external:skip cluster) Starting server 127.0.0.1:22221 ok -=== (external:skip cluster) Starting server 127.0.0.1:22223 ok -[ok]: Set cluster hostnames and verify they are propagated (125 ms) -[ok]: Update hostnames and make sure they are all eventually propagated (229 ms) -[ok]: Remove hostnames and make sure they are all eventually propagated (223 ms) -[ok]: Verify cluster-preferred-endpoint-type behavior for redirects and info (316 ms) -[ok]: Verify the nodes configured with prefer hostname only show hostname for new nodes (5188 ms) -[ok]: Test restart will keep hostname information (1994 ms) -[ok]: Test hostname validation (2 ms) -[85/91 done]: unit/cluster/hostnames (12 seconds) -Testing unit/cluster/human-announced-nodename -=== (external:skip cluster) Starting server 127.0.0.1:22225 ok -=== (external:skip cluster) Starting server 127.0.0.1:22227 ok -=== (external:skip cluster) Starting server 127.0.0.1:22229 ok -[ok]: Set cluster human announced nodename and let it propagate (232 ms) -[ok]: Human nodenames are visible in log messages (3635 ms) -[86/91 done]: unit/cluster/human-announced-nodename (7 seconds) -Testing unit/cluster/multi-slot-operations -=== (external:skip cluster) Starting server 127.0.0.1:22231 ok -=== (external:skip cluster) Starting server 127.0.0.1:22233 ok -=== (external:skip cluster) Starting server 127.0.0.1:22235 ok -=== (external:skip cluster) Starting server 127.0.0.1:22237 ok -=== (external:skip cluster) Starting server 127.0.0.1:22239 ok -[ok]: Continuous slots distribution (47 ms) -[ok]: ADDSLOTS command with several boundary conditions test suite (1 ms) -[ok]: ADDSLOTSRANGE command with several boundary conditions test suite (8 ms) -[ok]: DELSLOTSRANGE command with several boundary conditions test suite (12 ms) -[87/91 done]: unit/cluster/multi-slot-operations (6 seconds) -Testing unit/cluster/slot-ownership -=== (external:skip cluster) Starting server 127.0.0.1:22241 ok -=== (external:skip cluster) Starting server 127.0.0.1:22243 ok -=== (external:skip cluster) Starting server 127.0.0.1:22245 ok -=== (external:skip cluster) Starting server 127.0.0.1:22247 ok -[ok]: Verify that slot ownership transfer through gossip propagates deletes to replicas (400 ms) -[88/91 done]: unit/cluster/slot-ownership (5 seconds) -Testing unit/cluster/links -=== (external:skip cluster) Starting server 127.0.0.1:22249 ok -=== (external:skip cluster) Starting server 127.0.0.1:22251 ok -=== (external:skip cluster) Starting server 127.0.0.1:22253 ok -[ok]: Broadcast message across a cluster shard while a cluster link is down (219 ms) -=== (external:skip cluster) Starting server 127.0.0.1:22255 ok -=== (external:skip cluster) Starting server 127.0.0.1:22257 ok -=== (external:skip cluster) Starting server 127.0.0.1:22259 ok -[ok]: Each node has two links with each peer (12 ms) -[ok]: Validate cluster links format (6 ms) -[ok]: Disconnect link when send buffer limit reached (9677 ms) -[ok]: Link memory increases with publishes (721 ms) -[ok]: Link memory resets after publish messages flush (906 ms) -[89/91 done]: unit/cluster/links (18 seconds) -Testing unit/cluster/cluster-response-tls -=== (external:skip cluster tls) Starting server 127.0.0.1:22261 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:22263 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:22265 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:22267 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:22269 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:22271 ok -[ok]: CLUSTER SLOTS with different connection type -- tls-cluster yes (156 ms) -[ok]: CLUSTER NODES return port according to connection type -- tls-cluster yes (118 ms) -[ok]: Set many keys in the cluster -- tls-cluster yes (4834 ms) -[ok]: Test cluster responses during migration of slot x -- tls-cluster yes (4 ms) -=== (external:skip cluster tls) Starting server 127.0.0.1:22273 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:22275 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:22277 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:22279 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:22281 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:22283 ok -[ok]: CLUSTER SLOTS with different connection type -- tls-cluster no (116 ms) -[ok]: CLUSTER NODES return port according to connection type -- tls-cluster no (121 ms) -[ok]: Set many keys in the cluster -- tls-cluster no (6278 ms) -[ok]: Test cluster responses during migration of slot x -- tls-cluster no (6 ms) -[90/91 done]: unit/cluster/cluster-response-tls (24 seconds) -Testing unit/cluster/failure-marking -=== (external:skip cluster) Starting server 127.0.0.1:22285 ok -=== (external:skip cluster) Starting server 127.0.0.1:22287 ok -[ok]: Verify that single primary marks replica as failed (3352 ms) -=== (external:skip cluster) Starting server 127.0.0.1:22289 ok -=== (external:skip cluster) Starting server 127.0.0.1:22291 ok -=== (external:skip cluster) Starting server 127.0.0.1:22293 ok -[ok]: Verify that multiple primaries mark replica as failed (6394 ms) -[91/91 done]: unit/cluster/failure-marking (15 seconds) +[ok]: Once AUTH succeeded we can actually send commands to the server (1 ms) +[ok]: For unauthenticated clients multibulk and bulk length are limited (18 ms) +[TIMEOUT]: clients state report follows. +sock564cfeab01e0 => (IN PROGRESS) For unauthenticated clients output buffer is limited +Killing still running Redict server 2855542 The End Execution time of different units: 1 seconds - unit/printver - 60 seconds - unit/dump - 7 seconds - unit/auth - 2 seconds - unit/protocol - 2 seconds - unit/keyspace - 76 seconds - unit/scan - 4 seconds - unit/info - 1 seconds - unit/info-command - 24 seconds - unit/type/string - 0 seconds - unit/type/incr - 26 seconds - unit/type/list - 75 seconds - unit/type/list-2 - 88 seconds - unit/type/list-3 - 97 seconds - unit/type/set - 100 seconds - unit/type/zset - 22 seconds - unit/type/hash - 71 seconds - unit/type/stream - 9 seconds - unit/type/stream-cgroups - 46 seconds - unit/sort - 21 seconds - unit/expire - 32 seconds - unit/other - 9 seconds - unit/multi - 1 seconds - unit/quit - 36 seconds - unit/aofrw - 4 seconds - unit/acl - 2 seconds - unit/acl-v2 - 15 seconds - unit/latency-monitor - 29 seconds - integration/block-repl - 300 seconds - integration/replication - 55 seconds - integration/replication-2 - 25 seconds - integration/replication-3 - 90 seconds - integration/replication-4 - 184 seconds - integration/replication-psync - 36 seconds - integration/replication-buffer - 17 seconds - integration/shutdown - 24 seconds - integration/aof - 3 seconds - integration/aof-race - 24 seconds - integration/aof-multi-part - 20 seconds - integration/rdb - 30 seconds - integration/corrupt-dump - 21 seconds - integration/corrupt-dump-fuzzer - 1 seconds - integration/convert-zipmap-hash-on-load - 0 seconds - integration/convert-ziplist-hash-on-load - 1 seconds - integration/convert-ziplist-zset-on-load - 1 seconds - integration/logging - 54 seconds - integration/psync2 - 24 seconds - integration/psync2-reg - 21 seconds - integration/psync2-pingoff - 22 seconds - integration/psync2-master-restart - 14 seconds - integration/failover - 24 seconds - integration/redict-cli - 10 seconds - integration/redict-benchmark - 9 seconds - integration/dismiss-mem - 1 seconds - unit/pubsub - 3 seconds - unit/pubsubshard - 2 seconds - unit/slowlog - 35 seconds - unit/scripting - 6 seconds - unit/functions - 231 seconds - unit/maxmemory - 17 seconds - unit/introspection - 8 seconds - unit/introspection-2 - 2 seconds - unit/limits - 43 seconds - unit/obuf-limits - 10 seconds - unit/bitops - 5 seconds - unit/bitfield - 108 seconds - unit/geo - 1730 seconds - unit/memefficiency - 114 seconds - unit/hyperloglog - 2 seconds - unit/lazyfree - 30 seconds - unit/wait - 2 seconds - unit/pause - 6 seconds - unit/querybuf - 1 seconds - unit/tls - 4 seconds - unit/tracking - 1 seconds - unit/oom-score-adj - 1 seconds - unit/shutdown - 2 seconds - unit/networking - 16 seconds - unit/client-eviction - 2 seconds - unit/violations - 1 seconds - unit/replybufsize - 4 seconds - unit/cluster/announced-endpoints - 6 seconds - unit/cluster/misc - 0 seconds - unit/cluster/cli - 3 seconds - unit/cluster/scripting - 12 seconds - unit/cluster/hostnames - 7 seconds - unit/cluster/human-announced-nodename - 6 seconds - unit/cluster/multi-slot-operations - 5 seconds - unit/cluster/slot-ownership - 18 seconds - unit/cluster/links - 24 seconds - unit/cluster/cluster-response-tls - 15 seconds - unit/cluster/failure-marking + 34 seconds - unit/dump -\o/ All tests passed without errors! +!!! WARNING The following tests failed: +*** [TIMEOUT]: clients state report follows. Cleanup: may take some time... OK timeout 30m ./runtest-cluster --tls || true Starting redict #0 at port 30000 @@ -5329,674 +890,681 @@ Starting redict #18 at port 30036 Starting redict #19 at port 30038 Testing unit: 00-base.tcl -20:28:18> (init) Restart killed instances: OK -20:28:18> Cluster nodes are reachable: OK -20:28:19> Cluster nodes hard reset: OK -20:28:19> Cluster Join and auto-discovery test: OK -20:28:20> Before slots allocation, all nodes report cluster failure: OK -20:28:20> Different nodes have different IDs: OK -20:28:20> It is possible to perform slot allocation: OK -20:28:21> After the join, every node gets a different config epoch: OK -20:28:21> Nodes should report cluster_state is ok now: OK -20:28:25> Sanity for CLUSTER COUNTKEYSINSLOT: OK -20:28:25> It is possible to write and read from the cluster: OK -20:28:25> CLUSTER RESET SOFT test: OK -20:28:25> Coverage: CLUSTER HELP: OK -20:28:25> Coverage: ASKING: OK -20:28:25> CLUSTER SLAVES and CLUSTER REPLICAS with zero replicas: OK +16:55:24> (init) Restart killed instances: OK +16:55:24> Cluster nodes are reachable: OK +16:55:24> Cluster nodes hard reset: OK +16:55:24> Cluster Join and auto-discovery test: OK +16:55:27> Before slots allocation, all nodes report cluster failure: OK +16:55:27> Different nodes have different IDs: OK +16:55:27> It is possible to perform slot allocation: OK +16:55:27> After the join, every node gets a different config epoch: OK +16:55:27> Nodes should report cluster_state is ok now: OK +16:55:30> Sanity for CLUSTER COUNTKEYSINSLOT: OK +16:55:30> It is possible to write and read from the cluster: OK +16:55:30> CLUSTER RESET SOFT test: OK +16:55:30> Coverage: CLUSTER HELP: OK +16:55:30> Coverage: ASKING: OK +16:55:30> CLUSTER SLAVES and CLUSTER REPLICAS with zero replicas: OK Testing unit: 01-faildet.tcl -20:28:25> (init) Restart killed instances: OK -20:28:25> Cluster nodes are reachable: OK -20:28:25> Cluster nodes hard reset: OK -20:28:28> Cluster Join and auto-discovery test: OK -20:28:31> Before slots allocation, all nodes report cluster failure: OK -20:28:31> Create a 5 nodes cluster: OK -20:28:35> Cluster should start ok: OK -20:28:35> Killing two slave nodes: OK -20:28:36> Cluster should be still up: OK -20:28:36> Killing one master node: OK -20:28:36> Cluster should be down now: OK -20:28:40> Restarting master node: OK -20:28:40> Cluster should be up again: OK +16:55:30> (init) Restart killed instances: OK +16:55:30> Cluster nodes are reachable: OK +16:55:30> Cluster nodes hard reset: OK +16:55:31> Cluster Join and auto-discovery test: OK +16:55:33> Before slots allocation, all nodes report cluster failure: OK +16:55:33> Create a 5 nodes cluster: OK +16:55:38> Cluster should start ok: OK +16:55:38> Killing two slave nodes: OK +16:55:38> Cluster should be still up: OK +16:55:38> Killing one master node: OK +16:55:38> Cluster should be down now: OK +16:55:42> Restarting master node: OK +16:55:43> Cluster should be up again: OK Testing unit: 02-failover.tcl -20:28:47> (init) Restart killed instances: redict/5 redict/6 OK -20:28:48> Cluster nodes are reachable: OK -20:28:48> Cluster nodes hard reset: OK -20:28:52> Cluster Join and auto-discovery test: OK -20:28:56> Before slots allocation, all nodes report cluster failure: OK -20:28:56> Create a 5 nodes cluster: OK -20:29:01> Cluster is up: OK -20:29:01> Cluster is writable: OK -20:29:01> Instance #5 is a slave: OK -20:29:01> Instance #5 synced with the master: OK -20:29:01> Killing one master node: OK -20:29:02> Wait for failover: OK -20:29:06> Cluster should eventually be up again: OK -20:29:06> Cluster is writable: OK -20:29:07> Instance #5 is now a master: OK -20:29:07> Restarting the previously killed master node: OK -20:29:07> Instance #0 gets converted into a slave: OK +16:55:50> (init) Restart killed instances: redict/5 redict/6 OK +16:55:50> Cluster nodes are reachable: OK +16:55:50> Cluster nodes hard reset: OK +16:55:51> Cluster Join and auto-discovery test: OK +16:55:53> Before slots allocation, all nodes report cluster failure: OK +16:55:53> Create a 5 nodes cluster: OK +16:55:57> Cluster is up: OK +16:55:57> Cluster is writable: OK +16:55:58> Instance #5 is a slave: OK +16:55:58> Instance #5 synced with the master: OK +16:55:58> Killing one master node: OK +16:55:58> Wait for failover: OK +16:56:03> Cluster should eventually be up again: OK +16:56:03> Cluster is writable: OK +16:56:03> Instance #5 is now a master: OK +16:56:03> Restarting the previously killed master node: OK +16:56:03> Instance #0 gets converted into a slave: OK Testing unit: 03-failover-loop.tcl -20:29:07> (init) Restart killed instances: OK -20:29:07> Cluster nodes are reachable: OK -20:29:07> Cluster nodes hard reset: OK -20:29:10> Cluster Join and auto-discovery test: OK -20:29:12> Before slots allocation, all nodes report cluster failure: OK -20:29:12> Create a 5 nodes cluster: OK -20:29:16> Cluster is up: OK +16:56:03> (init) Restart killed instances: OK +16:56:03> Cluster nodes are reachable: OK +16:56:03> Cluster nodes hard reset: OK +16:56:06> Cluster Join and auto-discovery test: OK +16:56:08> Before slots allocation, all nodes report cluster failure: OK +16:56:08> Create a 5 nodes cluster: OK +16:56:12> Cluster is up: OK --- Iteration 19 --- -20:29:16> Wait for slave of #4 to sync: OK -20:29:16> Cluster is writable before failover: OK -20:29:17> Terminating node #4: OK -20:29:18> Wait failover by #9 with old epoch 5: OK -20:29:23> Cluster should eventually be up again: OK -20:29:23> Cluster is writable again: OK -20:29:24> Restarting node #4: OK -20:29:24> Instance #4 is now a slave: OK -20:29:24> We can read back the value we set before: OK +16:56:12> Cluster is writable before failover: OK +16:56:12> Terminating node #8: OK +16:56:15> Cluster should eventually be up again: OK +16:56:15> Cluster is writable again: OK +16:56:15> Restarting node #8: OK +16:56:15> Instance #8 is now a slave: OK +16:56:15> We can read back the value we set before: OK --- Iteration 18 --- -20:29:25> Cluster is writable before failover: OK -20:29:25> Terminating node #4: OK -20:29:25> Cluster should eventually be up again: OK -20:29:25> Cluster is writable again: OK -20:29:25> Restarting node #4: OK -20:29:25> Instance #4 is now a slave: OK -20:29:25> We can read back the value we set before: OK +16:56:15> Wait for slave of #4 to sync: OK +16:56:15> Cluster is writable before failover: OK +16:56:15> Terminating node #4: OK +16:56:16> Wait failover by #9 with old epoch 5: OK +16:56:23> Cluster should eventually be up again: OK +16:56:24> Cluster is writable again: OK +16:56:24> Restarting node #4: OK +16:56:26> Instance #4 is now a slave: OK +16:56:26> We can read back the value we set before: OK --- Iteration 17 --- -20:29:26> Cluster is writable before failover: OK -20:29:26> Terminating node #5: OK -20:29:26> Cluster should eventually be up again: OK -20:29:26> Cluster is writable again: OK -20:29:27> Restarting node #5: OK -20:29:27> Instance #5 is now a slave: OK -20:29:27> We can read back the value we set before: OK +16:56:26> Wait for slave of #0 to sync: OK +16:56:26> Cluster is writable before failover: OK +16:56:26> Terminating node #0: OK +16:56:27> Wait failover by #5 with old epoch 1: OK +16:56:33> Cluster should eventually be up again: OK +16:56:33> Cluster is writable again: OK +16:56:33> Restarting node #0: OK +16:56:33> Instance #0 is now a slave: OK +16:56:33> We can read back the value we set before: OK --- Iteration 16 --- -20:29:27> Wait for slave of #1 to sync: OK -20:29:28> Cluster is writable before failover: OK -20:29:28> Terminating node #1: OK -20:29:29> Wait failover by #6 with old epoch 2: OK -20:29:34> Cluster should eventually be up again: OK -20:29:34> Cluster is writable again: OK -20:29:34> Restarting node #1: OK -20:29:34> Instance #1 is now a slave: OK -20:29:34> We can read back the value we set before: OK +16:56:33> Wait for slave of #9 to sync: OK +16:56:33> Cluster is writable before failover: OK +16:56:33> Terminating node #9: OK +16:56:34> Wait failover by #4 with old epoch 21: OK +16:56:40> Cluster should eventually be up again: OK +16:56:41> Cluster is writable again: OK +16:56:41> Restarting node #9: OK +16:56:41> Instance #9 is now a slave: OK +16:56:41> We can read back the value we set before: OK --- Iteration 15 --- -20:29:35> Wait for slave of #0 to sync: OK -20:29:35> Cluster is writable before failover: OK -20:29:35> Terminating node #0: OK -20:29:36> Wait failover by #5 with old epoch 1: OK -20:29:40> Cluster should eventually be up again: OK -20:29:41> Cluster is writable again: OK -20:29:42> Restarting node #0: OK -20:29:42> Instance #0 is now a slave: OK -20:29:42> We can read back the value we set before: OK +16:56:42> Wait for slave of #2 to sync: OK +16:56:42> Cluster is writable before failover: OK +16:56:42> Terminating node #2: OK +16:56:43> Wait failover by #7 with old epoch 3: OK +16:56:51> Cluster should eventually be up again: OK +16:56:51> Cluster is writable again: OK +16:56:51> Restarting node #2: OK +16:56:53> Instance #2 is now a slave: OK +16:56:53> We can read back the value we set before: OK --- Iteration 14 --- -20:29:42> Wait for slave of #5 to sync: OK -20:29:42> Cluster is writable before failover: OK -20:29:42> Terminating node #5: OK -20:29:43> Wait failover by #0 with old epoch 23: OK -20:29:47> Cluster should eventually be up again: OK -20:29:47> Cluster is writable again: OK -20:29:48> Restarting node #5: OK -20:29:49> Instance #5 is now a slave: OK -20:29:49> We can read back the value we set before: OK +16:56:53> Cluster is writable before failover: OK +16:56:54> Terminating node #2: OK +16:56:54> Cluster should eventually be up again: OK +16:56:54> Cluster is writable again: OK +16:56:54> Restarting node #2: OK +16:56:54> Instance #2 is now a slave: OK +16:56:54> We can read back the value we set before: OK --- Iteration 13 --- -20:29:49> Wait for slave of #3 to sync: OK -20:29:49> Cluster is writable before failover: OK -20:29:49> Terminating node #3: OK -20:29:50> Wait failover by #8 with old epoch 4: OK -20:29:55> Cluster should eventually be up again: OK -20:29:55> Cluster is writable again: OK -20:29:55> Restarting node #3: OK -20:29:55> Instance #3 is now a slave: OK -20:29:55> We can read back the value we set before: OK +16:56:54> Wait for slave of #1 to sync: OK +16:56:54> Cluster is writable before failover: OK +16:56:54> Terminating node #1: OK +16:56:55> Wait failover by #6 with old epoch 2: OK +16:57:02> Cluster should eventually be up again: OK +16:57:02> Cluster is writable again: OK +16:57:03> Restarting node #1: OK +16:57:03> Instance #1 is now a slave: OK +16:57:03> We can read back the value we set before: OK --- Iteration 12 --- -20:29:56> Wait for slave of #2 to sync: OK -20:29:56> Cluster is writable before failover: OK -20:29:56> Terminating node #2: OK -20:29:57> Wait failover by #7 with old epoch 3: OK -20:30:01> Cluster should eventually be up again: OK -20:30:01> Cluster is writable again: OK -20:30:04> Restarting node #2: OK -20:30:04> Instance #2 is now a slave: OK -20:30:04> We can read back the value we set before: OK +16:57:04> Wait for slave of #3 to sync: OK +16:57:04> Cluster is writable before failover: OK +16:57:04> Terminating node #3: OK +16:57:04> Wait failover by #8 with old epoch 4: OK +16:57:09> Cluster should eventually be up again: OK +16:57:09> Cluster is writable again: OK +16:57:09> Restarting node #3: OK +16:57:09> Instance #3 is now a slave: OK +16:57:09> We can read back the value we set before: OK --- Iteration 11 --- -20:30:04> Cluster is writable before failover: OK -20:30:04> Terminating node #5: OK -20:30:05> Cluster should eventually be up again: OK -20:30:05> Cluster is writable again: OK -20:30:05> Restarting node #5: OK -20:30:05> Instance #5 is now a slave: OK -20:30:05> We can read back the value we set before: OK +16:57:09> Cluster is writable before failover: OK +16:57:09> Terminating node #0: OK +16:57:09> Cluster should eventually be up again: OK +16:57:09> Cluster is writable again: OK +16:57:09> Restarting node #0: OK +16:57:10> Instance #0 is now a slave: OK +16:57:10> We can read back the value we set before: OK --- Iteration 10 --- -20:30:05> Wait for slave of #0 to sync: OK -20:30:05> Cluster is writable before failover: OK -20:30:05> Terminating node #0: OK -20:30:06> Wait failover by #5 with old epoch 24: OK -20:30:10> Cluster should eventually be up again: OK -20:30:10> Cluster is writable again: OK -20:30:11> Restarting node #0: OK -20:30:13> Instance #0 is now a slave: OK -20:30:13> We can read back the value we set before: OK +16:57:10> Cluster is writable before failover: OK +16:57:10> Terminating node #3: OK +16:57:10> Cluster should eventually be up again: OK +16:57:10> Cluster is writable again: OK +16:57:10> Restarting node #3: OK +16:57:10> Instance #3 is now a slave: OK +16:57:10> We can read back the value we set before: OK --- Iteration 9 --- -20:30:13> Wait for slave of #8 to sync: OK -20:30:13> Cluster is writable before failover: OK -20:30:13> Terminating node #8: OK -20:30:14> Wait failover by #3 with old epoch 25: OK -20:30:18> Cluster should eventually be up again: OK -20:30:18> Cluster is writable again: OK -20:30:19> Restarting node #8: OK -20:30:19> Instance #8 is now a slave: OK -20:30:19> We can read back the value we set before: OK +16:57:10> Wait for slave of #5 to sync: OK +16:57:10> Cluster is writable before failover: OK +16:57:10> Terminating node #5: OK +16:57:11> Wait failover by #0 with old epoch 22: OK +16:57:17> Cluster should eventually be up again: OK +16:57:17> Cluster is writable again: OK +16:57:18> Restarting node #5: OK +16:57:19> Instance #5 is now a slave: OK +16:57:19> We can read back the value we set before: OK --- Iteration 8 --- -20:30:19> Cluster is writable before failover: OK -20:30:19> Terminating node #1: OK -20:30:20> Cluster should eventually be up again: OK -20:30:20> Cluster is writable again: OK -20:30:20> Restarting node #1: OK -20:30:21> Instance #1 is now a slave: OK -20:30:21> We can read back the value we set before: OK +16:57:20> Wait for slave of #4 to sync: OK +16:57:20> Cluster is writable before failover: OK +16:57:20> Terminating node #4: OK +16:57:21> Wait failover by #9 with old epoch 23: OK +16:57:28> Cluster should eventually be up again: OK +16:57:29> Cluster is writable again: OK +16:57:29> Restarting node #4: OK +16:57:30> Instance #4 is now a slave: OK +16:57:30> We can read back the value we set before: OK --- Iteration 7 --- -20:30:22> Wait for slave of #5 to sync: OK -20:30:22> Cluster is writable before failover: OK -20:30:22> Terminating node #5: OK -20:30:22> Wait failover by #0 with old epoch 27: OK -20:30:26> Cluster should eventually be up again: OK -20:30:26> Cluster is writable again: OK -20:30:27> Restarting node #5: OK -20:30:27> Instance #5 is now a slave: OK -20:30:27> We can read back the value we set before: OK +16:57:31> Wait for slave of #0 to sync: OK +16:57:31> Cluster is writable before failover: OK +16:57:31> Terminating node #0: OK +16:57:32> Wait failover by #5 with old epoch 27: OK +16:57:36> Cluster should eventually be up again: OK +16:57:36> Cluster is writable again: OK +16:57:36> Restarting node #0: OK +16:57:37> Instance #0 is now a slave: OK +16:57:37> We can read back the value we set before: OK --- Iteration 6 --- -20:30:28> Wait for slave of #6 to sync: OK -20:30:28> Cluster is writable before failover: OK -20:30:28> Terminating node #6: OK -20:30:28> Wait failover by #1 with old epoch 22: OK -20:30:33> Cluster should eventually be up again: OK -20:30:33> Cluster is writable again: OK -20:30:34> Restarting node #6: OK -20:30:34> Instance #6 is now a slave: OK -20:30:34> We can read back the value we set before: OK +16:57:38> Cluster is writable before failover: OK +16:57:38> Terminating node #1: OK +16:57:38> Cluster should eventually be up again: OK +16:57:38> Cluster is writable again: OK +16:57:38> Restarting node #1: OK +16:57:39> Instance #1 is now a slave: OK +16:57:39> We can read back the value we set before: OK --- Iteration 5 --- -20:30:34> Wait for slave of #1 to sync: OK -20:30:34> Cluster is writable before failover: OK -20:30:34> Terminating node #1: OK -20:30:36> Wait failover by #6 with old epoch 30: OK -20:30:40> Cluster should eventually be up again: OK -20:30:41> Cluster is writable again: OK -20:30:41> Restarting node #1: OK -20:30:42> Instance #1 is now a slave: OK -20:30:42> We can read back the value we set before: OK +16:57:39> Cluster is writable before failover: OK +16:57:39> Terminating node #1: OK +16:57:40> Cluster should eventually be up again: OK +16:57:40> Cluster is writable again: OK +16:57:40> Restarting node #1: OK +16:57:41> Instance #1 is now a slave: OK +16:57:41> We can read back the value we set before: OK --- Iteration 4 --- -20:30:42> Cluster is writable before failover: OK -20:30:42> Terminating node #2: OK -20:30:42> Cluster should eventually be up again: OK -20:30:42> Cluster is writable again: OK -20:30:42> Restarting node #2: OK -20:30:43> Instance #2 is now a slave: OK -20:30:43> We can read back the value we set before: OK +16:57:41> Wait for slave of #9 to sync: OK +16:57:41> Cluster is writable before failover: OK +16:57:41> Terminating node #9: OK +16:57:42> Wait failover by #4 with old epoch 28: OK +16:57:49> Cluster should eventually be up again: OK +16:57:50> Cluster is writable again: OK +16:57:50> Restarting node #9: OK +16:57:52> Instance #9 is now a slave: OK +16:57:52> We can read back the value we set before: OK --- Iteration 3 --- -20:30:43> Cluster is writable before failover: OK -20:30:43> Terminating node #4: OK -20:30:43> Cluster should eventually be up again: OK -20:30:43> Cluster is writable again: OK -20:30:43> Restarting node #4: OK -20:30:44> Instance #4 is now a slave: OK -20:30:44> We can read back the value we set before: OK +16:57:53> Wait for slave of #5 to sync: OK +16:57:53> Cluster is writable before failover: OK +16:57:53> Terminating node #5: OK +16:57:54> Wait failover by #0 with old epoch 29: OK +16:57:59> Cluster should eventually be up again: OK +16:57:59> Cluster is writable again: OK +16:57:59> Restarting node #5: OK +16:57:59> Instance #5 is now a slave: OK +16:57:59> We can read back the value we set before: OK --- Iteration 2 --- -20:30:44> Wait for slave of #9 to sync: OK -20:30:44> Cluster is writable before failover: OK -20:30:44> Terminating node #9: OK -20:30:44> Wait failover by #4 with old epoch 21: OK -20:30:49> Cluster should eventually be up again: OK -20:30:49> Cluster is writable again: OK -20:30:50> Restarting node #9: OK -20:30:50> Instance #9 is now a slave: OK -20:30:50> We can read back the value we set before: OK +16:57:59> Cluster is writable before failover: OK +16:57:59> Terminating node #3: OK +16:57:59> Cluster should eventually be up again: OK +16:57:59> Cluster is writable again: OK +16:57:59> Restarting node #3: OK +16:58:00> Instance #3 is now a slave: OK +16:58:00> We can read back the value we set before: OK --- Iteration 1 --- -20:30:50> Cluster is writable before failover: OK -20:30:50> Terminating node #2: OK -20:30:51> Cluster should eventually be up again: OK -20:30:51> Cluster is writable again: OK -20:30:51> Restarting node #2: OK -20:30:51> Instance #2 is now a slave: OK -20:30:51> We can read back the value we set before: OK -20:30:51> Post condition: current_epoch >= my_epoch everywhere: OK +16:58:00> Cluster is writable before failover: OK +16:58:00> Terminating node #2: OK +16:58:00> Cluster should eventually be up again: OK +16:58:00> Cluster is writable again: OK +16:58:00> Restarting node #2: OK +16:58:00> Instance #2 is now a slave: OK +16:58:00> We can read back the value we set before: OK +16:58:00> Post condition: current_epoch >= my_epoch everywhere: OK Testing unit: 04-resharding.tcl -20:30:51> (init) Restart killed instances: OK -20:30:51> Cluster nodes are reachable: OK -20:30:51> Cluster nodes hard reset: OK -20:30:54> Cluster Join and auto-discovery test: OK -20:30:56> Before slots allocation, all nodes report cluster failure: OK -20:30:56> Create a 5 nodes cluster: OK -20:31:01> Cluster is up: OK -20:31:01> Enable AOF in all the instances: OK +16:58:00> (init) Restart killed instances: OK +16:58:00> Cluster nodes are reachable: OK +16:58:00> Cluster nodes hard reset: OK +16:58:02> Cluster Join and auto-discovery test: OK +16:58:04> Before slots allocation, all nodes report cluster failure: OK +16:58:04> Create a 5 nodes cluster: OK +16:58:08> Cluster is up: OK +16:58:08> Enable AOF in all the instances: OK Testing TLS cluster on start node 127.0.0.1:30000, plaintext port 30001 -20:31:02> Cluster consistency during live resharding: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...Starting resharding...W................................................W............................................................................................................................................................................................W.................................................................................................................................................................................................................................................W.................................................................................................................................................W.............................................................................................................................................................................................................................................................W.............................................................................................................WWWW...Starting resharding...W.....................................................................................................................W...................................................................................................................................................................................................................................................W.......................................................................W.....................................................................................................................................................................W.......................................................................................................................................................................................................................................................................................................W................................................................................WWWW...Starting resharding...W...................................................................................................W......................................................................................................................................................................................................................W.........................................................................................................................................................................................................W.......................................................................................................W.....................................................................................................................W............................................................................................................................................................................................................................................WWWW...Starting resharding...W..............................................................................................................................................W............................................................................................................................................................................W.................................................................................................................................W...........................................................................................................................................................................................................................................W................................................................................................................................................................................................................................................W...............W..................................................WWW...Starting resharding...W......................................................W.......................................................................................................................................................................W.......................................................................................................................................................W..................................................................................................................................................................................................................W......................................................................................................................................................................W.......................................................................................................................................................................................................W....................................................WWW...Starting resharding...W...........................................................................W.................................................................................................................................................................................................................W...........................................................................................................................................................................................................................................................................................................W..................................................................................................................................................................................................W....................................................................................................................................................................................................................................WWWWW...Starting resharding...W............................................................................................................................................................................................................................................................W.........................................................................................................................................................................................................................................W..................................................................................................................................................................................................................W...............................................................................................................................................................................................................W.....................................................................................................WWWWW...Starting resharding...W......................................................W.........................................................................................................................................................................................................W....................................................................................................................................................................................W.............................................................................................................................................................................................................................................................W.........................................................................................................................................................................................................................W.............................................................................WWWW...Starting resharding...W......................................................W.............................................................................................................................................................................................W........................................................................................................................................................................................................................................................................................W....................................................................................................................................................................................................W.............................................................................................................................................................................................................................................................W......................................WWWW...Starting resharding...W...............................................................................................................................................W.............................................................................................................................................................................................................W...................................................................................................................................................................................................................................................................................W........................................................................................................................................................................................................................................................................W................................................................................................................................................WWWWWOK -20:35:22> Verify 50000 keys for consistency with logical content: OK -20:36:07> Terminate and restart all the instances: OK -20:36:32> Cluster should eventually be up again: OK -20:36:32> Verify 50000 keys after the restart: OK -20:37:21> Disable AOF in all the instances: OK -20:37:21> Verify slaves consistency: OK -20:37:27> Dump sanitization was skipped for migrations: OK +16:58:08> Cluster consistency during live resharding: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...Starting resharding...W..............................W.......................................................................................................W..................................................................................................................W.........................................................................................................................................................................W............................................................................................................................W...................................................................................................................................................................W............................................................................................................................W..........................................................................................................................................WW...Starting resharding...W...............................................................W...........................................................................................................................................................................................W........................................................................................................................................................................W.................................................................................................................................................W........................................................................................................................................................W........................................................................................................................................................W............................................................................................................WWW...Starting resharding...W................................................W.............................................................................................................................................................................................................W.......................................................................................................................................................................................................................W................................................................................................................................................W.................................................................................................................................................W.............................................................................................................................W....................................................................................................................................WWW...Starting resharding...W................................................W................................................................................................................................................................W.........................................................................................................................................................W.........................................................................................................................................................................................................W.............................................................................................................................W........................................................................................................................................................................................................................W.........................................................................................WWW...Starting resharding...W...............................................................W....................................................................................................................................................W...................................................................................................................................................................................W....................................................................................................................................................................................W..............................................................................................................................................................................................................................................W...................................................................................................................................................W.......................................WWW...Starting resharding...W...........................................................................W................................................................................................................................................W...................................................................................................................................................................................W.............................................................................................................................................................................W.......................................................................................................................................................................................................W..................................................................................................................................................................................W...............................................WWW...Starting resharding...W...................................................................................................................................................W................................................................................................................................................................W.......................................................................................................................................................W..............................................................................................................................................................................................W......................................................................................................................................................................W..............................................................................................................................................................................WWWW...Starting resharding...W...............................................................W........................................................................................................................................................W..........................................................................................................................................................................................W..........................................................................................................................................................................................W.................................................................................................................................................................W.................................................................................................................................................................W........................................................................................................WWW...Starting resharding...W...............................................................W...........................................................................................................................................................W............................................................................................................................................................W.....................................................................................................................................................................W................................................................................................................................................................................W....................................................................................................................................................W............................................................................................................................................W.......WW...Starting resharding...W...............................................................W..........................................................................................................................................................................................W........................................................................................................................................................................................................................W...................................................................................................................................................................W.....................................................................................................................................................................................W................................................................................................................................................................................................................W.....WWWOK +16:59:27> Verify 50000 keys for consistency with logical content: OK +16:59:36> Terminate and restart all the instances: OK +16:59:42> Cluster should eventually be up again: OK +16:59:44> Verify 50000 keys after the restart: OK +16:59:52> Disable AOF in all the instances: OK +16:59:52> Verify slaves consistency: OK +16:59:53> Dump sanitization was skipped for migrations: OK Testing unit: 05-slave-selection.tcl -20:37:27> (init) Restart killed instances: OK -20:37:27> Cluster nodes are reachable: OK -20:37:27> Cluster nodes hard reset: OK -20:37:29> Cluster Join and auto-discovery test: OK -20:37:31> Before slots allocation, all nodes report cluster failure: OK -20:37:31> Create a 5 nodes cluster: OK -20:37:35> Cluster is up: OK -20:37:35> The first master has actually two slaves: OK -20:37:35> CLUSTER SLAVES and CLUSTER REPLICAS output is consistent: OK -20:37:35> Slaves of #0 are instance #5 and #10 as expected: OK -20:37:35> Instance #5 and #10 synced with the master: OK -20:37:35> Slaves are both able to receive and acknowledge writes: OK -20:37:35> Write data while slave #10 is paused and can't receive it: OK -20:37:45> Wait for instance #5 (and not #10) to turn into a master: OK -20:37:53> Wait for the node #10 to return alive before ending the test: OK -20:37:54> Cluster should eventually be up again: OK -20:37:54> Node #10 should eventually replicate node #5: OK -20:37:54> (init) Restart killed instances: redict/0 OK -20:37:54> Cluster nodes are reachable: OK -20:37:54> Cluster nodes hard reset: OK -20:37:56> Cluster Join and auto-discovery test: OK -20:37:59> Before slots allocation, all nodes report cluster failure: OK -20:37:59> Create a 3 nodes cluster: OK -20:38:02> Cluster is up: OK -20:38:02> The first master has actually 5 slaves: OK -20:38:02> Slaves of #0 are instance #3, #6, #9, #12 and #15 as expected: OK -20:38:02> Instance #3, #6, #9, #12 and #15 synced with the master: OK -20:38:02> New Master down consecutively: OK +16:59:53> (init) Restart killed instances: OK +16:59:53> Cluster nodes are reachable: OK +16:59:53> Cluster nodes hard reset: OK +16:59:54> Cluster Join and auto-discovery test: OK +16:59:56> Before slots allocation, all nodes report cluster failure: OK +16:59:56> Create a 5 nodes cluster: OK +17:00:00> Cluster is up: OK +17:00:00> The first master has actually two slaves: OK +17:00:00> CLUSTER SLAVES and CLUSTER REPLICAS output is consistent: OK +17:00:00> Slaves of #0 are instance #5 and #10 as expected: OK +17:00:00> Instance #5 and #10 synced with the master: OK +17:00:00> Slaves are both able to receive and acknowledge writes: OK +17:00:00> Write data while slave #10 is paused and can't receive it: OK +17:00:10> Wait for instance #5 (and not #10) to turn into a master: OK +17:00:15> Wait for the node #10 to return alive before ending the test: OK +17:00:15> Cluster should eventually be up again: OK +17:00:15> Node #10 should eventually replicate node #5: OK +17:00:15> (init) Restart killed instances: redict/0 OK +17:00:15> Cluster nodes are reachable: OK +17:00:15> Cluster nodes hard reset: OK +17:00:17> Cluster Join and auto-discovery test: OK +17:00:20> Before slots allocation, all nodes report cluster failure: OK +17:00:20> Create a 3 nodes cluster: OK +17:00:26> Cluster is up: OK +17:00:26> The first master has actually 5 slaves: OK +17:00:26> Slaves of #0 are instance #3, #6, #9, #12 and #15 as expected: OK +17:00:26> Instance #3, #6, #9, #12 and #15 synced with the master: OK +17:00:26> New Master down consecutively: OK Testing unit: 06-slave-stop-cond.tcl -20:38:37> (init) Restart killed instances: redict/0 redict/6 redict/9 redict/12 redict/15 OK -20:38:40> Cluster nodes are reachable: OK -20:38:40> Cluster nodes hard reset: OK -20:38:42> Cluster Join and auto-discovery test: OK -20:38:43> Before slots allocation, all nodes report cluster failure: OK -20:38:43> Create a 5 nodes cluster: OK -20:38:47> Cluster is up: OK -20:38:47> The first master has actually one slave: OK -20:38:47> Slaves of #0 is instance #5 as expected: OK -20:38:47> Instance #5 synced with the master: OK -20:38:47> Lower the slave validity factor of #5 to the value of 2: OK -20:38:47> Break master-slave link and prevent further reconnections: OK -20:39:07> Slave #5 is reachable and alive: OK -20:39:07> Slave #5 should not be able to failover: OK -20:39:17> Cluster should be down: OK +17:01:02> (init) Restart killed instances: redict/0 redict/3 redict/6 redict/9 redict/12 OK +17:01:03> Cluster nodes are reachable: OK +17:01:03> Cluster nodes hard reset: OK +17:01:06> Cluster Join and auto-discovery test: OK +17:01:09> Before slots allocation, all nodes report cluster failure: OK +17:01:09> Create a 5 nodes cluster: OK +17:01:13> Cluster is up: OK +17:01:13> The first master has actually one slave: OK +17:01:13> Slaves of #0 is instance #5 as expected: OK +17:01:13> Instance #5 synced with the master: OK +17:01:13> Lower the slave validity factor of #5 to the value of 2: OK +17:01:13> Break master-slave link and prevent further reconnections: OK +17:01:33> Slave #5 is reachable and alive: OK +17:01:33> Slave #5 should not be able to failover: OK +17:01:43> Cluster should be down: OK Testing unit: 07-replica-migration.tcl -20:39:17> (init) Restart killed instances: redict/0 OK -20:39:18> Cluster nodes are reachable: OK -20:39:18> Cluster nodes hard reset: OK -20:39:23> Cluster Join and auto-discovery test: OK -20:39:26> Before slots allocation, all nodes report cluster failure: OK -20:39:26> Create a 5 nodes cluster: OK -20:39:32> Cluster is up: OK -20:39:32> Each master should have two replicas attached: OK -20:39:32> Killing all the slaves of master #0 and #1: OK -20:39:37> Master #0 should have at least one replica: OK -20:39:41> Master #1 should have at least one replica: OK -20:39:42> Master #2 should have at least one replica: OK -20:39:42> Master #3 should have at least one replica: OK -20:39:42> Master #4 should have at least one replica: OK -20:39:42> (init) Restart killed instances: redict/5 redict/6 redict/10 redict/11 OK -20:39:46> Cluster nodes are reachable: OK -20:39:46> Cluster nodes hard reset: OK -20:39:51> Cluster Join and auto-discovery test: OK -20:39:53> Before slots allocation, all nodes report cluster failure: OK -20:39:53> Create a 5 nodes cluster: OK -20:39:57> Cluster is up: OK -20:39:57> Kill slave #7 of master #2. Only slave left is #12 now: OK -20:39:58> Killing master node #2, #12 should failover: OK -20:39:58> Wait for failover: OK -20:40:03> Cluster should eventually be up again: OK -20:40:03> Cluster is writable: OK -20:40:04> Instance 12 is now a master without slaves: OK -20:40:04> Master #12 should get at least one migrated replica: OK +17:01:43> (init) Restart killed instances: redict/0 OK +17:01:45> Cluster nodes are reachable: OK +17:01:45> Cluster nodes hard reset: OK +17:01:48> Cluster Join and auto-discovery test: OK +17:01:52> Before slots allocation, all nodes report cluster failure: OK +17:01:52> Create a 5 nodes cluster: OK +17:01:56> Cluster is up: OK +17:01:56> Each master should have two replicas attached: OK +17:01:56> Killing all the slaves of master #0 and #1: OK +17:02:00> Master #0 should have at least one replica: OK +17:02:07> Master #1 should have at least one replica: OK +17:02:07> Master #2 should have at least one replica: OK +17:02:07> Master #3 should have at least one replica: OK +17:02:07> Master #4 should have at least one replica: OK +17:02:07> (init) Restart killed instances: redict/5 redict/6 redict/10 redict/11 OK +17:02:11> Cluster nodes are reachable: OK +17:02:11> Cluster nodes hard reset: OK +17:02:22> Cluster Join and auto-discovery test: OK +17:02:24> Before slots allocation, all nodes report cluster failure: OK +17:02:24> Create a 5 nodes cluster: OK +17:02:28> Cluster is up: OK +17:02:28> Kill slave #7 of master #2. Only slave left is #12 now: OK +17:02:28> Killing master node #2, #12 should failover: OK +17:02:28> Wait for failover: OK +17:02:33> Cluster should eventually be up again: OK +17:02:34> Cluster is writable: OK +17:02:34> Instance 12 is now a master without slaves: OK +17:02:34> Master #12 should get at least one migrated replica: OK Testing unit: 08-update-msg.tcl -20:40:08> (init) Restart killed instances: redict/2 redict/7 OK -20:40:10> Cluster nodes are reachable: OK -20:40:10> Cluster nodes hard reset: OK -20:40:12> Cluster Join and auto-discovery test: OK -20:40:14> Before slots allocation, all nodes report cluster failure: OK -20:40:14> Create a 5 nodes cluster: OK -20:40:18> Cluster is up: OK -20:40:18> Cluster is writable: OK -20:40:18> Instance #5 is a slave: OK -20:40:18> Instance #5 synced with the master: OK -20:40:18> Killing one master node: OK -20:40:19> Wait for failover: OK -20:40:23> Cluster should eventually be up again: OK -20:40:23> Cluster is writable: OK -20:40:24> Instance #5 is now a master: OK -20:40:24> Killing the new master #5: OK -20:40:25> Cluster should be down now: OK -20:40:28> Restarting the old master node: OK -20:40:28> Instance #0 gets converted into a slave: OK -20:40:28> Restarting the new master node: OK -20:40:29> Cluster is up again: OK +17:02:39> (init) Restart killed instances: redict/2 redict/7 OK +17:02:43> Cluster nodes are reachable: OK +17:02:43> Cluster nodes hard reset: OK +17:02:43> Cluster Join and auto-discovery test: OK +17:02:46> Before slots allocation, all nodes report cluster failure: OK +17:02:46> Create a 5 nodes cluster: OK +17:02:51> Cluster is up: OK +17:02:51> Cluster is writable: OK +17:02:52> Instance #5 is a slave: OK +17:02:52> Instance #5 synced with the master: OK +17:02:52> Killing one master node: OK +17:02:53> Wait for failover: OK +17:02:58> Cluster should eventually be up again: OK +17:02:58> Cluster is writable: OK +17:02:58> Instance #5 is now a master: OK +17:02:58> Killing the new master #5: OK +17:02:58> Cluster should be down now: OK +17:03:02> Restarting the old master node: OK +17:03:02> Instance #0 gets converted into a slave: OK +17:03:02> Restarting the new master node: OK +17:03:02> Cluster is up again: OK Testing unit: 09-pubsub.tcl -20:40:34> (init) Restart killed instances: OK -20:40:34> Cluster nodes are reachable: OK -20:40:34> Cluster nodes hard reset: OK -20:40:37> Cluster Join and auto-discovery test: OK -20:40:39> Before slots allocation, all nodes report cluster failure: OK -20:40:39> Create a 5 nodes cluster: OK -20:40:43> Test publishing to master: OK -20:40:43> Test publishing to slave: OK +17:03:09> (init) Restart killed instances: OK +17:03:09> Cluster nodes are reachable: OK +17:03:09> Cluster nodes hard reset: OK +17:03:24> Cluster Join and auto-discovery test: OK +17:03:27> Before slots allocation, all nodes report cluster failure: OK +17:03:27> Create a 5 nodes cluster: OK +17:03:31> Test publishing to master: OK +17:03:31> Test publishing to slave: OK Testing unit: 10-manual-failover.tcl -20:40:43> (init) Restart killed instances: OK -20:40:43> Cluster nodes are reachable: OK -20:40:43> Cluster nodes hard reset: OK -20:40:49> Cluster Join and auto-discovery test: OK -20:40:52> Before slots allocation, all nodes report cluster failure: OK -20:40:52> Create a 5 nodes cluster: OK -20:40:56> Cluster is up: OK -20:40:56> Cluster is writable: OK -20:40:57> Instance #5 is a slave: OK -20:40:57> Instance #5 synced with the master: OK -20:40:58> Send CLUSTER FAILOVER to #5, during load: WWWWWWWWWWOK -20:41:08> Wait for failover: OK -20:41:08> Cluster should eventually be up again: OK -20:41:08> Cluster is writable: OK -20:41:09> Instance #5 is now a master: OK -20:41:09> Verify 50000 keys for consistency with logical content: OK -20:41:19> Instance #0 gets converted into a slave: OK -20:41:19> (init) Restart killed instances: OK -20:41:19> Cluster nodes are reachable: OK -20:41:19> Cluster nodes hard reset: OK -20:41:21> Cluster Join and auto-discovery test: OK -20:41:24> Before slots allocation, all nodes report cluster failure: OK -20:41:24> Create a 5 nodes cluster: OK -20:41:29> Cluster is up: OK -20:41:29> Cluster is writable: OK -20:41:29> Instance #5 is a slave: OK -20:41:29> Instance #5 synced with the master: OK -20:41:29> Make instance #0 unreachable without killing it: OK -20:41:29> Send CLUSTER FAILOVER to instance #5: OK -20:41:29> Instance #5 is still a slave after some time (no failover): OK -20:41:34> Wait for instance #0 to return back alive: OK -20:41:39> (init) Restart killed instances: OK -20:41:39> Cluster nodes are reachable: OK -20:41:39> Cluster nodes hard reset: OK -20:41:42> Cluster Join and auto-discovery test: OK -20:41:44> Before slots allocation, all nodes report cluster failure: OK -20:41:44> Create a 5 nodes cluster: OK -20:41:48> Cluster is up: OK -20:41:48> Cluster is writable: OK -20:41:49> Instance #5 is a slave: OK -20:41:49> Instance #5 synced with the master: OK -20:41:49> Make instance #0 unreachable without killing it: OK -20:41:49> Send CLUSTER FAILOVER to instance #5: OK -20:41:49> Instance #5 is a master after some time: OK -20:41:49> Wait for instance #0 to return back alive: OK +17:03:31> (init) Restart killed instances: OK +17:03:31> Cluster nodes are reachable: OK +17:03:31> Cluster nodes hard reset: OK +17:03:32> Cluster Join and auto-discovery test: OK +17:03:36> Before slots allocation, all nodes report cluster failure: OK +17:03:36> Create a 5 nodes cluster: OK +17:03:40> Cluster is up: OK +17:03:40> Cluster is writable: OK +17:03:40> Instance #5 is a slave: OK +17:03:40> Instance #5 synced with the master: OK +17:03:41> Send CLUSTER FAILOVER to #5, during load: WWWWWWWWWWOK +17:03:44> Wait for failover: OK +17:03:44> Cluster should eventually be up again: OK +17:03:44> Cluster is writable: OK +17:03:44> Instance #5 is now a master: OK +17:03:44> Verify 50000 keys for consistency with logical content: OK +17:03:46> Instance #0 gets converted into a slave: OK +17:03:46> (init) Restart killed instances: OK +17:03:46> Cluster nodes are reachable: OK +17:03:46> Cluster nodes hard reset: OK +17:03:46> Cluster Join and auto-discovery test: OK +17:03:50> Before slots allocation, all nodes report cluster failure: OK +17:03:50> Create a 5 nodes cluster: OK +17:03:55> Cluster is up: OK +17:03:55> Cluster is writable: OK +17:03:55> Instance #5 is a slave: OK +17:03:55> Instance #5 synced with the master: OK +17:03:55> Make instance #0 unreachable without killing it: OK +17:03:55> Send CLUSTER FAILOVER to instance #5: OK +17:03:55> Instance #5 is still a slave after some time (no failover): OK +17:04:00> Wait for instance #0 to return back alive: OK +17:04:05> (init) Restart killed instances: OK +17:04:05> Cluster nodes are reachable: OK +17:04:05> Cluster nodes hard reset: OK +17:04:05> Cluster Join and auto-discovery test: OK +17:04:08> Before slots allocation, all nodes report cluster failure: OK +17:04:08> Create a 5 nodes cluster: OK +17:04:12> Cluster is up: OK +17:04:12> Cluster is writable: OK +17:04:12> Instance #5 is a slave: OK +17:04:12> Instance #5 synced with the master: OK +17:04:12> Make instance #0 unreachable without killing it: OK +17:04:12> Send CLUSTER FAILOVER to instance #5: OK +17:04:12> Instance #5 is a master after some time: OK +17:04:14> Wait for instance #0 to return back alive: OK Testing unit: 11-manual-takeover.tcl -20:41:59> (init) Restart killed instances: OK -20:41:59> Cluster nodes are reachable: OK -20:41:59> Cluster nodes hard reset: OK -20:42:01> Cluster Join and auto-discovery test: OK -20:42:04> Before slots allocation, all nodes report cluster failure: OK -20:42:04> Create a 5 nodes cluster: OK -20:42:08> Cluster is up: OK -20:42:08> Cluster is writable: OK -20:42:08> Killing majority of master nodes: OK -20:42:10> Cluster should eventually be down: OK -20:42:13> Use takeover to bring slaves back: OK -20:42:13> Cluster should eventually be up again: OK -20:42:16> Cluster is writable: OK -20:42:17> Instance #5, #6, #7 are now masters: OK -20:42:17> Restarting the previously killed master nodes: OK -20:42:18> Instance #0, #1, #2 gets converted into a slaves: OK +17:04:22> (init) Restart killed instances: OK +17:04:22> Cluster nodes are reachable: OK +17:04:22> Cluster nodes hard reset: OK +17:04:23> Cluster Join and auto-discovery test: OK +17:04:27> Before slots allocation, all nodes report cluster failure: OK +17:04:27> Create a 5 nodes cluster: OK +17:04:31> Cluster is up: OK +17:04:31> Cluster is writable: OK +17:04:31> Killing majority of master nodes: OK +17:04:33> Cluster should eventually be down: OK +17:04:37> Use takeover to bring slaves back: OK +17:04:37> Cluster should eventually be up again: OK +17:04:40> Cluster is writable: OK +17:04:41> Instance #5, #6, #7 are now masters: OK +17:04:41> Restarting the previously killed master nodes: OK +17:04:41> Instance #0, #1, #2 gets converted into a slaves: OK Testing unit: 12-replica-migration-2.tcl -20:42:18> (init) Restart killed instances: OK -20:42:18> Cluster nodes are reachable: OK -20:42:18> Cluster nodes hard reset: OK -20:42:20> Cluster Join and auto-discovery test: OK -20:42:22> Before slots allocation, all nodes report cluster failure: OK -20:42:22> Create a 5 nodes cluster: OK -20:42:26> Cluster is up: OK -20:42:26> Each master should have at least two replicas attached: OK -20:42:26> Set allow-replica-migration yes: OK -20:42:26> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) +17:04:41> (init) Restart killed instances: OK +17:04:41> Cluster nodes are reachable: OK +17:04:41> Cluster nodes hard reset: OK +17:04:42> Cluster Join and auto-discovery test: OK +17:04:44> Before slots allocation, all nodes report cluster failure: OK +17:04:44> Create a 5 nodes cluster: OK +17:04:47> Cluster is up: OK +17:04:47> Each master should have at least two replicas attached: OK +17:04:47> Set allow-replica-migration yes: OK +17:04:47> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. >>> Rebalancing across 5 nodes. Total weight = 4.00 +Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30002 +#################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30004 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30006 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### -Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30002 -#################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 816 slots from 127.0.0.1:30000 to 127.0.0.1:30008 ################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################ OK -20:44:09> Master #0 who lost all slots should turn into a replica without replicas: OK -20:44:09> Resharding back some slot to master #0: >>> Performing Cluster Check (using node 127.0.0.1:30000) +17:05:16> Master #0 who lost all slots should turn into a replica without replicas: OK +17:05:16> Resharding back some slot to master #0: >>> Performing Cluster Check (using node 127.0.0.1:30000) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. *** No rebalancing needed! All nodes are within the 2.00% threshold. OK -20:44:19> Master #0 should re-acquire one or more replicas: OK +17:05:27> Master #0 should re-acquire one or more replicas: OK Testing unit: 12.1-replica-migration-3.tcl -20:44:19> (init) Restart killed instances: OK -20:44:19> Cluster nodes are reachable: OK -20:44:19> Cluster nodes hard reset: OK -20:44:21> Cluster Join and auto-discovery test: OK -20:44:24> Before slots allocation, all nodes report cluster failure: OK -20:44:24> Create a 5 nodes cluster: OK -20:44:28> Cluster is up: OK -20:44:28> Each master should have at least two replicas attached: OK -20:44:28> Set allow-replica-migration no: OK -20:44:28> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) +17:05:27> (init) Restart killed instances: OK +17:05:27> Cluster nodes are reachable: OK +17:05:27> Cluster nodes hard reset: OK +17:05:27> Cluster Join and auto-discovery test: OK +17:05:28> Before slots allocation, all nodes report cluster failure: OK +17:05:28> Create a 5 nodes cluster: OK +17:05:32> Cluster is up: OK +17:05:32> Each master should have at least two replicas attached: OK +17:05:32> Set allow-replica-migration no: OK +17:05:32> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. >>> Rebalancing across 5 nodes. Total weight = 4.00 -Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30006 +Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30004 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30002 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### -Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30004 +Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30006 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 816 slots from 127.0.0.1:30000 to 127.0.0.1:30008 ################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################ OK -20:45:54> Wait cluster to be stable: OK -20:45:54> Master #0 still should have its replicas: OK -20:45:54> Each master should have at least two replicas attached: OK +17:06:01> Wait cluster to be stable: OK +17:06:01> Master #0 still should have its replicas: OK +17:06:01> Each master should have at least two replicas attached: OK Testing unit: 13-no-failover-option.tcl -20:45:54> (init) Restart killed instances: OK -20:45:54> Cluster nodes are reachable: OK -20:45:54> Cluster nodes hard reset: OK -20:45:56> Cluster Join and auto-discovery test: OK -20:45:59> Before slots allocation, all nodes report cluster failure: OK -20:45:59> Create a 5 nodes cluster: OK -20:46:03> Cluster is up: OK -20:46:03> Cluster is writable: OK -20:46:04> Instance #5 is a slave: OK -20:46:04> Instance #5 synced with the master: OK -20:46:04> The nofailover flag is propagated: OK -20:46:06> Killing one master node: OK -20:46:07> Cluster should be still down after some time: OK -20:46:17> Instance #5 is still a slave: OK -20:46:17> Restarting the previously killed master node: OK +17:06:01> (init) Restart killed instances: OK +17:06:01> Cluster nodes are reachable: OK +17:06:01> Cluster nodes hard reset: OK +17:06:02> Cluster Join and auto-discovery test: OK +17:06:04> Before slots allocation, all nodes report cluster failure: OK +17:06:04> Create a 5 nodes cluster: OK +17:06:07> Cluster is up: OK +17:06:07> Cluster is writable: OK +17:06:08> Instance #5 is a slave: OK +17:06:08> Instance #5 synced with the master: OK +17:06:08> The nofailover flag is propagated: OK +17:06:09> Killing one master node: OK +17:06:09> Cluster should be still down after some time: OK +17:06:19> Instance #5 is still a slave: OK +17:06:19> Restarting the previously killed master node: OK Testing unit: 14-consistency-check.tcl -20:46:19> (init) Restart killed instances: OK -20:46:19> Cluster nodes are reachable: OK -20:46:19> Cluster nodes hard reset: OK -20:46:25> Cluster Join and auto-discovery test: OK -20:46:29> Before slots allocation, all nodes report cluster failure: OK -20:46:29> Create a 5 nodes cluster: OK -20:46:32> Cluster should start ok: OK -20:46:32> Cluster is writable: OK -20:46:33> Slave expired keys is loaded when restarted: appendonly=no: OK -20:46:37> Slave expired keys is loaded when restarted: appendonly=yes: OK +17:06:19> (init) Restart killed instances: OK +17:06:19> Cluster nodes are reachable: OK +17:06:19> Cluster nodes hard reset: OK +17:06:20> Cluster Join and auto-discovery test: OK +17:06:22> Before slots allocation, all nodes report cluster failure: OK +17:06:22> Create a 5 nodes cluster: OK +17:06:26> Cluster should start ok: OK +17:06:26> Cluster is writable: OK +17:06:26> Slave expired keys is loaded when restarted: appendonly=no: OK +17:06:29> Slave expired keys is loaded when restarted: appendonly=yes: OK Testing unit: 15-cluster-slots.tcl -20:46:42> (init) Restart killed instances: OK -20:46:42> Cluster nodes are reachable: OK -20:46:42> Cluster nodes hard reset: OK -20:46:45> Cluster Join and auto-discovery test: OK -20:46:48> Before slots allocation, all nodes report cluster failure: OK -20:46:48> Create a 5 nodes cluster: OK -20:46:56> Cluster is up: OK -20:46:56> Cluster is writable: OK -20:46:56> Instance #5 is a slave: OK -20:46:56> client do not break when cluster slot: OK -20:47:04> client can handle keys with hash tag: OK -20:47:04> slot migration is valid from primary to another primary: OK -20:47:05> slot migration is invalid from primary to replica: {4bdac7691f1f6dc4808ad062825ddc6a127ee412 127.0.0.1:30018@40018 slave a137f47b497f62fb03edb52c584c71f88c182bd4 0 1791362824778 5 connected} {e59f354f76dcf40ce0475e55ed4ab8ba857fb864 127.0.0.1:30028@40028 slave a137f47b497f62fb03edb52c584c71f88c182bd4 0 1791362825000 5 connected} {b4b0974df1ff49455eee67ff1a1a999a4ce61f5f 127.0.0.1:30038@40038 slave a137f47b497f62fb03edb52c584c71f88c182bd4 0 1791362825000 5 connected} -4bdac7691f1f6dc4808ad062825ddc6a127ee412 +17:06:35> (init) Restart killed instances: OK +17:06:35> Cluster nodes are reachable: OK +17:06:35> Cluster nodes hard reset: OK +17:06:42> Cluster Join and auto-discovery test: OK +17:06:44> Before slots allocation, all nodes report cluster failure: OK +17:06:44> Create a 5 nodes cluster: OK +17:06:47> Cluster is up: OK +17:06:47> Cluster is writable: OK +17:06:47> Instance #5 is a slave: OK +17:06:47> client do not break when cluster slot: OK +17:06:53> client can handle keys with hash tag: OK +17:06:53> slot migration is valid from primary to another primary: OK +17:06:53> slot migration is invalid from primary to replica: {200795d05e9b2dddbde2f74430b4abdabdccb796 127.0.0.1:30028@40028 slave 9f3fc00e24f3bf6759d488a6b13177294c89afae 0 1756955212575 5 connected} {8f424739075b4f79f56bbc1e600be1a1b79c3c72 127.0.0.1:30018@40018 slave 9f3fc00e24f3bf6759d488a6b13177294c89afae 0 1756955213080 5 connected} {5b2d17c0f09af7da36292e749e9601fdfc4f6d83 127.0.0.1:30038@40038 slave 9f3fc00e24f3bf6759d488a6b13177294c89afae 0 1756955213585 5 connected} +200795d05e9b2dddbde2f74430b4abdabdccb796 OK -20:47:05> slot must be unbound on the owner when it is deleted: OK -20:47:53> CLUSTER SLOTS from non-TLS client in TLS cluster: OK +17:06:53> slot must be unbound on the owner when it is deleted: OK +17:07:15> CLUSTER SLOTS from non-TLS client in TLS cluster: OK Testing unit: 16-transactions-on-replica.tcl -20:48:23> (init) Restart killed instances: OK -20:48:23> Cluster nodes are reachable: OK -20:48:23> Cluster nodes hard reset: OK -20:48:27> Cluster Join and auto-discovery test: OK -20:48:31> Before slots allocation, all nodes report cluster failure: OK -20:48:31> Create a primary with a replica: OK -20:48:36> Cluster should start ok: OK -20:48:36> Can't read from replica without READONLY: OK -20:48:36> Can't read from replica after READWRITE: OK -20:48:36> Can read from replica after READONLY: OK -20:48:36> Can perform HSET primary and HGET from replica: OK -20:48:36> Can MULTI-EXEC transaction of HGET operations from replica: OK -20:48:36> MULTI-EXEC with write operations is MOVED: OK -20:48:36> read-only blocking operations from replica: OK -20:48:36> reply MOVED when eval from replica for update: OK +17:07:24> (init) Restart killed instances: OK +17:07:24> Cluster nodes are reachable: OK +17:07:24> Cluster nodes hard reset: OK +17:07:35> Cluster Join and auto-discovery test: OK +17:20:33> Before slots allocation, all nodes report cluster failure: OK +17:20:33> Create a primary with a replica: FAILED: Cluster node 5 cluster_state:fail +(Jumping to next unit after error) +FAILED: caught an error in the test +assertion:Cluster node 5 cluster_state:fail + while executing +"foreach_redict_id id { + if {[instance_is_killed redict $id]} continue + wait_for_condition 1000 50 { + [CI $id cluster_state] e..." + (procedure "assert_cluster_state" line 2) + invoked from within +"assert_cluster_state ok" + (procedure "create_cluster" line 6) + invoked from within +"create_cluster 1 1" + ("uplevel" body line 2) + invoked from within +"uplevel 1 $code" Testing unit: 17-diskless-load-swapdb.tcl -20:48:36> (init) Restart killed instances: OK -20:48:36> Cluster nodes are reachable: OK -20:48:36> Cluster nodes hard reset: OK -20:48:39> Cluster Join and auto-discovery test: OK -20:48:41> Before slots allocation, all nodes report cluster failure: OK -20:48:41> Create a primary with a replica: OK -20:48:47> Cluster should start ok: OK -20:48:47> Cluster is writable: OK -20:48:48> Main db not affected when fail to diskless load: OK +17:21:30> (init) Restart killed instances: OK +17:21:30> Cluster nodes are reachable: OK +17:21:30> Cluster nodes hard reset: OK +17:21:31> Cluster Join and auto-discovery test: OK +17:21:33> Before slots allocation, all nodes report cluster failure: OK +17:21:33> Create a primary with a replica: OK +17:21:38> Cluster should start ok: OK +17:21:38> Cluster is writable: OK +17:21:38> Main db not affected when fail to diskless load: Waiting for process 3209420 to exit... +OK Testing unit: 18-info.tcl -20:49:22> (init) Restart killed instances: redict/0 OK -20:49:22> Cluster nodes are reachable: OK -20:49:22> Cluster nodes hard reset: OK -20:49:25> Cluster Join and auto-discovery test: OK -20:49:27> Before slots allocation, all nodes report cluster failure: OK -20:49:27> Create a primary with a replica: OK -20:49:31> Cluster should start ok: OK -20:49:31> errorstats: rejected call due to MOVED Redirection: OK +17:22:10> (init) Restart killed instances: redict/0 OK +17:22:10> Cluster nodes are reachable: OK +17:22:11> Cluster nodes hard reset: OK +17:22:11> Cluster Join and auto-discovery test: OK +17:22:14> Before slots allocation, all nodes report cluster failure: OK +17:22:14> Create a primary with a replica: OK +17:22:19> Cluster should start ok: OK +17:22:19> errorstats: rejected call due to MOVED Redirection: OK Testing unit: 19-cluster-nodes-slots.tcl -20:49:31> (init) Restart killed instances: OK -20:49:31> Cluster nodes are reachable: OK -20:49:31> Cluster nodes hard reset: OK -20:49:34> Cluster Join and auto-discovery test: OK -20:49:37> Before slots allocation, all nodes report cluster failure: OK -20:49:37> Create a 2 nodes cluster: OK -20:49:40> Cluster should start ok: OK -20:49:40> Continuous slots distribution: OK -20:49:40> Discontinuous slots distribution: OK +17:22:19> (init) Restart killed instances: OK +17:22:19> Cluster nodes are reachable: OK +17:22:19> Cluster nodes hard reset: OK +17:22:23> Cluster Join and auto-discovery test: OK +17:22:27> Before slots allocation, all nodes report cluster failure: OK +17:22:27> Create a 2 nodes cluster: OK +17:22:31> Cluster should start ok: OK +17:22:31> Continuous slots distribution: OK +17:22:31> Discontinuous slots distribution: OK Testing unit: 20-half-migrated-slot.tcl Testing unit: 21-many-slot-migration.tcl Testing unit: 22-replica-in-sync.tcl -20:49:40> (init) Restart killed instances: OK -20:49:40> Cluster nodes are reachable: OK -20:49:40> Cluster nodes hard reset: OK -20:49:43> Cluster Join and auto-discovery test: OK -20:49:46> Before slots allocation, all nodes report cluster failure: OK -20:49:46> Create a 1 node cluster: OK -20:49:51> Cluster is up: OK -20:49:51> Cluster is writable: OK -20:49:51> Fill up primary with data: OK -20:49:51> Add new node as replica: OK -20:49:51> Check digest and replica state: OK -20:49:52> Replica in loading state is hidden: OK -20:49:58> Check disconnected replica not hidden from slots: OK +17:22:31> (init) Restart killed instances: OK +17:22:31> Cluster nodes are reachable: OK +17:22:31> Cluster nodes hard reset: OK +17:22:32> Cluster Join and auto-discovery test: OK +17:22:34> Before slots allocation, all nodes report cluster failure: OK +17:22:34> Create a 1 node cluster: OK +17:22:38> Cluster is up: OK +17:22:38> Cluster is writable: OK +17:22:38> Fill up primary with data: OK +17:22:38> Add new node as replica: OK +17:22:38> Check digest and replica state: OK +17:22:39> Replica in loading state is hidden: OK +17:22:44> Check disconnected replica not hidden from slots: OK Testing unit: 25-pubsubshard-slot-migration.tcl -20:49:59> (init) Restart killed instances: OK -20:49:59> Cluster nodes are reachable: OK -20:49:59> Cluster nodes hard reset: OK -20:50:01> Cluster Join and auto-discovery test: OK -20:50:04> Before slots allocation, all nodes report cluster failure: OK -20:50:04> Create a 3 nodes cluster: OK -20:50:08> Cluster is up: OK -20:50:08> Migrate a slot, verify client receives sunsubscribe on primary serving the slot.: OK -20:50:08> Client subscribes to multiple channels, migrate a slot, verify client receives sunsubscribe on primary serving the slot.: OK -20:50:08> Migrate a slot, verify client receives sunsubscribe on replica serving the slot.: OK -20:50:09> Move a replica to another primary, verify client receives sunsubscribe on replica serving the slot.: OK -20:50:09> Delete a slot, verify sunsubscribe message: OK -20:50:09> Reset cluster, verify sunsubscribe message: OK +17:22:44> (init) Restart killed instances: OK +17:22:44> Cluster nodes are reachable: OK +17:22:44> Cluster nodes hard reset: OK +17:22:45> Cluster Join and auto-discovery test: OK +17:22:47> Before slots allocation, all nodes report cluster failure: OK +17:22:47> Create a 3 nodes cluster: OK +17:22:51> Cluster is up: OK +17:22:51> Migrate a slot, verify client receives sunsubscribe on primary serving the slot.: OK +17:22:52> Client subscribes to multiple channels, migrate a slot, verify client receives sunsubscribe on primary serving the slot.: OK +17:22:54> Migrate a slot, verify client receives sunsubscribe on replica serving the slot.: OK +17:22:56> Move a replica to another primary, verify client receives sunsubscribe on replica serving the slot.: OK +17:22:56> Delete a slot, verify sunsubscribe message: OK +17:22:56> Reset cluster, verify sunsubscribe message: OK Testing unit: 26-pubsubshard.tcl -20:50:09> (init) Restart killed instances: OK -20:50:09> Cluster nodes are reachable: OK -20:50:10> Cluster nodes hard reset: OK -20:50:12> Cluster Join and auto-discovery test: OK -20:50:15> Before slots allocation, all nodes report cluster failure: OK -20:50:15> Create a 3 nodes cluster: OK -20:50:20> Pub/Sub shard basics: OK -20:50:20> client can't subscribe to multiple shard channels across different slots in same call: OK -20:50:20> client can subscribe to multiple shard channels across different slots in separate call: OK -20:50:20> sunsubscribe without specifying any channel would unsubscribe all shard channels subscribed: OK -20:50:20> Verify Pub/Sub and Pub/Sub shard no overlap: OK -20:50:20> PUBSUB channels/shardchannels: OK +17:22:56> (init) Restart killed instances: OK +17:22:56> Cluster nodes are reachable: OK +17:22:56> Cluster nodes hard reset: OK +17:22:56> Cluster Join and auto-discovery test: OK +17:22:58> Before slots allocation, all nodes report cluster failure: OK +17:22:58> Create a 3 nodes cluster: OK +17:23:02> Pub/Sub shard basics: OK +17:23:02> client can't subscribe to multiple shard channels across different slots in same call: OK +17:23:02> client can subscribe to multiple shard channels across different slots in separate call: OK +17:23:02> sunsubscribe without specifying any channel would unsubscribe all shard channels subscribed: OK +17:23:02> Verify Pub/Sub and Pub/Sub shard no overlap: OK +17:23:02> PUBSUB channels/shardchannels: OK Testing unit: 28-cluster-shards.tcl -20:50:20> (init) Restart killed instances: OK -20:50:20> Cluster nodes are reachable: OK -20:50:20> Cluster nodes hard reset: OK -20:50:23> Cluster Join and auto-discovery test: OK -20:50:26> Before slots allocation, all nodes report cluster failure: OK -20:50:26> Create a 8 nodes cluster with 4 shards: OK -20:50:26> Cluster should start ok: OK -20:50:29> Set cluster hostnames and verify they are propagated: OK -20:50:30> Verify information about the shards: OK -20:50:34> Verify no slot shard: OK -20:50:34> Kill a node and tell the replica to immediately takeover: OK -20:50:35> Verify health as fail for killed node: OK -20:50:38> Restarting primary node: OK -20:50:39> Instance #0 gets converted into a replica: OK -20:50:39> Test the replica reports a loading state while it's loading: OK -20:50:42> Regression test for a crash when calling SHARDS during handshake: OK -20:50:43> Cluster is up: OK -20:50:47> Shard ids are unique: OK -20:50:47> CLUSTER MYSHARDID reports same id for both primary and replica: OK -20:50:47> New replica receives primary's shard id: OK -20:50:47> CLUSTER MYSHARDID reports same shard id after shard restart: OK -20:50:50> CLUSTER MYSHARDID reports same shard id after cluster restart: OK +17:23:02> (init) Restart killed instances: OK +17:23:02> Cluster nodes are reachable: OK +17:23:02> Cluster nodes hard reset: OK +17:23:03> Cluster Join and auto-discovery test: OK +17:23:07> Before slots allocation, all nodes report cluster failure: OK +17:23:07> Create a 8 nodes cluster with 4 shards: OK +17:23:07> Cluster should start ok: OK +17:23:10> Set cluster hostnames and verify they are propagated: OK +17:23:13> Verify information about the shards: OK +17:23:14> Verify no slot shard: OK +17:23:14> Kill a node and tell the replica to immediately takeover: OK +17:23:14> Verify health as fail for killed node: OK +17:23:18> Restarting primary node: OK +17:23:18> Instance #0 gets converted into a replica: OK +17:23:18> Test the replica reports a loading state while it's loading: OK +17:23:21> Regression test for a crash when calling SHARDS during handshake: OK +17:23:22> Cluster is up: OK +17:23:25> Shard ids are unique: OK +17:23:25> CLUSTER MYSHARDID reports same id for both primary and replica: OK +17:23:25> New replica receives primary's shard id: OK +17:23:25> CLUSTER MYSHARDID reports same shard id after shard restart: OK +17:23:28> CLUSTER MYSHARDID reports same shard id after cluster restart: OK Testing unit: 29-slot-migration-response.tcl -20:51:05> (init) Restart killed instances: OK -20:51:05> Cluster nodes are reachable: OK -20:51:05> Cluster nodes hard reset: OK -20:51:07> Cluster Join and auto-discovery test: OK -20:51:09> Before slots allocation, all nodes report cluster failure: OK -20:51:09> Create a 2 nodes cluster: OK -20:51:14> Cluster is up: OK -20:51:15> Set many keys in the cluster: OK -20:51:24> Test cluster responses during migration of slot x: OK +17:23:31> (init) Restart killed instances: OK +17:23:31> Cluster nodes are reachable: OK +17:23:31> Cluster nodes hard reset: OK +17:23:32> Cluster Join and auto-discovery test: OK +17:23:34> Before slots allocation, all nodes report cluster failure: OK +17:23:34> Create a 2 nodes cluster: OK +17:23:38> Cluster is up: OK +17:23:38> Set many keys in the cluster: OK +17:23:40> Test cluster responses during migration of slot x: OK Cleaning up... -killing stale instance 1750823 -killing stale instance 1751020 -killing stale instance 1752820 -killing stale instance 1756093 -killing stale instance 1757371 -killing stale instance 1757975 -killing stale instance 1758263 -killing stale instance 1778716 -killing stale instance 1778843 -killing stale instance 1779025 -killing stale instance 1784993 -killing stale instance 1785024 -killing stale instance 1834627 -killing stale instance 1834645 -killing stale instance 1834671 -killing stale instance 1834706 -killing stale instance 1834733 -killing stale instance 1834777 -killing stale instance 1834789 -killing stale instance 1834840 -GOOD! No errors. +killing stale instance 3142704 +killing stale instance 3142765 +killing stale instance 3142777 +killing stale instance 3142786 +killing stale instance 3142796 +killing stale instance 3142807 +killing stale instance 3142820 +killing stale instance 3142830 +killing stale instance 3146607 +killing stale instance 3146658 +killing stale instance 3157542 +killing stale instance 3157619 +killing stale instance 3435080 +killing stale instance 3435088 +killing stale instance 3435097 +killing stale instance 3435107 +killing stale instance 3435118 +killing stale instance 3435130 +killing stale instance 3435146 +killing stale instance 3435177 +WARNING 2 test(s) failed. ./runtest-sentinel || true Starting sentinel #0 at port 20000 Starting sentinel #1 at port 20001 @@ -6009,262 +1577,240 @@ Starting redict #3 at port 30003 Starting redict #4 at port 30004 Testing unit: 00-base.tcl -20:51:32> (start-init) Flush config and compare rewrite config file lines: OK -20:51:32> (init) Restart killed instances: OK -20:51:32> (init) Remove old master entry from sentinels: OK -20:51:32> (init) Create a master-slaves cluster of 5 instances: OK -20:51:32> (init) Sentinels can start monitoring a master: OK -20:51:33> (init) Sentinels can talk with the master: OK -20:51:33> (init) Sentinels are able to auto-discover other sentinels: OK -20:51:35> (init) Sentinels are able to auto-discover slaves: OK -20:51:35> Sentinel command flag infrastructure works correctly: OK -20:51:35> SENTINEL HELP output the sentinel subcommand help: OK -20:51:35> SENTINEL MYID return the sentinel instance ID: OK -20:51:35> SENTINEL INFO CACHE returns the cached info: OK -20:51:35> SENTINEL PENDING-SCRIPTS returns the information about pending scripts: OK -20:51:35> SENTINEL MASTERS returns a list of monitored masters: OK -20:51:35> SENTINEL SENTINELS returns a list of sentinel instances: OK -20:51:35> SENTINEL SLAVES returns a list of the monitored replicas: OK -20:51:35> SENTINEL SIMULATE-FAILURE HELP list supported flags: OK -20:51:35> Basic failover works if the master is down: OK -20:51:39> New master 127.0.0.1:30001 role matches: OK -20:51:39> All the other slaves now point to the new master: OK -20:51:39> The old master eventually gets reconfigured as a slave: OK -20:51:49> ODOWN is not possible without N (quorum) Sentinels reports: OK -20:51:51> Failover is not possible without majority agreement: OK -20:51:54> Failover works if we configure for absolute agreement: OK -20:52:18> New master 127.0.0.1:30002 role matches: OK -20:52:18> SENTINEL RESET can resets the master: OK +17:23:50> (start-init) Flush config and compare rewrite config file lines: OK +17:23:53> (init) Restart killed instances: OK +17:23:53> (init) Remove old master entry from sentinels: OK +17:23:53> (init) Create a master-slaves cluster of 5 instances: OK +17:23:53> (init) Sentinels can start monitoring a master: OK +17:23:55> (init) Sentinels can talk with the master: OK +17:23:55> (init) Sentinels are able to auto-discover other sentinels: OK +17:23:57> (init) Sentinels are able to auto-discover slaves: OK +17:23:57> Sentinel command flag infrastructure works correctly: OK +17:23:57> SENTINEL HELP output the sentinel subcommand help: OK +17:23:57> SENTINEL MYID return the sentinel instance ID: OK +17:23:57> SENTINEL INFO CACHE returns the cached info: OK +17:23:57> SENTINEL PENDING-SCRIPTS returns the information about pending scripts: OK +17:23:57> SENTINEL MASTERS returns a list of monitored masters: OK +17:23:57> SENTINEL SENTINELS returns a list of sentinel instances: OK +17:23:57> SENTINEL SLAVES returns a list of the monitored replicas: OK +17:23:57> SENTINEL SIMULATE-FAILURE HELP list supported flags: OK +17:23:57> Basic failover works if the master is down: OK +17:24:25> New master 127.0.0.1:30001 role matches: OK +17:24:25> All the other slaves now point to the new master: OK +17:24:25> The old master eventually gets reconfigured as a slave: OK +17:24:36> ODOWN is not possible without N (quorum) Sentinels reports: OK +17:24:37> Failover is not possible without majority agreement: OK +17:24:39> Failover works if we configure for absolute agreement: OK +17:25:05> New master 127.0.0.1:30003 role matches: OK +17:25:05> SENTINEL RESET can resets the master: OK Testing unit: 01-conf-update.tcl -20:52:18> (init) Restart killed instances: OK -20:52:18> (init) Remove old master entry from sentinels: OK -20:52:19> (init) Create a master-slaves cluster of 5 instances: OK -20:52:19> (init) Sentinels can start monitoring a master: OK -20:52:19> (init) Sentinels can talk with the master: OK -20:52:19> (init) Sentinels are able to auto-discover other sentinels: OK -20:52:21> (init) Sentinels are able to auto-discover slaves: OK -20:52:21> We can failover with Sentinel 1 crashed: OK -20:52:25> After Sentinel 1 is restarted, its config gets updated: OK -20:52:25> New master 127.0.0.1:30001 role matches: OK -20:52:25> Update log level: OK +17:25:05> (init) Restart killed instances: OK +17:25:05> (init) Remove old master entry from sentinels: OK +17:25:05> (init) Create a master-slaves cluster of 5 instances: OK +17:25:05> (init) Sentinels can start monitoring a master: OK +17:25:05> (init) Sentinels can talk with the master: OK +17:25:05> (init) Sentinels are able to auto-discover other sentinels: OK +17:25:09> (init) Sentinels are able to auto-discover slaves: OK +17:25:09> We can failover with Sentinel 1 crashed: OK +17:25:14> After Sentinel 1 is restarted, its config gets updated: OK +17:25:14> New master 127.0.0.1:30001 role matches: OK +17:25:14> Update log level: OK Testing unit: 02-slaves-reconf.tcl -20:52:26> (init) Restart killed instances: OK -20:52:26> (init) Remove old master entry from sentinels: OK -20:52:26> (init) Create a master-slaves cluster of 5 instances: OK -20:52:26> (init) Sentinels can start monitoring a master: OK -20:52:26> (init) Sentinels can talk with the master: OK -20:52:26> (init) Sentinels are able to auto-discover other sentinels: OK -20:52:28> (init) Sentinels are able to auto-discover slaves: OK -20:52:28> Check that slaves replicate from current master: OK -20:52:28> Crash the master and force a failover: OK -20:52:32> Check that slaves replicate from current master: OK -20:52:43> Kill a slave instance: OK -20:52:43> Crash the master and force a failover: OK -20:52:47> Check that slaves replicate from current master: OK -20:52:48> Wait for failover to end: OK -20:52:48> Restart killed slave and test replication of slaves again...: OK -20:52:48> Check that slaves replicate from current master: OK +17:25:14> (init) Restart killed instances: OK +17:25:14> (init) Remove old master entry from sentinels: OK +17:25:14> (init) Create a master-slaves cluster of 5 instances: OK +17:25:14> (init) Sentinels can start monitoring a master: OK +17:25:14> (init) Sentinels can talk with the master: OK +17:25:14> (init) Sentinels are able to auto-discover other sentinels: OK +17:25:16> (init) Sentinels are able to auto-discover slaves: OK +17:25:16> Check that slaves replicate from current master: OK +17:25:16> Crash the master and force a failover: OK +17:25:21> Check that slaves replicate from current master: OK +17:25:32> Kill a slave instance: OK +17:25:32> Crash the master and force a failover: OK +17:25:36> Check that slaves replicate from current master: OK +17:25:37> Wait for failover to end: OK +17:25:37> Restart killed slave and test replication of slaves again...: OK +17:25:38> Check that slaves replicate from current master: OK Testing unit: 03-runtime-reconf.tcl -20:52:58> (init) Restart killed instances: OK -20:52:58> (init) Remove old master entry from sentinels: OK -20:52:58> (init) Create a master-slaves cluster of 5 instances: OK -20:52:58> (init) Sentinels can start monitoring a master: OK -20:52:59> (init) Sentinels can talk with the master: OK -20:52:59> (init) Sentinels are able to auto-discover other sentinels: OK -20:52:59> (init) Sentinels are able to auto-discover slaves: OK -20:52:59> Sentinels (re)connection following SENTINEL SET mymaster auth-pass: OK -20:53:00> Sentinels (re)connection following master ACL change: OK -20:53:04> Set parameters in normal case: OK -20:53:04> Set parameters in normal case with bad format: OK -20:53:04> Sentinel Set with other error situations: OK +17:25:48> (init) Restart killed instances: OK +17:25:48> (init) Remove old master entry from sentinels: OK +17:25:48> (init) Create a master-slaves cluster of 5 instances: OK +17:25:48> (init) Sentinels can start monitoring a master: OK +17:25:50> (init) Sentinels can talk with the master: OK +17:25:50> (init) Sentinels are able to auto-discover other sentinels: OK +17:25:50> (init) Sentinels are able to auto-discover slaves: OK +17:25:50> Sentinels (re)connection following SENTINEL SET mymaster auth-pass: OK +17:25:51> Sentinels (re)connection following master ACL change: OK +17:25:55> Set parameters in normal case: OK +17:25:55> Set parameters in normal case with bad format: OK +17:25:55> Sentinel Set with other error situations: OK Testing unit: 04-slave-selection.tcl Testing unit: 05-manual.tcl -20:53:04> (init) Restart killed instances: OK -20:53:04> (init) Remove old master entry from sentinels: OK -20:53:04> (init) Create a master-slaves cluster of 5 instances: OK -20:53:04> (init) Sentinels can start monitoring a master: OK -20:53:04> (init) Sentinels can talk with the master: OK -20:53:04> (init) Sentinels are able to auto-discover other sentinels: OK -20:53:06> (init) Sentinels are able to auto-discover slaves: OK -20:53:06> Manual failover works: OK -20:53:07> New master 127.0.0.1:30002 role matches: OK -20:53:07> All the other slaves now point to the new master: OK -20:53:07> The old master eventually gets reconfigured as a slave: OK -20:53:11> (init) Restart killed instances: OK -20:53:11> (init) Remove old master entry from sentinels: OK -20:53:11> (init) Create a master-slaves cluster of 5 instances: OK -20:53:11> (init) Sentinels can start monitoring a master: OK -20:53:12> (init) Sentinels can talk with the master: OK -20:53:12> (init) Sentinels are able to auto-discover other sentinels: OK -20:53:13> (init) Sentinels are able to auto-discover slaves: OK -20:53:13> SENTINEL SIMULATE-FAILURE crash-after-election works: OK -20:53:13> (init) Restart killed instances: OK -20:53:13> (init) Remove old master entry from sentinels: OK -20:53:13> (init) Create a master-slaves cluster of 5 instances: OK -20:53:13> (init) Sentinels can start monitoring a master: OK -20:53:13> (init) Sentinels can talk with the master: OK -20:53:13> (init) Sentinels are able to auto-discover other sentinels: OK -20:53:16> (init) Sentinels are able to auto-discover slaves: OK -20:53:16> SENTINEL SIMULATE-FAILURE crash-after-promotion works: OK +17:25:55> (init) Restart killed instances: OK +17:25:55> (init) Remove old master entry from sentinels: OK +17:25:55> (init) Create a master-slaves cluster of 5 instances: OK +17:25:55> (init) Sentinels can start monitoring a master: OK +17:25:57> (init) Sentinels can talk with the master: OK +17:25:57> (init) Sentinels are able to auto-discover other sentinels: OK +17:25:57> (init) Sentinels are able to auto-discover slaves: OK +17:25:57> Manual failover works: OK +17:25:58> New master 127.0.0.1:30003 role matches: OK +17:25:58> All the other slaves now point to the new master: OK +17:25:58> The old master eventually gets reconfigured as a slave: OK +17:26:03> (init) Restart killed instances: OK +17:26:03> (init) Remove old master entry from sentinels: OK +17:26:08> (init) Create a master-slaves cluster of 5 instances: OK +17:26:08> (init) Sentinels can start monitoring a master: OK +17:26:15> (init) Sentinels can talk with the master: OK +17:26:15> (init) Sentinels are able to auto-discover other sentinels: OK +17:26:15> (init) Sentinels are able to auto-discover slaves: OK +17:26:15> SENTINEL SIMULATE-FAILURE crash-after-election works: OK +17:26:17> (init) Restart killed instances: OK +17:26:17> (init) Remove old master entry from sentinels: OK +17:26:19> (init) Create a master-slaves cluster of 5 instances: OK +17:26:19> (init) Sentinels can start monitoring a master: OK +17:26:20> (init) Sentinels can talk with the master: OK +17:26:20> (init) Sentinels are able to auto-discover other sentinels: OK +17:26:23> (init) Sentinels are able to auto-discover slaves: OK +17:26:23> SENTINEL SIMULATE-FAILURE crash-after-promotion works: OK Testing unit: 06-ckquorum.tcl -20:53:18> (init) Restart killed instances: OK -20:53:18> (init) Remove old master entry from sentinels: OK -20:53:20> (init) Create a master-slaves cluster of 5 instances: OK -20:53:20> (init) Sentinels can start monitoring a master: OK -20:53:32> (init) Sentinels can talk with the master: OK -20:53:32> (init) Sentinels are able to auto-discover other sentinels: OK -20:53:32> (init) Sentinels are able to auto-discover slaves: OK -20:53:32> CKQUORUM reports OK and the right amount of Sentinels: OK -20:53:32> CKQUORUM detects quorum cannot be reached: OK -20:53:32> CKQUORUM detects failover authorization cannot be reached: OK +17:26:25> (init) Restart killed instances: OK +17:26:25> (init) Remove old master entry from sentinels: OK +17:26:29> (init) Create a master-slaves cluster of 5 instances: OK +17:26:29> (init) Sentinels can start monitoring a master: OK +17:26:36> (init) Sentinels can talk with the master: OK +17:26:36> (init) Sentinels are able to auto-discover other sentinels: OK +17:26:36> (init) Sentinels are able to auto-discover slaves: OK +17:26:36> CKQUORUM reports OK and the right amount of Sentinels: OK +17:26:36> CKQUORUM detects quorum cannot be reached: OK +17:26:37> CKQUORUM detects failover authorization cannot be reached: OK Testing unit: 07-down-conditions.tcl -20:53:35> (init) Restart killed instances: OK -20:53:35> (init) Remove old master entry from sentinels: OK -20:53:35> (init) Create a master-slaves cluster of 5 instances: OK -20:53:35> (init) Sentinels can start monitoring a master: OK -20:53:39> (init) Sentinels can talk with the master: OK -20:53:39> (init) Sentinels are able to auto-discover other sentinels: OK -20:53:39> (init) Sentinels are able to auto-discover slaves: OK -20:53:40> Crash the majority of Sentinels to prevent failovers for this unit: OK -20:53:40> SDOWN is triggered by non-responding but not crashed instance: OK -20:53:43> SDOWN is triggered by crashed instance: OK -20:53:45> SDOWN is triggered by masters advertising as slaves: OK -20:53:50> SDOWN is triggered by misconfigured instance replying with errors: OK -20:54:00> SDOWN is triggered if we rename PING to PONG: OK +17:26:40> (init) Restart killed instances: OK +17:26:40> (init) Remove old master entry from sentinels: OK +17:26:40> (init) Create a master-slaves cluster of 5 instances: OK +17:26:40> (init) Sentinels can start monitoring a master: OK +17:26:41> (init) Sentinels can talk with the master: OK +17:26:41> (init) Sentinels are able to auto-discover other sentinels: OK +17:26:43> (init) Sentinels are able to auto-discover slaves: OK +17:26:43> Crash the majority of Sentinels to prevent failovers for this unit: OK +17:26:43> SDOWN is triggered by non-responding but not crashed instance: OK +17:26:46> SDOWN is triggered by crashed instance: OK +17:26:49> SDOWN is triggered by masters advertising as slaves: OK +17:26:53> SDOWN is triggered by misconfigured instance replying with errors: OK +17:27:03> SDOWN is triggered if we rename PING to PONG: OK Testing unit: 08-hostname-conf.tcl -20:54:02> (pre-init) Configure instances and sentinel for hostname use: sentinel/0 sentinel/1 sentinel/2 OK -20:54:03> (init) Restart killed instances: OK -20:54:03> (init) Remove old master entry from sentinels: OK -20:54:03> (init) Create a master-slaves cluster of 5 instances: OK -20:54:03> (init) Sentinels can start monitoring a master: OK -20:54:04> (init) Sentinels can talk with the master: OK -20:54:04> (init) Sentinels are able to auto-discover other sentinels: OK -20:54:05> (init) Sentinels are able to auto-discover slaves: OK -20:54:05> Sentinel announces hostnames: OK -20:54:05> (post-cleanup) Configure instances and sentinel for IPs: OK +17:27:05> (pre-init) Configure instances and sentinel for hostname use: sentinel/0 sentinel/1 sentinel/2 OK +17:27:12> (init) Restart killed instances: OK +17:27:12> (init) Remove old master entry from sentinels: OK +17:27:12> (init) Create a master-slaves cluster of 5 instances: OK +17:27:12> (init) Sentinels can start monitoring a master: OK +17:27:13> (init) Sentinels can talk with the master: OK +17:27:13> (init) Sentinels are able to auto-discover other sentinels: OK +17:27:14> (init) Sentinels are able to auto-discover slaves: OK +17:27:14> Sentinel announces hostnames: OK +17:27:14> (post-cleanup) Configure instances and sentinel for IPs: OK Testing unit: 09-acl-support.tcl -20:54:06> (init) Restart killed instances: OK -20:54:06> (init) Remove old master entry from sentinels: OK -20:54:06> (init) Create a master-slaves cluster of 5 instances: OK -20:54:06> (init) Sentinels can start monitoring a master: OK -20:54:06> (init) Sentinels can talk with the master: OK -20:54:06> (init) Sentinels are able to auto-discover other sentinels: OK -20:54:09> (init) Sentinels are able to auto-discover slaves: OK -20:54:09> (post-init) Set up ACL configuration: OK -20:54:09> SENTINEL CONFIG SET handles on-the-fly credentials reconfiguration: OK -20:54:19> (post-cleanup) Tear down ACL configuration: OK +17:27:14> (init) Restart killed instances: OK +17:27:14> (init) Remove old master entry from sentinels: OK +17:27:14> (init) Create a master-slaves cluster of 5 instances: OK +17:27:15> (init) Sentinels can start monitoring a master: OK +17:27:17> (init) Sentinels can talk with the master: OK +17:27:17> (init) Sentinels are able to auto-discover other sentinels: OK +17:27:17> (init) Sentinels are able to auto-discover slaves: OK +17:27:17> (post-init) Set up ACL configuration: OK +17:27:17> SENTINEL CONFIG SET handles on-the-fly credentials reconfiguration: OK +17:27:20> (post-cleanup) Tear down ACL configuration: OK Testing unit: 10-replica-priority.tcl -20:54:20> (init) Restart killed instances: OK -20:54:20> (init) Remove old master entry from sentinels: OK -20:54:20> (init) Create a master-slaves cluster of 5 instances: OK -20:54:20> (init) Sentinels can start monitoring a master: OK -20:54:20> (init) Sentinels can talk with the master: OK -20:54:20> (init) Sentinels are able to auto-discover other sentinels: OK -20:54:22> (init) Sentinels are able to auto-discover slaves: OK -20:54:22> Check acceptable replica-priority values: OK -20:54:22> Set replica-announced=yes on all replicas: OK -20:54:22> Check sentinel replies with 4 replicas: OK -20:54:22> Set replica-announced=no on 2 replicas: OK -20:54:22> Check sentinel replies with 2 replicas: OK -20:54:22> Set replica-announced=yes on all replicas: OK -20:54:22> Check sentinel replies with 4 replicas: OK +17:27:20> (init) Restart killed instances: OK +17:27:20> (init) Remove old master entry from sentinels: OK +17:27:20> (init) Create a master-slaves cluster of 5 instances: OK +17:27:20> (init) Sentinels can start monitoring a master: OK +17:27:21> (init) Sentinels can talk with the master: OK +17:27:21> (init) Sentinels are able to auto-discover other sentinels: OK +17:27:22> (init) Sentinels are able to auto-discover slaves: OK +17:27:22> Check acceptable replica-priority values: OK +17:27:22> Set replica-announced=yes on all replicas: OK +17:27:22> Check sentinel replies with 4 replicas: OK +17:27:22> Set replica-announced=no on 2 replicas: OK +17:27:22> Check sentinel replies with 2 replicas: OK +17:27:22> Set replica-announced=yes on all replicas: OK +17:27:22> Check sentinel replies with 4 replicas: OK Testing unit: 11-port-0.tcl -20:54:22> (init) Restart killed instances: OK -20:54:22> (init) Remove old master entry from sentinels: OK -20:54:22> (init) Create a master-slaves cluster of 5 instances: OK -20:54:22> (init) Sentinels can start monitoring a master: OK -20:54:23> (init) Sentinels can talk with the master: OK -20:54:23> (init) Sentinels are able to auto-discover other sentinels: OK -20:54:23> (init) Sentinels are able to auto-discover slaves: OK -20:54:23> Start/Stop sentinel on same port with a different runID should not change the total number of sentinels: OK +17:27:23> (init) Restart killed instances: OK +17:27:23> (init) Remove old master entry from sentinels: OK +17:27:23> (init) Create a master-slaves cluster of 5 instances: OK +17:27:23> (init) Sentinels can start monitoring a master: OK +17:27:23> (init) Sentinels can talk with the master: OK +17:27:23> (init) Sentinels are able to auto-discover other sentinels: OK +17:27:23> (init) Sentinels are able to auto-discover slaves: OK +17:27:23> Start/Stop sentinel on same port with a different runID should not change the total number of sentinels: OK Testing unit: 12-master-reboot.tcl -20:54:24> (init) Restart killed instances: sentinel/4 OK -20:54:24> (init) Remove old master entry from sentinels: OK -20:54:24> (init) Create a master-slaves cluster of 5 instances: OK -20:54:24> (init) Sentinels can start monitoring a master: OK -20:54:25> (init) Sentinels can talk with the master: OK -20:54:25> (init) Sentinels are able to auto-discover other sentinels: OK -20:54:26> (init) Sentinels are able to auto-discover slaves: OK -20:54:26> Master reboot in very short time: OK -20:54:34> New master 127.0.0.1:30002 role matches: OK -20:54:34> All the other slaves now point to the new master: OK -20:54:34> The old master eventually gets reconfigured as a slave: OK +17:27:24> (init) Restart killed instances: sentinel/4 OK +17:27:24> (init) Remove old master entry from sentinels: OK +17:27:24> (init) Create a master-slaves cluster of 5 instances: OK +17:27:24> (init) Sentinels can start monitoring a master: OK +17:27:26> (init) Sentinels can talk with the master: OK +17:27:26> (init) Sentinels are able to auto-discover other sentinels: OK +17:27:27> (init) Sentinels are able to auto-discover slaves: OK +17:27:27> Master reboot in very short time: OK +17:27:36> New master 127.0.0.1:30003 role matches: OK +17:27:36> All the other slaves now point to the new master: OK +17:27:36> The old master eventually gets reconfigured as a slave: OK Testing unit: 13-info-command.tcl -20:54:45> (init) Restart killed instances: OK -20:54:45> (init) Remove old master entry from sentinels: OK -20:54:47> (init) Create a master-slaves cluster of 5 instances: OK -20:54:47> (init) Sentinels can start monitoring a master: OK -20:54:48> (init) Sentinels can talk with the master: OK -20:54:48> (init) Sentinels are able to auto-discover other sentinels: OK -20:54:49> (init) Sentinels are able to auto-discover slaves: OK -20:54:49> info command with at most one argument: OK -20:54:49> info command with one sub-section: OK -20:54:49> info command with multiple sub-sections: OK +17:27:44> (init) Restart killed instances: OK +17:27:44> (init) Remove old master entry from sentinels: OK +17:27:44> (init) Create a master-slaves cluster of 5 instances: OK +17:27:44> (init) Sentinels can start monitoring a master: OK +17:27:45> (init) Sentinels can talk with the master: OK +17:27:45> (init) Sentinels are able to auto-discover other sentinels: OK +17:27:46> (init) Sentinels are able to auto-discover slaves: OK +17:27:46> info command with at most one argument: OK +17:27:46> info command with one sub-section: OK +17:27:46> info command with multiple sub-sections: OK Testing unit: 14-debug-command.tcl -20:54:49> (init) Restart killed instances: OK -20:54:49> (init) Remove old master entry from sentinels: OK -20:54:50> (init) Create a master-slaves cluster of 5 instances: OK -20:54:50> (init) Sentinels can start monitoring a master: OK -20:54:50> (init) Sentinels can talk with the master: OK -20:54:50> (init) Sentinels are able to auto-discover other sentinels: OK -20:54:52> (init) Sentinels are able to auto-discover slaves: OK -20:54:52> Sentinel debug test with arguments and without argument: OK +17:27:46> (init) Restart killed instances: OK +17:27:46> (init) Remove old master entry from sentinels: OK +17:27:46> (init) Create a master-slaves cluster of 5 instances: OK +17:27:46> (init) Sentinels can start monitoring a master: OK +17:27:46> (init) Sentinels can talk with the master: OK +17:27:46> (init) Sentinels are able to auto-discover other sentinels: OK +17:27:48> (init) Sentinels are able to auto-discover slaves: OK +17:27:48> Sentinel debug test with arguments and without argument: OK Testing unit: 15-config-set-config-get.tcl -20:54:52> (init) Restart killed instances: OK -20:54:52> (init) Remove old master entry from sentinels: OK -20:54:52> (init) Create a master-slaves cluster of 5 instances: OK -20:54:52> (init) Sentinels can start monitoring a master: OK -20:54:53> (init) Sentinels can talk with the master: OK -20:54:53> (init) Sentinels are able to auto-discover other sentinels: OK -20:54:54> (init) Sentinels are able to auto-discover slaves: OK -20:54:54> SENTINEL CONFIG SET and SENTINEL CONFIG GET handles multiple variables: OK -20:54:54> SENTINEL CONFIG GET for duplicate and unknown variables: OK -20:54:54> SENTINEL CONFIG GET for patterns: OK -20:54:54> SENTINEL CONFIG SET duplicate variables: OK -20:54:54> SENTINEL CONFIG SET, one option does not exist: OK -20:54:55> SENTINEL CONFIG SET, one option with wrong value: OK -20:54:55> SENTINEL CONFIG SET, wrong number of arguments: OK +17:27:48> (init) Restart killed instances: OK +17:27:48> (init) Remove old master entry from sentinels: OK +17:27:48> (init) Create a master-slaves cluster of 5 instances: OK +17:27:48> (init) Sentinels can start monitoring a master: OK +17:27:48> (init) Sentinels can talk with the master: OK +17:27:48> (init) Sentinels are able to auto-discover other sentinels: OK +17:27:50> (init) Sentinels are able to auto-discover slaves: OK +17:27:50> SENTINEL CONFIG SET and SENTINEL CONFIG GET handles multiple variables: OK +17:27:50> SENTINEL CONFIG GET for duplicate and unknown variables: OK +17:27:50> SENTINEL CONFIG GET for patterns: OK +17:27:50> SENTINEL CONFIG SET duplicate variables: OK +17:27:50> SENTINEL CONFIG SET, one option does not exist: OK +17:27:50> SENTINEL CONFIG SET, one option with wrong value: OK +17:27:50> SENTINEL CONFIG SET, wrong number of arguments: OK Cleaning up... -killing stale instance 1839333 -killing stale instance 1839343 -killing stale instance 1839351 -killing stale instance 1844116 -killing stale instance 1844741 -killing stale instance 1845327 -killing stale instance 1846205 -killing stale instance 1847573 -killing stale instance 1847584 -killing stale instance 1847604 -killing stale instance 1849892 -killing stale instance 1850180 -killing stale instance 1850612 +killing stale instance 3437216 +killing stale instance 3437223 +killing stale instance 3437235 +killing stale instance 3455832 +killing stale instance 3458578 +killing stale instance 3462991 +killing stale instance 3469263 +killing stale instance 3472784 +killing stale instance 3472790 +killing stale instance 3472797 +killing stale instance 3476444 +killing stale instance 3476745 +killing stale instance 3477307 GOOD! No errors. # Clean up after gen-test-certs.sh rm -rf tests/tls || true # Other cleanup find tests/tmp ! -name .gitignore -type f -exec rm -rfv {} + -removed 'tests/tmp/resetchannels.acl.1251531.154/stdout' -removed 'tests/tmp/resetchannels.acl.1251531.154/default.conf' -removed 'tests/tmp/resetchannels.acl.1251531.154/stderr' -removed 'tests/tmp/resetchannels.acl.1251531.154/nodefaultuser.acl' -removed 'tests/tmp/server1.log.1251531.783/stdout' -removed 'tests/tmp/server1.log.1251531.783/stderr' -removed 'tests/tmp/server3.log.1251531.789/stdout' -removed 'tests/tmp/server3.log.1251531.789/stderr' -removed 'tests/tmp/duplicate.acl.1251531.164/stdout' -removed 'tests/tmp/duplicate.acl.1251531.164/default.conf' -removed 'tests/tmp/duplicate.acl.1251531.164/stderr' -removed 'tests/tmp/duplicate.acl.1251531.164/user.acl' -removed 'tests/tmp/server2.log.1251531.786/stdout' -removed 'tests/tmp/server2.log.1251531.786/stderr' -removed 'tests/tmp/selectors.acl.1251531.171/stdout' -removed 'tests/tmp/selectors.acl.1251531.171/default.conf' -removed 'tests/tmp/selectors.acl.1251531.171/stderr' -removed 'tests/tmp/selectors.acl.1251531.171/userwithselectors.acl' -removed 'tests/tmp/resetchannels.acl.1251531.157/stdout' -removed 'tests/tmp/resetchannels.acl.1251531.157/default.conf' -removed 'tests/tmp/resetchannels.acl.1251531.157/stderr' -removed 'tests/tmp/resetchannels.acl.1251531.157/nodefaultuser.acl' make[1]: Leaving directory '/build/reproducible-path/redict-7.3.5+ds' create-stamp debian/debhelper-build-stamp dh_prep @@ -6295,17 +1841,17 @@ dh_strip -a dh_makeshlibs -a dh_shlibdeps -a -dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/redict-tools/usr/bin/redict-cli debian/redict-tools/usr/bin/redict-benchmark debian/redict-tools/usr/bin/redict-check-rdb debian/redict-tools/usr/bin/redict-check-aof were not linked against liblzf.so.1 (they use none of the library's symbols) -dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/redict-tools/usr/bin/redict-cli debian/redict-tools/usr/bin/redict-benchmark debian/redict-tools/usr/bin/redict-check-rdb debian/redict-tools/usr/bin/redict-check-aof were not linked against libatomic.so.1 (they use none of the library's symbols) +dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/redict-tools/usr/bin/redict-benchmark debian/redict-tools/usr/bin/redict-cli debian/redict-tools/usr/bin/redict-check-rdb debian/redict-tools/usr/bin/redict-check-aof were not linked against libatomic.so.1 (they use none of the library's symbols) +dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/redict-tools/usr/bin/redict-benchmark debian/redict-tools/usr/bin/redict-cli debian/redict-tools/usr/bin/redict-check-rdb debian/redict-tools/usr/bin/redict-check-aof were not linked against liblzf.so.1 (they use none of the library's symbols) dh_installdeb dh_gencontrol dh_md5sums dh_builddeb +dpkg-deb: building package 'redict' in '../redict_7.3.5+ds-1_all.deb'. dpkg-deb: building package 'redict-sentinel' in '../redict-sentinel_7.3.5+ds-1_amd64.deb'. dpkg-deb: building package 'redict-server' in '../redict-server_7.3.5+ds-1_amd64.deb'. -dpkg-deb: building package 'redict-tools-dbgsym' in '../redict-tools-dbgsym_7.3.5+ds-1_amd64.deb'. -dpkg-deb: building package 'redict' in '../redict_7.3.5+ds-1_all.deb'. dpkg-deb: building package 'redict-tools' in '../redict-tools_7.3.5+ds-1_amd64.deb'. +dpkg-deb: building package 'redict-tools-dbgsym' in '../redict-tools-dbgsym_7.3.5+ds-1_amd64.deb'. dpkg-genbuildinfo --build=binary -O../redict_7.3.5+ds-1_amd64.buildinfo dpkg-genchanges --build=binary -O../redict_7.3.5+ds-1_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -6313,12 +1859,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/2670978/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/2670978/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/1238051 and its subdirectories -I: Current time: Tue Oct 6 20:55:47 -12 2026 -I: pbuilder-time-stamp: 1791363347 +I: removing directory /srv/workspace/pbuilder/2670978 and its subdirectories +I: Current time: Thu Sep 4 17:28:03 +14 2025 +I: pbuilder-time-stamp: 1756956483