Diff of the two buildlogs: -- --- b1/build.log 2025-10-11 15:28:39.093898130 +0000 +++ b2/build.log 2025-10-11 16:12:28.537225213 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sat Oct 11 02:45:36 -12 2025 -I: pbuilder-time-stamp: 1760193936 +I: Current time: Sat Nov 14 11:51:41 +14 2026 +I: pbuilder-time-stamp: 1794606701 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -29,53 +29,85 @@ dpkg-source: info: applying 0007-Add-Redis-ver.-REDIS_VERSION-to-LOLWUT-8-output-as-a.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/19314/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/1484781/tmp/hooks/D01_modify_environment starting +debug: Running on codethink03-arm64. +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 Nov 13 21:51 /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/1484781/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/1484781/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='arm64' - DEBIAN_FRONTEND='noninteractive' + 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]="3" [2]="3" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.3.3(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='8870b5b5556f42a3894175e3d0b84606' - 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='19314' - PS1='# ' - PS2='> ' + INVOCATION_ID=74499f7416b44142b61252fd57387081 + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-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=1484781 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.qpKbSMqt/pbuilderrc_Mcty --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.qpKbSMqt/b1 --logfile b1/build.log redis_8.0.4-1.dsc' - SUDO_GID='109' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4: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.qpKbSMqt/pbuilderrc_nJsP --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.qpKbSMqt/b2 --logfile b2/build.log redis_8.0.4-1.dsc' + SUDO_GID=109 + SUDO_HOME=/var/lib/jenkins + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink04-arm64 6.12.48+deb13-cloud-arm64 #1 SMP Debian 6.12.48-1 (2025-09-20) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.12.48+deb13-cloud-arm64 #1 SMP Debian 6.12.48-1 (2025-09-20) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/19314/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/1484781/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -197,7 +229,7 @@ Get: 58 http://deb.debian.org/debian unstable/main arm64 tcl8.6 arm64 8.6.17+dfsg-1 [121 kB] Get: 59 http://deb.debian.org/debian unstable/main arm64 tcl arm64 8.6.16 [4096 B] Get: 60 http://deb.debian.org/debian unstable/main arm64 tcl-tls arm64 1.8.0-2 [61.1 kB] -Fetched 21.9 MB in 0s (107 MB/s) +Fetched 21.9 MB in 0s (68.7 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 ... 19958 files and directories currently installed.) @@ -399,8 +431,8 @@ Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' -Local time is now: Sat Oct 11 14:45:57 UTC 2025. -Universal Time is now: Sat Oct 11 14:45:57 UTC 2025. +Local time is now: Fri Nov 13 21:52:36 UTC 2026. +Universal Time is now: Fri Nov 13 21:52:36 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libjemalloc-dev (5.3.0-3) ... @@ -462,7 +494,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/redis-8.0.4/ && 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 > ../redis_8.0.4-1_source.changes +I: user script /srv/workspace/pbuilder/1484781/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/1484781/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/redis-8.0.4/ && 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 > ../redis_8.0.4-1_source.changes dpkg-buildpackage: info: source package redis dpkg-buildpackage: info: source version 5:8.0.4-1 dpkg-buildpackage: info: source distribution unstable @@ -564,59 +600,60 @@ (rm -f .make-*) (echo "-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables" > .make-cflags) (echo "-Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf" > .make-ldflags) +MAKE lua MAKE hiredis -cd hiredis && make static USE_SSL=1 +MAKE hdr_histogram MAKE linenoise +MAKE fpconv +cd hiredis && make static USE_SSL=1 +make[5]: Entering directory '/build/reproducible-path/redis-8.0.4/deps/hiredis' cd linenoise && make -MAKE lua 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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 " MYLDFLAGS="-Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf" AR="ar rc" -MAKE hdr_histogram cd hdr_histogram && make -make[5]: Entering directory '/build/reproducible-path/redis-8.0.4/deps/hiredis' -MAKE fpconv -cd fpconv && make -MAKE fast_float -cd fast_float && make libfast_float make[5]: Entering directory '/build/reproducible-path/redis-8.0.4/deps/linenoise' -cc -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -Wdate-time -D_FORTIFY_SOURCE=2 -c linenoise.c make[5]: Entering directory '/build/reproducible-path/redis-8.0.4/deps/lua/src' -cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lapi.o lapi.c +cd fpconv && make make[5]: Entering directory '/build/reproducible-path/redis-8.0.4/deps/hdr_histogram' cc -std=c99 -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldebug.o ldebug.c -make[5]: Entering directory '/build/reproducible-path/redis-8.0.4/deps/fast_float' +MAKE fast_float make[5]: Entering directory '/build/reproducible-path/redis-8.0.4/deps/fpconv' +cc -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -Wdate-time -D_FORTIFY_SOURCE=2 -c linenoise.c cc -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -Wdate-time -D_FORTIFY_SOURCE=2 -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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldo.o ldo.c cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic alloc.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldump.o ldump.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lapi.o lapi.c +cd fast_float && make libfast_float cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic net.c cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic hiredis.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldebug.o ldebug.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldo.o ldo.c +make[5]: Entering directory '/build/reproducible-path/redis-8.0.4/deps/fast_float' +cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic sds.c +cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic async.c g++ -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-8.0.4/deps/fast_float=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++11 -DFASTFLOAT_ALLOWS_LEADING_PLUS -c fast_float_strtod.cpp -cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lgc.o lgc.c ar rcs libfpconv.a fpconv_dtoa.o make[5]: Leaving directory '/build/reproducible-path/redis-8.0.4/deps/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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldump.o ldump.c +cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic read.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o llex.o llex.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lmem.o lmem.c -cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic sds.c -cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic async.c -cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic read.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lobject.o lobject.c ar rcs libhdrhistogram.a hdr_histogram.o -make[5]: Leaving directory '/build/reproducible-path/redis-8.0.4/deps/hdr_histogram' cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lopcodes.o lopcodes.c +make[5]: Leaving directory '/build/reproducible-path/redis-8.0.4/deps/hdr_histogram' +cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic sockcompat.c +cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic ssl.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lparser.o lparser.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lstate.o lstate.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lstring.o lstring.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ltable.o ltable.c -cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic sockcompat.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ltm.o ltm.c -cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic ssl.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lundump.o lundump.c -make[5]: Leaving directory '/build/reproducible-path/redis-8.0.4/deps/linenoise' cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lvm.o lvm.c +ar rcs libhiredis.a alloc.o net.o hiredis.o sds.o async.o read.o sockcompat.o +make[5]: Leaving directory '/build/reproducible-path/redis-8.0.4/deps/linenoise' cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lzio.o lzio.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o strbuf.o strbuf.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o fpconv.o fpconv.c @@ -624,13 +661,12 @@ cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lbaselib.o lbaselib.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldblib.o ldblib.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o liolib.o liolib.c +ar rcs libhiredis_ssl.a ssl.o +make[5]: Leaving directory '/build/reproducible-path/redis-8.0.4/deps/hiredis' cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lmathlib.o lmathlib.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o loslib.o loslib.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ltablib.o ltablib.c -ar rcs libhiredis_ssl.a ssl.o -ar rcs libhiredis.a alloc.o net.o hiredis.o sds.o async.o read.o sockcompat.o cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lstrlib.o lstrlib.c -make[5]: Leaving directory '/build/reproducible-path/redis-8.0.4/deps/hiredis' cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o loadlib.o loadlib.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o linit.o linit.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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lua_cjson.o lua_cjson.c @@ -758,15 +794,15 @@ cc -pedantic -DREDIS_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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -I../deps/fast_float -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -DINCLUDE_VEC_SETS=1 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o cli_common.o -c cli_common.c cc -pedantic -DREDIS_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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -I../deps/fast_float -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -DINCLUDE_VEC_SETS=1 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o cli_commands.o -c cli_commands.c cc -pedantic -DREDIS_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/redis-8.0.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -I../deps/fast_float -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -DINCLUDE_VEC_SETS=1 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o redis-benchmark.o -c redis-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 redis-server threads_mngr.o adlist.o quicklist.o ae.o anet.o dict.o ebuckets.o eventnotifier.o iothread.o mstr.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 crccombine.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-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 lolwut8.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 hnsw.o vset.o ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a ../deps/hdr_histogram/libhdrhistogram.a ../deps/fpconv/libfpconv.a ../deps/fast_float/libfast_float.a -ljemalloc -lm -lstdc++ -ldl -pthread -lrt -lsystemd ../deps/hiredis/libhiredis_ssl.a -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 redis-benchmark ae.o anet.o redis-benchmark.o adlist.o dict.o zmalloc.o redisassert.o release.o crcspeed.o crccombine.o crc64.o siphash.o crc16.o monotonic.o cli_common.o mt19937-64.o strl.o ../deps/hiredis/libhiredis.a ../deps/hdr_histogram/libhdrhistogram.a -ljemalloc -lm -lstdc++ -ldl -pthread -lrt -lsystemd ../deps/hiredis/libhiredis_ssl.a -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 redis-server threads_mngr.o adlist.o quicklist.o ae.o anet.o dict.o ebuckets.o eventnotifier.o iothread.o mstr.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 crccombine.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-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 lolwut8.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 hnsw.o vset.o ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a ../deps/hdr_histogram/libhdrhistogram.a ../deps/fpconv/libfpconv.a ../deps/fast_float/libfast_float.a -ljemalloc -lm -lstdc++ -ldl -pthread -lrt -lsystemd ../deps/hiredis/libhiredis_ssl.a -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 redis-cli anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o ae.o redisassert.o crcspeed.o crccombine.o crc64.o siphash.o crc16.o monotonic.o cli_common.o mt19937-64.o strl.o cli_commands.o ../deps/hiredis/libhiredis.a ../deps/linenoise/linenoise.o ../deps/hdr_histogram/libhdrhistogram.a -ljemalloc -lm -lstdc++ -ldl -pthread -lrt -lsystemd ../deps/hiredis/libhiredis_ssl.a -lssl -lcrypto install --strip-program=true redis-server redis-sentinel -install --strip-program=true redis-server redis-check-rdb +install: install --strip-program=true redis-server redis-check-rdb +WARNING: ignoring --strip-program option as -s option was not specified install --strip-program=true redis-server redis-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: WARNING: ignoring --strip-program option as -s option was not specified +install: install: WARNING: ignoring --strip-program option as -s option was not specifiedWARNING: ignoring --strip-program option as -s option was not specified + Hint: It's a good idea to run 'make test' ;) @@ -784,170 +820,170 @@ Certificate request self-signature ok subject=O=Redis 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]: 28935 +[ready]: 1522451 Testing unit/acl-v2 === (acl external:skip) Starting server 127.0.0.1:21111 ok -[ok]: Test basic multiple selectors (4 ms) +[ok]: Test basic multiple selectors (7 ms) [ok]: Test ACL selectors by default have no permissions (1 ms) -[ok]: Test deleting selectors (2 ms) -[ok]: Test selector syntax error reports the error in the selector context (3 ms) -[ok]: Test flexible selector definition (4 ms) +[ok]: Test deleting selectors (3 ms) +[ok]: Test selector syntax error reports the error in the selector context (1 ms) +[ok]: Test flexible selector definition (2 ms) [ok]: Test separate read permission (2 ms) -[ok]: Test separate write permission (4 ms) -[ok]: Test separate read and write permissions (2 ms) +[ok]: Test separate write permission (6 ms) +[ok]: Test separate read and write permissions (1 ms) [ok]: Validate read and write permissions format - empty permission (1 ms) [ok]: Validate read and write permissions format - empty selector (0 ms) [ok]: Validate read and write permissions format - empty pattern (1 ms) -[ok]: Validate read and write permissions format - no pattern (0 ms) +[ok]: Validate read and write permissions format - no pattern (1 ms) [ok]: Test separate read and write permissions on different selectors are not additive (3 ms) -[ok]: Test SET with separate read permission (3 ms) -[ok]: Test SET with separate write permission (4 ms) -[ok]: Test SET with read and write permissions (3 ms) -[ok]: Test BITFIELD with separate read permission (2 ms) -[ok]: Test BITFIELD with separate write permission (2 ms) -[ok]: Test BITFIELD with read and write permissions (2 ms) -[ok]: Test ACL log correctly identifies the relevant item when selectors are used (3 ms) +[ok]: Test SET with separate read permission (5 ms) +[ok]: Test SET with separate write permission (2 ms) +[ok]: Test SET with read and write permissions (15 ms) +[ok]: Test BITFIELD with separate read permission (1 ms) +[ok]: Test BITFIELD with separate write permission (1 ms) +[ok]: Test BITFIELD with read and write permissions (1 ms) +[ok]: Test ACL log correctly identifies the relevant item when selectors are used (8 ms) [ok]: Test ACL GETUSER response information (1 ms) -[ok]: Test ACL list idempotency (2 ms) +[ok]: Test ACL list idempotency (1 ms) [ok]: Test R+W is the same as all permissions (1 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 (6 ms) +[ok]: Test various odd commands for key permissions (3 ms) [ok]: Existence test commands are not marked as access (1 ms) -[ok]: Intersection cardinaltiy commands are access commands (2 ms) +[ok]: Intersection cardinaltiy commands are access commands (1 ms) [ok]: Test general keyspace commands require some type of permission to execute (2 ms) -[ok]: Cardinality commands require some type of permission to execute (3 ms) -[ok]: Test sharded channel permissions (1 ms) -[ok]: Test sort with ACL permissions (4 ms) -[ok]: Test DRYRUN with wrong number of arguments (0 ms) +[ok]: Cardinality commands require some type of permission to execute (2 ms) +[ok]: Test sharded channel permissions (4 ms) +[ok]: Test sort with ACL permissions (2 ms) +[ok]: Test DRYRUN with wrong number of arguments (1 ms) === (external:skip) Starting server 127.0.0.1:21113 ok [ok]: Test behavior of loading ACLs (1 ms) -[1/96 done]: unit/acl-v2 (0 seconds) +[1/96 done]: unit/acl-v2 (1 seconds) Testing unit/acl === (acl external:skip) Starting server 127.0.0.1:21115 ok [ok]: Connections start with the default user (0 ms) [ok]: It is possible to create new users (0 ms) -[ok]: Coverage: ACL USERS (1 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]: New users start disabled (5 ms) [ok]: Enabling the user allows the login (1 ms) -[ok]: Only the set of correct passwords work (1 ms) -[ok]: It is possible to remove passwords from the set of valid ones (1 ms) -[ok]: Test password hashes can be added (1 ms) +[ok]: Only the set of correct passwords work (0 ms) +[ok]: It is possible to remove passwords from the set of valid ones (0 ms) +[ok]: Test password hashes can be added (0 ms) [ok]: Test password hashes validate input (0 ms) [ok]: ACL GETUSER returns the password hash instead of the actual password (0 ms) [ok]: Test hashed passwords removal (1 ms) -[ok]: By default users are not able to access any command (1 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 (1 ms) -[ok]: It's possible to allow the access of a subset of keys (1 ms) +[ok]: It's possible to allow the access of a subset of keys (4 ms) [ok]: By default, only default user is able to publish to any channel (1 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 (35 ms) -[ok]: By default, only default user is able to subscribe to any shard channel (33 ms) -[ok]: By default, only default user is able to subscribe to any pattern (34 ms) +[ok]: By default, only default user is not able to publish to any shard channel (0 ms) +[ok]: By default, only default user is able to subscribe to any channel (21 ms) +[ok]: By default, only default user is able to subscribe to any shard channel (26 ms) +[ok]: By default, only default user is able to subscribe to any pattern (29 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 (2 ms) +[ok]: It's possible to allow publishing to a subset of shard channels (1 ms) [ok]: Validate subset of channels is prefixed with resetchannels flag (3 ms) -[ok]: In transaction queue publish/subscribe/psubscribe to unauthorized channel will fail (4 ms) -[ok]: It's possible to allow subscribing to a subset of channels (32 ms) -[ok]: It's possible to allow subscribing to a subset of shard channels (34 ms) -[ok]: It's possible to allow subscribing to a subset of channel patterns (32 ms) -[ok]: Subscribers are killed when revoked of channel permission (35 ms) -[ok]: Subscribers are killed when revoked of channel permission (34 ms) -[ok]: Subscribers are killed when revoked of channel permission (35 ms) -[ok]: Subscribers are killed when revoked of pattern permission (33 ms) -[ok]: Subscribers are killed when revoked of allchannels permission (33 ms) -[ok]: Subscribers are pardoned if literal permissions are retained and/or gaining allchannels (34 ms) -[ok]: blocked command gets rejected when reprocessed after permission change (36 ms) -[ok]: Users can be configured to authenticate with any password (1 ms) -[ok]: ACLs can exclude single commands (1 ms) -[ok]: ACLs can include or exclude whole classes of commands (4 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 (1 ms) -[ok]: ACLs cannot include a subcommand with a specific arg (1 ms) +[ok]: In transaction queue publish/subscribe/psubscribe to unauthorized channel will fail (1 ms) +[ok]: It's possible to allow subscribing to a subset of channels (25 ms) +[ok]: It's possible to allow subscribing to a subset of shard channels (23 ms) +[ok]: It's possible to allow subscribing to a subset of channel patterns (28 ms) +[ok]: Subscribers are killed when revoked of channel permission (28 ms) +[ok]: Subscribers are killed when revoked of channel permission (29 ms) +[ok]: Subscribers are killed when revoked of channel permission (24 ms) +[ok]: Subscribers are killed when revoked of pattern permission (24 ms) +[ok]: Subscribers are killed when revoked of allchannels permission (32 ms) +[ok]: Subscribers are pardoned if literal permissions are retained and/or gaining allchannels (25 ms) +[ok]: blocked command gets rejected when reprocessed after permission change (34 ms) +[ok]: Users can be configured to authenticate with any password (0 ms) +[ok]: ACLs can exclude single commands (0 ms) +[ok]: ACLs can include or exclude whole classes of commands (0 ms) +[ok]: ACLs can include single subcommands (1 ms) +[ok]: ACLs can exclude single subcommands, case 1 (0 ms) +[ok]: ACLs can exclude single subcommands, case 2 (0 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 cannot exclude or include a container command with two args (0 ms) [ok]: ACLs including of a type includes also subcommands (1 ms) -[ok]: ACLs can block SELECT of all but a specific DB (2 ms) -[ok]: ACLs can block all DEBUG subcommands except one (3 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 (6 ms) -[ok]: ACL SETUSER RESET reverting to default newly created user (2 ms) -[ok]: ACL GETUSER is able to translate back command permissions (2 ms) -[ok]: ACL GETUSER provides reasonable results (27 ms) -[ok]: ACL GETUSER provides correct results (9 ms) -[ok]: ACL CAT with illegal arguments (1 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 (5 ms) +[ok]: ACLs set can exclude subcommands, if already full command exists (9 ms) +[ok]: ACL SETUSER RESET reverting to default newly created user (1 ms) +[ok]: ACL GETUSER is able to translate back command permissions (1 ms) +[ok]: ACL GETUSER provides reasonable results (31 ms) +[ok]: ACL GETUSER provides correct results (4 ms) +[ok]: ACL CAT with illegal arguments (0 ms) [ok]: ACL CAT without category - list all categories (0 ms) -[ok]: ACL CAT category - list all commands/subcommands that belong to category (2 ms) +[ok]: ACL CAT category - list all commands/subcommands that belong to category (1 ms) [ok]: ACL requires explicit permission for scripting for EVAL_RO, EVALSHA_RO and FCALL_RO (0 ms) -[ok]: ACL #5998 regression: memory leaks adding / removing subcommands (0 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 (3 ms) -[ok]: ACL LOG shows failed subcommand executions at toplevel (2 ms) +[ok]: ACL #5998 regression: memory leaks adding / removing subcommands (1 ms) +[ok]: ACL LOG aggregates similar errors together and assigns unique entry-id to new errors (5 ms) +[ok]: ACL LOG shows failed command executions at toplevel (1 ms) +[ok]: ACL LOG shows failed subcommand executions at toplevel (1 ms) [ok]: ACL LOG is able to test similar events (1 ms) [ok]: ACL LOG is able to log keys access violations and key name (1 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 (1 ms) -[ok]: ACL LOG can distinguish the transaction context (1) (1 ms) -[ok]: ACL LOG can distinguish the transaction context (2) (29 ms) -[ok]: ACL can log errors in the context of Lua scripting (2 ms) -[ok]: ACL LOG can accept a numerical argument to show less entries (3 ms) +[ok]: ACL LOG is able to log channel access violations and channel name (1 ms) +[ok]: ACL LOG RESET is able to flush the entries in the log (0 ms) +[ok]: ACL LOG can distinguish the transaction context (1) (0 ms) +[ok]: ACL LOG can distinguish the transaction context (2) (14 ms) +[ok]: ACL can log errors in the context of Lua scripting (1 ms) +[ok]: ACL LOG can accept a numerical argument to show less entries (2 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 (5 ms) +[ok]: ACLLOG - zero max length is correctly handled (1 ms) +[ok]: ACL LOG entries are limited to a maximum amount (2 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 (25 ms) -[ok]: When default user has no command permission, hello command still works for other users (2 ms) +[ok]: When default user is off, new connections are not authenticated (13 ms) +[ok]: When default user has no command permission, hello command still works for other users (1 ms) [ok]: When an authentication chain is used in the HELLO cmd, the last auth cmd has precedence (1 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]: When a setname chain is used in the HELLO cmd, the last setname cmd has precedence (0 ms) +[ok]: When authentication fails in the HELLO cmd, the client setname should not be applied (0 ms) [ok]: ACL HELP should not have unexpected options (0 ms) -[ok]: Delete a user that the client doesn't use (1 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 (25 ms) +[ok]: ACL GENPASS command failed test (12 ms) [ok]: Default user can not be removed (0 ms) [ok]: ACL load non-existing configured ACL file (0 ms) -[ok]: ACL-Metrics user AUTH failure (5 ms) -[ok]: ACL-Metrics invalid command accesses (3 ms) -[ok]: ACL-Metrics invalid key accesses (4 ms) -[ok]: ACL-Metrics invalid channels accesses (4 ms) +[ok]: ACL-Metrics user AUTH failure (3 ms) +[ok]: ACL-Metrics invalid command accesses (2 ms) +[ok]: ACL-Metrics invalid key accesses (3 ms) +[ok]: ACL-Metrics invalid channels accesses (2 ms) === (external:skip) Starting server 127.0.0.1:21117 ok -[ok]: default: load from include file, can access any channels (2 ms) -[ok]: default: with config acl-pubsub-default allchannels after reset, can access any channels (2 ms) +[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 (7 ms) [ok]: default: with config acl-pubsub-default resetchannels after reset, can not access any channels (1 ms) -[ok]: Alice: can execute all command (0 ms) -[ok]: Bob: just execute @set and acl command (1 ms) -[ok]: ACL LOAD only disconnects affected clients (98 ms) -[ok]: ACL LOAD disconnects affected subscriber (64 ms) -[ok]: ACL LOAD disconnects clients of deleted users (95 ms) +[ok]: Alice: can execute all command (1 ms) +[ok]: Bob: just execute @set and acl command (0 ms) +[ok]: ACL LOAD only disconnects affected clients (65 ms) +[ok]: ACL LOAD disconnects affected subscriber (26 ms) +[ok]: ACL LOAD disconnects clients of deleted users (39 ms) [ok]: ACL load and save (2 ms) [ok]: ACL load and save with restricted channels (2 ms) === (repl external:skip) Starting server 127.0.0.1:21119 ok -[ok]: First server should have role slave after SLAVEOF (103 ms) -[ok]: ACL load on replica when connected to replica (1 ms) +[ok]: First server should have role slave after SLAVEOF (107 ms) +[ok]: ACL load on replica when connected to replica (3 ms) === (external:skip) Starting server 127.0.0.1:21121 ok -[ok]: Default user has access to all channels irrespective of flag (1 ms) -[ok]: Update acl-pubsub-default, existing users shouldn't get affected (3 ms) +[ok]: Default user has access to all channels irrespective of flag (0 ms) +[ok]: Update acl-pubsub-default, existing users shouldn't get affected (6 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:21123 ok -[ok]: Only default user has access to all channels irrespective of flag (1 ms) +[ok]: Only default user has access to all channels irrespective of flag (7 ms) === (external:skip) Starting server 127.0.0.1:21125 ok -[ok]: default: load from config file, without channel permission default user can't access any channels (1 ms) +[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:21127 ok -[ok]: default: load from config file with all channels permissions (2 ms) +[ok]: default: load from config file with all channels permissions (1 ms) === (external:skip) Starting server 127.0.0.1:21129 ok -[ok]: Test loading an ACL file with duplicate users (7 ms) -[ok]: Test loading an ACL file with duplicate default user (6 ms) -[ok]: Test loading duplicate users in config on startup (33 ms) +[ok]: Test loading an ACL file with duplicate users (17 ms) +[ok]: Test loading an ACL file with duplicate default user (13 ms) +[ok]: Test loading duplicate users in config on startup (66 ms) === (acl external:skip) Starting server 127.0.0.1:21131 ok -[ok]: ACL from config file and config rewrite (212 ms) +[ok]: ACL from config file and config rewrite (230 ms) [2/96 done]: unit/acl (4 seconds) Testing unit/aofrw === (aofrw external:skip logreqres:skip) Starting server 127.0.0.1:21133 ok @@ -956,385 +992,378 @@ 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=yes (7037 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite during write load: RDB preamble=yes (6530 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... [ok]: AOF rewrite during write load: RDB preamble=no (10047 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite during write load: RDB preamble=no (7555 ms) === (aofrw external:skip) Starting server 127.0.0.1:21135 ok -Waiting for background AOF rewrite to finish... [ok]: Turning off AOF kills the background writing child if any (58 ms) +Waiting for background AOF rewrite to finish... [ok]: Turning off AOF kills the background writing child if any (57 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with listpack encoding, string data (110 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with listpack encoding, string data (112 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 (295 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, string data (311 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 (109 ms) - -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, int data (232 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with listpack encoding, int data (120 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with intset encoding, string data (57 ms) - -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, string data (226 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, int data (473 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 (107 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with intset encoding, string data (127 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, int data (182 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, string data (188 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with listpack encoding, string data (110 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with intset encoding, int data (111 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, string data (302 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, int data (316 ms) -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with listpack encoding, int data (108 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with listpack encoding, string data (61 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 (309 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, string data (265 ms) -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, string data (110 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with listpack encoding, int data (55 ms) + +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, int data (249 ms) + +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, string data (70 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, string data (310 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, string data (330 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, int data (59 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, int data (63 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, int data (233 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, int data (313 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite functions (108 ms) -[ok]: BGREWRITEAOF is delayed if BGSAVE is in progress (224 ms) -[ok]: BGREWRITEAOF is refused if already in progress (16 ms) -[3/96 done]: unit/aofrw (21 seconds) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite functions (117 ms) +[ok]: BGREWRITEAOF is delayed if BGSAVE is in progress (264 ms) +[ok]: BGREWRITEAOF is refused if already in progress (34 ms) +[3/96 done]: unit/aofrw (18 seconds) Testing unit/auth === (auth external:skip) Starting server 127.0.0.1:21137 ok [ok]: AUTH fails if there is no password configured server side (0 ms) [ok]: Arity check for auth command (1 ms) === (auth external:skip) Starting server 127.0.0.1:21139 ok -[ok]: AUTH fails when a wrong password is given (28 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 (1 ms) -[ok]: For unauthenticated clients multibulk and bulk length are limited (62 ms) -[ok]: For unauthenticated clients output buffer is limited (2051 ms) +[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 succeeds when the right password is given (1 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 (41 ms) +[ok]: For unauthenticated clients output buffer is limited (2235 ms) === (auth_binary_password external:skip) Starting server 127.0.0.1:21141 ok [ok]: AUTH fails when binary password is wrong (1 ms) -[ok]: AUTH succeeds when binary password is correct (1 ms) +[ok]: AUTH succeeds when binary password is correct (0 ms) === (masterauth) Starting server 127.0.0.1:21143 ok -[ok]: MASTERAUTH test with binary password rdbchannel=yes (954 ms) -[ok]: MASTERAUTH test with binary password rdbchannel=no (952 ms) -[4/96 done]: unit/auth (5 seconds) +[ok]: MASTERAUTH test with binary password rdbchannel=yes (948 ms) +[ok]: MASTERAUTH test with binary password rdbchannel=no (1059 ms) +[4/96 done]: unit/auth (6 seconds) Testing unit/bitfield === (bitops) Starting server 127.0.0.1:21145 ok [ok]: BITFIELD signed SET and GET basics (1 ms) -[ok]: BITFIELD unsigned SET and GET basics (0 ms) +[ok]: BITFIELD unsigned SET and GET basics (1 ms) [ok]: BITFIELD signed SET and GET together (0 ms) [ok]: BITFIELD unsigned with SET, GET and INCRBY arguments (1 ms) -[ok]: BITFIELD with only key as argument (0 ms) +[ok]: BITFIELD with only key as argument (7 ms) [ok]: BITFIELD # form (1 ms) [ok]: BITFIELD basic INCRBY form (1 ms) [ok]: BITFIELD chaining of multiple commands (0 ms) -[ok]: BITFIELD unsigned overflow wrap (1 ms) +[ok]: BITFIELD unsigned overflow wrap (0 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 (319 ms) -[ok]: BITFIELD overflow wrap fuzzing (386 ms) +[ok]: BITFIELD signed overflow wrap (1 ms) +[ok]: BITFIELD signed overflow sat (0 ms) +[ok]: BITFIELD overflow detection fuzzing (356 ms) +[ok]: BITFIELD overflow wrap fuzzing (509 ms) [ok]: BITFIELD regression for #3221 (1 ms) -[ok]: BITFIELD regression for #3564 (3 ms) -[ok]: BITFIELD_RO with only key as argument (0 ms) +[ok]: BITFIELD regression for #3564 (2 ms) +[ok]: BITFIELD_RO with only key as argument (1 ms) [ok]: BITFIELD_RO fails when write option is used (0 ms) === (repl external:skip) Starting server 127.0.0.1:21147 ok === () Starting server 127.0.0.1:21149 ok -[ok]: BITFIELD: setup slave (103 ms) -[ok]: BITFIELD: write on master, read on slave (3 ms) -[ok]: BITFIELD_RO with only key as argument on read-only replica (0 ms) +[ok]: BITFIELD: setup slave (127 ms) +[ok]: BITFIELD: write on master, read on slave (2 ms) +[ok]: BITFIELD_RO with only key as argument on read-only replica (1 ms) [ok]: BITFIELD_RO fails when write option is used on read-only replica (0 ms) [5/96 done]: unit/bitfield (2 seconds) Testing unit/bitops === (bitops) Starting server 127.0.0.1:21151 ok [ok]: BITCOUNT against wrong type (1 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 (2 ms) +[ok]: BITCOUNT returns 0 with out of range indexes (1 ms) +[ok]: BITCOUNT returns 0 with negative indexes where start > end (0 ms) [ok]: BITCOUNT against test vector #1 (1 ms) -[ok]: BITCOUNT against test vector #2 (0 ms) +[ok]: BITCOUNT against test vector #2 (4 ms) [ok]: BITCOUNT against test vector #3 (0 ms) [ok]: BITCOUNT against test vector #4 (1 ms) -[ok]: BITCOUNT against test vector #5 (1 ms) -[ok]: BITCOUNT fuzzing without start/end (292 ms) -[ok]: BITCOUNT fuzzing with start/end (487 ms) -[ok]: BITCOUNT with start, end (2 ms) +[ok]: BITCOUNT against test vector #5 (0 ms) +[ok]: BITCOUNT fuzzing without start/end (437 ms) +[ok]: BITCOUNT fuzzing with start/end (552 ms) +[ok]: BITCOUNT with start, end (1 ms) [ok]: BITCOUNT with illegal arguments (1 ms) -[ok]: BITCOUNT against non-integer value (0 ms) +[ok]: BITCOUNT against non-integer value (2 ms) [ok]: BITCOUNT regression test for github issue #582 (1 ms) -[ok]: BITCOUNT misaligned prefix (0 ms) -[ok]: BITCOUNT misaligned prefix + full words + remainder (1 ms) -[ok]: BITOP NOT (empty string) (0 ms) +[ok]: BITCOUNT misaligned prefix (1 ms) +[ok]: BITCOUNT misaligned prefix + full words + remainder (0 ms) +[ok]: BITOP NOT (empty string) (4 ms) [ok]: BITOP NOT (known string) (1 ms) [ok]: BITOP where dest and target are the same key (0 ms) [ok]: BITOP AND|OR|XOR don't change the string with single input key (1 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 (158 ms) -[ok]: BITOP or fuzzing (287 ms) -[ok]: BITOP xor fuzzing (177 ms) -[ok]: BITOP NOT fuzzing (28 ms) +[ok]: BITOP shorter keys are zero-padded to the key with max length (0 ms) +[ok]: BITOP and fuzzing (344 ms) +[ok]: BITOP or fuzzing (412 ms) +[ok]: BITOP xor fuzzing (383 ms) +[ok]: BITOP NOT fuzzing (48 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 (1 ms) +[ok]: BITOP with non string source key (0 ms) +[ok]: BITOP with empty string after non empty string (issue #529) (2 ms) +[ok]: BITPOS against wrong type (0 ms) +[ok]: BITPOS will illegal arguments (4 ms) [ok]: BITPOS against non-integer value (1 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 (0 ms) [ok]: BITPOS bit=0 starting at unaligned address (0 ms) -[ok]: BITPOS bit=1 starting at unaligned address (0 ms) -[ok]: BITPOS bit=0 unaligned+full word+reminder (3 ms) -[ok]: BITPOS bit=1 unaligned+full word+reminder (3 ms) -[ok]: BITPOS bit=1 returns -1 if string is all 0 bits (7 ms) -[ok]: BITPOS bit=0 works with intervals (1 ms) -[ok]: BITPOS bit=1 works with intervals (2 ms) +[ok]: BITPOS bit=1 starting at unaligned address (1 ms) +[ok]: BITPOS bit=0 unaligned+full word+reminder (6 ms) +[ok]: BITPOS bit=1 unaligned+full word+reminder (6 ms) +[ok]: BITPOS bit=1 returns -1 if string is all 0 bits (10 ms) +[ok]: BITPOS bit=0 works with intervals (6 ms) +[ok]: BITPOS bit=1 works with intervals (1 ms) [ok]: BITPOS bit=0 changes behavior if end is given (1 ms) -[ok]: SETBIT/BITFIELD only increase dirty when the value changed (4 ms) -[ok]: BITPOS bit=1 fuzzy testing using SETBIT (267 ms) -[ok]: BITPOS bit=0 fuzzy testing using SETBIT (304 ms) -[ok]: BITPOS/BITCOUNT fuzzy testing using SETBIT (295 ms) +[ok]: SETBIT/BITFIELD only increase dirty when the value changed (8 ms) +[ok]: BITPOS bit=1 fuzzy testing using SETBIT (339 ms) +[ok]: BITPOS bit=0 fuzzy testing using SETBIT (284 ms) +[ok]: BITPOS/BITCOUNT fuzzy testing using SETBIT (445 ms) === (bitops) Starting server 127.0.0.1:21153 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 -[6/96 done]: unit/bitops (3 seconds) +[6/96 done]: unit/bitops (4 seconds) Testing unit/client-eviction === () Starting server 127.0.0.1:21155 ok -[ok]: client evicted due to large argv (107 ms) -[ok]: client evicted due to large query buf (57 ms) -[ok]: client evicted due to percentage of maxmemory (63 ms) -[ok]: client evicted due to large multi buf (315 ms) -[ok]: client evicted due to watched key list (355 ms) -[ok]: client evicted due to pubsub subscriptions (1124 ms) -[ok]: client evicted due to tracking redirection (40 ms) -[ok]: client evicted due to client tracking prefixes (1270 ms) -[ok]: client evicted due to output buf (26 ms) -[ok]: client no-evict on (88 ms) -[ok]: client no-evict off (66 ms) +[ok]: client evicted due to large argv (53 ms) +[ok]: client evicted due to large query buf (35 ms) +[ok]: client evicted due to percentage of maxmemory (39 ms) +[ok]: client evicted due to large multi buf (137 ms) +[ok]: client evicted due to watched key list (568 ms) +[ok]: client evicted due to pubsub subscriptions (1416 ms) +[ok]: client evicted due to tracking redirection (114 ms) +[ok]: client evicted due to client tracking prefixes (1709 ms) +[ok]: client evicted due to output buf (25 ms) +[ok]: client no-evict on (52 ms) +[ok]: client no-evict off (54 ms) === () Starting server 127.0.0.1:21157 ok -[ok]: avoid client eviction when client is freed by output buffer limit (249 ms) +[ok]: avoid client eviction when client is freed by output buffer limit (323 ms) === () Starting server 127.0.0.1:21159 ok -[ok]: decrease maxmemory-clients causes client eviction (291 ms) +[ok]: decrease maxmemory-clients causes client eviction (574 ms) === () Starting server 127.0.0.1:21161 ok -[ok]: evict clients only until below limit (284 ms) +[ok]: evict clients only until below limit (666 ms) === () Starting server 127.0.0.1:21163 ok -[ok]: evict clients in right order (large to small) (394 ms) +[ok]: evict clients in right order (large to small) (433 ms) === () Starting server 127.0.0.1:21165 ok -[ok]: client total memory grows during client no-evict (168 ms) -[ok]: client total memory grows during maxmemory-clients disabled (162 ms) -[7/96 done]: unit/client-eviction (6 seconds) +[ok]: client total memory grows during client no-evict (212 ms) +[ok]: client total memory grows during maxmemory-clients disabled (211 ms) +[7/96 done]: unit/client-eviction (8 seconds) Testing unit/dump === (dump) Starting server 127.0.0.1:21167 ok -[ok]: DUMP / RESTORE are able to serialize / unserialize a simple key (1 ms) -[ok]: RESTORE can set an arbitrary expire to the materialized key (0 ms) +[ok]: DUMP / RESTORE are able to serialize / unserialize a simple key (10 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 (0 ms) -[ok]: RESTORE can set LRU (1 ms) -[ok]: RESTORE can set LFU (13 ms) -[ok]: RESTORE returns an error of the key already exists (0 ms) +[ok]: RESTORE with ABSTTL in the past (1 ms) +[ok]: RESTORE can set LRU (8 ms) +[ok]: RESTORE can set LFU (43 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 (0 ms) -[ok]: RESTORE should not store key that are already expired, with REPLACE will propagate it as DEL or UNLINK (56 ms) -[ok]: DUMP of non existing key returns nil (0 ms) +[ok]: RESTORE should not store key that are already expired, with REPLACE will propagate it as DEL or UNLINK (79 ms) +[ok]: DUMP of non existing key returns nil (2 ms) === (repl) Starting server 127.0.0.1:21169 ok -[ok]: MIGRATE is caching connections (232 ms) -[ok]: MIGRATE cached connections are released after some time (15004 ms) +[ok]: MIGRATE is caching connections (448 ms) +[ok]: MIGRATE cached connections are released after some time (15003 ms) === (repl) Starting server 127.0.0.1:21171 ok -[ok]: MIGRATE is able to migrate a key between two instances (238 ms) +[ok]: MIGRATE is able to migrate a key between two instances (271 ms) === (repl) Starting server 127.0.0.1:21173 ok -[ok]: MIGRATE is able to copy a key between two instances (242 ms) +[ok]: MIGRATE is able to copy a key between two instances (263 ms) === (repl) Starting server 127.0.0.1:21175 ok -[ok]: MIGRATE will not overwrite existing keys, unless REPLACE is used (244 ms) +[ok]: MIGRATE will not overwrite existing keys, unless REPLACE is used (268 ms) === (repl) Starting server 127.0.0.1:21177 ok -[ok]: MIGRATE propagates TTL correctly (229 ms) +[ok]: MIGRATE propagates TTL correctly (267 ms) === (repl) Starting server 127.0.0.1:21179 ok -[ok]: MIGRATE can correctly transfer large values (7627 ms) +[ok]: MIGRATE can correctly transfer large values (9848 ms) === (repl) Starting server 127.0.0.1:21181 ok -[ok]: MIGRATE can correctly transfer hashes (264 ms) +[ok]: MIGRATE can correctly transfer hashes (275 ms) === (repl) Starting server 127.0.0.1:21183 ok -[ok]: MIGRATE timeout actually works (708 ms) +[ok]: MIGRATE timeout actually works (779 ms) === (repl) Starting server 127.0.0.1:21185 ok -[ok]: MIGRATE can migrate multiple keys at once (246 ms) +[ok]: MIGRATE can migrate multiple keys at once (276 ms) [ok]: MIGRATE with multiple keys must have empty key arg (0 ms) === (repl) Starting server 127.0.0.1:21187 ok -[ok]: MIGRATE with multiple keys migrate just existing ones (250 ms) +[ok]: MIGRATE with multiple keys migrate just existing ones (264 ms) === (repl) Starting server 127.0.0.1:21189 ok -[ok]: MIGRATE with multiple keys: stress command rewriting (235 ms) +[ok]: MIGRATE with multiple keys: stress command rewriting (288 ms) === (repl) Starting server 127.0.0.1:21191 ok -[ok]: MIGRATE with multiple keys: delete just ack keys (244 ms) +[ok]: MIGRATE with multiple keys: delete just ack keys (288 ms) === (repl) Starting server 127.0.0.1:21193 ok -[ok]: MIGRATE AUTH: correct and wrong password cases (228 ms) -[8/96 done]: unit/dump (27 seconds) +[ok]: MIGRATE AUTH: correct and wrong password cases (264 ms) +[8/96 done]: unit/dump (30 seconds) Testing unit/expire === (expire) Starting server 127.0.0.1:21195 ok [ok]: EXPIRE - set timeouts multiple times (1 ms) -[ok]: EXPIRE - It should be still possible to read 'x' (1 ms) -[ok]: EXPIRE - After 2.1 seconds the key should no longer be here (2101 ms) -[ok]: EXPIRE - write on expire should work (0 ms) -[ok]: EXPIREAT - Check for EXPIRE alike behavior (0 ms) -[ok]: SETEX - Set + Expire combo operation. Check for TTL (1 ms) -[ok]: SETEX - Check value (0 ms) -[ok]: SETEX - Overwrite old key (0 ms) -[ok]: SETEX - Wait for the key to expire (1102 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 (4 ms) +[ok]: EXPIREAT - Check for EXPIRE alike behavior (3 ms) +[ok]: SETEX - Set + Expire combo operation. Check for TTL (3 ms) +[ok]: SETEX - Check value (4 ms) +[ok]: SETEX - Overwrite old key (1 ms) +[ok]: SETEX - Wait for the key to expire (1101 ms) [ok]: SETEX - Wrong time parameter (1 ms) [ok]: PERSIST can undo an EXPIRE (1 ms) -[ok]: PERSIST returns 0 against non existing or non volatile keys (1 ms) +[ok]: PERSIST returns 0 against non existing or non volatile keys (0 ms) millisecond expire test attempts: 0 -[ok]: EXPIRE precision is now the millisecond (1106 ms) +[ok]: EXPIRE precision is now the millisecond (1103 ms) PSETEX sub-second expire test attempts: 0 [ok]: PSETEX can set sub-second expires (103 ms) PEXPIRE sub-second expire test attempts: 0 -[ok]: PEXPIRE can set sub-second expires (104 ms) +[ok]: PEXPIRE can set sub-second expires (105 ms) PEXPIREAT sub-second expire test attempts: 0 -[ok]: PEXPIREAT can set sub-second expires (204 ms) +[ok]: PEXPIREAT can set sub-second expires (208 ms) [ok]: TTL returns time to live in seconds (1 ms) -[ok]: PTTL returns time to live in milliseconds (0 ms) -[ok]: TTL / PTTL / EXPIRETIME / PEXPIRETIME return -1 if key has no expire (1 ms) +[ok]: PTTL returns time to live in milliseconds (1 ms) +[ok]: TTL / PTTL / EXPIRETIME / PEXPIRETIME return -1 if key has no expire (0 ms) [ok]: TTL / PTTL / EXPIRETIME / PEXPIRETIME return -2 if key does not exit (0 ms) [ok]: EXPIRETIME returns absolute expiration time in seconds (0 ms) -[ok]: PEXPIRETIME returns absolute expiration time in milliseconds (1 ms) -[ok]: Redis should actively expire keys incrementally (611 ms) -[ok]: Redis should lazy expire keys (1005 ms) +[ok]: PEXPIRETIME returns absolute expiration time in milliseconds (0 ms) +[ok]: Redis should actively expire keys incrementally (719 ms) +[ok]: Redis should lazy expire keys (1004 ms) [ok]: EXPIRE should not resurrect keys (issue #1026) (1006 ms) -[ok]: 5 keys in, 5 keys out (3 ms) -[ok]: EXPIRE with empty string as TTL should report an error (0 ms) +[ok]: 5 keys in, 5 keys out (1 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 (0 ms) -[ok]: SET with EX with smallest integer should report an error (0 ms) +[ok]: SET with EX with smallest integer should report an error (1 ms) [ok]: GETEX with big integer should report an error (0 ms) -[ok]: GETEX with smallest integer should report an error (1 ms) -[ok]: EXPIRE with big integer overflows when converted to milliseconds (4 ms) +[ok]: GETEX with smallest integer should report an error (4 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 (1 ms) [ok]: PEXPIREAT with big integer works (0 ms) [ok]: PEXPIREAT with big negative integer works (1 ms) === (external:skip) Starting server 127.0.0.1:21197 ok -[ok]: All time-to-live(TTL) in commands are propagated as absolute timestamp in milliseconds in AOF (2020 ms) -[ok]: All TTL in commands are propagated as absolute timestamp in replication stream (105 ms) +[ok]: All time-to-live(TTL) in commands are propagated as absolute timestamp in milliseconds in AOF (2027 ms) +[ok]: All TTL in commands are propagated as absolute timestamp in replication stream (35 ms) === (needs:repl external:skip) Starting server 127.0.0.1:21199 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 (54 ms) +[ok]: First server should have role slave after REPLICAOF (11 ms) +[ok]: For all replicated TTL-related commands, absolute expire times are identical on primary and replica (74 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 (311 ms) -[ok]: SET command will remove expire (1 ms) +Waiting for background AOF rewrite to finish... [ok]: expired key which is created in writeable replicas should be deleted by active expiry (275 ms) +[ok]: SET command will remove expire (0 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 (2005 ms) -[ok]: GETEX use of PERSIST option should remove TTL (0 ms) +[ok]: SET - use KEEPTTL option, TTL should not be removed after loadaof (2010 ms) +[ok]: GETEX use of PERSIST option should remove TTL (1 ms) [ok]: GETEX use of PERSIST option should remove TTL after loadaof (1 ms) -[ok]: GETEX propagate as to replica as PERSIST, DEL, or nothing (58 ms) -[ok]: EXPIRE with NX option on a key with ttl (0 ms) -[ok]: EXPIRE with NX option on a key without ttl (1 ms) -[ok]: EXPIRE with XX option on a key with ttl (0 ms) -[ok]: EXPIRE with XX option on a key without ttl (1 ms) +[ok]: GETEX propagate as to replica as PERSIST, DEL, or nothing (118 ms) +[ok]: EXPIRE with NX option on a key with ttl (6 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 (0 ms) [ok]: EXPIRE with GT option on a key with lower ttl (0 ms) -[ok]: EXPIRE with GT option on a key with higher ttl (2 ms) +[ok]: EXPIRE with GT option on a key with higher ttl (1 ms) [ok]: EXPIRE with GT option on a key without ttl (0 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 (1 ms) -[ok]: EXPIRE with LT and XX option on a key with ttl (0 ms) -[ok]: EXPIRE with LT and XX option on a key without ttl (1 ms) +[ok]: EXPIRE with LT option on a key with higher ttl (0 ms) +[ok]: EXPIRE with LT option on a key with lower ttl (1 ms) +[ok]: EXPIRE with LT option on a key without ttl (6 ms) +[ok]: EXPIRE with LT and XX option on a key with ttl (1 ms) +[ok]: EXPIRE with LT and XX option on a key without ttl (0 ms) [ok]: EXPIRE with conflicting options: LT GT (0 ms) [ok]: EXPIRE with conflicting options: NX GT (0 ms) -[ok]: EXPIRE with conflicting options: NX LT (0 ms) +[ok]: EXPIRE with conflicting options: NX LT (1 ms) [ok]: EXPIRE with conflicting options: NX XX (0 ms) -[ok]: EXPIRE with unsupported options (1 ms) [ok]: EXPIRE with unsupported options (0 ms) +[ok]: EXPIRE with unsupported options (1 ms) [ok]: EXPIRE with negative expiry (0 ms) [ok]: EXPIRE with negative expiry on a non-valitale key (0 ms) -[ok]: EXPIRE with non-existed key (0 ms) -[ok]: Redis should not propagate the read command on lazy expire (96 ms) -[ok]: SCAN: Lazy-expire should not be wrapped in MULTI/EXEC (101 ms) -[ok]: RANDOMKEY: Lazy-expire should not be wrapped in MULTI/EXEC (108 ms) +[ok]: EXPIRE with non-existed key (1 ms) +[ok]: Redis should not propagate the read command on lazy expire (79 ms) +[ok]: SCAN: Lazy-expire should not be wrapped in MULTI/EXEC (97 ms) +[ok]: RANDOMKEY: Lazy-expire should not be wrapped in MULTI/EXEC (106 ms) === (expire external:skip cluster) Starting server 127.0.0.1:21201 ok -[ok]: expire scan should skip dictionaries with lot's of empty buckets (1257 ms) +[ok]: expire scan should skip dictionaries with lot's of empty buckets (1361 ms) [9/96 done]: unit/expire (16 seconds) Testing unit/functions === (scripting) Starting server 127.0.0.1:21203 ok [ok]: FUNCTION - Basic usage (0 ms) -[ok]: FUNCTION - Load with unknown argument (0 ms) +[ok]: FUNCTION - Load with unknown argument (4 ms) [ok]: FUNCTION - Create an already exiting library raise error (0 ms) -[ok]: FUNCTION - Create an already exiting library raise error (case insensitive) (0 ms) -[ok]: FUNCTION - Create a library with wrong name format (1 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 (0 ms) -[ok]: FUNCTION - Test uncompiled script (0 ms) +[ok]: FUNCTION - Test uncompiled script (1 ms) [ok]: FUNCTION - test replace argument (0 ms) [ok]: FUNCTION - test function case insensitive (0 ms) -[ok]: FUNCTION - test replace argument with failure keeps old libraries (0 ms) +[ok]: FUNCTION - test replace argument with failure keeps old libraries (1 ms) [ok]: FUNCTION - test function delete (0 ms) -[ok]: FUNCTION - test fcall bad arguments (0 ms) +[ok]: FUNCTION - test fcall bad arguments (1 ms) [ok]: FUNCTION - test fcall bad number of keys arguments (0 ms) -[ok]: FUNCTION - test fcall negative number of keys (0 ms) -[ok]: FUNCTION - test delete on not exiting library (1 ms) +[ok]: FUNCTION - test fcall negative number of keys (4 ms) +[ok]: FUNCTION - test delete on not exiting library (4 ms) [ok]: FUNCTION - test function kill when function is not running (0 ms) [ok]: FUNCTION - test wrong subcommand (0 ms) [ok]: FUNCTION - test loading from rdb (1 ms) [ok]: FUNCTION - test debug reload different options (1 ms) [ok]: FUNCTION - test debug reload with nosave and noflush (2 ms) -[ok]: FUNCTION - test flushall and flushdb do not clean functions (2 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 (1 ms) -[ok]: FUNCTION - test function dump and restore with replace argument (1 ms) +[ok]: FUNCTION - test flushall and flushdb do not clean functions (11 ms) +[ok]: FUNCTION - test function dump and restore (1 ms) +[ok]: FUNCTION - test function dump and restore with flush argument (2 ms) +[ok]: FUNCTION - test function dump and restore with append argument (9 ms) +[ok]: FUNCTION - test function dump and restore with replace argument (4 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 (0 ms) -[ok]: FUNCTION - test keys and argv (0 ms) -[ok]: FUNCTION - test command get keys on fcall (0 ms) +[ok]: FUNCTION - test keys and argv (2 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 (420 ms) -[ok]: FUNCTION - test script kill not working on function (419 ms) -[ok]: FUNCTION - test function kill not working on eval (433 ms) +[ok]: FUNCTION - test function kill (419 ms) +[ok]: FUNCTION - test script kill not working on function (432 ms) +[ok]: FUNCTION - test function kill not working on eval (424 ms) [ok]: FUNCTION - test function flush (3 ms) -[ok]: FUNCTION - async function flush rebuilds Lua VM without causing race condition between main and lazyfree thread (180 ms) +[ok]: FUNCTION - async function flush rebuilds Lua VM without causing race condition between main and lazyfree thread (249 ms) [ok]: FUNCTION - test function wrong argument (0 ms) === (scripting repl external:skip) Starting server 127.0.0.1:21205 ok === () Starting server 127.0.0.1:21207 ok -[ok]: Connect a replica to the master instance (106 ms) -[ok]: FUNCTION - creation is replicated to replica (2 ms) +[ok]: Connect a replica to the master instance (107 ms) +[ok]: FUNCTION - creation is replicated to replica (1 ms) [ok]: FUNCTION - call on replica (0 ms) -[ok]: FUNCTION - restore is replicated to replica (1 ms) -[ok]: FUNCTION - delete is replicated to replica (1 ms) +[ok]: FUNCTION - restore is replicated to replica (2 ms) +[ok]: FUNCTION - delete is replicated to replica (0 ms) [ok]: FUNCTION - flush is replicated to replica (5 ms) -[ok]: Disconnecting the replica from master instance (112 ms) +[ok]: Disconnecting the replica from master instance (107 ms) [ok]: FUNCTION - test replication to replica on rdb phase (0 ms) -[ok]: FUNCTION - test replication to replica on rdb phase info command (0 ms) +[ok]: FUNCTION - test replication to replica on rdb phase info command (1 ms) [ok]: FUNCTION - create on read only replica (0 ms) [ok]: FUNCTION - delete on read only replica (0 ms) -[ok]: FUNCTION - function effect is replicated to replica (1 ms) -[ok]: FUNCTION - modify key space of read only replica (1 ms) +[ok]: FUNCTION - function effect is replicated to replica (7 ms) +[ok]: FUNCTION - modify key space of read only replica (0 ms) === () Starting server 127.0.0.1:21209 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 (355 ms) +Waiting for background AOF rewrite to finish... +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 (364 ms) === (scripting) Starting server 127.0.0.1:21211 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 (0 ms) -[ok]: LIBRARIES - test registration function name collision (0 ms) -[ok]: LIBRARIES - test registration function name collision on same library (0 ms) -[ok]: LIBRARIES - test registration with no argument (0 ms) +[ok]: LIBRARIES - test registration failure revert the entire load (1 ms) +[ok]: LIBRARIES - test registration function name collision (1 ms) +[ok]: LIBRARIES - test registration function name collision on same library (3 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 (0 ms) @@ -1342,63 +1371,63 @@ [ok]: LIBRARIES - test registration with empty name (0 ms) [ok]: LIBRARIES - math.random from function load (0 ms) [ok]: LIBRARIES - redis.call from function load (0 ms) -[ok]: LIBRARIES - redis.setresp from function load (0 ms) +[ok]: LIBRARIES - redis.setresp from function load (3 ms) [ok]: LIBRARIES - redis.set_repl from function load (0 ms) [ok]: LIBRARIES - redis.acl_check_cmd from function load (0 ms) -[ok]: LIBRARIES - malicious access test (0 ms) -[ok]: LIBRARIES - delete removed all functions on library (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 (0 ms) [ok]: LIBRARIES - register library with no functions (0 ms) [ok]: LIBRARIES - load timeout (502 ms) -[ok]: LIBRARIES - verify global protection on the load run (0 ms) -[ok]: LIBRARIES - named arguments (3 ms) -[ok]: LIBRARIES - named arguments, bad function name (1 ms) +[ok]: LIBRARIES - verify global protection on the load run (5 ms) +[ok]: LIBRARIES - named arguments (1 ms) +[ok]: LIBRARIES - named arguments, bad function name (0 ms) [ok]: LIBRARIES - named arguments, bad callback type (1 ms) [ok]: LIBRARIES - named arguments, bad description (0 ms) -[ok]: LIBRARIES - named arguments, unknown argument (4 ms) +[ok]: LIBRARIES - named arguments, unknown argument (1 ms) [ok]: LIBRARIES - named arguments, missing function name (0 ms) -[ok]: LIBRARIES - named arguments, missing callback (0 ms) -[ok]: FUNCTION - test function restore with function name collision (3 ms) +[ok]: LIBRARIES - named arguments, missing callback (1 ms) +[ok]: FUNCTION - test function restore with function name collision (8 ms) [ok]: FUNCTION - test function list with code (1 ms) -[ok]: FUNCTION - test function list with pattern (5 ms) +[ok]: FUNCTION - test function list with pattern (1 ms) [ok]: FUNCTION - test function list wrong argument (0 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 (0 ms) -[ok]: FUNCTION - verify OOM on function load and function restore (2 ms) -[ok]: FUNCTION - verify allow-omm allows running any command (1 ms) +[ok]: FUNCTION - verify OOM on function load and function restore (8 ms) +[ok]: FUNCTION - verify allow-omm allows running any command (0 ms) === (scripting) Starting server 127.0.0.1:21213 ok -[ok]: FUNCTION - wrong flags type named arguments (1 ms) -[ok]: FUNCTION - wrong flag type (0 ms) +[ok]: FUNCTION - wrong flags type named arguments (6 ms) +[ok]: FUNCTION - wrong flag type (4 ms) [ok]: FUNCTION - unknown flag (0 ms) -[ok]: FUNCTION - write script on fcall_ro (1 ms) -[ok]: FUNCTION - write script with no-writes flag (0 ms) +[ok]: FUNCTION - write script on fcall_ro (0 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 (0 ms) -[ok]: FUNCTION - allow stale (6 ms) -[ok]: FUNCTION - redis version api (5 ms) -[ok]: FUNCTION - function stats (5 ms) +[ok]: FUNCTION - deny oom on no-writes function (5 ms) +[ok]: FUNCTION - allow stale (2 ms) +[ok]: FUNCTION - redis version api (1 ms) +[ok]: FUNCTION - function stats (4 ms) [ok]: FUNCTION - function stats reloaded correctly from rdb (1 ms) -[ok]: FUNCTION - function stats delete library (1 ms) -[ok]: FUNCTION - test function stats on loading failure (8 ms) +[ok]: FUNCTION - function stats delete library (0 ms) +[ok]: FUNCTION - test function stats on loading failure (1 ms) [ok]: FUNCTION - function stats cleaned after flush (1 ms) [ok]: FUNCTION - function test empty engine (0 ms) -[ok]: FUNCTION - function test unknown metadata value (0 ms) +[ok]: FUNCTION - function test unknown metadata value (1 ms) [ok]: FUNCTION - function test no name (0 ms) [ok]: FUNCTION - function test multiple names (1 ms) -[ok]: FUNCTION - function test name with quotes (1 ms) -[ok]: FUNCTION - trick global protection 1 (7 ms) -[ok]: FUNCTION - test getmetatable on script load (1 ms) +[ok]: FUNCTION - function test name with quotes (0 ms) +[ok]: FUNCTION - trick global protection 1 (2 ms) +[ok]: FUNCTION - test getmetatable on script load (4 ms) [10/96 done]: unit/functions (5 seconds) Testing unit/geo === (geo) Starting server 127.0.0.1:21215 ok -[ok]: GEO with wrong type src key (19 ms) -[ok]: GEO with non existing src key (4 ms) +[ok]: GEO with wrong type src key (8 ms) +[ok]: GEO with non existing src key (1 ms) [ok]: GEO BYLONLAT with empty search (1 ms) -[ok]: GEO BYMEMBER with non existing member (6 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 (0 ms) +[ok]: GEOADD update with CH option (5 ms) [ok]: GEOADD update with NX option (0 ms) [ok]: GEOADD update with XX option (1 ms) [ok]: GEOADD update with CH NX option (0 ms) @@ -1407,320 +1436,320 @@ [ok]: GEOADD update with invalid option (1 ms) [ok]: GEOADD invalid coordinates (0 ms) [ok]: GEOADD multi add (0 ms) -[ok]: Check geoset values (0 ms) -[ok]: GEORADIUS simple (sorted) (1 ms) +[ok]: Check geoset values (1 ms) +[ok]: GEORADIUS simple (sorted) (4 ms) [ok]: GEORADIUS_RO simple (sorted) (0 ms) -[ok]: GEOSEARCH simple (sorted) (0 ms) +[ok]: GEOSEARCH simple (sorted) (1 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 FROMLONLAT and FROMMEMBER one must exist (0 ms) +[ok]: GEOSEARCH BYRADIUS and BYBOX cannot exist at the same time (7 ms) [ok]: GEOSEARCH BYRADIUS and BYBOX one must exist (0 ms) [ok]: GEOSEARCH with STOREDIST option (0 ms) [ok]: GEORADIUS withdist (sorted) (1 ms) [ok]: GEOSEARCH withdist (sorted) (0 ms) -[ok]: GEORADIUS with COUNT (5 ms) -[ok]: GEORADIUS with multiple WITH* tokens (1 ms) +[ok]: GEORADIUS with COUNT (0 ms) +[ok]: GEORADIUS with multiple WITH* tokens (7 ms) [ok]: GEORADIUS with ANY not sorted by default (0 ms) [ok]: GEORADIUS with ANY sorted by ASC (0 ms) [ok]: GEORADIUS with ANY but no COUNT (0 ms) -[ok]: GEORADIUS with COUNT but missing integer argument (1 ms) +[ok]: GEORADIUS with COUNT but missing integer argument (0 ms) [ok]: GEORADIUS with COUNT DESC (0 ms) -[ok]: GEORADIUS HUGE, issue #2767 (1 ms) +[ok]: GEORADIUS HUGE, issue #2767 (0 ms) [ok]: GEORADIUSBYMEMBER simple (sorted) (0 ms) -[ok]: GEORADIUSBYMEMBER_RO simple (sorted) (1 ms) +[ok]: GEORADIUSBYMEMBER_RO simple (sorted) (0 ms) [ok]: GEORADIUSBYMEMBER search areas contain satisfied points in oblique direction (1 ms) -[ok]: GEORADIUSBYMEMBER crossing pole search (1 ms) +[ok]: GEORADIUSBYMEMBER crossing pole search (0 ms) [ok]: GEOSEARCH FROMMEMBER simple (sorted) (0 ms) -[ok]: GEOSEARCH vs GEORADIUS (7 ms) +[ok]: GEOSEARCH vs GEORADIUS (0 ms) [ok]: GEOSEARCH non square, long and narrow (1 ms) [ok]: GEOSEARCH corner point test (1 ms) -[ok]: GEORADIUSBYMEMBER withdist (sorted) (0 ms) -[ok]: GEOHASH is able to return geohash strings (1 ms) +[ok]: GEORADIUSBYMEMBER withdist (sorted) (6 ms) +[ok]: GEOHASH is able to return geohash strings (0 ms) [ok]: GEOHASH with only key as argument (1 ms) -[ok]: GEOPOS simple (1 ms) -[ok]: GEOPOS missing element (0 ms) -[ok]: GEOPOS with only key as argument (1 ms) +[ok]: GEOPOS simple (0 ms) +[ok]: GEOPOS missing element (1 ms) +[ok]: GEOPOS with only key as argument (0 ms) [ok]: GEODIST simple & unit (1 ms) -[ok]: GEODIST missing elements (0 ms) +[ok]: GEODIST missing elements (1 ms) [ok]: GEORADIUS STORE option: syntax error (0 ms) [ok]: GEOSEARCHSTORE STORE option: syntax error (0 ms) [ok]: GEORANGE STORE option: incompatible options (1 ms) [ok]: GEORANGE STORE option: plain usage (1 ms) -[ok]: GEORADIUSBYMEMBER STORE/STOREDIST option: plain usage (1 ms) +[ok]: GEORADIUSBYMEMBER STORE/STOREDIST option: plain usage (6 ms) [ok]: GEOSEARCHSTORE STORE option: plain usage (0 ms) [ok]: GEORANGE STOREDIST option: plain usage (1 ms) -[ok]: GEOSEARCHSTORE STOREDIST option: plain usage (1 ms) +[ok]: GEOSEARCHSTORE STOREDIST option: plain usage (0 ms) [ok]: GEORANGE STOREDIST option: COUNT ASC and DESC (1 ms) -[ok]: GEOSEARCH the box spans -180° or 180° (1 ms) -[ok]: GEOSEARCH with small distance (0 ms) -[ok]: GEOSEARCH fuzzy test - byradius (15266 ms) -[ok]: GEOSEARCH fuzzy test - bybox (11710 ms) -[ok]: GEOSEARCH box edges fuzzy test (45 ms) -[11/96 done]: unit/geo (27 seconds) +[ok]: GEOSEARCH the box spans -180° or 180° (0 ms) +[ok]: GEOSEARCH with small distance (1 ms) +[ok]: GEOSEARCH fuzzy test - byradius (24962 ms) +[ok]: GEOSEARCH fuzzy test - bybox (16674 ms) +[ok]: GEOSEARCH box edges fuzzy test (66 ms) +[11/96 done]: unit/geo (42 seconds) Testing unit/hyperloglog === (hll) Starting server 127.0.0.1:21217 ok -[ok]: HyperLogLog self test passes (650 ms) -[ok]: PFADD without arguments creates an HLL value (0 ms) -[ok]: Approximated cardinality after creation is zero (1 ms) +[ok]: HyperLogLog self test passes (597 ms) +[ok]: PFADD without arguments creates an HLL value (1 ms) +[ok]: Approximated cardinality after creation is zero (0 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]: PFADD works with empty string (regression) (1 ms) [ok]: PFCOUNT returns approximated cardinality of set (1 ms) -[ok]: HyperLogLogs are promote from sparse to dense (447 ms) +[ok]: HyperLogLogs are promote from sparse to dense (491 ms) [ok]: Change hll-sparse-max-bytes (1 ms) -[ok]: Hyperloglog promote to dense well in different hll-sparse-max-bytes (58 ms) -[ok]: HyperLogLog sparse encoding stress test (1087 ms) +[ok]: Hyperloglog promote to dense well in different hll-sparse-max-bytes (76 ms) +[ok]: HyperLogLog sparse encoding stress test (1029 ms) [ok]: Corrupted sparse HyperLogLogs are detected: Additional at tail (0 ms) [ok]: Corrupted sparse HyperLogLogs are detected: Broken magic (1 ms) -[ok]: Corrupted sparse HyperLogLogs are detected: Invalid encoding (0 ms) -[ok]: Corrupted sparse HyperLogLogs doesn't cause overflow and out-of-bounds with XZERO opcode (60 ms) -[ok]: Corrupted sparse HyperLogLogs doesn't cause overflow and out-of-bounds with ZERO opcode (14559 ms) -[ok]: Corrupted dense HyperLogLogs are detected: Wrong length (4 ms) -[ok]: Fuzzing dense/sparse encoding: Redis should always detect errors (48053 ms) +[ok]: Corrupted sparse HyperLogLogs are detected: Invalid encoding (1 ms) +[ok]: Corrupted sparse HyperLogLogs doesn't cause overflow and out-of-bounds with XZERO opcode (72 ms) +[ok]: Corrupted sparse HyperLogLogs doesn't cause overflow and out-of-bounds with ZERO opcode (16077 ms) +[ok]: Corrupted dense HyperLogLogs are detected: Wrong length (8 ms) +[ok]: Fuzzing dense/sparse encoding: Redis should always detect errors (46435 ms) [ok]: PFADD, PFCOUNT, PFMERGE type checking works (1 ms) -[ok]: PFMERGE results on the cardinality of union of sets (1 ms) +[ok]: PFMERGE results on the cardinality of union of sets (2 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 (0 ms) -[ok]: PFMERGE results with simd (2784 ms) -[ok]: PFCOUNT multiple-keys merge returns cardinality of union #1 (11373 ms) -[ok]: PFCOUNT multiple-keys merge returns cardinality of union #2 (3848 ms) -[ok]: PFDEBUG GETREG returns the HyperLogLog raw registers (1679 ms) +[ok]: PFMERGE with one non-empty input key, dest key is actually one of the source keys (1 ms) +[ok]: PFMERGE results with simd (1201 ms) +[ok]: PFCOUNT multiple-keys merge returns cardinality of union #1 (5010 ms) +[ok]: PFCOUNT multiple-keys merge returns cardinality of union #2 (2305 ms) +[ok]: PFDEBUG GETREG returns the HyperLogLog raw registers (776 ms) [ok]: PFADD / PFCOUNT cache invalidation works (1 ms) -[12/96 done]: unit/hyperloglog (85 seconds) +[12/96 done]: unit/hyperloglog (74 seconds) Testing unit/info-command === (info and its relative command) Starting server 127.0.0.1:21219 ok [ok]: info command with at most one sub command (2 ms) [ok]: info command with one sub-section (0 ms) -[ok]: info command with multiple sub-sections (2 ms) -[13/96 done]: unit/info-command (0 seconds) +[ok]: info command with multiple sub-sections (1 ms) +[13/96 done]: unit/info-command (1 seconds) Testing unit/info-keysizes === () Starting server 127.0.0.1:21221 ok -[ok]: KEYSIZES - Test i'th bin counts keysizes between (2^i) and (2^(i+1)-1) as expected (4 ms) -[ok]: KEYSIZES - Histogram of values of Bytes, Kilo and Mega (285 ms) -[ok]: KEYSIZES - Test hyperloglog (15052 ms) -[ok]: KEYSIZES - Test List (119 ms) -[ok]: KEYSIZES - Test SET (273 ms) -[ok]: KEYSIZES - Test ZSET (128 ms) -[ok]: KEYSIZES - Test STRING (117 ms) -[ok]: KEYSIZES - Test HASH (listpackex) (685 ms) -[ok]: KEYSIZES - Test Hash field lazy expiration (listpackex) (104 ms) -[ok]: KEYSIZES - Test HASH (hashtable) (677 ms) -[ok]: KEYSIZES - Test Hash field lazy expiration (hashtable) (109 ms) +[ok]: KEYSIZES - Test i'th bin counts keysizes between (2^i) and (2^(i+1)-1) as expected (6 ms) +[ok]: KEYSIZES - Histogram of values of Bytes, Kilo and Mega (344 ms) +[ok]: KEYSIZES - Test hyperloglog (13985 ms) +[ok]: KEYSIZES - Test List (128 ms) +[ok]: KEYSIZES - Test SET (275 ms) +[ok]: KEYSIZES - Test ZSET (130 ms) +[ok]: KEYSIZES - Test STRING (277 ms) +[ok]: KEYSIZES - Test HASH (listpackex) (694 ms) +[ok]: KEYSIZES - Test Hash field lazy expiration (listpackex) (94 ms) +[ok]: KEYSIZES - Test HASH (hashtable) (623 ms) +[ok]: KEYSIZES - Test Hash field lazy expiration (hashtable) (101 ms) [ok]: KEYSIZES - Test STRING BITS (6 ms) -[ok]: KEYSIZES - Test RESTORE (2 ms) -[ok]: KEYSIZES - Test RENAME (2 ms) -[ok]: KEYSIZES - Test MOVE (2 ms) -[ok]: KEYSIZES - Test SWAPDB (2 ms) -[ok]: KEYSIZES - DEBUG RELOAD reset keysizes (3 ms) -[ok]: KEYSIZES - Test RDB (211 ms) +[ok]: KEYSIZES - Test RESTORE (3 ms) +[ok]: KEYSIZES - Test RENAME (1 ms) +[ok]: KEYSIZES - Test MOVE (1 ms) +[ok]: KEYSIZES - Test SWAPDB (3 ms) +[ok]: KEYSIZES - DEBUG RELOAD reset keysizes (5 ms) +[ok]: KEYSIZES - Test RDB (212 ms) === (needs:repl external:skip) Starting server 127.0.0.1:21223 ok -[ok]: KEYSIZES - Test i'th bin counts keysizes between (2^i) and (2^(i+1)-1) as expected (replica) (74 ms) -[ok]: KEYSIZES - Histogram of values of Bytes, Kilo and Mega (replica) (544 ms) -[ok]: KEYSIZES - Test hyperloglog (replica) (19863 ms) -[ok]: KEYSIZES - Test List (replica) (297 ms) -[ok]: KEYSIZES - Test SET (replica) (303 ms) -[ok]: KEYSIZES - Test ZSET (replica) (313 ms) -[ok]: KEYSIZES - Test STRING (replica) (288 ms) -[ok]: KEYSIZES - Test HASH (listpackex) (replica) (790 ms) -[ok]: KEYSIZES - Test Hash field lazy expiration (listpackex) (replica) (346 ms) -[ok]: KEYSIZES - Test HASH (hashtable) (replica) (668 ms) -[ok]: KEYSIZES - Test Hash field lazy expiration (hashtable) (replica) (250 ms) -[ok]: KEYSIZES - Test STRING BITS (replica) (15 ms) -[ok]: KEYSIZES - Test RESTORE (replica) (54 ms) +[ok]: KEYSIZES - Test i'th bin counts keysizes between (2^i) and (2^(i+1)-1) as expected (replica) (72 ms) +[ok]: KEYSIZES - Histogram of values of Bytes, Kilo and Mega (replica) (448 ms) +[ok]: KEYSIZES - Test hyperloglog (replica) (16502 ms) +[ok]: KEYSIZES - Test List (replica) (282 ms) +[ok]: KEYSIZES - Test SET (replica) (125 ms) +[ok]: KEYSIZES - Test ZSET (replica) (287 ms) +[ok]: KEYSIZES - Test STRING (replica) (122 ms) +[ok]: KEYSIZES - Test HASH (listpackex) (replica) (703 ms) +[ok]: KEYSIZES - Test Hash field lazy expiration (listpackex) (replica) (116 ms) +[ok]: KEYSIZES - Test HASH (hashtable) (replica) (684 ms) +[ok]: KEYSIZES - Test Hash field lazy expiration (hashtable) (replica) (128 ms) +[ok]: KEYSIZES - Test STRING BITS (replica) (10 ms) +[ok]: KEYSIZES - Test RESTORE (replica) (3 ms) [ok]: KEYSIZES - Test RENAME (replica) (2 ms) -[ok]: KEYSIZES - Test MOVE (replica) (2 ms) -[ok]: KEYSIZES - Test SWAPDB (replica) (2 ms) -[ok]: KEYSIZES - DEBUG RELOAD reset keysizes (replica) (5 ms) -[ok]: KEYSIZES - Test RDB (replica) (231 ms) -[14/96 done]: unit/info-keysizes (42 seconds) +[ok]: KEYSIZES - Test MOVE (replica) (3 ms) +[ok]: KEYSIZES - Test SWAPDB (replica) (3 ms) +[ok]: KEYSIZES - DEBUG RELOAD reset keysizes (replica) (6 ms) +[ok]: KEYSIZES - Test RDB (replica) (181 ms) +[14/96 done]: unit/info-keysizes (37 seconds) Testing unit/info === (info external:skip) Starting server 127.0.0.1:21225 ok === () Starting server 127.0.0.1:21227 ok -[ok]: latencystats: disable/enable (9 ms) -[ok]: latencystats: configure percentiles (5 ms) -[ok]: latencystats: bad configure percentiles (14 ms) -[ok]: latencystats: blocking commands (18 ms) +[ok]: latencystats: disable/enable (3 ms) +[ok]: latencystats: configure percentiles (4 ms) +[ok]: latencystats: bad configure percentiles (3 ms) +[ok]: latencystats: blocking commands (34 ms) [ok]: latencystats: subcommands (2 ms) -[ok]: latencystats: measure latency (52 ms) -[ok]: errorstats: failed call authentication error (6 ms) -[ok]: errorstats: failed call within MULTI/EXEC (9 ms) -[ok]: errorstats: failed call within LUA (6 ms) -[ok]: errorstats: failed call NOSCRIPT error (8 ms) +[ok]: latencystats: measure latency (53 ms) +[ok]: errorstats: failed call authentication error (3 ms) +[ok]: errorstats: failed call within MULTI/EXEC (5 ms) +[ok]: errorstats: failed call within LUA (4 ms) +[ok]: errorstats: failed call NOSCRIPT error (3 ms) [ok]: errorstats: failed call NOGROUP error (2 ms) -[ok]: errorstats: rejected call unknown command (2 ms) -[ok]: errorstats: rejected call within MULTI/EXEC (13 ms) -[ok]: errorstats: rejected call due to wrong arity (1 ms) +[ok]: errorstats: rejected call unknown command (3 ms) +[ok]: errorstats: rejected call within MULTI/EXEC (3 ms) +[ok]: errorstats: rejected call due to wrong arity (2 ms) [ok]: errorstats: rejected call by OOM error (2 ms) [ok]: errorstats: rejected call by authorization error (2 ms) -[ok]: errorstats: blocking commands (119 ms) -[ok]: errorstats: limit errors will not increase indefinitely (158 ms) +[ok]: errorstats: blocking commands (18 ms) +[ok]: errorstats: limit errors will not increase indefinitely (172 ms) eventloop metrics cycle1: 1103, cycle2: 1105 -eventloop metrics el_sum1: 39572, el_sum2: 39991 -eventloop metrics cmd_sum1: 9850, cmd_sum2: 9884 -[ok]: stats: eventloop metrics (112 ms) +eventloop metrics el_sum1: 49212, el_sum2: 49673 +eventloop metrics cmd_sum1: 10736, cmd_sum2: 10763 +[ok]: stats: eventloop metrics (113 ms) instantaneous metrics instantaneous_eventloop_cycles_per_sec: 8 -instantaneous metrics instantaneous_eventloop_duration_usec: 302 -[ok]: stats: instantaneous metrics (1603 ms) -[ok]: stats: debug metrics (117 ms) -[ok]: stats: client input and output buffer limit disconnections (74 ms) -[ok]: clients: pubsub clients (35 ms) -[ok]: clients: watching clients (21 ms) +instantaneous metrics instantaneous_eventloop_duration_usec: 388 +[ok]: stats: instantaneous metrics (1604 ms) +[ok]: stats: debug metrics (113 ms) +[ok]: stats: client input and output buffer limit disconnections (117 ms) +[ok]: clients: pubsub clients (53 ms) +[ok]: clients: watching clients (36 ms) === (info external:skip) Starting server 127.0.0.1:21229 ok -[ok]: memory: database and pubsub overhead and rehashing dict count (7 ms) -[15/96 done]: unit/info (4 seconds) +[ok]: memory: database and pubsub overhead and rehashing dict count (4 ms) +[15/96 done]: unit/info (3 seconds) Testing unit/introspection-2 === (introspection) Starting server 127.0.0.1:21231 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 (3005 ms) -[ok]: TOUCH alters the last access time of a key (3003 ms) -[ok]: Operations in no-touch mode do not alter the last access time of a key (1105 ms) +[ok]: The microsecond part of the TIME command will not overflow (1 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 (3002 ms) +[ok]: Operations in no-touch mode do not alter the last access time of a key (1103 ms) [ok]: Operations in no-touch mode TOUCH alters the last access time of a key (1102 ms) [ok]: Operations in no-touch mode TOUCH from script alters the last access time of a key (1102 ms) -[ok]: TOUCH returns the number of existing keys specified (6 ms) +[ok]: TOUCH returns the number of existing keys specified (1 ms) [ok]: command stats for GEOADD (1 ms) -[ok]: errors stats for GEOADD (0 ms) -[ok]: command stats for EXPIRE (6 ms) +[ok]: errors stats for GEOADD (1 ms) +[ok]: command stats for EXPIRE (1 ms) [ok]: command stats for BRPOP (1 ms) [ok]: command stats for MULTI (2 ms) -[ok]: command stats for scripts (12 ms) -[ok]: COMMAND COUNT get total number of Redis commands (0 ms) -[ok]: COMMAND GETKEYS GET (1 ms) -[ok]: COMMAND GETKEYSANDFLAGS (0 ms) -[ok]: COMMAND GETKEYSANDFLAGS invalid args (1 ms) +[ok]: command stats for scripts (1 ms) +[ok]: COMMAND COUNT get total number of Redis commands (1 ms) +[ok]: COMMAND GETKEYS GET (0 ms) +[ok]: COMMAND GETKEYSANDFLAGS (1 ms) +[ok]: COMMAND GETKEYSANDFLAGS invalid args (0 ms) [ok]: COMMAND GETKEYS MEMORY USAGE (0 ms) [ok]: COMMAND GETKEYS XGROUP (0 ms) [ok]: COMMAND GETKEYS EVAL with keys (0 ms) -[ok]: COMMAND GETKEYS EVAL without keys (6 ms) +[ok]: COMMAND GETKEYS EVAL without keys (1 ms) [ok]: COMMAND GETKEYS LCS (0 ms) -[ok]: COMMAND GETKEYS MORE THAN 256 KEYS (3 ms) -[ok]: COMMAND LIST syntax error (0 ms) -[ok]: COMMAND LIST WITHOUT FILTERBY (13 ms) +[ok]: COMMAND GETKEYS MORE THAN 256 KEYS (2 ms) +[ok]: COMMAND LIST syntax error (1 ms) +[ok]: COMMAND LIST WITHOUT FILTERBY (2 ms) [ok]: COMMAND LIST FILTERBY ACLCAT against non existing category (0 ms) [ok]: COMMAND LIST FILTERBY ACLCAT - list all commands/subcommands (1 ms) [ok]: COMMAND LIST FILTERBY PATTERN - list all commands/subcommands (1 ms) -[ok]: COMMAND LIST FILTERBY MODULE against non existing module (0 ms) -[ok]: COMMAND INFO of invalid subcommands (5 ms) -[ok]: SET command will not be marked with movablekeys (4 ms) +[ok]: COMMAND LIST FILTERBY MODULE against non existing module (1 ms) +[ok]: COMMAND INFO of invalid subcommands (0 ms) +[ok]: SET command will not be marked with movablekeys (0 ms) [ok]: GET command will not be marked with movablekeys (0 ms) -[ok]: MSET command will not be marked with movablekeys (0 ms) +[ok]: MSET command will not be marked with movablekeys (1 ms) [ok]: BITFIELD command will not be marked with movablekeys (0 ms) [ok]: LMOVE command will not be marked with movablekeys (1 ms) [ok]: LPOP command will not be marked with movablekeys (0 ms) -[ok]: BLPOP command will not be marked with movablekeys (1 ms) -[ok]: PING command will not be marked with movablekeys (0 ms) -[ok]: MEMORY command will not be marked with movablekeys (5 ms) -[ok]: MEMORY|USAGE command will not be marked with movablekeys (3 ms) -[ok]: RENAME command will not be marked with movablekeys (1 ms) +[ok]: BLPOP command will not be marked with movablekeys (0 ms) +[ok]: PING command will not be marked with movablekeys (1 ms) +[ok]: MEMORY command will not be marked with movablekeys (0 ms) +[ok]: MEMORY|USAGE command will not be marked with movablekeys (1 ms) +[ok]: RENAME command will not be marked with movablekeys (0 ms) [ok]: GEORADIUS_RO command will not be marked with movablekeys (0 ms) -[ok]: ZUNIONSTORE command is marked with movablekeys (1 ms) -[ok]: XREAD command is marked with movablekeys (1 ms) -[ok]: EVAL command is marked with movablekeys (4 ms) -[ok]: SORT command is marked with movablekeys (1 ms) +[ok]: ZUNIONSTORE command is marked with movablekeys (0 ms) +[ok]: XREAD command is marked with movablekeys (0 ms) +[ok]: EVAL command is marked with movablekeys (1 ms) +[ok]: SORT command is marked with movablekeys (0 ms) [ok]: SORT_RO command is marked with movablekeys (0 ms) -[ok]: MIGRATE command is marked with movablekeys (1 ms) -[ok]: GEORADIUS command is marked with movablekeys (1 ms) +[ok]: MIGRATE command is marked with movablekeys (0 ms) +[ok]: GEORADIUS command is marked with movablekeys (0 ms) [16/96 done]: unit/introspection-2 (9 seconds) Testing unit/introspection === (introspection) Starting server 127.0.0.1:21233 ok [ok]: PING (1 ms) -[ok]: CLIENT LIST (1 ms) -[ok]: CLIENT LIST with IDs (0 ms) -[ok]: CLIENT INFO (1 ms) +[ok]: CLIENT LIST (0 ms) +[ok]: CLIENT LIST with IDs (2 ms) +[ok]: CLIENT INFO (0 ms) [ok]: CLIENT KILL with illegal arguments (1 ms) CLIENT KILL maxAGE will kill old clients test attempts: 0 -[ok]: CLIENT KILL maxAGE will kill old clients (2045 ms) -[ok]: CLIENT KILL SKIPME YES/NO will kill all clients (65 ms) -[ok]: CLIENT command unhappy path coverage (2 ms) -[ok]: CLIENT KILL close the client connection during bgsave (103 ms) -[ok]: CLIENT REPLY OFF/ON: disable all commands reply (69 ms) +[ok]: CLIENT KILL maxAGE will kill old clients (2035 ms) +[ok]: CLIENT KILL SKIPME YES/NO will kill all clients (108 ms) +[ok]: CLIENT command unhappy path coverage (4 ms) +[ok]: CLIENT KILL close the client connection during bgsave (76 ms) +[ok]: CLIENT REPLY OFF/ON: disable all commands reply (64 ms) [ok]: CLIENT REPLY SKIP: skip the next command reply (75 ms) -[ok]: CLIENT REPLY ON: unset SKIP flag (68 ms) -[ok]: MONITOR can log executed commands (21 ms) -[ok]: MONITOR can log commands issued by the scripting engine (26 ms) -[ok]: MONITOR can log commands issued by functions (14 ms) -[ok]: MONITOR supports redacting command arguments (14 ms) -[ok]: MONITOR correctly handles multi-exec cases (17 ms) -[ok]: MONITOR log blocked command only once (151 ms) -[ok]: CLIENT GETNAME should return NIL if name is not assigned (1 ms) +[ok]: CLIENT REPLY ON: unset SKIP flag (72 ms) +[ok]: MONITOR can log executed commands (31 ms) +[ok]: MONITOR can log commands issued by the scripting engine (31 ms) +[ok]: MONITOR can log commands issued by functions (32 ms) +[ok]: MONITOR supports redacting command arguments (33 ms) +[ok]: MONITOR correctly handles multi-exec cases (32 ms) +[ok]: MONITOR log blocked command only once (195 ms) +[ok]: CLIENT GETNAME should return NIL if name is not assigned (0 ms) [ok]: CLIENT GETNAME check if name set correctly (0 ms) [ok]: CLIENT LIST shows empty fields for unassigned names (0 ms) -[ok]: CLIENT SETNAME does not accept spaces (1 ms) +[ok]: CLIENT SETNAME does not accept spaces (0 ms) [ok]: CLIENT SETNAME can assign a name to this connection (0 ms) -[ok]: CLIENT SETNAME can change the name of an existing connection (0 ms) -[ok]: After CLIENT SETNAME, connection can still be closed (25 ms) -[ok]: CLIENT SETINFO can set a library name to this connection (0 ms) +[ok]: CLIENT SETNAME can change the name of an existing connection (1 ms) +[ok]: After CLIENT SETNAME, connection can still be closed (23 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]: RESET does NOT clean library name (1 ms) [ok]: CLIENT SETINFO can clear library name (0 ms) === () Starting server 127.0.0.1:21235 ok === () Starting server 127.0.0.1:21237 ok === () Starting server 127.0.0.1:21239 ok === () Starting server 127.0.0.1:21241 ok -[ok]: CONFIG save params special case handled properly (1053 ms) -[ok]: CONFIG sanity (64 ms) -[ok]: CONFIG REWRITE sanity (298 ms) +[ok]: CONFIG save params special case handled properly (981 ms) +[ok]: CONFIG sanity (74 ms) +[ok]: CONFIG REWRITE sanity (242 ms) === () Starting server 127.0.0.1:21243 ok -[ok]: CONFIG REWRITE handles save and shutdown properly (999 ms) -[ok]: CONFIG SET with multiple args (1 ms) -[ok]: CONFIG SET rollback on set error (6 ms) -dummy_accept: sockaaab01d7d3e0 -[ok]: CONFIG SET rollback on apply error (21 ms) -[ok]: CONFIG SET duplicate configs (1 ms) -[ok]: CONFIG SET set immutable (0 ms) -[ok]: CONFIG GET hidden configs (5 ms) -[ok]: CONFIG GET multiple args (0 ms) -[ok]: redis-server command line arguments - error cases (169 ms) +[ok]: CONFIG REWRITE handles save and shutdown properly (964 ms) +[ok]: CONFIG SET with multiple args (3 ms) +[ok]: CONFIG SET rollback on set error (3 ms) +dummy_accept: sockaaab09263890 +[ok]: CONFIG SET rollback on apply error (37 ms) +[ok]: CONFIG SET duplicate configs (0 ms) +[ok]: CONFIG SET set immutable (1 ms) +[ok]: CONFIG GET hidden configs (8 ms) +[ok]: CONFIG GET multiple args (1 ms) +[ok]: redis-server command line arguments - error cases (161 ms) === () Starting server 127.0.0.1:21246 ok -[ok]: redis-server command line arguments - allow passing option name and option value in the same arg (274 ms) +[ok]: redis-server command line arguments - allow passing option name and option value in the same arg (258 ms) === () Starting server 127.0.0.1:21248 ok -[ok]: redis-server command line arguments - wrong usage that we support anyway (252 ms) +[ok]: redis-server command line arguments - wrong usage that we support anyway (257 ms) === () Starting server 127.0.0.1:21250 ok -[ok]: redis-server command line arguments - allow option value to use the `--` prefix (271 ms) +[ok]: redis-server command line arguments - allow option value to use the `--` prefix (253 ms) === () Starting server 127.0.0.1:21252 ok -[ok]: redis-server command line arguments - option name and option value in the same arg and `--` prefix (275 ms) +[ok]: redis-server command line arguments - option name and option value in the same arg and `--` prefix (258 ms) === () Starting server 127.0.0.1:21254 ok === () Starting server 127.0.0.1:21256 ok === () Starting server 127.0.0.1:21258 ok === () Starting server 127.0.0.1:21260 ok === () Starting server 127.0.0.1:21262 ok -[ok]: redis-server command line arguments - save with empty input (1341 ms) +[ok]: redis-server command line arguments - save with empty input (1277 ms) === () Starting server 127.0.0.1:21264 ok -[ok]: redis-server command line arguments - take one bulk string with spaces for MULTI_ARG configs parsing (270 ms) +[ok]: redis-server command line arguments - take one bulk string with spaces for MULTI_ARG configs parsing (241 ms) === (introspection external:skip) Starting server 127.0.0.1:21266 ok [ok]: cannot modify protected configuration - no (1 ms) === (introspection external:skip) Starting server 127.0.0.1:21268 ok [ok]: cannot modify protected configuration - local (4 ms) === () Starting server 127.0.0.1:21270 ok -[ok]: config during loading (1129 ms) +[ok]: config during loading (849 ms) === (introspection) Starting server 127.0.0.1:21272 ok -[ok]: CONFIG REWRITE handles rename-command properly (544 ms) +[ok]: CONFIG REWRITE handles rename-command properly (491 ms) === (introspection) Starting server 127.0.0.1:21274 ok === (introspection) Starting server 127.0.0.1:21276 ok -[ok]: CONFIG REWRITE handles alias config properly (1040 ms) +[ok]: CONFIG REWRITE handles alias config properly (975 ms) === (external:skip) Starting server 127.0.0.1:21278 ok -[ok]: IO threads client number (264 ms) +[ok]: IO threads client number (362 ms) === (external:skip) Starting server 127.0.0.1:21280 ok -[ok]: Clients are evenly distributed among io threads (550 ms) -[17/96 done]: unit/introspection (13 seconds) +[ok]: Clients are evenly distributed among io threads (574 ms) +[17/96 done]: unit/introspection (12 seconds) Testing unit/keyspace === (keyspace) Starting server 127.0.0.1:21282 ok -[ok]: DEL against a single item (0 ms) +[ok]: DEL against a single item (1 ms) [ok]: Vararg DEL (1 ms) -[ok]: Untagged multi-key commands (0 ms) -[ok]: KEYS with pattern (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 (0 ms) -[ok]: DEL all keys (4 ms) -[ok]: DEL against expired key (1101 ms) +[ok]: DBSIZE (1 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 (6 ms) -[ok]: Commands pipelining (1 ms) -[ok]: Non existing command (0 ms) +[ok]: Zero length value in key. SET/GET/EXISTS (1 ms) +[ok]: Commands pipelining (0 ms) +[ok]: Non existing command (1 ms) [ok]: RENAME basic usage (0 ms) [ok]: RENAME source key should no longer exist (0 ms) -[ok]: RENAME against already existing key (0 ms) +[ok]: RENAME against already existing key (1 ms) [ok]: RENAMENX basic usage (1 ms) [ok]: RENAMENX against already existing key (0 ms) [ok]: RENAMENX against already existing key (2) (1 ms) @@ -1729,56 +1758,56 @@ [ok]: RENAMENX where source and dest key are the same (existing) (1 ms) [ok]: RENAME where source and dest key are the same (non existing) (0 ms) [ok]: RENAME with volatile key, should move the TTL as well (1 ms) -[ok]: RENAME with volatile key, should not inherit TTL of target key (2 ms) +[ok]: RENAME with volatile key, should not inherit TTL of target key (1 ms) [ok]: DEL all keys again (DB 0) (1 ms) -[ok]: DEL all keys again (DB 1) (0 ms) +[ok]: DEL all keys again (DB 1) (1 ms) [ok]: COPY basic usage for string (1 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 (5 ms) -[ok]: COPY for string ensures that copied data is independent of copying data (5 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 (0 ms) -[ok]: COPY basic usage for list - quicklist (49 ms) +[ok]: COPY for string does not replace an existing key without REPLACE option (0 ms) +[ok]: COPY for string can replace an existing key with REPLACE option (1 ms) +[ok]: COPY for string ensures that copied data is independent of copying data (2 ms) +[ok]: COPY for string does not copy data to no-integer DB (1 ms) +[ok]: COPY can copy key expire metadata as well (0 ms) +[ok]: COPY does not create an expire if it does not exist (1 ms) +[ok]: COPY basic usage for list - quicklist (48 ms) [ok]: COPY basic usage for list - listpack (1 ms) [ok]: COPY basic usage for $type set (1 ms) [ok]: COPY basic usage for $type set (1 ms) -[ok]: COPY basic usage for $type set (32 ms) -[ok]: COPY basic usage for listpack sorted set (6 ms) -[ok]: COPY basic usage for skiplist sorted set (24 ms) +[ok]: COPY basic usage for $type set (24 ms) +[ok]: COPY basic usage for listpack sorted set (1 ms) +[ok]: COPY basic usage for skiplist sorted set (16 ms) [ok]: COPY basic usage for listpack hash (1 ms) -[ok]: COPY basic usage for hashtable hash (27 ms) -[ok]: COPY basic usage for stream (190 ms) -[ok]: COPY basic usage for stream-cgroups (11 ms) -[ok]: MOVE basic usage (3 ms) -[ok]: MOVE against key existing in the target DB (1 ms) -[ok]: MOVE against non-integer DB (#1428) (2 ms) +[ok]: COPY basic usage for hashtable hash (14 ms) +[ok]: COPY basic usage for stream (122 ms) +[ok]: COPY basic usage for stream-cgroups (7 ms) +[ok]: MOVE basic usage (0 ms) +[ok]: MOVE against key existing in the target DB (0 ms) +[ok]: MOVE against non-integer DB (#1428) (0 ms) [ok]: MOVE can move key expire metadata as well (1 ms) [ok]: MOVE does not create an expire if it does not exist (1 ms) [ok]: SET/GET keys in different DBs (1 ms) -[ok]: RANDOMKEY (9 ms) +[ok]: RANDOMKEY (7 ms) [ok]: RANDOMKEY against empty DB (0 ms) [ok]: RANDOMKEY regression 1 (0 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 (46 ms) -[ok]: Coverage: basic SWAPDB test and unhappy path (2 ms) -[ok]: Coverage: SWAPDB and FLUSHDB (2 ms) +[ok]: Regression for pattern matching long nested loops (0 ms) +[ok]: Regression for pattern matching very long nested loops (88 ms) +[ok]: Coverage: basic SWAPDB test and unhappy path (4 ms) +[ok]: Coverage: SWAPDB and FLUSHDB (3 ms) [18/96 done]: unit/keyspace (2 seconds) Testing unit/latency-monitor === (latency-monitor needs:latency) Starting server 127.0.0.1:21284 ok [ok]: LATENCY HISTOGRAM with empty histogram (1 ms) -[ok]: LATENCY HISTOGRAM all commands (1 ms) +[ok]: LATENCY HISTOGRAM all commands (2 ms) [ok]: LATENCY HISTOGRAM sub commands (1 ms) -[ok]: LATENCY HISTOGRAM with a subset of commands (1 ms) -[ok]: LATENCY HISTOGRAM command (3 ms) -[ok]: LATENCY HISTOGRAM with wrong command name skips the invalid one (1 ms) -[ok]: Test latency events logging (3409 ms) +[ok]: LATENCY HISTOGRAM with a subset of commands (2 ms) +[ok]: LATENCY HISTOGRAM command (1 ms) +[ok]: LATENCY HISTOGRAM with wrong command name skips the invalid one (3 ms) +[ok]: Test latency events logging (3407 ms) LATENCY HISTORY data: -{1760194280 300} {1760194282 400} {1760194283 500} -[ok]: LATENCY HISTORY output is ok (1 ms) +{1794607265 300} {1794607266 400} {1794607268 500} +[ok]: LATENCY HISTORY output is ok (0 ms) LATENCY LATEST data: -{command 1760194283 500 500} +{command 1794607268 500 500} [ok]: LATENCY LATEST output is ok (1 ms) LATENCY GRAPH data: command - high 500 ms, low 300 ms (all time high 500 ms) @@ -1788,4516 +1817,115 @@ || _|| -310 +320 sss -[ok]: LATENCY GRAPH can output the event graph (0 ms) -[ok]: LATENCY GRAPH can output the expire event graph (0 ms) -[ok]: LATENCY of expire events are correctly collected (4777 ms) -[ok]: LATENCY HISTORY / RESET with wrong event name is fine (0 ms) +[ok]: LATENCY GRAPH can output the event graph (1 ms) +[ok]: LATENCY GRAPH can output the expire event graph (1 ms) +[ok]: LATENCY of expire events are correctly collected (2245 ms) +[ok]: LATENCY HISTORY / RESET with wrong event name is fine (1 ms) [ok]: LATENCY DOCTOR produces some output (1 ms) [ok]: LATENCY RESET is able to reset events (0 ms) [ok]: LATENCY HELP should not have unexpected options (1 ms) -[19/96 done]: unit/latency-monitor (8 seconds) +[19/96 done]: unit/latency-monitor (6 seconds) Testing unit/lazyfree === (lazyfree) Starting server 127.0.0.1:21286 ok -[ok]: UNLINK can reclaim memory in background (378 ms) -[ok]: FLUSHDB ASYNC can reclaim memory in background (516 ms) -[ok]: lazy free a stream with all types of metadata (298 ms) +[ok]: UNLINK can reclaim memory in background (288 ms) +[ok]: FLUSHDB ASYNC can reclaim memory in background (374 ms) +[ok]: lazy free a stream with all types of metadata (174 ms) [ok]: lazy free a stream with deleted cgroup (2 ms) -[ok]: FLUSHALL SYNC optimized to run in bg as blocking FLUSHALL ASYNC (125 ms) -[ok]: Run consecutive blocking FLUSHALL ASYNC successfully (28 ms) -[ok]: FLUSHALL SYNC in MULTI not optimized to run as blocking FLUSHALL ASYNC (2 ms) -[ok]: Client closed in the middle of blocking FLUSHALL ASYNC (9641 ms) -[ok]: Pending commands in querybuf processed once unblocking FLUSHALL ASYNC (29 ms) -[ok]: Unblocks client blocked on lazyfree via REPLICAOF command (5888 ms) -[20/96 done]: unit/lazyfree (17 seconds) +[ok]: FLUSHALL SYNC optimized to run in bg as blocking FLUSHALL ASYNC (62 ms) +[ok]: Run consecutive blocking FLUSHALL ASYNC successfully (19 ms) +[ok]: FLUSHALL SYNC in MULTI not optimized to run as blocking FLUSHALL ASYNC (1 ms) +[ok]: Client closed in the middle of blocking FLUSHALL ASYNC (4488 ms) +[ok]: Pending commands in querybuf processed once unblocking FLUSHALL ASYNC (32 ms) +[ok]: Unblocks client blocked on lazyfree via REPLICAOF command (2305 ms) +[20/96 done]: unit/lazyfree (8 seconds) Testing unit/limits === (limits network external:skip) Starting server 127.0.0.1:21288 ok -[ok]: Check if maxclients works refusing connections (1193 ms) +[ok]: Check if maxclients works refusing connections (1186 ms) [21/96 done]: unit/limits (2 seconds) Testing unit/maxmemory === (maxmemory external:skip) Starting server 127.0.0.1:21290 ok -evicted keys: 40 +evicted keys: 12 evicted clients: 0 -dbsize: 10 -[ok]: eviction due to output buffers of many MGET clients, client eviction: false (792 ms) -evicted keys: 27 +dbsize: 38 +[ok]: eviction due to output buffers of many MGET clients, client eviction: false (581 ms) +evicted keys: 28 evicted clients: 0 dbsize: 22 -[ok]: eviction due to input buffer of a dead client, client eviction: false (1375 ms) +[ok]: eviction due to input buffer of a dead client, client eviction: false (773 ms) evicted keys: 13 evicted clients: 0 dbsize: 37 -[ok]: eviction due to output buffers of pubsub, client eviction: false (945 ms) +[ok]: eviction due to output buffers of pubsub, client eviction: false (1295 ms) evicted keys: 0 -evicted clients: 2 +evicted clients: 11 dbsize: 50 -[ok]: eviction due to output buffers of many MGET clients, client eviction: true (754 ms) +[ok]: eviction due to output buffers of many MGET clients, client eviction: true (653 ms) evicted keys: 0 evicted clients: 19 dbsize: 50 -[ok]: eviction due to input buffer of a dead client, client eviction: true (1359 ms) +[ok]: eviction due to input buffer of a dead client, client eviction: true (985 ms) evicted keys: 0 evicted clients: 6 dbsize: 50 -[ok]: eviction due to output buffers of pubsub, client eviction: true (702 ms) +[ok]: eviction due to output buffers of pubsub, client eviction: true (1603 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21292 ok [ok]: Without maxmemory small integers are shared (1 ms) [ok]: With maxmemory and non-LRU policy integers are still shared (1 ms) -[ok]: With maxmemory and LRU policy integers are not shared (1 ms) -[ok]: maxmemory - is the memory limit honoured? (policy allkeys-random) (361 ms) -[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lru) (513 ms) -[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lfu) (824 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-lru) (645 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-lfu) (626 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-random) (598 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-ttl) (775 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-random) (1871 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-lru) (1696 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-lru) (878 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-random) (1085 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-ttl) (1253 ms) -[ok]: maxmemory - policy volatile-lru should only remove volatile keys. (1222 ms) -[ok]: maxmemory - policy volatile-lfu should only remove volatile keys. (1336 ms) -[ok]: maxmemory - policy volatile-random should only remove volatile keys. (1293 ms) -[ok]: maxmemory - policy volatile-ttl should only remove volatile keys. (1274 ms) +[ok]: With maxmemory and LRU policy integers are not shared (2 ms) +[ok]: maxmemory - is the memory limit honoured? (policy allkeys-random) (232 ms) +[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lru) (274 ms) +[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lfu) (275 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-lru) (194 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-lfu) (205 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-random) (251 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-ttl) (296 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-random) (329 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-lru) (359 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-lru) (353 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-random) (390 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-ttl) (362 ms) +[ok]: maxmemory - policy volatile-lru should only remove volatile keys. (401 ms) +[ok]: maxmemory - policy volatile-lfu should only remove volatile keys. (323 ms) +[ok]: maxmemory - policy volatile-random should only remove volatile keys. (409 ms) +[ok]: maxmemory - policy volatile-ttl should only remove volatile keys. (349 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21294 ok === () Starting server 127.0.0.1:21296 ok -[ok]: slave buffer are counted correctly (56594 ms) -=== (maxmemory external:skip) Starting server 127.0.0.1:21298 ok -=== () Starting server 127.0.0.1:21300 ok -[ok]: replica buffer don't induce eviction (9934 ms) -=== (maxmemory external:skip) Starting server 127.0.0.1:21302 ok -[ok]: Don't rehash if used memory exceeds maxmemory after rehash (414 ms) -=== (maxmemory external:skip) Starting server 127.0.0.1:21304 ok -evicted: 36 -evicted: 36 -[ok]: client tracking don't cause eviction feedback loop (1657 ms) -=== (maxmemory external:skip) Starting server 127.0.0.1:21306 ok -[ok]: propagation with eviction (59 ms) -=== (maxmemory external:skip) Starting server 127.0.0.1:21308 ok -[ok]: propagation with eviction in MULTI (61 ms) -=== (maxmemory external:skip) Starting server 127.0.0.1:21310 ok -[ok]: lru/lfu value of the key just added (2 ms) -[22/96 done]: unit/maxmemory (94 seconds) -Testing unit/memefficiency -=== (memefficiency external:skip) Starting server 127.0.0.1:21312 ok -[ok]: Memory efficiency with values in range 32 (592 ms) -[ok]: Memory efficiency with values in range 64 (671 ms) -[ok]: Memory efficiency with values in range 128 (774 ms) -[ok]: Memory efficiency with values in range 1024 (835 ms) -[ok]: Memory efficiency with values in range 16384 (1756 ms) -=== (defrag external:skip cluster) Starting server 127.0.0.1:21314 ok -=== (defrag external:skip standalone) Starting server 127.0.0.1:21316 ok -[23/96 done]: unit/memefficiency (8 seconds) -Testing unit/multi -=== (multi) Starting server 127.0.0.1:21318 ok -[ok]: MULTI / EXEC basics (1 ms) -[ok]: DISCARD (1 ms) -[ok]: Nested MULTI are not allowed (0 ms) -[ok]: MULTI where commands alter argc/argv (1 ms) -[ok]: WATCH inside MULTI is not allowed (1 ms) -[ok]: EXEC fails if there are errors while queueing commands #1 (1 ms) -[ok]: EXEC fails if there are errors while queueing commands #2 (13 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) (1 ms) -[ok]: EXEC fail on WATCHed key modified by SORT with STORE even if the result is empty (1 ms) -EXEC fail on lazy expired WATCHed key attempts: 0 -[ok]: EXEC fail on lazy expired WATCHed key (106 ms) -[ok]: WATCH stale keys should not fail EXEC (3 ms) -[ok]: Delete WATCHed stale keys should not fail EXEC (3 ms) -[ok]: FLUSHDB while watching stale keys should not fail EXEC (3 ms) -[ok]: After successful EXEC key is no longer watched (1 ms) -[ok]: After failed EXEC key is no longer watched (6 ms) -[ok]: It is possible to UNWATCH (1 ms) -[ok]: UNWATCH when there is nothing watched works as expected (0 ms) -[ok]: FLUSHALL is able to touch the watched keys (1 ms) -[ok]: FLUSHALL does not touch non affected keys (0 ms) -[ok]: FLUSHDB is able to touch the watched keys (1 ms) -[ok]: FLUSHDB does not touch non affected keys (1 ms) -[ok]: SWAPDB is able to touch the watched keys that exist (1 ms) -[ok]: SWAPDB is able to touch the watched keys that do not exist (4 ms) -[ok]: SWAPDB does not touch watched stale keys (6 ms) -[ok]: SWAPDB does not touch non-existing key replaced with stale key (6 ms) -[ok]: SWAPDB does not touch stale key replaced with another stale key (5 ms) -[ok]: WATCH is able to remember the DB a key belongs to (1 ms) -[ok]: WATCH will consider touched keys target of EXPIRE (1 ms) -[ok]: WATCH will consider touched expired keys (1034 ms) -[ok]: DISCARD should clear the WATCH dirty flag on the client (0 ms) -[ok]: DISCARD should UNWATCH all the keys (0 ms) -[ok]: MULTI / EXEC is not propagated (single write command) (97 ms) -[ok]: MULTI / EXEC is propagated correctly (multiple commands) (102 ms) -[ok]: MULTI / EXEC is propagated correctly (multiple commands with SELECT) (102 ms) -[ok]: MULTI / EXEC is propagated correctly (empty transaction) (100 ms) -[ok]: MULTI / EXEC is propagated correctly (read-only commands) (101 ms) -[ok]: MULTI / EXEC is propagated correctly (write command, no effect) (102 ms) -[ok]: MULTI / EXEC with REPLICAOF (102 ms) -[ok]: DISCARD should not fail during OOM (15 ms) -[ok]: MULTI and script timeout (434 ms) -[ok]: EXEC and script timeout (436 ms) -[ok]: MULTI-EXEC body and script timeout (430 ms) -[ok]: just EXEC and script timeout (428 ms) -[ok]: exec with write commands and state change (13 ms) -[ok]: exec with read commands and stale replica state change (13 ms) -[ok]: EXEC with only read commands should not be rejected when OOM (13 ms) -[ok]: EXEC with at least one use-memory command should fail (12 ms) -[ok]: Blocking commands ignores the timeout (1 ms) -[ok]: MULTI propagation of PUBLISH (50 ms) -[ok]: MULTI propagation of SCRIPT LOAD (101 ms) -[ok]: MULTI propagation of EVAL (102 ms) -[ok]: MULTI propagation of SCRIPT FLUSH (103 ms) -[ok]: MULTI propagation of XREADGROUP (104 ms) -[ok]: MULTI with SAVE (2 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 (206 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: MULTI with config set appendonly (214 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:21320 ok -[ok]: MULTI with FLUSHALL and AOF (2 ms) -[24/96 done]: unit/multi (5 seconds) -Testing unit/networking -=== () Starting server 127.0.0.1:21322 ok -[ok]: CONFIG SET port number (377 ms) -=== () Starting server 127.0.0.1:21325 ok -[ok]: CONFIG SET bind address (248 ms) -=== () Starting server 127.0.0.1:21327 ok -=== () Starting server 127.0.0.1:21329 ok -[ok]: CONFIG SET bind-source-addr (569 ms) -=== (external:skip) Starting server 127.0.0.1:21331 ok -[ok]: Default bind address configuration handling (226 ms) -[ok]: Protected mode works as expected (1 ms) -[25/96 done]: unit/networking (1 seconds) -Testing unit/obuf-limits -=== (obuf-limits external:skip logreqres:skip) Starting server 127.0.0.1:21333 ok -[ok]: CONFIG SET client-output-buffer-limit (3 ms) -[ok]: Client output buffer hard limit is enforced (2454 ms) -[ok]: Client output buffer soft limit is enforced if time is overreached (4487 ms) -[ok]: Client output buffer soft limit is not enforced too early and is enforced when no traffic (5031 ms) -[ok]: No response for single command if client output buffer hard limit is enforced (150 ms) -[ok]: No response for multi commands in pipeline if client output buffer limit is enforced (1081 ms) -[ok]: Execute transactions completely even if client output buffer limit is enforced (46 ms) -[ok]: Obuf limit, HRANDFIELD with huge count stopped mid-run (24 ms) -[ok]: Obuf limit, KEYS stopped mid-run (64 ms) -[26/96 done]: unit/obuf-limits (14 seconds) -Testing unit/oom-score-adj -=== (oom-score-adj external:skip) Starting server 127.0.0.1:21335 ok -[ok]: CONFIG SET oom-score-adj works as expected (14 ms) -[ok]: CONFIG SET oom-score-adj handles configuration failures (1 ms) -[ok]: CONFIG SET oom-score-adj-values doesn't touch proc when disabled (1 ms) -[ok]: CONFIG SET oom score restored on disable (0 ms) -[ok]: CONFIG SET oom score relative and absolute (1 ms) -[ok]: CONFIG SET out-of-range oom score (1 ms) -[27/96 done]: unit/oom-score-adj (0 seconds) -Testing unit/other -=== (other) Starting server 127.0.0.1:21337 ok -[ok]: Coverage: HELP commands (2 ms) -[ok]: Coverage: MEMORY MALLOC-STATS (3 ms) -[ok]: Coverage: MEMORY PURGE (1 ms) -[ok]: SAVE - make sure there are all the types as values (2 ms) -[ok]: FUZZ stresser with data model binary (485 ms) -[ok]: FUZZ stresser with data model alpha (609 ms) -[ok]: FUZZ stresser with data model compr (460 ms) -=== (external:skip) Starting server 127.0.0.1:21339 ok -[ok]: FLUSHALL should not reset the dirty counter if we disable save (2 ms) -[ok]: FLUSHALL should reset the dirty counter to 0 if we enable save (1 ms) -[ok]: FLUSHALL and bgsave (1004 ms) - -Waiting for background save to finish... [ok]: BGSAVE (55 ms) -[ok]: SELECT an out of range DB (0 ms) -[ok]: Check consistency of different data types after a reload (883 ms) - -Waiting for background AOF rewrite to finish... [ok]: Same dataset digest if saving/reloading as AOF? (221 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: EXPIRES after a reload (snapshot + append only file rewrite) (109 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: EXPIRES after AOF reload (without rewrite) (2114 ms) -[ok]: PIPELINING stresser (also a regression for the old epoll bug) (525 ms) -[ok]: APPEND basics (1 ms) -[ok]: APPEND basics, integer encoded values (1 ms) -[ok]: APPEND fuzzing (310 ms) -[ok]: FLUSHDB (41 ms) -[ok]: Perform a final SAVE to leave a clean DB on disk (1 ms) -[ok]: RESET clears client state (0 ms) -[ok]: RESET clears MONITOR state (12 ms) -[ok]: RESET clears and discards MULTI state (1 ms) -[ok]: RESET clears Pub/Sub state (1 ms) -[ok]: RESET clears authenticated state (0 ms) -[ok]: Subcommand syntax error crash (issue #10070) (0 ms) -=== (other external:skip) Starting server 127.0.0.1:21341 ok - -Waiting for background save to finish... [ok]: Don't rehash if redis has child process (675 ms) -=== (other external:skip) Starting server 127.0.0.1:21343 ok -[ok]: Process title set as expected (1 ms) -=== (other external:skip cluster slow) Starting server 127.0.0.1:21345 ok -[ok]: Redis can trigger resizing (1696 ms) -[ok]: Redis can rewind and trigger smaller slot resizing (662 ms) -=== (other external:skip) Starting server 127.0.0.1:21347 ok -[ok]: Redis can resize empty dict (52 ms) -=== (other external:skip) Starting server 127.0.0.1:21349 ok -[ok]: Cross DB command is incompatible with cluster mode (7 ms) -[ok]: Function no-cluster flag is incompatible with cluster mode (3 ms) -[ok]: Script no-cluster flag is incompatible with cluster mode (3 ms) -[ok]: SORT command incompatible operations with cluster mode (7 ms) -[ok]: Normal cross slot commands are incompatible with cluster mode (2 ms) -[ok]: Transaction is incompatible with cluster mode (3 ms) -[ok]: Lua scripts are incompatible with cluster mode (6 ms) -[ok]: Shard subscribe commands are incompatible with cluster mode (33 ms) -[ok]: cluster-compatibility-sample-ratio configuration can work (163 ms) -[28/96 done]: unit/other (14 seconds) -Testing unit/pause -=== (pause network) Starting server 127.0.0.1:21351 ok -[ok]: Test read commands are not blocked by client pause (37 ms) -[ok]: Test old pause-all takes precedence over new pause-write (less restrictive) (375 ms) -[ok]: Test new pause time is smaller than old one, then old time preserved (127 ms) -[ok]: Test write commands are paused by RO (21 ms) -[ok]: Test special commands are paused by RO (43 ms) -[ok]: Test read/admin multi-execs are not blocked by pause RO (17 ms) -[ok]: Test write multi-execs are blocked by pause RO (13 ms) -[ok]: Test scripts are blocked by pause RO (29 ms) -[ok]: Test RO scripts are not blocked by pause RO (15 ms) -[ok]: Test read-only scripts in multi-exec are not blocked by pause RO (25 ms) -[ok]: Test write scripts in multi-exec are blocked by pause RO (58 ms) -[ok]: Test may-replicate commands are rejected in RO scripts (8 ms) -[ok]: Test multiple clients can be queued up and unblocked (89 ms) -[ok]: Test clients with syntax errors will get responses immediately (7 ms) -[ok]: Test both active and passive expires are skipped during client pause (120 ms) -[ok]: Test that client pause starts at the end of a transaction (43 ms) -=== (needs:repl external:skip) Starting server 127.0.0.1:21353 ok -[ok]: Test when replica paused, offset would not grow (11 ms) -[ok]: Test replica offset would grow after unpause (1 ms) -[ok]: Test the randomkey command will not cause the server to get into an infinite loop during the client pause write (13 ms) -[ok]: CLIENT UNBLOCK is not allow to unblock client blocked by CLIENT PAUSE (46 ms) -[29/96 done]: unit/pause (2 seconds) -Testing unit/printver -=== () Starting server 127.0.0.1:21355 ok -Testing Redis version 8.0.4 (00000000) -[30/96 done]: unit/printver (0 seconds) -Testing unit/protocol -=== (protocol network) Starting server 127.0.0.1:21357 ok -[ok]: Handle an empty query (64 ms) -[ok]: Negative multibulk length (60 ms) -[ok]: Out of range multibulk length (14 ms) -[ok]: Wrong multibulk payload header (19 ms) -[ok]: Negative multibulk payload length (22 ms) -[ok]: Out of range multibulk payload length (12 ms) -[ok]: Non-number multibulk payload length (12 ms) -[ok]: Multi bulk request not followed by bulk arguments (12 ms) -[ok]: Generic wrong number of args (12 ms) -[ok]: Unbalanced number of quotes (12 ms) -[ok]: Protocol desync regression test #1 (156 ms) -[ok]: Protocol desync regression test #2 (146 ms) -[ok]: Protocol desync regression test #3 (143 ms) -[ok]: raw protocol response (0 ms) -[ok]: raw protocol response - deferred (0 ms) -[ok]: raw protocol response - multiline (1 ms) -[ok]: bulk reply protocol (5 ms) -[ok]: RESP3 attributes (7 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 (1 ms) -[ok]: test large number of args (42 ms) -[ok]: test argument rewriting - issue 9598 (1 ms) -=== (regression) Starting server 127.0.0.1:21359 ok -[ok]: Regression for a crash with blocking ops and pipelining (17 ms) -=== (regression) Starting server 127.0.0.1:21361 ok -[ok]: Regression for a crash with cron release of client arguments (3004 ms) -[31/96 done]: unit/protocol (5 seconds) -Testing unit/pubsub -=== (pubsub network) Starting server 127.0.0.1:21363 ok -[ok]: Pub/Sub PING on RESP2 (0 ms) -[ok]: Pub/Sub PING on RESP3 (0 ms) -[ok]: PUBLISH/SUBSCRIBE basics (14 ms) -[ok]: PUBLISH/SUBSCRIBE with two clients (28 ms) -[ok]: PUBLISH/SUBSCRIBE after UNSUBSCRIBE without arguments (13 ms) -[ok]: SUBSCRIBE to one channel more than once (12 ms) -[ok]: UNSUBSCRIBE from non-subscribed channels (13 ms) -[ok]: PUBLISH/PSUBSCRIBE basics (20 ms) -[ok]: PUBLISH/PSUBSCRIBE with two clients (24 ms) -[ok]: PUBLISH/PSUBSCRIBE after PUNSUBSCRIBE without arguments (13 ms) -[ok]: PubSub messages with CLIENT REPLY OFF (102 ms) -[ok]: PUNSUBSCRIBE from non-subscribed channels (18 ms) -[ok]: NUMSUB returns numbers, not strings (#1561) (0 ms) -[ok]: NUMPATs returns the number of unique patterns (43 ms) -[ok]: Mix SUBSCRIBE and PSUBSCRIBE (27 ms) -[ok]: PUNSUBSCRIBE and UNSUBSCRIBE should always reply (0 ms) -[ok]: Keyspace notifications: we receive keyspace notifications (63 ms) -[ok]: Keyspace notifications: we receive keyevent notifications (60 ms) -[ok]: Keyspace notifications: we can receive both kind of events (23 ms) -[ok]: Keyspace notifications: we are able to mask events (21 ms) -[ok]: Keyspace notifications: general events test (17 ms) -[ok]: Keyspace notifications: list events test (13 ms) -[ok]: Keyspace notifications: set events test (13 ms) -[ok]: Keyspace notifications: zset events test (26 ms) -[ok]: Keyspace notifications: hash events test (listpackex) (429 ms) -[ok]: Keyspace notifications: hash events test (hashtable) (429 ms) -[ok]: Keyspace notifications: stream events test (23 ms) -[ok]: Keyspace notifications:FXX/FNX with HSETEX cmd (90 ms) -[ok]: Keyspace notifications: expired events (triggered expire) (121 ms) -[ok]: Keyspace notifications: expired events (background expire) (200 ms) -[ok]: Keyspace notifications: evicted events (28 ms) -[ok]: Keyspace notifications: test CONFIG GET/SET of event flags (1 ms) -[ok]: Keyspace notifications: new key test (23 ms) -[ok]: publish to self inside multi (1 ms) -[ok]: publish to self inside script (1 ms) -[ok]: unsubscribe inside multi, and publish to self (5 ms) -[32/96 done]: unit/pubsub (2 seconds) -Testing unit/pubsubshard -=== (pubsubshard external:skip) Starting server 127.0.0.1:21365 ok -[ok]: SPUBLISH/SSUBSCRIBE basics (27 ms) -[ok]: SPUBLISH/SSUBSCRIBE with two clients (40 ms) -[ok]: SPUBLISH/SSUBSCRIBE after UNSUBSCRIBE without arguments (32 ms) -[ok]: SSUBSCRIBE to one channel more than once (24 ms) -[ok]: SUNSUBSCRIBE from non-subscribed channels (17 ms) -[ok]: PUBSUB command basics (6 ms) -[ok]: SPUBLISH/SSUBSCRIBE with two clients (38 ms) -[ok]: SPUBLISH/SSUBSCRIBE with PUBLISH/SUBSCRIBE (29 ms) -[ok]: PubSubShard with CLIENT REPLY OFF (108 ms) -=== (pubsubshard external:skip) Starting server 127.0.0.1:21367 ok -=== (pubsubshard external:skip) Starting server 127.0.0.1:21369 ok -[ok]: setup replication for following tests (107 ms) -[ok]: publish message to master and receive on replica (31 ms) -[33/96 done]: unit/pubsubshard (2 seconds) -Testing unit/querybuf -=== (querybuf slow) Starting server 127.0.0.1:21371 ok -[ok]: query buffer resized correctly (2705 ms) -[ok]: query buffer resized correctly when not idle (55 ms) -[ok]: query buffer resized correctly with fat argv (2942 ms) -=== (querybuf) Starting server 127.0.0.1:21373 ok -[ok]: Client executes small argv commands using reusable query buffer (21 ms) -[34/96 done]: unit/querybuf (6 seconds) -Testing unit/quit -=== (quit) Starting server 127.0.0.1:21375 ok -[ok]: QUIT returns OK (25 ms) -[ok]: Pipelined commands after QUIT must not be executed (40 ms) -[ok]: Pipelined commands after QUIT that exceed read buffer size (50 ms) -[35/96 done]: unit/quit (0 seconds) -Testing unit/replybufsize -=== (replybufsize) Starting server 127.0.0.1:21377 ok -[ok]: verify reply buffer limits (680 ms) -[36/96 done]: unit/replybufsize (1 seconds) -Testing unit/scan -=== (scan network standalone) Starting server 127.0.0.1:21379 ok -[ok]: {standalone} SCAN basic (84 ms) -[ok]: {standalone} SCAN COUNT (74 ms) -[ok]: {standalone} SCAN MATCH (129 ms) -[ok]: {standalone} SCAN TYPE (113 ms) -[ok]: {standalone} SCAN unknown type (83 ms) -[ok]: {standalone} SCAN with expired keys (71 ms) -[ok]: {standalone} SCAN with expired keys with TYPE filter (72 ms) -[ok]: {standalone} SSCAN with encoding intset (1 ms) -[ok]: {standalone} SSCAN with encoding listpack (1 ms) -[ok]: {standalone} SSCAN with encoding hashtable (4 ms) -[ok]: {standalone} HSCAN with encoding listpack (1 ms) -[ok]: {standalone} HSCAN with large value listpack (0 ms) -[ok]: {standalone} HSCAN with encoding hashtable (87 ms) -[ok]: {standalone} HSCAN with large value hashtable (1 ms) -[ok]: {standalone} ZSCAN with encoding listpack (3 ms) -[ok]: {standalone} ZSCAN with encoding skiplist (80 ms) -[ok]: {standalone} SCAN guarantees check under write load (43 ms) -[ok]: {standalone} SSCAN with integer encoded object (issue #1345) (0 ms) -[ok]: {standalone} SSCAN with PATTERN (0 ms) -[ok]: {standalone} HSCAN with PATTERN (0 ms) -[ok]: {standalone} HSCAN with NOVALUES (0 ms) -[ok]: {standalone} ZSCAN with PATTERN (0 ms) -[ok]: {standalone} ZSCAN scores: regression test for issue #2175 (48 ms) -[ok]: {standalone} SCAN regression test for issue #4906 (8954 ms) -[ok]: {standalone} SCAN MATCH pattern implies cluster slot (44 ms) -=== (external:skip cluster scan) Starting server 127.0.0.1:21381 ok -[ok]: {cluster} SCAN basic (146 ms) -[ok]: {cluster} SCAN COUNT (124 ms) -[ok]: {cluster} SCAN MATCH (87 ms) -[ok]: {cluster} SCAN TYPE (124 ms) -[ok]: {cluster} SCAN unknown type (68 ms) -[ok]: {cluster} SCAN with expired keys (73 ms) -[ok]: {cluster} SCAN with expired keys with TYPE filter (75 ms) -[ok]: {cluster} SSCAN with encoding intset (1 ms) -[ok]: {cluster} SSCAN with encoding listpack (1 ms) -[ok]: {cluster} SSCAN with encoding hashtable (4 ms) -[ok]: {cluster} HSCAN with encoding listpack (2 ms) -[ok]: {cluster} HSCAN with large value listpack (0 ms) -[ok]: {cluster} HSCAN with encoding hashtable (84 ms) -[ok]: {cluster} HSCAN with large value hashtable (1 ms) -[ok]: {cluster} ZSCAN with encoding listpack (3 ms) -[ok]: {cluster} ZSCAN with encoding skiplist (77 ms) -[ok]: {cluster} SCAN guarantees check under write load (25 ms) -[ok]: {cluster} SSCAN with integer encoded object (issue #1345) (1 ms) -[ok]: {cluster} SSCAN with PATTERN (0 ms) -[ok]: {cluster} HSCAN with PATTERN (1 ms) -[ok]: {cluster} HSCAN with NOVALUES (0 ms) -[ok]: {cluster} ZSCAN with PATTERN (1 ms) -[ok]: {cluster} ZSCAN scores: regression test for issue #2175 (57 ms) -[ok]: {cluster} SCAN regression test for issue #4906 (8754 ms) -[ok]: {cluster} SCAN MATCH pattern implies cluster slot (42 ms) -[37/96 done]: unit/scan (22 seconds) -Testing unit/scripting -=== (scripting) Starting server 127.0.0.1:21383 ok -[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 (1 ms) -[ok]: EVAL - Return table with a metatable that call redis (1 ms) -[ok]: EVAL - Lua integer -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Lua string -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Lua true boolean -> Redis protocol type conversion (1 ms) -[ok]: EVAL - Lua false boolean -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Lua status code reply -> Redis protocol type conversion (1 ms) -[ok]: EVAL - Lua error reply -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Lua table -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (1 ms) -[ok]: EVAL - is Lua able to call Redis API? (1 ms) -[ok]: EVAL - Redis integer -> Lua type conversion (1 ms) -[ok]: EVAL - Lua number -> Redis integer conversion (1 ms) -[ok]: EVAL - Redis bulk -> Lua type conversion (1 ms) -[ok]: EVAL - Redis multi bulk -> Lua type conversion (1 ms) -[ok]: EVAL - Redis status reply -> Lua type conversion (0 ms) -[ok]: EVAL - Redis error reply -> Lua type conversion (1 ms) -[ok]: EVAL - Redis 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 (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 (2 ms) -[ok]: EVAL - Scripts do not block on blmove command (1 ms) -[ok]: EVAL - Scripts do not block on bzpopmin command (2 ms) -[ok]: EVAL - Scripts do not block on bzpopmax command (2 ms) -[ok]: EVAL - Scripts do not block on wait (1 ms) -[ok]: EVAL - Scripts do not block on waitaof (2 ms) -[ok]: EVAL - Scripts do not block on XREAD with BLOCK option (2 ms) -[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (1 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 (1 ms) -[ok]: EVAL - Scripts can run non-deterministic commands (1 ms) -[ok]: EVAL - No arguments to redis.call/pcall is considered an error (1 ms) -[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) -[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) -[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) -[ok]: EVAL - Test table unpack with invalid indexes (4 ms) -[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? (3 ms) -[ok]: EVAL - cmsgpack can pack negative int64? (1 ms) -[ok]: EVAL - cmsgpack pack/unpack smoke test (307 ms) -[ok]: EVAL - cmsgpack can pack and unpack circular references? (1 ms) -[ok]: EVAL - Numerical sanity check from bitop (1 ms) -[ok]: EVAL - Verify minimal bitop functionality (1 ms) -[ok]: EVAL - Able to parse trailing comments (1 ms) -[ok]: EVAL_RO - Successful case (0 ms) -[ok]: EVAL_RO - Cannot run write commands (0 ms) -[ok]: redis.sha1hex() implementation (0 ms) -[ok]: Measures elapsed time os.clock() (1001 ms) -[ok]: Prohibit dangerous lua methods in sandbox (1 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 (2 ms) -[ok]: EVAL does not leak in the Lua stack (771 ms) -[ok]: Call Redis command with many args from Lua (issue #1764) (1 ms) -[ok]: Number conversion precision test (issue #1118) (0 ms) -[ok]: String containing number precision test (regression of issue #1118) (0 ms) -[ok]: Verify negative arg count is error instead of crash (issue #1842) (0 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 Redis 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 (2 ms) -[ok]: Script return recursive object (98 ms) -[ok]: Script check unpack with massive arguments (9 ms) -[ok]: Script read key with expiration set (1 ms) -[ok]: Script del key with expiration set (0 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 (1 ms) -[ok]: Try trick global protection 3 (0 ms) -[ok]: Try trick global protection 4 (0 ms) -[ok]: Try trick readonly table on redis 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 (0 ms) -[ok]: Try trick readonly table on basic types metatable (2 ms) -[ok]: Test loadfile are not available (1 ms) -[ok]: Test dofile are not available (0 ms) -[ok]: Test print are not available (1 ms) -[ignore]: large memory flag not provided -=== (scripting external:skip) Starting server 127.0.0.1:21385 ok -[ok]: Test setfenv availability lua-enable-deprecated-api=no (1 ms) -[ok]: Test getfenv availability lua-enable-deprecated-api=no (1 ms) -[ok]: Test newproxy availability lua-enable-deprecated-api=no (1 ms) -=== (scripting external:skip) Starting server 127.0.0.1:21387 ok -[ok]: Test setfenv availability lua-enable-deprecated-api=yes (0 ms) -[ok]: Test getfenv availability lua-enable-deprecated-api=yes (0 ms) -[ok]: Test newproxy availability lua-enable-deprecated-api=yes (0 ms) -=== (scripting) Starting server 127.0.0.1:21389 ok -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (438 ms) -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (131 ms) -[ok]: Timedout script does not cause a false dead client (86 ms) -[ok]: Timedout script link is still usable after Lua returns (77 ms) -[ok]: Timedout scripts and unblocked command (404 ms) -[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (215 ms) -[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (6 ms) -=== (scripting repl needs:debug external:skip) Starting server 127.0.0.1:21391 ok -=== () Starting server 127.0.0.1:21393 ok -[ok]: Before the replica connects we issue two EVAL commands (2 ms) -[ok]: Connect a replica to the master instance (105 ms) -[ok]: Replication of script multiple pushes to list with BLPOP (33 ms) -[ok]: Lua scripts using SELECT are replicated correctly (3 ms) -=== (scripting repl external:skip) Starting server 127.0.0.1:21395 ok -=== () Starting server 127.0.0.1:21397 ok -[ok]: Connect a replica to the master instance (105 ms) -[ok]: Redis.replicate_commands() can be issued anywhere now (3 ms) -[ok]: Redis.set_repl() can be issued before replicate_commands() now (1 ms) -[ok]: Redis.set_repl() don't accept invalid values (1 ms) -[ok]: Test selective replication of certain Redis commands from Lua (5 ms) -[ok]: PRNG is seeded randomly for command replication (1 ms) -[ok]: Using side effects is not a problem with command replication (2 ms) -=== (scripting needs:debug) Starting server 127.0.0.1:21399 ok -[ok]: test RESP2/2 big number protocol parsing (1 ms) -[ok]: test RESP2/2 malformed big number protocol parsing (1 ms) -[ok]: test RESP2/2 map protocol parsing (1 ms) -[ok]: test RESP2/2 set protocol parsing (1 ms) -[ok]: test RESP2/2 double protocol parsing (1 ms) -[ok]: test RESP2/2 null protocol parsing (1 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 (1 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 (0 ms) -[ok]: test RESP2/3 verbatim protocol parsing (1 ms) -[ok]: test RESP2/3 true protocol parsing (1 ms) -[ok]: test RESP2/3 false protocol parsing (1 ms) -[ok]: test RESP3/2 big number protocol parsing (1 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 (1 ms) -[ok]: test RESP3/2 double protocol parsing (1 ms) -[ok]: test RESP3/2 null protocol parsing (1 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 (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 (1 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 (1 ms) -[ok]: test RESP3/3 verbatim protocol parsing (1 ms) -[ok]: test RESP3/3 true protocol parsing (0 ms) -[ok]: test RESP3/3 false protocol parsing (1 ms) -[ok]: test resp3 attribute protocol parsing (0 ms) -[ok]: Script block the time during execution (12 ms) -[ok]: Script delete the expired key (5 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 (12 ms) -=== (scripting) Starting server 127.0.0.1:21401 ok -[ok]: Test script flush will not leak memory - script:0 (224 ms) -[ok]: Verify Lua performs GC correctly after script loading (6296 ms) -=== (scripting) Starting server 127.0.0.1:21403 ok -[ok]: Script - disallow write on OOM (1 ms) -[ok]: EVAL - Does Lua interpreter replies to our requests? (0 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 redis (1 ms) -[ok]: EVAL - Lua integer -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Lua string -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Lua true boolean -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Lua false boolean -> Redis protocol type conversion (1 ms) -[ok]: EVAL - Lua status code reply -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Lua error reply -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Lua table -> Redis protocol type conversion (1 ms) -[ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (0 ms) -[ok]: EVAL - is Lua able to call Redis API? (1 ms) -[ok]: EVALSHA - Can we call a SHA1 if already defined? (0 ms) -[ok]: EVALSHA_RO - Can we call a SHA1 if already defined? (0 ms) -[ok]: EVALSHA - Can we call a SHA1 in uppercase? (0 ms) -[ok]: EVALSHA - Do we get an error on invalid SHA1? (0 ms) -[ok]: EVALSHA - Do we get an error on non defined SHA1? (0 ms) -[ok]: EVAL - Redis integer -> Lua type conversion (1 ms) -[ok]: EVAL - Lua number -> Redis integer conversion (0 ms) -[ok]: EVAL - Redis bulk -> Lua type conversion (1 ms) -[ok]: EVAL - Redis multi bulk -> Lua type conversion (1 ms) -[ok]: EVAL - Redis status reply -> Lua type conversion (0 ms) -[ok]: EVAL - Redis error reply -> Lua type conversion (1 ms) -[ok]: EVAL - Redis nil bulk reply -> Lua type conversion (0 ms) -[ok]: EVAL - Is the Lua client using the currently selected DB? (1 ms) -[ok]: EVAL - SELECT inside Lua should not affect the caller (1 ms) -[ok]: EVAL - Scripts do not block on blpop command (0 ms) -[ok]: EVAL - Scripts do not block on brpop command (1 ms) -[ok]: EVAL - Scripts do not block on brpoplpush command (0 ms) -[ok]: EVAL - Scripts do not block on blmove command (1 ms) -[ok]: EVAL - Scripts do not block on bzpopmin command (0 ms) -[ok]: EVAL - Scripts do not block on bzpopmax command (0 ms) -[ok]: EVAL - Scripts do not block on wait (0 ms) -[ok]: EVAL - Scripts do not block on waitaof (0 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 (0 ms) -[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option -- non empty stream (1 ms) -[ok]: EVAL - Scripts can run non-deterministic commands (0 ms) -[ok]: EVAL - No arguments to redis.call/pcall is considered an error (0 ms) -[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) -[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) -[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) -[ok]: EVAL - Test table unpack with invalid indexes (1 ms) -[ok]: EVAL - JSON numeric decoding (0 ms) -[ok]: EVAL - JSON string decoding (1 ms) -[ok]: EVAL - JSON smoke test (0 ms) -[ok]: EVAL - cmsgpack can pack double? (0 ms) -[ok]: EVAL - cmsgpack can pack negative int64? (1 ms) -[ok]: EVAL - cmsgpack pack/unpack smoke test (270 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 (1 ms) -[ok]: EVAL_RO - Successful case (1 ms) -[ok]: EVAL_RO - Cannot run write commands (1 ms) -[ok]: SCRIPTING FLUSH - is able to clear the scripts cache? (23 ms) -[ok]: SCRIPTING FLUSH ASYNC (14 ms) -[ok]: SCRIPT EXISTS - can detect already defined scripts? (1 ms) -[ok]: SCRIPT LOAD - is able to register scripts in the scripting cache (0 ms) -[ok]: SORT is normally not alpha re-ordered for the scripting engine (1 ms) -[ok]: SORT BY output gets ordered for scripting (1 ms) -[ok]: SORT BY with GET gets ordered for scripting (1 ms) -[ok]: redis.sha1hex() implementation (0 ms) -[ok]: Measures elapsed time os.clock() (1001 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 (0 ms) -[ok]: Globals protection setting an undeclared global* (1 ms) -[ok]: lua bit.tohex bug (0 ms) -[ok]: Test an example script DECR_IF_GT (2 ms) -[ok]: random numbers are random now (0 ms) -[ok]: Scripting engine PRNG can be seeded correctly (0 ms) -[ok]: EVAL does not leak in the Lua stack (427 ms) -[ok]: SPOP: We can call scripts rewriting client->argv from Lua (75 ms) -[ok]: MGET: mget shouldn't be propagated in Lua (101 ms) -[ok]: EXPIRE: We can call scripts rewriting client->argv from Lua (101 ms) -=== (scripting) Starting server 127.0.0.1:21405 ok -[ok]: INCRBYFLOAT: We can call scripts expanding client->argv from Lua (352 ms) -[ok]: Call Redis command with many args from Lua (issue #1764) (2 ms) -[ok]: Number conversion precision test (issue #1118) (1 ms) -[ok]: String containing number precision test (regression of issue #1118) (0 ms) -[ok]: Verify negative arg count is error instead of crash (issue #1842) (1 ms) -[ok]: Scripts can handle commands with incorrect arity (1 ms) -[ok]: Correct handling of reused argv (issue #1939) (0 ms) -[ok]: Functions in the Redis 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 (156 ms) -[ok]: Script check unpack with massive arguments (10 ms) -[ok]: Script read key with expiration set (0 ms) -[ok]: Script del key with expiration set (1 ms) -[ok]: Script ACL check (1 ms) -[ok]: Binary code loading failed (0 ms) -[ok]: Try trick global protection 1 (0 ms) -[ok]: Try trick global protection 2 (1 ms) -[ok]: Try trick global protection 3 (0 ms) -[ok]: Try trick global protection 4 (1 ms) -[ok]: Try trick readonly table on redis table (0 ms) -[ok]: Try trick readonly table on json table (1 ms) -[ok]: Try trick readonly table on cmsgpack table (0 ms) -[ok]: Try trick readonly table on bit table (1 ms) -[ok]: Try trick readonly table on basic types metatable (2 ms) -[ok]: Test loadfile are not available (1 ms) -[ok]: Test dofile are not available (0 ms) -[ok]: Test print are not available (1 ms) -[ignore]: large memory flag not provided -=== (scripting external:skip) Starting server 127.0.0.1:21407 ok -[ok]: Test setfenv availability lua-enable-deprecated-api=no (1 ms) -[ok]: Test getfenv availability lua-enable-deprecated-api=no (1 ms) -[ok]: Test newproxy availability lua-enable-deprecated-api=no (0 ms) -=== (scripting external:skip) Starting server 127.0.0.1:21409 ok -[ok]: Test setfenv availability lua-enable-deprecated-api=yes (1 ms) -[ok]: Test getfenv availability lua-enable-deprecated-api=yes (1 ms) -[ok]: Test newproxy availability lua-enable-deprecated-api=yes (0 ms) -=== (scripting) Starting server 127.0.0.1:21411 ok -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (437 ms) -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (120 ms) -[ok]: Timedout script does not cause a false dead client (78 ms) -[ok]: Timedout script link is still usable after Lua returns (73 ms) -[ok]: Timedout scripts and unblocked command (378 ms) -[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (226 ms) -[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (5 ms) -=== (scripting repl needs:debug external:skip) Starting server 127.0.0.1:21413 ok -=== () Starting server 127.0.0.1:21415 ok -[ok]: Before the replica connects we issue two EVAL commands (1 ms) -[ok]: Connect a replica to the master instance (103 ms) -[ok]: Now use EVALSHA against the master, with both SHAs (1 ms) -[ok]: 'x' should be '4' for EVALSHA being replicated by effects (0 ms) -[ok]: Replication of script multiple pushes to list with BLPOP (24 ms) -[ok]: EVALSHA replication when first call is readonly (1 ms) -[ok]: Lua scripts using SELECT are replicated correctly (2 ms) -=== (scripting repl external:skip) Starting server 127.0.0.1:21417 ok -=== () Starting server 127.0.0.1:21419 ok -[ok]: Connect a replica to the master instance (113 ms) -[ok]: Redis.replicate_commands() can be issued anywhere now (5 ms) -[ok]: Redis.set_repl() can be issued before replicate_commands() now (1 ms) -[ok]: Redis.set_repl() don't accept invalid values (0 ms) -[ok]: Test selective replication of certain Redis commands from Lua (2 ms) -[ok]: PRNG is seeded randomly for command replication (0 ms) -[ok]: Using side effects is not a problem with command replication (1 ms) -=== (scripting external:skip) Starting server 127.0.0.1:21421 ok -=== (scripting needs:debug external:skip) Starting server 127.0.0.1:21423 ok -[ok]: Test scripting debug protocol parsing (1 ms) -[ok]: Test scripting debug lua stack overflow (13 ms) -=== (scripting external:skip) Starting server 127.0.0.1:21425 ok -[ok]: Lua scripts eviction does not generate many scripts (111 ms) -[ok]: Lua scripts eviction is plain LRU (52 ms) -[ok]: Lua scripts eviction does not affect script load (126 ms) -=== (scripting needs:debug) Starting server 127.0.0.1:21427 ok -[ok]: test RESP2/2 big number protocol parsing (0 ms) -[ok]: test RESP2/2 malformed big number protocol parsing (1 ms) -[ok]: test RESP2/2 map protocol parsing (0 ms) -[ok]: test RESP2/2 set protocol parsing (0 ms) -[ok]: test RESP2/2 double protocol parsing (0 ms) -[ok]: test RESP2/2 null protocol parsing (0 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 (0 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 (0 ms) -[ok]: test RESP2/3 set protocol parsing (0 ms) -[ok]: test RESP2/3 double protocol parsing (1 ms) -[ok]: test RESP2/3 null protocol parsing (0 ms) -[ok]: test RESP2/3 verbatim protocol parsing (1 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 (0 ms) -[ok]: test RESP3/2 set protocol parsing (0 ms) -[ok]: test RESP3/2 double protocol parsing (0 ms) -[ok]: test RESP3/2 null protocol parsing (0 ms) -[ok]: test RESP3/2 verbatim protocol parsing (0 ms) -[ok]: test RESP3/2 true protocol parsing (1 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 (0 ms) -[ok]: test RESP3/3 map protocol parsing (0 ms) -[ok]: test RESP3/3 set protocol parsing (0 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 (1 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 (85 ms) -[ok]: RESTORE expired keys with expiration time (11 ms) -=== (scripting) Starting server 127.0.0.1:21429 ok -[ok]: Test script flush will not leak memory - script:1 (117 ms) -[ok]: Verify Lua performs GC correctly after script loading (5795 ms) -=== (scripting) Starting server 127.0.0.1:21431 ok -[ok]: Shebang support for lua engine (0 ms) -[ok]: Unknown shebang option (1 ms) -[ok]: Unknown shebang flag (0 ms) -[ok]: allow-oom shebang flag (1 ms) -[ok]: no-writes shebang flag (0 ms) -=== (external:skip) Starting server 127.0.0.1:21433 ok -[ok]: no-writes shebang flag on replica (275 ms) -[ok]: not enough good replicas (3 ms) -=== (external:skip) Starting server 127.0.0.1:21435 ok -[ok]: not enough good replicas state change during long script (538 ms) -[ok]: allow-stale shebang flag (3 ms) -[ok]: reject script do not cause a Lua stack leak (10 ms) -=== (scripting) Starting server 127.0.0.1:21437 ok -[ok]: Consistent eval error reporting (14 ms) -[ok]: LUA redis.error_reply API (1 ms) -[ok]: LUA redis.error_reply API with empty string (1 ms) -[ok]: LUA redis.status_reply API (0 ms) -[ok]: LUA test pcall (1 ms) -[ok]: LUA test pcall with error (0 ms) -[ok]: LUA test pcall with non string/integer arg (0 ms) -[ok]: LUA test trim string as expected (1 ms) -[ok]: EVAL - explicit error() call handling (0 ms) -[38/96 done]: unit/scripting (31 seconds) -Testing unit/shutdown -=== (shutdown external:skip) Starting server 127.0.0.1:21439 ok -[ok]: Temp rdb will be deleted if we use bg_unlink when shutdown (136 ms) -=== (shutdown external:skip) Starting server 127.0.0.1:21441 ok -[ok]: SHUTDOWN ABORT can cancel SIGTERM (13 ms) -[ok]: Temp rdb will be deleted in signal handle (65 ms) -=== (shutdown external:skip) Starting server 127.0.0.1:21443 ok -[ok]: RDB save will be failed in shutdown (7 ms) -[ok]: SHUTDOWN will abort if rdb save failed on signal (69 ms) -[ok]: SHUTDOWN will abort if rdb save failed on shutdown command (1 ms) -[ok]: SHUTDOWN can proceed if shutdown command was with nosave (4 ms) -[ok]: Clean up rdb same named folder (2 ms) -=== (shutdown external:skip) Starting server 127.0.0.1:21445 ok -[ok]: SHUTDOWN SIGTERM will abort if there's an initial AOFRW - default (62 ms) -[39/96 done]: unit/shutdown (1 seconds) -Testing unit/slowlog -=== (slowlog) Starting server 127.0.0.1:21447 ok -[ok]: SLOWLOG - check that it starts with an empty log (0 ms) -[ok]: SLOWLOG - only logs commands taking more time than specified (202 ms) -[ok]: SLOWLOG - zero max length is correctly handled (12 ms) -[ok]: SLOWLOG - max entries is correctly handled (14 ms) -[ok]: SLOWLOG - GET optional argument to limit output len works (4 ms) -[ok]: SLOWLOG - RESET subcommand works (1 ms) -[ok]: SLOWLOG - logged entry sanity check (201 ms) -[ok]: SLOWLOG - Certain commands are omitted that contain sensitive information (5 ms) -[ok]: SLOWLOG - Some commands can redact sensitive fields (2 ms) -[ok]: SLOWLOG - Rewritten commands are logged as their original command (31 ms) -[ok]: SLOWLOG - commands with too many arguments are trimmed (2 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 (202 ms) -[ok]: SLOWLOG - can be disabled (404 ms) -[ok]: SLOWLOG - count must be >= -1 (0 ms) -[ok]: SLOWLOG - get all slow logs (4 ms) -[ok]: SLOWLOG - blocking command is reported only after unblocked (27 ms) -[40/96 done]: unit/slowlog (2 seconds) -Testing unit/sort -=== (sort) Starting server 127.0.0.1:21449 ok -[ok]: Listpack: SORT BY key (1 ms) -[ok]: Listpack: SORT BY key with limit (0 ms) -[ok]: Listpack: SORT BY hash field (1 ms) -[ok]: Quicklist: SORT BY key (8 ms) -[ok]: Quicklist: SORT BY key with limit (1 ms) -[ok]: Quicklist: SORT BY hash field (8 ms) -[ok]: Big Quicklist: SORT BY key (291 ms) -[ok]: Big Quicklist: SORT BY key with limit (5 ms) -[ok]: Big Quicklist: SORT BY hash field (289 ms) -[ok]: Intset: SORT BY key (1 ms) -[ok]: Intset: SORT BY key with limit (0 ms) -[ok]: Intset: SORT BY hash field (0 ms) -[ok]: Hash table: SORT BY key (13 ms) -[ok]: Hash table: SORT BY key with limit (1 ms) -[ok]: Hash table: SORT BY hash field (8 ms) -[ok]: Big Hash table: SORT BY key (301 ms) -[ok]: Big Hash table: SORT BY key with limit (14 ms) -[ok]: Big Hash table: SORT BY hash field (294 ms) -[ok]: SORT GET # (0 ms) -[ok]: SORT GET (1 ms) -[ok]: SORT_RO GET (0 ms) -[ok]: SORT GET (key and hash) with sanity check (7 ms) -[ok]: SORT BY key STORE (1 ms) -[ok]: SORT BY hash field STORE (2 ms) -[ok]: SORT extracts STORE correctly (0 ms) -[ok]: SORT_RO get keys (1 ms) -[ok]: SORT extracts multiple STORE correctly (0 ms) -[ok]: SORT DESC (1 ms) -[ok]: SORT ALPHA against integer encoded strings (5 ms) -[ok]: SORT sorted set (2 ms) -[ok]: SORT sorted set BY nosort should retain ordering (2 ms) -[ok]: SORT sorted set BY nosort + LIMIT (3 ms) -[ok]: SORT sorted set BY nosort works as expected from scripts (1 ms) -[ok]: SORT sorted set: +inf and -inf handling (2 ms) -[ok]: SORT regression for issue #19, sorting floats (10 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) (1 ms) -[ok]: SORT with STORE removes key if result is empty (github issue 227) (1 ms) -[ok]: SORT with BY and STORE should still order output (1 ms) -[ok]: SORT will complain with numerical sorting and bad doubles (1) (0 ms) -[ok]: SORT will complain with numerical sorting and bad doubles (2) (1 ms) -[ok]: SORT BY sub-sorts lexicographically if score is the same (0 ms) -[ok]: SORT GET with pattern ending with just -> does not get hash field (1 ms) -[ok]: SORT by nosort retains native order for lists (0 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 (0 ms) -[ok]: SORT_RO - Successful case (0 ms) -[ok]: SORT_RO - Cannot run with STORE arg (1 ms) - - Average time to sort: 0.25 milliseconds [ok]: SORT speed, 100 element list BY key, 100 times (25 ms) - - Average time to sort: 0.23000000000000001 milliseconds [ok]: SORT speed, 100 element list BY hash field, 100 times (23 ms) - - Average time to sort: 0.17999999999999999 milliseconds [ok]: SORT speed, 100 element list directly, 100 times (19 ms) - - Average time to sort: 0.23999999999999999 milliseconds [ok]: SORT speed, 100 element list BY , 100 times (24 ms) -[ok]: SETRANGE with huge offset (1 ms) -[ok]: SORT STORE quicklist with the right options (51 ms) -=== (external:skip cluster sort) Starting server 127.0.0.1:21451 ok -[ok]: sort by in cluster mode (0 ms) -[ok]: sort get in cluster mode (0 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 (0 ms) -[ok]: sort_ro get # in cluster mode (0 ms) -[41/96 done]: unit/sort (10 seconds) -Testing unit/tls -=== (tls) Starting server 127.0.0.1:21453 ok -[ok]: TLS: Not accepting non-TLS connections on a TLS port (1 ms) -[ok]: TLS: Verify tls-auth-clients behaves as expected (64 ms) -[ok]: TLS: Verify tls-protocols behaves as expected (41 ms) -[ok]: TLS: Verify tls-ciphers behaves as expected (78 ms) -[ok]: TLS: Verify tls-prefer-server-ciphers behaves as expected (79 ms) -=== () Starting server 127.0.0.1:21455 ok -[ok]: TLS: Verify tls-cert-file is also used as a client cert if none specified (388 ms) -[ok]: TLS: switch between tcp and tls ports (64 ms) -[ok]: TLS: Working with an encrypted keyfile (27 ms) -[42/96 done]: unit/tls (1 seconds) -Testing unit/tracking -=== (tracking network logreqres:skip) Starting server 127.0.0.1:21457 ok -[ok]: Clients are able to enable tracking and redirect it (0 ms) -[ok]: The other connection is able to get invalidations (2 ms) -[ok]: The client is now able to disable tracking (1 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 (2 ms) -[ok]: Tracking NOLOOP mode in BCAST mode works (2 ms) -[ok]: Tracking gets notification of expired keys (1003 ms) -[ok]: Tracking gets notification of lazy expired keys (104 ms) -[ok]: HELLO 3 reply is correct (0 ms) -[ok]: HELLO without protover (1 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 (1 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 (1 ms) -[ok]: Tracking only occurs for scripts when a command calls a read-only command (2 ms) -[ok]: RESP3 Client gets tracking-redir-broken push message after cached key changed when rediretion client is terminated (13 ms) -[ok]: Different clients can redirect to the same connection (1 ms) -[ok]: Different clients using different protocols can track the same key (2 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 (2 ms) -[ok]: No invalidation message when using OPTOUT option with CLIENT CACHING no (1 ms) -[ok]: Able to redirect to a RESP3 client (1 ms) -[ok]: After switching from normal tracking to BCAST mode, no invalidation message is produced for pre-BCAST keys (2 ms) -[ok]: BCAST with prefix collisions throw errors (14 ms) -[ok]: hdel deliver invalidate message after response in the same connection (2 ms) -[ok]: Tracking invalidation message is not interleaved with multiple keys response (119 ms) -[ok]: Tracking invalidation message is not interleaved with transaction response (2 ms) -[ok]: Tracking invalidation message of eviction keys should be before response (3 ms) -[ok]: Unblocked BLMOVE gets notification after response (3 ms) -[ok]: Tracking gets notification on tracking table key eviction (24 ms) -[ok]: Invalidation message received for flushall (27 ms) -[ok]: Invalidation message received for flushdb (25 ms) -[ok]: Test ASYNC flushall (25 ms) -[ok]: flushdb tracking invalidation message is not interleaved with transaction response (25 ms) -[ok]: Server is able to evacuate enough keys when num of keys surpasses limit by more than defined initial effort (213 ms) -[ok]: Tracking info is correct (53 ms) -[ok]: CLIENT GETREDIR provides correct client id (1 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking off (1 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on (0 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on with options (1 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optin (1 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optout (1 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking bcast mode (1 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking redir broken (41 ms) -[ok]: Regression test for #11715 (35 ms) -[ok]: RESP3 based basic invalidation with client reply off (36 ms) -[ok]: RESP2 based basic invalidation with client reply off (80 ms) -[ok]: RESP3 based basic redirect invalidation with client reply off (89 ms) -[ok]: RESP3 based basic tracking-redir-broken with client reply off (66 ms) -=== (tracking network) Starting server 127.0.0.1:21459 ok -[ok]: Coverage: Basic CLIENT CACHING (32 ms) -[ok]: Coverage: Basic CLIENT REPLY (0 ms) -[ok]: Coverage: Basic CLIENT TRACKINGINFO (0 ms) -[ok]: Coverage: Basic CLIENT GETREDIR (1 ms) -[43/96 done]: unit/tracking (2 seconds) -Testing unit/violations -=== () Starting server 127.0.0.1:21461 ok -[ignore]: XADD one huge field: large memory flag not provided -=== () Starting server 127.0.0.1:21463 ok -[ignore]: XADD one huge field - 1: large memory flag not provided -=== () Starting server 127.0.0.1:21465 ok -[ignore]: several XADD big fields: large memory flag not provided -=== () Starting server 127.0.0.1:21467 ok -[ignore]: single XADD big fields: large memory flag not provided -=== () Starting server 127.0.0.1:21469 ok -[ignore]: hash with many big fields: large memory flag not provided -=== () Starting server 127.0.0.1:21471 ok -[ignore]: hash with one huge field: large memory flag not provided -=== () Starting server 127.0.0.1:21473 ok -[ok]: SORT adds integer field to list (2 ms) -[44/96 done]: unit/violations (2 seconds) -Testing unit/wait -=== (wait network external:skip) Starting server 127.0.0.1:21475 ok -=== () Starting server 127.0.0.1:21477 ok -[ok]: Setup slave (104 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 (1003 ms) -[ok]: WAIT should not acknowledge 1 additional copy if slave is blocked (1133 ms) -[ok]: WAIT implicitly blocks on client pause since ACKs aren't sent (1114 ms) -[ok]: WAIT replica multiple clients unblock - reuse last result (109 ms) -=== () Starting server 127.0.0.1:21479 ok -[ok]: WAITAOF local copy before fsync (72 ms) -[ok]: WAITAOF local copy everysec (304 ms) -[ok]: WAITAOF local copy with appendfsync always (0 ms) -[ok]: WAITAOF local wait and then stop aof (32 ms) -[ok]: WAITAOF local on server with aof disabled (1 ms) -[ok]: WAITAOF local client unblock with timeout and error (36 ms) -[ok]: WAITAOF local if AOFRW was postponed (338 ms) -=== () Starting server 127.0.0.1:21481 ok -[ok]: WAITAOF on demoted master gets unblocked with an error (32 ms) -[ok]: WAITAOF replica copy before fsync (80 ms) -[ok]: WAITAOF replica copy everysec (1666 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec with AOFRW (2027 ms) -[ok]: WAITAOF replica copy everysec with slow AOFRW (2030 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec->always with AOFRW (107 ms) -[ok]: WAITAOF replica copy appendfsync always (1 ms) -[ok]: WAITAOF replica copy if replica is blocked (1989 ms) -[ok]: WAITAOF replica multiple clients unblock - reuse last result (2043 ms) -[ok]: WAITAOF on promoted replica (198 ms) -[ok]: WAITAOF master that loses a replica and backlog is dropped (2016 ms) -[ok]: WAITAOF master without backlog, wait is released when the replica finishes full-sync (830 ms) -[ok]: WAITAOF master isn't configured to do AOF (1012 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica isn't configured to do AOF (109 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 (1917 ms) -[ok]: WAITAOF master sends PING after last write (1207 ms) -[ok]: WAITAOF master client didn't send any write command (1234 ms) -[ok]: WAITAOF master client didn't send any command (1204 ms) -=== () Starting server 127.0.0.1:21483 ok -=== () Starting server 127.0.0.1:21485 ok -[ok]: WAITAOF when replica switches between masters, fsync: no (3627 ms) -=== () Starting server 127.0.0.1:21487 ok -=== () Starting server 127.0.0.1:21489 ok -[ok]: WAITAOF when replica switches between masters, fsync: everysec (2501 ms) -=== () Starting server 127.0.0.1:21491 ok -=== () Starting server 127.0.0.1:21493 ok -[ok]: WAITAOF when replica switches between masters, fsync: always (1479 ms) -=== (failover external:skip) Starting server 127.0.0.1:21495 ok -=== () Starting server 127.0.0.1:21497 ok -=== () Starting server 127.0.0.1:21499 ok -[ok]: setup replication for following tests (106 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 (620 ms) -[45/96 done]: unit/wait (34 seconds) -Testing unit/type/hash-field-expire -=== (external:skip needs:debug) Starting server 127.0.0.1:21501 ok -[ok]: HEXPIRE/HEXPIREAT/HPEXPIRE/HPEXPIREAT - Returns array if the key does not exist (1 ms) -[ok]: HEXPIRE/HEXPIREAT/HPEXPIRE/HPEXPIREAT - Verify that the expire time does not overflow (1 ms) -[ok]: HPEXPIRE(AT) - Test 'NX' flag (listpackex) (8 ms) -[ok]: HPEXPIRE(AT) - Test 'XX' flag (listpackex) (1 ms) -[ok]: HPEXPIRE(AT) - Test 'GT' flag (listpackex) (1 ms) -[ok]: HPEXPIRE(AT) - Test 'LT' flag (listpackex) (2 ms) -[ok]: HPEXPIREAT - field not exists or TTL is in the past (listpackex) (1 ms) -[ok]: HPEXPIRE - wrong number of arguments (listpackex) (1 ms) -[ok]: HPEXPIRE - parameter expire-time near limit of 2^46 (listpackex) (1 ms) -[ok]: Lazy Expire - fields are lazy deleted (listpackex) (9 ms) -[ok]: Active Expire - deletes hash that all its fields got expired (listpackex) (484 ms) -[ok]: HPEXPIRE - Flushall deletes all pending expired fields (listpackex) (6 ms) -[ok]: HTTL/HPTTL - Returns array if the key does not exist (0 ms) -[ok]: HTTL/HPTTL - Input validation gets failed on nonexists field or field without expire (listpackex) (1 ms) -[ok]: HTTL/HPTTL - returns time to live in seconds/msillisec (listpackex) (1 ms) -[ok]: HEXPIRETIME/HPEXPIRETIME - Returns array if the key does not exist (1 ms) -[ok]: HEXPIRETIME - returns TTL in Unix timestamp (listpackex) (7 ms) -[ok]: HTTL/HPTTL - Verify TTL progress until expiration (listpackex) (1014 ms) -[ok]: HPEXPIRE - DEL hash with non expired fields (valgrind test) (listpackex) (1 ms) -[ok]: HEXPIREAT - Set time in the past (listpackex) (0 ms) -[ok]: HEXPIREAT - Set time and then get TTL (listpackex) (0 ms) -[ok]: Lazy Expire - delete hash with expired fields (listpackex) (6 ms) -[ok]: Test HRANDFIELD deletes all expired fields (listpackex) (34 ms) -[ok]: Lazy Expire - HLEN does count expired fields (listpackex) (17 ms) -[ok]: Lazy Expire - HSCAN does not report expired fields (listpackex) (19 ms) -[ok]: Test HSCAN with mostly expired fields return empty result (listpackex) (452 ms) -[ok]: Lazy Expire - verify various HASH commands handling expired fields (listpackex) (16 ms) -[ok]: A field with TTL overridden with another value (TTL discarded) (listpackex) (7 ms) -[ok]: Modify TTL of a field (listpackex) (20 ms) -[ok]: Test return value of set operation (listpackex) (0 ms) -[ok]: Test HGETALL not return expired fields (listpackex) (270 ms) -[ok]: Test RENAME hash with fields to be expired (listpackex) (91 ms) -[ok]: Test RENAME hash that had HFEs but not during the rename (listpackex) (97 ms) -[ok]: MOVE to another DB hash with fields to be expired (listpackex) (110 ms) -[ok]: Test COPY hash with fields to be expired (listpackex) (195 ms) -[ok]: Test COPY hash that had HFEs but not during the copy (listpackex) (96 ms) -[ok]: Test SWAPDB hash-fields to be expired (listpackex) (105 ms) -[ok]: Test SWAPDB hash that had HFEs but not during the swap (listpackex) (104 ms) -[ok]: HMGET - returns empty entries if fields or hash expired (listpackex) (7 ms) -[ok]: HPERSIST - Returns array if the key does not exist (listpackex) (6 ms) -[ok]: HPERSIST - input validation (listpackex) (2 ms) -[ok]: HPERSIST - verify fields with TTL are persisted (listpackex) (26 ms) -[ok]: HTTL/HPERSIST - Test expiry commands with non-volatile hash (listpackex) (1 ms) -[ok]: DUMP / RESTORE are able to serialize / unserialize a hash (2 ms) -[ok]: RESTORE hash that had in the past HFEs but not during the dump (56 ms) -[ok]: DUMP / RESTORE are able to serialize / unserialize a hash with TTL 0 for all fields (1 ms) -[ok]: HINCRBY - discards pending expired field and reset its value (17 ms) -[ok]: HINCRBY - preserve expiration time of the field (0 ms) -[ok]: HINCRBYFLOAT - discards pending expired field and reset its value (16 ms) -[ok]: HINCRBYFLOAT - preserve expiration time of the field (0 ms) -[ok]: HGETDEL - delete field with ttl (listpackex) (36 ms) -[ok]: HGETEX - input validation (listpackex) (2 ms) -[ok]: HGETEX - input validation (expire time) (listpackex) (6 ms) -[ok]: HGETEX - get without setting ttl (listpackex) (1 ms) -[ok]: HGETEX - get and set the ttl (listpackex) (1 ms) -[ok]: HGETEX - Test 'EX' flag (listpackex) (1 ms) -[ok]: HGETEX - Test 'EXAT' flag (listpackex) (1 ms) -[ok]: HGETEX - Test 'PX' flag (listpackex) (5 ms) -[ok]: HGETEX - Test 'PXAT' flag (listpackex) (0 ms) -[ok]: HGETEX - Test 'PERSIST' flag (listpackex) (12 ms) -[ok]: HGETEX - Test setting ttl in the past will delete the key (listpackex) (2 ms) -[ok]: HGETEX - Test active expiry (listpackex) (1 ms) -[ok]: HGETEX - A field with TTL overridden with another value (TTL discarded) (listpackex) (1 ms) -[ok]: HGETEX - Test with lazy expiry (listpackex) (6 ms) -[ok]: HSETEX - input validation (listpackex) (13 ms) -[ok]: HSETEX - Basic test (listpackex) (1 ms) -[ok]: HSETEX - Test FXX flag (listpackex) (3 ms) -[ok]: HSETEX - Test FXX flag with lazy expire (listpackex) (23 ms) -[ok]: HSETEX - Test FNX flag (listpackex) (2 ms) -[ok]: HSETEX - Test 'EX' flag (listpackex) (3 ms) -[ok]: HSETEX - Test 'EXAT' flag (listpackex) (0 ms) -[ok]: HSETEX - Test 'PX' flag (listpackex) (0 ms) -[ok]: HSETEX - Test 'PXAT' flag (listpackex) (1 ms) -[ok]: HSETEX - Test 'KEEPTTL' flag (listpackex) (3 ms) -[ok]: HSETEX - Test no expiry flag discards TTL (listpackex) (1 ms) -[ok]: HSETEX - Test with active expiry (22 ms) -[ok]: HSETEX - Set time in the past (listpackex) (1 ms) -[ok]: HEXPIRE/HEXPIREAT/HPEXPIRE/HPEXPIREAT - Returns array if the key does not exist (0 ms) -[ok]: HEXPIRE/HEXPIREAT/HPEXPIRE/HPEXPIREAT - Verify that the expire time does not overflow (0 ms) -[ok]: HPEXPIRE(AT) - Test 'NX' flag (hashtable) (1 ms) -[ok]: HPEXPIRE(AT) - Test 'XX' flag (hashtable) (1 ms) -[ok]: HPEXPIRE(AT) - Test 'GT' flag (hashtable) (1 ms) -[ok]: HPEXPIRE(AT) - Test 'LT' flag (hashtable) (1 ms) -[ok]: HPEXPIREAT - field not exists or TTL is in the past (hashtable) (1 ms) -[ok]: HPEXPIRE - wrong number of arguments (hashtable) (1 ms) -[ok]: HPEXPIRE - parameter expire-time near limit of 2^46 (hashtable) (1 ms) -[ok]: Lazy Expire - fields are lazy deleted (hashtable) (10 ms) -[ok]: Active Expire - deletes hash that all its fields got expired (hashtable) (308 ms) -[ok]: HPEXPIRE - Flushall deletes all pending expired fields (hashtable) (4 ms) -[ok]: HTTL/HPTTL - Returns array if the key does not exist (0 ms) -[ok]: HTTL/HPTTL - Input validation gets failed on nonexists field or field without expire (hashtable) (1 ms) -[ok]: HTTL/HPTTL - returns time to live in seconds/msillisec (hashtable) (7 ms) -[ok]: HEXPIRETIME/HPEXPIRETIME - Returns array if the key does not exist (0 ms) -[ok]: HEXPIRETIME - returns TTL in Unix timestamp (hashtable) (1 ms) -[ok]: HTTL/HPTTL - Verify TTL progress until expiration (hashtable) (1014 ms) -[ok]: HPEXPIRE - DEL hash with non expired fields (valgrind test) (hashtable) (0 ms) -[ok]: HEXPIREAT - Set time in the past (hashtable) (1 ms) -[ok]: HEXPIREAT - Set time and then get TTL (hashtable) (1 ms) -[ok]: Lazy Expire - delete hash with expired fields (hashtable) (9 ms) -[ok]: Test HRANDFIELD deletes all expired fields (hashtable) (34 ms) -[ok]: Lazy Expire - HLEN does count expired fields (hashtable) (13 ms) -[ok]: Lazy Expire - HSCAN does not report expired fields (hashtable) (17 ms) -[ok]: Test HSCAN with mostly expired fields return empty result (hashtable) (335 ms) -[ok]: Lazy Expire - verify various HASH commands handling expired fields (hashtable) (19 ms) -[ok]: A field with TTL overridden with another value (TTL discarded) (hashtable) (6 ms) -[ok]: Modify TTL of a field (hashtable) (16 ms) -[ok]: Test return value of set operation (hashtable) (1 ms) -[ok]: Test HGETALL not return expired fields (hashtable) (193 ms) -[ok]: Test RENAME hash with fields to be expired (hashtable) (106 ms) -[ok]: Test RENAME hash that had HFEs but not during the rename (hashtable) (94 ms) -[ok]: MOVE to another DB hash with fields to be expired (hashtable) (104 ms) -[ok]: Test COPY hash with fields to be expired (hashtable) (201 ms) -[ok]: Test COPY hash that had HFEs but not during the copy (hashtable) (104 ms) -[ok]: Test SWAPDB hash-fields to be expired (hashtable) (101 ms) -[ok]: Test SWAPDB hash that had HFEs but not during the swap (hashtable) (102 ms) -[ok]: HMGET - returns empty entries if fields or hash expired (hashtable) (7 ms) -[ok]: HPERSIST - Returns array if the key does not exist (hashtable) (1 ms) -[ok]: HPERSIST - input validation (hashtable) (1 ms) -[ok]: HPERSIST - verify fields with TTL are persisted (hashtable) (32 ms) -[ok]: HTTL/HPERSIST - Test expiry commands with non-volatile hash (hashtable) (1 ms) -[ok]: DUMP / RESTORE are able to serialize / unserialize a hash (1 ms) -[ok]: RESTORE hash that had in the past HFEs but not during the dump (54 ms) -[ok]: DUMP / RESTORE are able to serialize / unserialize a hash with TTL 0 for all fields (3 ms) -[ok]: HINCRBY - discards pending expired field and reset its value (23 ms) -[ok]: HINCRBY - preserve expiration time of the field (1 ms) -[ok]: HINCRBYFLOAT - discards pending expired field and reset its value (17 ms) -[ok]: HINCRBYFLOAT - preserve expiration time of the field (1 ms) -[ok]: HGETDEL - delete field with ttl (hashtable) (33 ms) -[ok]: HGETEX - input validation (hashtable) (9 ms) -[ok]: HGETEX - input validation (expire time) (hashtable) (2 ms) -[ok]: HGETEX - get without setting ttl (hashtable) (1 ms) -[ok]: HGETEX - get and set the ttl (hashtable) (1 ms) -[ok]: HGETEX - Test 'EX' flag (hashtable) (0 ms) -[ok]: HGETEX - Test 'EXAT' flag (hashtable) (0 ms) -[ok]: HGETEX - Test 'PX' flag (hashtable) (0 ms) -[ok]: HGETEX - Test 'PXAT' flag (hashtable) (1 ms) -[ok]: HGETEX - Test 'PERSIST' flag (hashtable) (9 ms) -[ok]: HGETEX - Test setting ttl in the past will delete the key (hashtable) (1 ms) -[ok]: HGETEX - Test active expiry (hashtable) (1 ms) -[ok]: HGETEX - A field with TTL overridden with another value (TTL discarded) (hashtable) (1 ms) -[ok]: HGETEX - Test with lazy expiry (hashtable) (7 ms) -[ok]: HSETEX - input validation (hashtable) (12 ms) -[ok]: HSETEX - Basic test (hashtable) (2 ms) -[ok]: HSETEX - Test FXX flag (hashtable) (2 ms) -[ok]: HSETEX - Test FXX flag with lazy expire (hashtable) (21 ms) -[ok]: HSETEX - Test FNX flag (hashtable) (2 ms) -[ok]: HSETEX - Test 'EX' flag (hashtable) (1 ms) -[ok]: HSETEX - Test 'EXAT' flag (hashtable) (1 ms) -[ok]: HSETEX - Test 'PX' flag (hashtable) (0 ms) -[ok]: HSETEX - Test 'PXAT' flag (hashtable) (4 ms) -[ok]: HSETEX - Test 'KEEPTTL' flag (hashtable) (2 ms) -[ok]: HSETEX - Test no expiry flag discards TTL (hashtable) (1 ms) -[ok]: HSETEX - Test with active expiry (42 ms) -[ok]: HSETEX - Set time in the past (hashtable) (1 ms) -[ok]: Statistics - Hashes with HFEs (hashtable) (212 ms) -[ok]: HFE commands against wrong type (2 ms) -=== (external:skip needs:debug) Starting server 127.0.0.1:21503 ok -[ok]: Test listpack memory usage (4 ms) -[ok]: Test listpack object encoding (0 ms) -[ok]: Test listpack debug listpack (1 ms) -[ok]: Test listpack converts to ht and passive expiry works (58 ms) -[ok]: Test listpack converts to ht and active expiry works (512 ms) -[ok]: Test listpack converts to ht and active expiry works (305 ms) -[ok]: HPERSIST/HEXPIRE - Test listpack with large values (63 ms) -=== (external:skip needs:debug) Starting server 127.0.0.1:21505 ok -=== (external:skip) Starting server 127.0.0.1:21507 ok -[ok]: Test Command propagated to replica as expected (listpack) (387 ms) -=== (external:skip) Starting server 127.0.0.1:21509 ok -[ok]: Lazy Expire - fields are lazy deleted and propagated to replicas (listpack) (307 ms) -=== (external:skip) Starting server 127.0.0.1:21511 ok -[ok]: All TTLs in commands are propagated as absolute timestamp in milliseconds in AOF (221 ms) -[ok]: All TTL in commands are propagated as absolute timestamp in replication stream (117 ms) -[ok]: HRANDFIELD delete expired fields and propagate DELs to replica (122 ms) -=== (needs:repl external:skip) Starting server 127.0.0.1:21513 ok -[ok]: For all replicated TTL-related commands, absolute expire times are identical on primary and replica (66 ms) -[ok]: Test HSETEX command replication (125 ms) -[ok]: Test HGETEX command replication (140 ms) -=== (external:skip) Starting server 127.0.0.1:21515 ok -[ok]: HINCRBYFLOAT command won't remove field expiration on replica (listpack) (451 ms) -=== (external:skip) Starting server 127.0.0.1:21517 ok -[ok]: Test Command propagated to replica as expected (ht) (376 ms) -=== (external:skip) Starting server 127.0.0.1:21519 ok -[ok]: Lazy Expire - fields are lazy deleted and propagated to replicas (ht) (288 ms) -=== (external:skip) Starting server 127.0.0.1:21521 ok -[ok]: All TTLs in commands are propagated as absolute timestamp in milliseconds in AOF (217 ms) -[ok]: All TTL in commands are propagated as absolute timestamp in replication stream (97 ms) -[ok]: HRANDFIELD delete expired fields and propagate DELs to replica (122 ms) -=== (needs:repl external:skip) Starting server 127.0.0.1:21523 ok -[ok]: For all replicated TTL-related commands, absolute expire times are identical on primary and replica (70 ms) -[ok]: Test HSETEX command replication (105 ms) -[ok]: Test HGETEX command replication (138 ms) -=== (external:skip) Starting server 127.0.0.1:21525 ok -[ok]: HINCRBYFLOAT command won't remove field expiration on replica (ht) (537 ms) -[46/96 done]: unit/type/hash-field-expire (14 seconds) -Testing unit/type/hash -=== (hash) Starting server 127.0.0.1:21527 ok -[ok]: HSET/HLEN - Small hash creation (1 ms) -[ok]: Is the small hash encoded with a listpack? (0 ms) -[ok]: HRANDFIELD - listpack (15 ms) -[ok]: HRANDFIELD - hashtable (10 ms) -[ok]: HRANDFIELD with RESP3 (1 ms) -[ok]: HRANDFIELD count of 0 is handled correctly (0 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 (0 ms) -[ok]: HRANDFIELD with - hashtable (130 ms) -[ok]: HRANDFIELD with - listpack (122 ms) -[ok]: HSET/HLEN - Big hash creation (143 ms) -[ok]: Is the big hash encoded with an hash table? (0 ms) -[ok]: HGET against the small hash (1 ms) -[ok]: HGET against the big hash (93 ms) -[ok]: HGET against non existing key (0 ms) -[ok]: HSET in update and insert mode (1 ms) -[ok]: HSETNX target key missing - small hash (0 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 (0 ms) -[ok]: HSET/HMSET wrong number of args (1 ms) -[ok]: HMSET - small hash (0 ms) -[ok]: HMSET - big hash (60 ms) -[ok]: HMGET against non existing key and fields (1 ms) -[ok]: Hash commands against wrong type (3 ms) -[ok]: HMGET - small hash (0 ms) -[ok]: HMGET - big hash (61 ms) -[ok]: HKEYS - small hash (0 ms) -[ok]: HKEYS - big hash (12 ms) -[ok]: HVALS - small hash (0 ms) -[ok]: HVALS - big hash (2 ms) -[ok]: HGETALL - small hash (1 ms) -[ok]: HGETALL - big hash (37 ms) -[ok]: HGETALL against non-existing key (4 ms) -[ok]: HDEL and return value (2 ms) -[ok]: HDEL - more than a single value (1 ms) -[ok]: HDEL - hash becomes empty before deleting all specified fields (0 ms) -[ok]: HEXISTS (1 ms) -[ok]: Is a ziplist encoded Hash promoted on big payload? (4 ms) -[ok]: HINCRBY against non existing database key (1 ms) -[ok]: HINCRBY HINCRBYFLOAT against non-integer increment value (1 ms) -[ok]: HINCRBY against non existing hash key (0 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 (4 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) (0 ms) -[ok]: HINCRBY can detect overflows (1 ms) -[ok]: HINCRBYFLOAT against non existing database key (0 ms) -[ok]: HINCRBYFLOAT against non existing hash key (6 ms) -[ok]: HINCRBYFLOAT against hash key created by hincrby itself (0 ms) -[ok]: HINCRBYFLOAT against hash key originally set with HSET (0 ms) -[ok]: HINCRBYFLOAT over 32bit value (1 ms) -[ok]: HINCRBYFLOAT over 32bit value with over 32bit increment (1 ms) -[ok]: HINCRBYFLOAT fails against hash value with spaces (left) (0 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 (7 ms) -[ok]: HSTRLEN against the small hash (1 ms) -[ok]: HSTRLEN against the big hash (122 ms) -[ok]: HSTRLEN against non existing field (1 ms) -[ok]: HSTRLEN corner cases (3 ms) -[ok]: HINCRBYFLOAT over hash-max-listpack-value encoded with a listpack (2 ms) -[ok]: HGETDEL input validation (2 ms) -[ok]: HGETDEL basic test (2 ms) -[ok]: HGETDEL test with non existing fields (1 ms) -[ok]: HGETDEL basic test (1 ms) -[ok]: HGETDEL test with non existing fields (1 ms) -[ok]: HGETDEL propagated as HDEL command to replica (44 ms) -[ok]: Hash ziplist regression test for large keys (1 ms) -[ok]: Hash fuzzing #1 - 10 fields (57 ms) -[ok]: Hash fuzzing #2 - 10 fields (40 ms) -[ok]: Hash fuzzing #1 - 512 fields (1592 ms) -[ok]: Hash fuzzing #2 - 512 fields (1049 ms) -[ok]: Stress test the hash ziplist -> hashtable encoding conversion (1530 ms) -[ok]: Hash ziplist of various encodings (97 ms) -[ok]: Hash ziplist of various encodings - sanitize dump (11 ms) -[ok]: HINCRBYFLOAT does not allow NaN or Infinity (1 ms) -[47/96 done]: unit/type/hash (6 seconds) -Testing unit/type/incr -=== (incr) Starting server 127.0.0.1:21529 ok -[ok]: INCR against non existing key (1 ms) -[ok]: INCR against key created by incr itself (0 ms) -[ok]: DECR against key created by incr (0 ms) -[ok]: DECR against key is not exist and incr (7 ms) -[ok]: INCR against key originally set with SET (1 ms) -[ok]: INCR over 32bit value (0 ms) -[ok]: INCRBY over 32bit value with over 32bit increment (1 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) (0 ms) -[ok]: DECRBY negation overflow (1 ms) -[ok]: INCR fails against a key holding a list (0 ms) -[ok]: DECRBY over 32bit value with over 32bit increment, negative res (0 ms) -[ok]: DECRBY against key is not exist (0 ms) -[ok]: INCR uses shared objects in the 0-9999 range (1 ms) -[ok]: INCR can modify objects in-place (0 ms) -[ok]: INCRBYFLOAT against non existing key (1 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 (1 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 (0 ms) -[ok]: INCRBYFLOAT decrement (1 ms) -[ok]: string to double with null terminator (0 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 (1 ms) -[ok]: decr operation should update encoding from raw to int (1 ms) -[ok]: incrby operation should update encoding from raw to int (4 ms) -[ok]: decrby operation should update encoding from raw to int (1 ms) -[48/96 done]: unit/type/incr (0 seconds) -Testing unit/type/list-2 -=== (list) Starting server 127.0.0.1:21531 ok -[ok]: LTRIM stress testing - quicklist (9440 ms) -[ok]: LTRIM stress testing - listpack (7833 ms) -[49/96 done]: unit/type/list-2 (17 seconds) -Testing unit/type/list-3 -=== (list ziplist) Starting server 127.0.0.1:21533 ok -[ok]: Explicit regression for a list bug (1 ms) -[ok]: Regression for quicklist #3343 bug (138 ms) -[ok]: Check compression with recompress (87 ms) -[ok]: Crash due to wrongly recompress after lrem (223 ms) -[ok]: LINSERT correctly recompress full quicklistNode after inserting a element before it (45 ms) -[ok]: LINSERT correctly recompress full quicklistNode after inserting a element after it (52 ms) -[ok]: Stress tester for #3343-alike bugs comp: 2 (9363 ms) -[ok]: Stress tester for #3343-alike bugs comp: 1 (8672 ms) -[ok]: Stress tester for #3343-alike bugs comp: 0 (9135 ms) -[ok]: ziplist implementation: value encoding and backlink (11165 ms) -[ok]: ziplist implementation: encoding stress testing (9225 ms) -[50/96 done]: unit/type/list-3 (49 seconds) -Testing unit/type/list -=== () Starting server 127.0.0.1:21535 ok -[ok]: packed node check compression with insert and pop (8 ms) -[ok]: packed node check compression combined with trim (1 ms) -[ok]: packed node check compression with lset (1 ms) -[ok]: plain node check compression with insert and pop (362 ms) -[ok]: plain node check compression combined with trim (134 ms) -[ok]: plain node check compression with lset (179 ms) -=== () Starting server 127.0.0.1:21537 ok -[ok]: Test LPUSH and LPOP on plain nodes (10 ms) -[ok]: Test LINDEX and LINSERT on plain nodes (2 ms) -[ok]: Test LTRIM on plain nodes (2 ms) -[ok]: Test LREM on plain nodes (2 ms) -[ok]: Test LPOS on plain nodes (9 ms) -[ok]: Test LMOVE on plain nodes (2 ms) -[ok]: Test LSET with packed / plain combinations (182 ms) -[ok]: Test LSET with packed is split in the middle (4 ms) -[ok]: Test LSET with packed consist only one item (184 ms) -[ok]: Crash due to delete entry from a compress quicklist node (7 ms) -[ok]: Crash due to split quicklist node wrongly (1 ms) -[ok]: Test LPUSH and LPOP on plain nodes (2 ms) -[ok]: Test LINDEX and LINSERT on plain nodes (2 ms) -[ok]: Test LTRIM on plain nodes (1 ms) -[ok]: Test LREM on plain nodes (5 ms) -[ok]: Test LPOS on plain nodes (1 ms) -[ok]: Test LMOVE on plain nodes (2 ms) -[ok]: Test LSET with packed / plain combinations (181 ms) -[ok]: Test LSET with packed is split in the middle (4 ms) -[ok]: Test LSET with packed consist only one item (187 ms) -[ok]: Crash due to delete entry from a compress quicklist node (2 ms) -[ok]: Crash due to split quicklist node wrongly (1 ms) -=== () Starting server 127.0.0.1:21539 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:21541 ok -[ok]: LPOS basic usage - quicklist (48 ms) -[ok]: LPOS RANK (positive, negative and zero rank) option (0 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 (0 ms) -[ok]: LPOS MAXLEN (1 ms) -[ok]: LPOS when RANK is greater than matches (4 ms) -[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - quicklist (89 ms) -[ok]: LPOP/RPOP with wrong number of arguments (3 ms) -[ok]: RPOP/LPOP with the optional count argument - quicklist (45 ms) -[ok]: LPOS basic usage - listpack (0 ms) -[ok]: LPOS RANK (positive, negative and zero rank) option (8 ms) -[ok]: LPOS COUNT option (0 ms) -[ok]: LPOS COUNT + RANK option (1 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 (0 ms) -[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - listpack (3 ms) -[ok]: LPOP/RPOP with wrong number of arguments (0 ms) -[ok]: RPOP/LPOP with the optional count argument - listpack (7 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 (0 ms) -[ok]: LPOP/RPOP with against non existing key in RESP2 (1 ms) -[ok]: Variadic RPUSH/LPUSH (0 ms) -[ok]: DEL a list (1 ms) -[ok]: BLPOP: single existing list - quicklist (67 ms) -[ok]: BLPOP: multiple existing lists - quicklist (127 ms) -[ok]: BLPOP: second list has an entry - quicklist (64 ms) -[ok]: BLMPOP_LEFT: single existing list - quicklist (71 ms) -[ok]: BLMPOP_LEFT: multiple existing lists - quicklist (115 ms) -[ok]: BLMPOP_LEFT: second list has an entry - quicklist (71 ms) -[ok]: BRPOPLPUSH - quicklist (72 ms) -[ok]: BLMOVE left left - quicklist (63 ms) -[ok]: BLMOVE left right - quicklist (68 ms) -[ok]: BLMOVE right left - quicklist (67 ms) -[ok]: BLMOVE right right - quicklist (75 ms) -[ok]: BLPOP: single existing list - listpack (23 ms) -[ok]: BLPOP: multiple existing lists - listpack (32 ms) -[ok]: BLPOP: second list has an entry - listpack (24 ms) -[ok]: BLMPOP_LEFT: single existing list - listpack (24 ms) -[ok]: BLMPOP_LEFT: multiple existing lists - listpack (28 ms) -[ok]: BLMPOP_LEFT: second list has an entry - listpack (26 ms) -[ok]: BRPOPLPUSH - listpack (24 ms) -[ok]: BLMOVE left left - listpack (21 ms) -[ok]: BLMOVE left right - listpack (28 ms) -[ok]: BLMOVE right left - listpack (14 ms) -[ok]: BLMOVE right right - listpack (14 ms) -[ok]: BLPOP, LPUSH + DEL should not awake blocked client (13 ms) -[ok]: BLPOP, LPUSH + DEL + SET should not awake blocked client (13 ms) -[ok]: BLMPOP_LEFT, LPUSH + DEL should not awake blocked client (13 ms) -[ok]: BLMPOP_LEFT, LPUSH + DEL + SET should not awake blocked client (13 ms) -[ok]: BLPOP with same key multiple times should work (issue #801) (13 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BLPOP (13 ms) -[ok]: BLPOP with variadic LPUSH (13 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BLMPOP_LEFT (119 ms) -[ok]: BLMPOP_LEFT with variadic LPUSH (123 ms) -[ok]: BRPOPLPUSH with zero timeout should block indefinitely (25 ms) -[ok]: BLMOVE left left with zero timeout should block indefinitely (24 ms) -[ok]: BLMOVE left right with zero timeout should block indefinitely (21 ms) -[ok]: BLMOVE right left with zero timeout should block indefinitely (25 ms) -[ok]: BLMOVE right right with zero timeout should block indefinitely (24 ms) -[ok]: BLMOVE (left, left) with a client BLPOPing the target list (37 ms) -[ok]: BLMOVE (left, right) with a client BLPOPing the target list (38 ms) -[ok]: BLMOVE (right, left) with a client BLPOPing the target list (40 ms) -[ok]: BLMOVE (right, right) with a client BLPOPing the target list (39 ms) -[ok]: BRPOPLPUSH with wrong source type (28 ms) -[ok]: BRPOPLPUSH with wrong destination type (43 ms) -[ok]: BRPOPLPUSH maintains order of elements after failure (21 ms) -[ok]: BRPOPLPUSH with multiple blocked clients (51 ms) -[ok]: BLMPOP with multiple blocked clients (65 ms) -[ok]: Linked LMOVEs (25 ms) -[ok]: Circular BRPOPLPUSH (25 ms) -[ok]: Self-referential BRPOPLPUSH (13 ms) -[ok]: BRPOPLPUSH inside a transaction (1 ms) -[ok]: PUSH resulting from BRPOPLPUSH affect WATCH (131 ms) -[ok]: BRPOPLPUSH does not affect WATCH while still blocked (152 ms) -[ok]: BRPOPLPUSH timeout (1065 ms) -[ok]: SWAPDB awakes blocked client (26 ms) -[ok]: SWAPDB wants to wake blocked client, but the key already expired (234 ms) -[ok]: MULTI + LPUSH + EXPIRE + DEBUG SLEEP on blocked client, key already expired (302 ms) -[ok]: BLPOP unblock but the key is expired and then block again - reprocessing command (1044 ms) -[ok]: BLPOP when new key is moved into place (123 ms) -[ok]: BLPOP when result key is created by SORT..STORE (124 ms) -[ok]: BLMPOP_LEFT when new key is moved into place (124 ms) -[ok]: BLMPOP_LEFT when result key is created by SORT..STORE (28 ms) -[ok]: BLPOP: timeout value out of range (0 ms) -[ok]: BLPOP: with single empty list argument (26 ms) -[ok]: BLPOP: with negative timeout (17 ms) -[ok]: BLPOP: with non-integer timeout (27 ms) -[ok]: BLPOP: with zero timeout should block indefinitely (20 ms) -[ok]: BLPOP: with 0.001 timeout should not block indefinitely (41 ms) -[ok]: BLPOP: second argument is not a list (19 ms) -[ok]: BLPOP: timeout (1070 ms) -[ok]: BLPOP: arguments are empty (127 ms) -[ok]: BRPOP: with single empty list argument (26 ms) -[ok]: BRPOP: with negative timeout (23 ms) -[ok]: BRPOP: with non-integer timeout (24 ms) -[ok]: BRPOP: with zero timeout should block indefinitely (22 ms) -[ok]: BRPOP: with 0.001 timeout should not block indefinitely (47 ms) -[ok]: BRPOP: second argument is not a list (26 ms) -[ok]: BRPOP: timeout (1026 ms) -[ok]: BRPOP: arguments are empty (30 ms) -[ok]: BLMPOP_LEFT: with single empty list argument (30 ms) -[ok]: BLMPOP_LEFT: with negative timeout (26 ms) -[ok]: BLMPOP_LEFT: with non-integer timeout (24 ms) -[ok]: BLMPOP_LEFT: with zero timeout should block indefinitely (22 ms) -[ok]: BLMPOP_LEFT: with 0.001 timeout should not block indefinitely (49 ms) -[ok]: BLMPOP_LEFT: second argument is not a list (23 ms) -[ok]: BLMPOP_LEFT: timeout (1120 ms) -[ok]: BLMPOP_LEFT: arguments are empty (29 ms) -[ok]: BLMPOP_RIGHT: with single empty list argument (29 ms) -[ok]: BLMPOP_RIGHT: with negative timeout (27 ms) -[ok]: BLMPOP_RIGHT: with non-integer timeout (17 ms) -[ok]: BLMPOP_RIGHT: with zero timeout should block indefinitely (13 ms) -[ok]: BLMPOP_RIGHT: with 0.001 timeout should not block indefinitely (38 ms) -[ok]: BLMPOP_RIGHT: second argument is not a list (26 ms) -[ok]: BLMPOP_RIGHT: timeout (1025 ms) -[ok]: BLMPOP_RIGHT: arguments are empty (26 ms) -[ok]: BLPOP inside a transaction (8 ms) -[ok]: BLMPOP_LEFT inside a transaction (1 ms) -[ok]: BLMPOP propagate as pop with count command to replica (272 ms) -[ok]: LPUSHX, RPUSHX - generic (1 ms) -[ok]: LPUSHX, RPUSHX - quicklist (42 ms) -[ok]: LINSERT - quicklist (53 ms) -[ok]: LPUSHX, RPUSHX - listpack (1 ms) -[ok]: LINSERT - listpack (8 ms) -[ok]: LINSERT raise error on bad syntax (1 ms) -[ok]: LINSERT against non-list value error (0 ms) -[ok]: LINSERT against non existing key (1 ms) -[ok]: LINDEX consistency test - listpack (156 ms) -[ok]: LINDEX random access - listpack (156 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - listpack (258 ms) -[ok]: LINDEX consistency test - listpack (404 ms) -[ok]: LINDEX random access - listpack (110 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - listpack (226 ms) -[ok]: LINDEX consistency test - quicklist (91 ms) -[ok]: LINDEX random access - quicklist (51 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (100 ms) -[ok]: LINDEX consistency test - quicklist (144 ms) -[ok]: LINDEX random access - quicklist (103 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (201 ms) -[ok]: LLEN against non-list value error (0 ms) -[ok]: LLEN against non existing key (0 ms) -[ok]: LINDEX against non-list value error (0 ms) -[ok]: LINDEX against non existing key (0 ms) -[ok]: LPUSH against non-list value error (0 ms) -[ok]: RPUSH against non-list value error (1 ms) -[ok]: RPOPLPUSH base case - quicklist (48 ms) -[ok]: LMOVE left left base case - quicklist (44 ms) -[ok]: LMOVE left right base case - quicklist (48 ms) -[ok]: LMOVE right left base case - quicklist (52 ms) -[ok]: LMOVE right right base case - quicklist (44 ms) -[ok]: RPOPLPUSH with the same list as src and dst - quicklist (44 ms) -[ok]: LMOVE left left with the same list as src and dst - quicklist (45 ms) -[ok]: LMOVE left right with the same list as src and dst - quicklist (44 ms) -[ok]: LMOVE right left with the same list as src and dst - quicklist (44 ms) -[ok]: LMOVE right right with the same list as src and dst - quicklist (48 ms) -[ok]: RPOPLPUSH with quicklist source and existing target quicklist (88 ms) -[ok]: LMOVE left left with quicklist source and existing target quicklist (92 ms) -[ok]: LMOVE left right with quicklist source and existing target quicklist (95 ms) -[ok]: LMOVE right left with quicklist source and existing target quicklist (89 ms) -[ok]: LMOVE right right with quicklist source and existing target quicklist (96 ms) -[ok]: RPOPLPUSH with quicklist source and existing target listpack (52 ms) -[ok]: LMOVE left left with quicklist source and existing target listpack (44 ms) -[ok]: LMOVE left right with quicklist source and existing target listpack (47 ms) -[ok]: LMOVE right left with quicklist source and existing target listpack (44 ms) -[ok]: LMOVE right right with quicklist source and existing target listpack (56 ms) -[ok]: RPOPLPUSH base case - listpack (2 ms) -[ok]: LMOVE left left base case - listpack (1 ms) -[ok]: LMOVE left right base case - listpack (8 ms) -[ok]: LMOVE right left base case - listpack (2 ms) -[ok]: LMOVE right right base case - listpack (1 ms) -[ok]: RPOPLPUSH with the same list as src and dst - listpack (0 ms) -[ok]: LMOVE left left with the same list as src and dst - listpack (1 ms) -[ok]: LMOVE left right with the same list as src and dst - listpack (6 ms) -[ok]: LMOVE right left with the same list as src and dst - listpack (2 ms) -[ok]: LMOVE right right with the same list as src and dst - listpack (1 ms) -[ok]: RPOPLPUSH with listpack source and existing target quicklist (49 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 (51 ms) -[ok]: LMOVE right left with listpack source and existing target quicklist (44 ms) -[ok]: LMOVE right right with listpack source and existing target quicklist (47 ms) -[ok]: RPOPLPUSH with listpack source and existing target listpack (1 ms) -[ok]: LMOVE left left with listpack source and existing target listpack (6 ms) -[ok]: LMOVE left right with listpack source and existing target listpack (2 ms) -[ok]: LMOVE right left with listpack source and existing target listpack (1 ms) -[ok]: LMOVE right right with listpack source and existing target listpack (4 ms) -[ok]: RPOPLPUSH against non existing key (0 ms) -[ok]: RPOPLPUSH against non list src key (1 ms) -[ok]: RPOPLPUSH against non list dst key - quicklist (49 ms) -[ok]: RPOPLPUSH against non list dst key - listpack (1 ms) -[ok]: RPOPLPUSH against non existing src key (0 ms) -[ok]: Basic LPOP/RPOP/LMPOP - quicklist (90 ms) -[ok]: Basic LPOP/RPOP/LMPOP - listpack (7 ms) -[ok]: LPOP/RPOP/LMPOP against empty list (1 ms) -[ok]: LPOP/RPOP/LMPOP NON-BLOCK or BLOCK against non list value (1 ms) -[ok]: Mass RPOP/LPOP - listpack (95 ms) -[ok]: Mass RPOP/LPOP - listpack (150 ms) -[ok]: LMPOP with illegal argument (2 ms) -[ok]: LMPOP single existing list - quicklist (149 ms) -[ok]: LMPOP multiple existing lists - quicklist (194 ms) -[ok]: LMPOP single existing list - listpack (7 ms) -[ok]: LMPOP multiple existing lists - listpack (8 ms) -[ok]: LMPOP propagate as pop with count command to replica (121 ms) -[ok]: LRANGE basics - quicklist (49 ms) -[ok]: LRANGE inverted indexes - quicklist (47 ms) -[ok]: LRANGE out of range indexes including the full list - quicklist (47 ms) -[ok]: LRANGE out of range negative end index - quicklist (44 ms) -[ok]: LRANGE basics - listpack (7 ms) -[ok]: LRANGE inverted indexes - listpack (1 ms) -[ok]: LRANGE out of range indexes including the full list - listpack (1 ms) -[ok]: LRANGE out of range negative end index - listpack (0 ms) -[ok]: LRANGE against non existing key (0 ms) -[ok]: LRANGE with start > end yields an empty array for backward compatibility (1 ms) -[ok]: LTRIM basics - quicklist (572 ms) -[ok]: LTRIM out of range negative end index - quicklist (95 ms) -[ok]: LSET - quicklist (48 ms) -[ok]: LSET out of range index - quicklist (0 ms) -[ok]: LTRIM basics - listpack (23 ms) -[ok]: LTRIM out of range negative end index - listpack (6 ms) -[ok]: LSET - listpack (1 ms) -[ok]: LSET out of range index - listpack (0 ms) -[ok]: LSET against non existing key (0 ms) -[ok]: LSET against non list value (4 ms) -[ok]: LREM remove all the occurrences - quicklist (50 ms) -[ok]: LREM remove the first occurrence - quicklist (0 ms) -[ok]: LREM remove non existing element - quicklist (0 ms) -[ok]: LREM starting from tail with negative count - quicklist (49 ms) -[ok]: LREM starting from tail with negative count (2) - quicklist (1 ms) -[ok]: LREM deleting objects that may be int encoded - quicklist (43 ms) -[ok]: LREM remove all the occurrences - listpack (6 ms) -[ok]: LREM remove the first occurrence - listpack (1 ms) -[ok]: LREM remove non existing element - listpack (0 ms) -[ok]: LREM starting from tail with negative count - listpack (2 ms) -[ok]: LREM starting from tail with negative count (2) - listpack (1 ms) -[ok]: LREM deleting objects that may be int encoded - listpack (1 ms) -[ok]: Regression for bug 593 - chaining BRPOPLPUSH with other blocking cmds (46 ms) -[ok]: BLPOP/BLMOVE should increase dirty (128 ms) -[ok]: client unblock tests (34 ms) -[ok]: client unblock tests (130 ms) -[ok]: List listpack -> quicklist encoding conversion (9 ms) -[ok]: List listpack -> quicklist encoding conversion (180 ms) -[ok]: List quicklist -> listpack encoding conversion (232 ms) -[ok]: List encoding conversion when RDB loading (8 ms) -[ok]: List invalid list-max-listpack-size config (43 ms) -[ok]: List of various encodings (98 ms) -[ok]: List of various encodings - sanitize dump (2 ms) -[ok]: Unblock fairness is kept while pipelining (50 ms) -[ok]: Unblock fairness is kept during nested unblock (68 ms) -[ok]: Blocking command accounted only once in commandstats (27 ms) -[ok]: Blocking command accounted only once in commandstats after timeout (38 ms) -[ok]: Command being unblocked cause another command to get unblocked execution order test (176 ms) -[ok]: Blocking timeout following PAUSE should honor the timeout (1044 ms) -[51/96 done]: unit/type/list (21 seconds) -Testing unit/type/set -=== (set) Starting server 127.0.0.1:21543 ok -[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - listpack (10 ms) -[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - hashtable (46 ms) -[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - intset (1 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 (0 ms) -[ok]: SADD against non set (1 ms) -[ok]: SADD a non-integer against a small intset (6 ms) -[ok]: SADD a non-integer against a large intset (23 ms) -[ok]: SADD an integer larger than 64 bits (1 ms) -[ok]: SADD an integer larger than 64 bits to a large intset (24 ms) -[ok]: SADD overflows the maximum allowed integers in an intset - single (43 ms) -[ok]: SADD overflows the maximum allowed elements in a listpack - single (12 ms) -[ok]: SADD overflows the maximum allowed integers in an intset - multiple (48 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 (47 ms) -[ok]: SADD overflows the maximum allowed elements in a listpack - single_multiple (1 ms) -[ok]: Variadic SADD (0 ms) -[ok]: Set encoding after DEBUG RELOAD (299 ms) -[ok]: SREM basics - $type (4 ms) -[ok]: SREM basics - $type (29 ms) -[ok]: SREM basics - intset (1 ms) -[ok]: SREM with multiple arguments (4 ms) -[ok]: SREM variadic version with more args needed to destroy the key (1 ms) -[ok]: SINTERCARD with illegal arguments (1 ms) -[ok]: SINTERCARD against non-set should throw error (6 ms) -[ok]: SINTERCARD against non-existing key (0 ms) -[ok]: Generated sets must be encoded correctly - regular (0 ms) -[ok]: SINTER with two sets - regular (0 ms) -[ok]: SINTERCARD with two sets - regular (1 ms) -[ok]: SINTERSTORE with two sets - regular (1 ms) -[ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - regular (7 ms) -[ok]: SUNION with two sets - regular (9 ms) -[ok]: SUNIONSTORE with two sets - regular (9 ms) -[ok]: SINTER against three sets - regular (0 ms) -[ok]: SINTERCARD against three sets - regular (1 ms) -[ok]: SINTERSTORE with three sets - regular (1 ms) -[ok]: SUNION with non existing keys - regular (9 ms) -[ok]: SDIFF with two sets - regular (0 ms) -[ok]: SDIFF with three sets - regular (0 ms) -[ok]: SDIFFSTORE with three sets - regular (1 ms) -[ok]: SINTER/SUNION/SDIFF with three same sets - regular (9 ms) -[ok]: Generated sets must be encoded correctly - intset (0 ms) -[ok]: SINTER with two sets - intset (0 ms) -[ok]: SINTERCARD with two sets - intset (1 ms) -[ok]: SINTERSTORE with two sets - intset (4 ms) -[ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - intset (2 ms) -[ok]: SUNION with two sets - intset (10 ms) -[ok]: SUNIONSTORE with two sets - intset (10 ms) -[ok]: SINTER against three sets - intset (0 ms) -[ok]: SINTERCARD against three sets - intset (1 ms) -[ok]: SINTERSTORE with three sets - intset (0 ms) -[ok]: SUNION with non existing keys - intset (11 ms) -[ok]: SDIFF with two sets - intset (1 ms) -[ok]: SDIFF with three sets - intset (7 ms) -[ok]: SDIFFSTORE with three sets - intset (1 ms) -[ok]: SINTER/SUNION/SDIFF with three same sets - intset (4 ms) -[ok]: SINTERSTORE with two listpack sets where result is intset (6 ms) -[ok]: SINTERSTORE with two hashtable sets where result is intset (43 ms) -[ok]: SUNION hashtable and listpack (2 ms) -[ok]: SDIFF with first set empty (1 ms) -[ok]: SDIFF with same set two times (3 ms) -[ok]: SDIFF fuzzing (8086 ms) -[ok]: SDIFF against non-set should throw error (1 ms) -[ok]: SDIFF should handle non existing key as empty (1 ms) -[ok]: SDIFFSTORE against non-set should throw error (1 ms) -[ok]: SDIFFSTORE should handle non existing key as empty (1 ms) -[ok]: SINTER against non-set should throw error (7 ms) -[ok]: SINTER should handle non existing key as empty (1 ms) -[ok]: SINTER with same integer elements but different encoding (1 ms) -[ok]: SINTERSTORE against non-set should throw error (1 ms) -[ok]: SINTERSTORE against non existing keys should delete dstkey (2 ms) -[ok]: SUNION against non-set should throw error (1 ms) -[ok]: SUNION should handle non existing key as empty (6 ms) -[ok]: SUNIONSTORE against non-set should throw error (2 ms) -[ok]: SUNIONSTORE should handle non existing key as empty (1 ms) -[ok]: SUNIONSTORE against non existing keys should delete dstkey (0 ms) -[ok]: SPOP basics - listpack (1 ms) -[ok]: SPOP with =1 - listpack (1 ms) -[ok]: SRANDMEMBER - listpack (18 ms) -[ok]: SPOP basics - intset (1 ms) -[ok]: SPOP with =1 - intset (4 ms) -[ok]: SRANDMEMBER - intset (17 ms) -[ok]: SPOP integer from listpack set (2 ms) -[ok]: SPOP with - listpack (13 ms) -[ok]: SPOP with - intset (3 ms) -[ok]: SPOP with - hashtable (9 ms) -[ok]: SPOP using integers, testing Knuth's and Floyd's algorithm (12 ms) -[ok]: SPOP using integers with Knuth's algorithm (0 ms) -[ok]: SPOP new implementation: code path #1 intset (3 ms) -[ok]: SPOP new implementation: code path #2 intset (7 ms) -[ok]: SPOP new implementation: code path #3 intset (3 ms) -[ok]: SPOP new implementation: code path #1 listpack (2 ms) -[ok]: SPOP new implementation: code path #2 listpack (9 ms) -[ok]: SPOP new implementation: code path #3 listpack (3 ms) -[ok]: SPOP new implementation: code path #1 propagate as DEL or UNLINK (46 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 (40 ms) -[ok]: SRANDMEMBER with - intset (32 ms) -[ok]: SRANDMEMBER with - hashtable (45 ms) -[ok]: SRANDMEMBER histogram distribution - listpack (162 ms) -[ok]: SRANDMEMBER histogram distribution - intset (168 ms) -[ok]: SRANDMEMBER histogram distribution - hashtable (162 ms) - -Waiting for background save to finish... -Waiting for background save to finish... Hash table 0 stats (main hash table): - table size: 4096 - number of elements: 499 - different slots: 22 - max chain length: 32 - avg chain length (counted): 22.68 - avg chain length (computed): 22.68 - Chain length distribution: - 0: 4074 (99.46%) - 13: 1 (0.02%) - 16: 1 (0.02%) - 17: 1 (0.02%) - 18: 1 (0.02%) - 20: 2 (0.05%) - 21: 5 (0.12%) - 22: 2 (0.05%) - 23: 2 (0.05%) - 27: 2 (0.05%) - 28: 2 (0.05%) - 29: 2 (0.05%) - 32: 1 (0.02%) - - -Waiting for background save to finish... [ok]: SRANDMEMBER with a dict containing long chain (13418 ms) -[ok]: SMOVE basics - from regular set to intset (3 ms) -[ok]: SMOVE basics - from intset to regular set (1 ms) -[ok]: SMOVE non existing key (2 ms) -[ok]: SMOVE non existing src set (2 ms) -[ok]: SMOVE from regular set to non existing destination set (1 ms) -[ok]: SMOVE from intset to non existing destination set (1 ms) -[ok]: SMOVE wrong src key type (0 ms) -[ok]: SMOVE wrong dst key type (1 ms) -[ok]: SMOVE with identical source and destination (1 ms) -[ok]: SMOVE only notify dstset when the addition is successful (13 ms) -[ok]: intsets implementation stress testing (3208 ms) -=== () Starting server 127.0.0.1:21545 ok -[ignore]: SADD, SCARD, SISMEMBER - large data: large memory flag not provided -[52/96 done]: unit/type/set (27 seconds) -Testing unit/type/stream-cgroups -=== (stream) Starting server 127.0.0.1:21547 ok -[ok]: XGROUP CREATE: creation and duplicate group name detection (6 ms) -[ok]: XGROUP CREATE: with ENTRIESREAD parameter (2 ms) -[ok]: XGROUP CREATE: automatic stream creation fails without MKSTREAM (0 ms) -[ok]: XGROUP CREATE: automatic stream creation works with MKSTREAM (0 ms) -[ok]: XREADGROUP will return only new elements (5 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 (0 ms) -[ok]: XPENDING only group (0 ms) -[ok]: XPENDING with IDLE (27 ms) -[ok]: XPENDING with exclusive range intervals works as expected (0 ms) -[ok]: XACK is able to remove items from the consumer/group PEL (0 ms) -[ok]: XACK can't remove the same item multiple times (0 ms) -[ok]: XACK is able to accept multiple arguments (1 ms) -[ok]: XACK should fail if got at least one invalid ID (1 ms) -[ok]: PEL NACK reassignment after XGROUP SETID event (5 ms) -[ok]: XREADGROUP will not report data on empty history. Bug #5577 (2 ms) -[ok]: XREADGROUP history reporting of deleted entries. Bug #5570 (6 ms) -[ok]: Blocking XREADGROUP will not reply with an empty array (61 ms) -[ok]: Blocking XREADGROUP: key deleted (23 ms) -[ok]: Blocking XREADGROUP: key type changed with SET (24 ms) -[ok]: Blocking XREADGROUP: key type changed with transaction (25 ms) -[ok]: Blocking XREADGROUP: flushed DB (17 ms) -[ok]: Blocking XREADGROUP: swapped DB, key doesn't exist (28 ms) -[ok]: Blocking XREADGROUP: swapped DB, key is not a stream (22 ms) -[ok]: XREAD and XREADGROUP against wrong parameter (1 ms) -[ok]: Blocking XREAD: key deleted (25 ms) -[ok]: Blocking XREAD: key type changed with SET (24 ms) -[ok]: Blocking XREADGROUP for stream that ran dry (issue #5299) (49 ms) -[ok]: Blocking XREADGROUP will ignore BLOCK if ID is not > (29 ms) -[ok]: Blocking XREADGROUP for stream key that has clients blocked on list (56 ms) -[ok]: Blocking XREADGROUP for stream key that has clients blocked on stream - avoid endless loop (93 ms) -[ok]: Blocking XREADGROUP for stream key that has clients blocked on stream - reprocessing command (1139 ms) -[ok]: XGROUP DESTROY should unblock XREADGROUP with -NOGROUP (37 ms) -[ok]: RENAME can unblock XREADGROUP with data (18 ms) -[ok]: RENAME can unblock XREADGROUP with -NOGROUP (16 ms) -[ok]: XCLAIM can claim PEL items from another consumer (618 ms) -[ok]: XCLAIM without JUSTID increments delivery count (416 ms) -[ok]: XCLAIM same consumer (207 ms) -[ok]: XAUTOCLAIM can claim PEL items from another consumer (611 ms) -[ok]: XAUTOCLAIM as an iterator (204 ms) -[ok]: XAUTOCLAIM COUNT must be > 0 (0 ms) -[ok]: XCLAIM with XDEL (1 ms) -[ok]: XCLAIM with trimming (2 ms) -[ok]: XAUTOCLAIM with XDEL (8 ms) -[ok]: XAUTOCLAIM with XDEL and count (2 ms) -[ok]: XAUTOCLAIM with out of range count (0 ms) -[ok]: XCLAIM with trimming (6 ms) -[ok]: XINFO FULL output (9 ms) -[ok]: Consumer seen-time and active-time (218 ms) -[ok]: XGROUP CREATECONSUMER: create consumer if does not exist (2 ms) -[ok]: XGROUP CREATECONSUMER: group must exist (0 ms) -[ok]: XREADGROUP of multiple entries changes dirty by one (9 ms) -[ok]: XREADGROUP from PEL does not change dirty (10 ms) -=== (stream needs:debug) Starting server 127.0.0.1:21549 ok -[ok]: XREADGROUP with NOACK creates consumer (25 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 (141 ms) -[ok]: Consumer group read counter and lag in empty streams (1 ms) -[ok]: Consumer group read counter and lag sanity (10 ms) -[ok]: Consumer group lag with XDELs (11 ms) -[ok]: Consumer Group Lag with XDELs and tombstone after the last_id of consume group (5 ms) -[ok]: Consumer group lag with XTRIM (8 ms) -[ok]: Loading from legacy (Redis <= v6.2.x, rdb_ver < 10) persistence (4 ms) -[ok]: Loading from legacy (Redis <= v7.0.x, rdb_ver < 11) persistence (1 ms) -=== (external:skip) Starting server 127.0.0.1:21551 ok -[ok]: Consumer group last ID propagation to slave (NOACK=0) (111 ms) -[ok]: Consumer group last ID propagation to slave (NOACK=1) (106 ms) -=== (external:skip) Starting server 127.0.0.1:21553 ok -[ok]: Replication tests of XCLAIM with deleted entries (autoclaim=0) (226 ms) -[ok]: Replication tests of XCLAIM with deleted entries (autoclaim=1) (4 ms) -[ok]: XREADGROUP ACK would propagate entries-read (3 ms) -[ok]: XREADGROUP from PEL inside MULTI (5 ms) -=== (stream needs:debug) Starting server 127.0.0.1:21555 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 (108 ms) -[53/96 done]: unit/type/stream-cgroups (7 seconds) -Testing unit/type/stream -=== (stream) Starting server 127.0.0.1:21557 ok -[ok]: XADD wrong number of args (1 ms) -[ok]: XADD can add entries into a stream that XRANGE can fetch (4 ms) -[ok]: XADD IDs are incremental (1 ms) -[ok]: XADD IDs are incremental when ms is the same as well (7 ms) -[ok]: XADD IDs correctly report an error when overflowing (1 ms) -[ok]: XADD auto-generated sequence is incremented for last ID (7 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 (0 ms) -[ok]: XADD with MAXLEN option (310 ms) -[ok]: XADD with MAXLEN option and the '=' argument (210 ms) -[ok]: XADD with MAXLEN option and the '~' argument (139 ms) -[ok]: XADD with NOMKSTREAM option (1 ms) -[ok]: XADD with MINID option (193 ms) -[ok]: XTRIM with MINID option (1 ms) -[ok]: XTRIM with MINID option, big delta from master record (1 ms) -[ok]: XADD mass insertion and XLEN (1914 ms) -[ok]: XADD with ID 0-0 (1 ms) -[ok]: XADD with LIMIT delete entries no more than limit (0 ms) -[ok]: XRANGE COUNT works as expected (0 ms) -[ok]: XREVRANGE COUNT works as expected (1 ms) -[ok]: XRANGE can be used to iterate the whole stream (389 ms) -[ok]: XREVRANGE returns the reverse of XRANGE (1529 ms) -[ok]: XRANGE exclusive ranges (3 ms) -[ok]: XREAD with non empty stream (0 ms) -[ok]: Non blocking XREAD with empty streams (0 ms) -[ok]: XREAD with non empty second stream (1507 ms) -[ok]: Blocking XREAD waiting new data (24 ms) -[ok]: Blocking XREAD waiting old data (22 ms) -[ok]: Blocking XREAD will not reply with an empty array (47 ms) -[ok]: Blocking XREAD for stream that ran dry (issue #5299) (100 ms) -[ok]: XREAD last element from non-empty stream (11 ms) -[ok]: XREAD last element from empty stream (0 ms) -[ok]: XREAD last element blocking from empty stream (32 ms) -[ok]: XREAD last element blocking from non-empty stream (10 ms) -[ok]: XREAD last element from multiple streams (1 ms) -[ok]: XREAD last element with count > 1 (1 ms) -[ok]: XREAD: read last element after XDEL (issue #13628) (1 ms) -[ok]: XREAD: XADD + DEL should not awake client (38 ms) -[ok]: XREAD: XADD + DEL + LPUSH should not awake client (40 ms) -[ok]: XREAD with same stream name multiple times should work (47 ms) -[ok]: XREAD + multiple XADD inside transaction (41 ms) -[ok]: XDEL basic test (1 ms) -[ok]: XDEL multiply id test (2 ms) -[ok]: XDEL fuzz test (2098 ms) -[ok]: XRANGE fuzzing (7506 ms) -[ok]: XREVRANGE regression test for issue #5006 (1 ms) -[ok]: XREAD streamID edge (no-blocking) (1 ms) -[ok]: XREAD streamID edge (blocking) (28 ms) -[ok]: XADD streamID edge (5 ms) -[ok]: XTRIM with MAXLEN option basic test (104 ms) -[ok]: XADD with LIMIT consecutive calls (11 ms) -[ok]: XTRIM with ~ is limited (10 ms) -[ok]: XTRIM without ~ is not limited (10 ms) -[ok]: XTRIM without ~ and with LIMIT (10 ms) -[ok]: XTRIM with LIMIT delete entries no more than limit (0 ms) -=== (stream needs:debug) Starting server 127.0.0.1:21559 ok -[ok]: XADD with MAXLEN > xlen can propagate correctly (27 ms) -=== (stream needs:debug) Starting server 127.0.0.1:21561 ok -[ok]: XADD with MINID > lastid can propagate correctly (33 ms) -=== (stream needs:debug) Starting server 127.0.0.1:21563 ok -[ok]: XADD with ~ MAXLEN can propagate correctly (19 ms) -=== (stream needs:debug) Starting server 127.0.0.1:21565 ok -[ok]: XADD with ~ MAXLEN and LIMIT can propagate correctly (23 ms) -=== (stream needs:debug) Starting server 127.0.0.1:21567 ok -[ok]: XADD with ~ MINID can propagate correctly (23 ms) -=== (stream needs:debug) Starting server 127.0.0.1:21569 ok -[ok]: XADD with ~ MINID and LIMIT can propagate correctly (12 ms) -=== (stream needs:debug) Starting server 127.0.0.1:21571 ok -[ok]: XTRIM with ~ MAXLEN can propagate correctly (19 ms) -=== (stream) Starting server 127.0.0.1:21573 ok -[ok]: XADD can CREATE an empty stream (6 ms) -[ok]: XSETID can set a specific ID (1 ms) -[ok]: XSETID cannot SETID with smaller ID (0 ms) -[ok]: XSETID cannot SETID on non-existent key (1 ms) -[ok]: XSETID cannot run with an offset but without a maximal tombstone (0 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 (1 ms) -[ok]: XSETID cannot set the offset to less than the length (0 ms) -[ok]: XSETID cannot set smaller ID than current MAXDELETEDID (1 ms) -=== (stream) Starting server 127.0.0.1:21575 ok -[ok]: XADD advances the entries-added counter and sets the recorded-first-entry-id (1 ms) -[ok]: XDEL/TRIM are reflected by recorded first entry (4 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:21577 ok - -Waiting for background AOF rewrite to finish... [ok]: Empty stream can be rewrite into AOF correctly (59 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 (112 ms) -=== (stream) Starting server 127.0.0.1:21579 ok -[ok]: XGROUP HELP should not have unexpected options (0 ms) -[ok]: XINFO HELP should not have unexpected options (1 ms) -[54/96 done]: unit/type/stream (20 seconds) -Testing unit/type/string -=== (string) Starting server 127.0.0.1:21581 ok -[ok]: SET and GET an item (0 ms) -[ok]: SET and GET an empty item (3 ms) -[ok]: Very big payload in GET/SET (64 ms) -[ok]: Very big payload random access (2733 ms) -[ok]: SET 10000 numeric keys and access all them in reverse order (1793 ms) -[ok]: DBSIZE should be 10000 now (0 ms) -[ok]: SETNX target key missing (1 ms) -[ok]: SETNX target key exists (0 ms) -[ok]: SETNX against not-expired volatile key (1 ms) -[ok]: SETNX against expired volatile key (2872 ms) -[ok]: GETEX EX option (0 ms) -[ok]: GETEX PX option (1 ms) -[ok]: GETEX EXAT option (0 ms) -[ok]: GETEX PXAT option (0 ms) -[ok]: GETEX PERSIST option (1 ms) -[ok]: GETEX no option (0 ms) -[ok]: GETEX syntax errors (10 ms) -[ok]: GETEX and GET expired key or not exist (3 ms) -[ok]: GETEX no arguments (0 ms) -[ok]: GETDEL command (1 ms) -[ok]: GETDEL propagate as DEL command to replica (131 ms) -[ok]: GETEX without argument does not propagate to replica (109 ms) -[ok]: MGET (17 ms) -[ok]: MGET against non existing key (0 ms) -[ok]: MGET against non-string key (1 ms) -[ok]: GETSET (set new value) (0 ms) -[ok]: GETSET (replace old value) (1 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 (0 ms) -[ok]: MSETNX with not existing keys (1 ms) -[ok]: MSETNX with not existing keys - same key twice (0 ms) -[ok]: MSETNX with already existing keys - same key twice (0 ms) -[ok]: STRLEN against non-existing key (0 ms) -[ok]: STRLEN against integer-encoded value (0 ms) -[ok]: STRLEN against plain string (6 ms) -[ok]: SETBIT against non-existing key (1 ms) -[ok]: SETBIT against string-encoded key (0 ms) -[ok]: SETBIT against integer-encoded key (1 ms) -[ok]: SETBIT against key with wrong type (1 ms) -[ok]: SETBIT with out of range bit offset (0 ms) -[ok]: SETBIT with non-bit argument (5 ms) -[ok]: SETBIT fuzzing (610 ms) -[ok]: GETBIT against non-existing key (0 ms) -[ok]: GETBIT against string-encoded key (0 ms) -[ok]: GETBIT against integer-encoded key (1 ms) -[ok]: SETRANGE against non-existing key (0 ms) -[ok]: SETRANGE against string-encoded key (1 ms) -[ok]: SETRANGE against integer-encoded key (2 ms) -[ok]: SETRANGE against key with wrong type (1 ms) -[ok]: SETRANGE with out of range offset (0 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 (1 ms) -[ok]: GETRANGE fuzzing (801 ms) -[ok]: Coverage: SUBSTR (1 ms) -[ok]: trim on SET with big value (92 ms) -[ok]: Extended SET can detect syntax errors (1 ms) -[ok]: Extended SET NX option (0 ms) -[ok]: Extended SET XX option (1 ms) -[ok]: Extended SET GET option (0 ms) -[ok]: Extended SET GET option with no previous value (6 ms) -[ok]: Extended SET GET option with XX (1 ms) -[ok]: Extended SET GET option with XX and no previous value (0 ms) -[ok]: Extended SET GET option with NX (1 ms) -[ok]: Extended SET GET option with NX and previous value (0 ms) -[ok]: Extended SET GET with incorrect type should result in wrong type error (1 ms) -[ok]: Extended SET EX option (0 ms) -[ok]: Extended SET PX option (1 ms) -[ok]: Extended SET EXAT option (0 ms) -[ok]: Extended SET PXAT option (1 ms) -[ok]: Extended SET using multiple options at once (0 ms) -[ok]: GETRANGE with huge ranges, Github issue #1844 (0 ms) -[ok]: LCS basic (7 ms) -[ok]: LCS len (1 ms) -[ok]: LCS indexes (0 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 (1 ms) -[ok]: APPEND modifies the encoding from int to raw (1 ms) -[55/96 done]: unit/type/string (9 seconds) -Testing unit/type/zset -=== (zset) Starting server 127.0.0.1:21583 ok -[ok]: Check encoding - listpack (6 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 (0 ms) -[ok]: ZADD XX option without key - listpack (1 ms) -[ok]: ZADD XX existing key - listpack (0 ms) -[ok]: ZADD XX returns the number of elements actually added - listpack (1 ms) -[ok]: ZADD XX updates existing elements score - listpack (0 ms) -[ok]: ZADD GT updates existing elements when new scores are greater - listpack (0 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 (1 ms) -[ok]: ZADD LT XX updates existing elements when new scores are lower and skips new elements - listpack (5 ms) -[ok]: ZADD XX and NX are not compatible - listpack (1 ms) -[ok]: ZADD NX with non existing key - listpack (0 ms) -[ok]: ZADD NX only add new elements without updating old ones - listpack (1 ms) -[ok]: ZADD GT and NX are not compatible - listpack (0 ms) -[ok]: ZADD LT and NX are not compatible - listpack (1 ms) -[ok]: ZADD LT and GT are not compatible - listpack (0 ms) -[ok]: ZADD INCR LT/GT replies with nill if score not updated - listpack (1 ms) -[ok]: ZADD INCR LT/GT with inf - listpack (1 ms) -[ok]: ZADD INCR works like ZINCRBY - listpack (6 ms) -[ok]: ZADD INCR works with a single score-elemenet pair - listpack (1 ms) -[ok]: ZADD CH option changes return value to all changed elements - listpack (0 ms) -[ok]: ZINCRBY calls leading to NaN result in error - listpack (1 ms) -[ok]: ZINCRBY accepts hexadecimal inputs - listpack (0 ms) -[ok]: ZINCRBY against invalid incr value - listpack (0 ms) -[ok]: ZADD - Variadic version base case - listpack (0 ms) -[ok]: ZADD - Return value is the number of actually added items - listpack (0 ms) -[ok]: ZADD - Variadic version does not add nothing on single parsing err - listpack (0 ms) -[ok]: ZADD - Variadic version will raise error on missing arg - listpack (1 ms) -[ok]: ZINCRBY does not work variadic even if shares ZADD implementation - listpack (0 ms) -[ok]: ZCARD basics - listpack (1 ms) -[ok]: ZREM removes key after last element is removed - listpack (0 ms) -[ok]: ZREM variadic version - listpack (1 ms) -[ok]: ZREM variadic version -- remove elements after key deletion - listpack (0 ms) -[ok]: ZRANGE basics - listpack (9 ms) -[ok]: ZREVRANGE basics - listpack (2 ms) -[ok]: ZRANK/ZREVRANK basics - listpack (2 ms) -[ok]: ZRANK - after deletion - listpack (1 ms) -[ok]: ZINCRBY - can create a new sorted set - listpack (0 ms) -[ok]: ZINCRBY - increment and decrement - listpack (1 ms) -[ok]: ZINCRBY return value - listpack (1 ms) -[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - listpack (13 ms) -[ok]: ZRANGEBYSCORE with WITHSCORES - listpack (1 ms) -[ok]: ZRANGEBYSCORE with LIMIT - listpack (5 ms) -[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - listpack (1 ms) -[ok]: ZRANGEBYSCORE with non-value min or max - listpack (0 ms) -[ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - listpack (3 ms) -[ok]: ZLEXCOUNT advanced - listpack (1 ms) -[ok]: ZRANGEBYLEX with LIMIT - listpack (5 ms) -[ok]: ZRANGEBYLEX with invalid lex range specifiers - listpack (1 ms) -[ok]: ZREMRANGEBYSCORE basics - listpack (10 ms) -[ok]: ZREMRANGEBYSCORE with non-value min or max - listpack (1 ms) -[ok]: ZREMRANGEBYRANK basics - listpack (5 ms) -[ok]: ZREMRANGEBYLEX basics - listpack (12 ms) -[ok]: ZUNIONSTORE against non-existing key doesn't set destination - listpack (0 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 (1 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - listpack (1 ms) -[ok]: ZUNIONSTORE with weights - listpack (1 ms) -[ok]: ZUNION with weights - listpack (0 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 (0 ms) -[ok]: ZUNIONSTORE with AGGREGATE MAX - listpack (0 ms) -[ok]: ZUNION/ZINTER with AGGREGATE MAX - listpack (0 ms) -[ok]: ZINTERSTORE basics - listpack (0 ms) -[ok]: ZINTER basics - listpack (1 ms) -[ok]: ZINTERCARD with illegal arguments (0 ms) -[ok]: ZINTERCARD basics - listpack (1 ms) -[ok]: ZINTER RESP3 - listpack (1 ms) -[ok]: ZINTERSTORE with weights - listpack (0 ms) -[ok]: ZINTER with weights - listpack (0 ms) -[ok]: ZINTERSTORE with a regular set and weights - listpack (0 ms) -[ok]: ZINTERSTORE with AGGREGATE MIN - listpack (1 ms) -[ok]: ZINTERSTORE with AGGREGATE MAX - listpack (0 ms) -[ok]: ZUNIONSTORE with +inf/-inf scores - listpack (2 ms) -[ok]: ZUNIONSTORE with NaN weights - listpack (1 ms) -[ok]: ZINTERSTORE with +inf/-inf scores - listpack (1 ms) -[ok]: ZINTERSTORE with NaN weights - listpack (1 ms) -[ok]: ZDIFFSTORE basics - listpack (0 ms) -[ok]: ZDIFF basics - listpack (0 ms) -[ok]: ZDIFFSTORE with a regular set - listpack (1 ms) -[ok]: ZDIFF subtracting set from itself - listpack (0 ms) -[ok]: ZDIFF algorithm 1 - listpack (1 ms) -[ok]: ZDIFF algorithm 2 - listpack (1 ms) -[ok]: ZDIFF fuzzing - listpack (3826 ms) -[ok]: ZPOPMIN with the count 0 returns an empty array (1 ms) -[ok]: ZPOPMIN with negative count (1 ms) -[ok]: ZPOPMAX with the count 0 returns an empty array (0 ms) -[ok]: ZPOPMAX with negative count (1 ms) -[ok]: Basic ZPOPMIN/ZPOPMAX with a single key - listpack (2 ms) -[ok]: ZPOPMIN/ZPOPMAX with count - listpack (1 ms) -[ok]: Basic ZMPOP_MIN/ZMPOP_MAX with a single key - listpack (2 ms) -[ok]: ZMPOP_MIN/ZMPOP_MAX with count - listpack (1 ms) -[ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - listpack (14 ms) -[ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - listpack (14 ms) -[ok]: BZPOPMIN/BZPOPMAX second sorted set has members - listpack (13 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - listpack (16 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - listpack (15 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - listpack (13 ms) -[ok]: Basic ZPOPMIN/ZPOPMAX - listpack RESP3 (1 ms) -[ok]: ZPOPMIN/ZPOPMAX with count - listpack RESP3 (1 ms) -[ok]: Basic ZMPOP_MIN/ZMPOP_MAX - listpack RESP3 (2 ms) -[ok]: ZMPOP_MIN/ZMPOP_MAX with count - listpack RESP3 (1 ms) -[ok]: BZPOPMIN/BZPOPMAX - listpack RESP3 (15 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX - listpack RESP3 (15 ms) -[ok]: Check encoding - skiplist (0 ms) -[ok]: ZSET basic ZADD and score update - skiplist (0 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 (1 ms) -[ok]: ZADD XX option without key - skiplist (1 ms) -[ok]: ZADD XX existing key - skiplist (1 ms) -[ok]: ZADD XX returns the number of elements actually added - skiplist (1 ms) -[ok]: ZADD XX updates existing elements score - skiplist (1 ms) -[ok]: ZADD GT updates existing elements when new scores are greater - skiplist (1 ms) -[ok]: ZADD LT updates existing elements when new scores are lower - skiplist (0 ms) -[ok]: ZADD GT XX updates existing elements when new scores are greater and skips new elements - skiplist (0 ms) -[ok]: ZADD LT XX updates existing elements when new scores are lower and skips new elements - skiplist (1 ms) -[ok]: ZADD XX and NX are not compatible - skiplist (0 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 (0 ms) -[ok]: ZADD INCR LT/GT replies with nill if score not updated - skiplist (1 ms) -[ok]: ZADD INCR LT/GT with inf - skiplist (2 ms) -[ok]: ZADD INCR works like ZINCRBY - skiplist (0 ms) -[ok]: ZADD INCR works with a single score-elemenet pair - skiplist (0 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 (0 ms) -[ok]: ZINCRBY accepts hexadecimal inputs - skiplist (1 ms) -[ok]: ZINCRBY against invalid incr value - skiplist (1 ms) -[ok]: ZADD - Variadic version base case - skiplist (0 ms) -[ok]: ZADD - Return value is the number of actually added items - skiplist (0 ms) -[ok]: ZADD - Variadic version does not add nothing on single parsing err - skiplist (0 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 (0 ms) -[ok]: ZREM removes key after last element is removed - skiplist (1 ms) -[ok]: ZREM variadic version - skiplist (1 ms) -[ok]: ZREM variadic version -- remove elements after key deletion - skiplist (0 ms) -[ok]: ZRANGE basics - skiplist (2 ms) -[ok]: ZREVRANGE basics - skiplist (2 ms) -[ok]: ZRANK/ZREVRANK basics - skiplist (2 ms) -[ok]: ZRANK - after deletion - skiplist (1 ms) -[ok]: ZINCRBY - can create a new sorted set - skiplist (0 ms) -[ok]: ZINCRBY - increment and decrement - skiplist (1 ms) -[ok]: ZINCRBY return value - skiplist (0 ms) -[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - skiplist (5 ms) -[ok]: ZRANGEBYSCORE with WITHSCORES - skiplist (1 ms) -[ok]: ZRANGEBYSCORE with LIMIT - skiplist (5 ms) -[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - skiplist (1 ms) -[ok]: ZRANGEBYSCORE with non-value min or max - skiplist (0 ms) -[ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - skiplist (6 ms) -[ok]: ZLEXCOUNT advanced - skiplist (2 ms) -[ok]: ZRANGEBYLEX with LIMIT - skiplist (5 ms) -[ok]: ZRANGEBYLEX with invalid lex range specifiers - skiplist (1 ms) -[ok]: ZREMRANGEBYSCORE basics - skiplist (12 ms) -[ok]: ZREMRANGEBYSCORE with non-value min or max - skiplist (1 ms) -[ok]: ZREMRANGEBYRANK basics - skiplist (6 ms) -[ok]: ZREMRANGEBYLEX basics - skiplist (13 ms) -[ok]: ZUNIONSTORE against non-existing key doesn't set destination - skiplist (0 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF against non-existing key - skiplist (0 ms) -[ok]: ZUNIONSTORE with empty set - skiplist (0 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - skiplist (1 ms) -[ok]: ZUNIONSTORE basics - skiplist (0 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - skiplist (1 ms) -[ok]: ZUNIONSTORE with weights - skiplist (1 ms) -[ok]: ZUNION with weights - skiplist (0 ms) -[ok]: ZUNIONSTORE with a regular set and weights - skiplist (0 ms) -[ok]: ZUNIONSTORE with AGGREGATE MIN - skiplist (0 ms) -[ok]: ZUNION/ZINTER with AGGREGATE MIN - skiplist (1 ms) -[ok]: ZUNIONSTORE with AGGREGATE MAX - skiplist (0 ms) -[ok]: ZUNION/ZINTER with AGGREGATE MAX - skiplist (0 ms) -[ok]: ZINTERSTORE basics - skiplist (0 ms) -[ok]: ZINTER basics - skiplist (0 ms) -[ok]: ZINTERCARD with illegal arguments (1 ms) -[ok]: ZINTERCARD basics - skiplist (0 ms) -[ok]: ZINTER RESP3 - skiplist (0 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 (1 ms) -[ok]: ZINTERSTORE with AGGREGATE MAX - skiplist (0 ms) -[ok]: ZUNIONSTORE with +inf/-inf scores - skiplist (2 ms) -[ok]: ZUNIONSTORE with NaN weights - skiplist (1 ms) -[ok]: ZINTERSTORE with +inf/-inf scores - skiplist (2 ms) -[ok]: ZINTERSTORE with NaN weights - skiplist (0 ms) -[ok]: ZDIFFSTORE basics - skiplist (0 ms) -[ok]: ZDIFF basics - skiplist (0 ms) -[ok]: ZDIFFSTORE with a regular set - skiplist (0 ms) -[ok]: ZDIFF subtracting set from itself - skiplist (1 ms) -[ok]: ZDIFF algorithm 1 - skiplist (1 ms) -[ok]: ZDIFF algorithm 2 - skiplist (1 ms) -[ok]: ZDIFF fuzzing - skiplist (4509 ms) -[ok]: ZPOPMIN with the count 0 returns an empty array (0 ms) -[ok]: ZPOPMIN with negative count (1 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 - skiplist (1 ms) -[ok]: ZPOPMIN/ZPOPMAX with count - skiplist (0 ms) -[ok]: Basic ZMPOP_MIN/ZMPOP_MAX with a single key - skiplist (1 ms) -[ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist (1 ms) -[ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - skiplist (13 ms) -[ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - skiplist (14 ms) -[ok]: BZPOPMIN/BZPOPMAX second sorted set has members - skiplist (14 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - skiplist (14 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 (14 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 (1 ms) -[ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist RESP3 (1 ms) -[ok]: BZPOPMIN/BZPOPMAX - skiplist RESP3 (14 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX - skiplist RESP3 (13 ms) -[ok]: ZPOP/ZMPOP against wrong type (2 ms) -[ok]: ZMPOP with illegal argument (2 ms) -[ok]: ZMPOP propagate as pop with count command to replica (70 ms) -[ok]: ZPOPMIN/ZPOPMAX readraw in RESP3 (1 ms) -[ok]: BZPOPMIN/BZPOPMAX readraw in RESP3 (179 ms) -[ok]: ZMPOP readraw in RESP3 (8 ms) -[ok]: BZMPOP readraw in RESP3 (193 ms) -[ok]: ZPOPMIN/ZPOPMAX readraw in RESP2 (6 ms) -[ok]: BZPOPMIN/BZPOPMAX readraw in RESP2 (174 ms) -[ok]: ZMPOP readraw in RESP2 (2 ms) -[ok]: BZMPOP readraw in RESP2 (200 ms) -[ok]: ZINTERSTORE regression with two sets, intset+hashtable (1 ms) -[ok]: ZUNIONSTORE regression, should not create NaN in scores (0 ms) -[ok]: ZINTERSTORE #516 regression, mixed sets and ziplist zsets (0 ms) -[ok]: ZUNIONSTORE result is sorted (141 ms) -[ok]: ZUNIONSTORE/ZINTERSTORE/ZDIFFSTORE error if using WITHSCORES (1 ms) -[ok]: ZMSCORE retrieve (1 ms) -[ok]: ZMSCORE retrieve from empty set (0 ms) -[ok]: ZMSCORE retrieve with missing member (1 ms) -[ok]: ZMSCORE retrieve single member (0 ms) -[ok]: ZMSCORE retrieve requires one or more members (4 ms) -[ok]: ZSET commands don't accept the empty strings as valid score (1 ms) -[ok]: zunionInterDiffGenericCommand at least 1 input key (1 ms) -[ok]: ZSCORE - listpack (53 ms) -[ok]: ZMSCORE - listpack (49 ms) -[ok]: ZSCORE after a DEBUG RELOAD - listpack (66 ms) -[ok]: ZSET sorting stresser - listpack (67 ms) -[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 128 element sorted set - listpack (2754 ms) -[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (177 ms) -[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (241 ms) -[ok]: ZSETs skiplist implementation backlink consistency test - listpack (27 ms) -[ok]: ZSETs ZRANK augmented skip list stress testing - listpack (864 ms) -[ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (13 ms) -[ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (14 ms) -[ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (13 ms) -[ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (115 ms) -[ok]: BZPOPMIN unblock but the key is expired and then block again - reprocessing command (1042 ms) -[ok]: BZPOPMIN with same key multiple times should work (20 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (125 ms) -[ok]: BZPOPMIN with variadic ZADD (24 ms) -[ok]: BZPOPMIN with zero timeout should block indefinitely (1026 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (21 ms) -[ok]: BZMPOP_MIN with variadic ZADD (24 ms) -[ok]: BZMPOP_MIN with zero timeout should block indefinitely (1028 ms) -[ok]: ZSCORE - skiplist (41 ms) -[ok]: ZMSCORE - skiplist (39 ms) -[ok]: ZSCORE after a DEBUG RELOAD - skiplist (21 ms) -[ok]: ZSET sorting stresser - skiplist (26 ms) -[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 100 element sorted set - skiplist (2076 ms) -[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (141 ms) -[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (202 ms) -[ok]: ZSETs skiplist implementation backlink consistency test - skiplist (21 ms) -[ok]: ZSETs ZRANK augmented skip list stress testing - skiplist (861 ms) -[ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (14 ms) -[ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (115 ms) -[ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (14 ms) -[ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (15 ms) -[ok]: BZPOPMIN unblock but the key is expired and then block again - reprocessing command (1025 ms) -[ok]: BZPOPMIN with same key multiple times should work (34 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (34 ms) -[ok]: BZPOPMIN with variadic ZADD (33 ms) -[ok]: BZPOPMIN with zero timeout should block indefinitely (1034 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (33 ms) -[ok]: BZMPOP_MIN with variadic ZADD (33 ms) -[ok]: BZMPOP_MIN with zero timeout should block indefinitely (1037 ms) -[ok]: BZPOP/BZMPOP against wrong type (3 ms) -[ok]: BZMPOP with illegal argument (4 ms) -[ok]: BZMPOP with multiple blocked clients (129 ms) -[ok]: BZMPOP propagate as pop with count command to replica (263 ms) -[ok]: BZMPOP should not blocks on non key arguments - #10762 (60 ms) -[ok]: ZSET skiplist order consistency when elements are moved (1067 ms) -[ok]: ZRANGESTORE basic (1 ms) -[ok]: ZRANGESTORE RESP3 (2 ms) -[ok]: ZRANGESTORE range (1 ms) -[ok]: ZRANGESTORE BYLEX (1 ms) -[ok]: ZRANGESTORE BYSCORE (1 ms) -[ok]: ZRANGESTORE BYSCORE LIMIT (1 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 (1 ms) -[ok]: ZRANGESTORE invalid syntax (0 ms) -[ok]: ZRANGESTORE with zset-max-listpack-entries 0 #10767 case (1 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 (19 ms) -[ok]: ZRANDMEMBER - skiplist (18 ms) -[ok]: ZRANDMEMBER with RESP3 (1 ms) -[ok]: ZRANDMEMBER count of 0 is handled correctly (1 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 (233 ms) -[ok]: ZRANDMEMBER with - listpack (244 ms) -[ok]: zset score double range (1 ms) -[ok]: zunionInterDiffGenericCommand acts on SET and ZSET (17 ms) -[ok]: ZADD overflows the maximum allowed elements in a listpack - single (8 ms) -[ok]: ZADD overflows the maximum allowed elements in a listpack - multiple (2 ms) -[ok]: ZADD overflows the maximum allowed elements in a listpack - single_multiple (1 ms) -[56/96 done]: unit/type/zset (27 seconds) -Testing unit/cluster/announced-endpoints -=== (external:skip cluster) Starting server 127.0.0.1:21585 ok -=== (external:skip cluster) Starting server 127.0.0.1:21587 ok -=== (external:skip cluster) Starting server 127.0.0.1:21589 ok -=== (external:skip cluster) Starting server 127.0.0.1:21591 ok -[ok]: Test change cluster-announce-port and cluster-announce-tls-port at runtime (107 ms) -[ok]: Test change cluster-announce-bus-port at runtime (111 ms) -[ok]: CONFIG SET port updates cluster-announced port (2 ms) -[57/96 done]: unit/cluster/announced-endpoints (3 seconds) -Testing unit/cluster/cli -[ignore]: Not supported in tls mode -[58/96 done]: unit/cluster/cli (0 seconds) -Testing unit/cluster/cluster-response-tls -=== (external:skip cluster tls) Starting server 127.0.0.1:21596 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:21598 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:21600 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:21602 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:21604 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:21606 ok -[ok]: CLUSTER SLOTS with different connection type -- tls-cluster yes (82 ms) -[ok]: CLUSTER NODES return port according to connection type -- tls-cluster yes (50 ms) -[ok]: Set many keys in the cluster -- tls-cluster yes (1650 ms) -[ok]: Test cluster responses during migration of slot x -- tls-cluster yes (1 ms) -=== (external:skip cluster tls) Starting server 127.0.0.1:21608 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:21610 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:21612 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:21614 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:21616 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:21618 ok -[ok]: CLUSTER SLOTS with different connection type -- tls-cluster no (49 ms) -[ok]: CLUSTER NODES return port according to connection type -- tls-cluster no (49 ms) -[ok]: Set many keys in the cluster -- tls-cluster no (1547 ms) -[ok]: Test cluster responses during migration of slot x -- tls-cluster no (1 ms) -[59/96 done]: unit/cluster/cluster-response-tls (12 seconds) -Testing unit/cluster/failure-marking -=== (external:skip cluster) Starting server 127.0.0.1:21620 ok -=== (external:skip cluster) Starting server 127.0.0.1:21622 ok -[ok]: Verify that single primary marks replica as failed (3179 ms) -=== (external:skip cluster) Starting server 127.0.0.1:21624 ok -=== (external:skip cluster) Starting server 127.0.0.1:21626 ok -=== (external:skip cluster) Starting server 127.0.0.1:21628 ok -[ok]: Verify that multiple primaries mark replica as failed (6223 ms) -[60/96 done]: unit/cluster/failure-marking (14 seconds) -Testing unit/cluster/hostnames -=== (external:skip cluster) Starting server 127.0.0.1:21630 ok -=== (external:skip cluster) Starting server 127.0.0.1:21632 ok -=== (external:skip cluster) Starting server 127.0.0.1:21634 ok -=== (external:skip cluster) Starting server 127.0.0.1:21636 ok -=== (external:skip cluster) Starting server 127.0.0.1:21638 ok -=== (external:skip cluster) Starting server 127.0.0.1:21640 ok -=== (external:skip cluster) Starting server 127.0.0.1:21642 ok -[ok]: Set cluster hostnames and verify they are propagated (224 ms) -[ok]: Update hostnames and make sure they are all eventually propagated (222 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 (122 ms) -[ok]: Verify the nodes configured with prefer hostname only show hostname for new nodes (1132 ms) -[ok]: Test restart will keep hostname information (322 ms) -[ok]: Test hostname validation (1 ms) -[61/96 done]: unit/cluster/hostnames (6 seconds) -Testing unit/cluster/human-announced-nodename -=== (external:skip cluster) Starting server 127.0.0.1:21644 ok -=== (external:skip cluster) Starting server 127.0.0.1:21646 ok -=== (external:skip cluster) Starting server 127.0.0.1:21648 ok -[ok]: Set cluster human announced nodename and let it propagate (105 ms) -[ok]: Human nodenames are visible in log messages (3557 ms) -[62/96 done]: unit/cluster/human-announced-nodename (6 seconds) -Testing unit/cluster/internal-secret -=== (external:skip cluster) Starting server 127.0.0.1:21650 ok -=== (external:skip cluster) Starting server 127.0.0.1:21652 ok -=== (external:skip cluster) Starting server 127.0.0.1:21654 ok -=== (external:skip cluster) Starting server 127.0.0.1:21656 ok -=== (external:skip cluster) Starting server 127.0.0.1:21658 ok -=== (external:skip cluster) Starting server 127.0.0.1:21660 ok -=== (external:skip cluster) Starting server 127.0.0.1:21662 ok -=== (external:skip cluster) Starting server 127.0.0.1:21664 ok -=== (external:skip cluster) Starting server 127.0.0.1:21666 ok -=== (external:skip cluster) Starting server 127.0.0.1:21668 ok -=== (external:skip cluster) Starting server 127.0.0.1:21670 ok -=== (external:skip cluster) Starting server 127.0.0.1:21672 ok -=== (external:skip cluster) Starting server 127.0.0.1:21674 ok -=== (external:skip cluster) Starting server 127.0.0.1:21676 ok -=== (external:skip cluster) Starting server 127.0.0.1:21678 ok -=== (external:skip cluster) Starting server 127.0.0.1:21680 ok -=== (external:skip cluster) Starting server 127.0.0.1:21682 ok -=== (external:skip cluster) Starting server 127.0.0.1:21684 ok -=== (external:skip cluster) Starting server 127.0.0.1:21686 ok -=== (external:skip cluster) Starting server 127.0.0.1:21688 ok -cluster internal secret: -[ok]: Test internal secret sync (3 ms) -29732 -=== (external:skip) Starting server 127.0.0.1:21690 ok -[ok]: Join a node to the cluster and make sure it gets the same secret (450 ms) -=== (external:skip) Starting server 127.0.0.1:21692 ok -=== (external:skip) Starting server 127.0.0.1:21694 ok -new cluster internal secret: -24087 -internal secret after join to bigger cluster: -29732 -[ok]: Join another cluster, make sure clusters sync on the internal secret (1255 ms) -[63/96 done]: unit/cluster/internal-secret (9 seconds) -Testing unit/cluster/links -=== (external:skip cluster) Starting server 127.0.0.1:21696 ok -=== (external:skip cluster) Starting server 127.0.0.1:21698 ok -=== (external:skip cluster) Starting server 127.0.0.1:21700 ok -[ok]: Broadcast message across a cluster shard while a cluster link is down (167 ms) -=== (external:skip cluster) Starting server 127.0.0.1:21702 ok -=== (external:skip cluster) Starting server 127.0.0.1:21704 ok -=== (external:skip cluster) Starting server 127.0.0.1:21706 ok -[ok]: Each node has two links with each peer (5 ms) -[ok]: Validate cluster links format (3 ms) -[ok]: Disconnect link when send buffer limit reached (8611 ms) -[ok]: Link memory increases with publishes (612 ms) -[ok]: Link memory resets after publish messages flush (707 ms) -[64/96 done]: unit/cluster/links (15 seconds) -Testing unit/cluster/misc -=== (external:skip cluster) Starting server 127.0.0.1:21708 ok -=== (external:skip cluster) Starting server 127.0.0.1:21710 ok -=== (external:skip cluster) Starting server 127.0.0.1:21712 ok -=== (external:skip cluster) Starting server 127.0.0.1:21714 ok -[ok]: Key lazy expires during key migration (13 ms) -[ok]: Coverage: Basic cluster commands (2 ms) -[65/96 done]: unit/cluster/misc (4 seconds) -Testing unit/cluster/multi-slot-operations -=== (external:skip cluster) Starting server 127.0.0.1:21716 ok -=== (external:skip cluster) Starting server 127.0.0.1:21718 ok -=== (external:skip cluster) Starting server 127.0.0.1:21720 ok -=== (external:skip cluster) Starting server 127.0.0.1:21722 ok -=== (external:skip cluster) Starting server 127.0.0.1:21724 ok -[ok]: Continuous slots distribution (15 ms) -[ok]: ADDSLOTS command with several boundary conditions test suite (8 ms) -[ok]: ADDSLOTSRANGE command with several boundary conditions test suite (2 ms) -[ok]: DELSLOTSRANGE command with several boundary conditions test suite (6 ms) -[ignore]: experimental test not allowed -[66/96 done]: unit/cluster/multi-slot-operations (3 seconds) -Testing unit/cluster/scripting -=== (external:skip cluster) Starting server 127.0.0.1:21726 ok -[ok]: Eval scripts with shebangs and functions default to no cross slots (0 ms) -[ok]: Cross slot commands are allowed by default for eval scripts and with allow-cross-slot-keys flag (1 ms) -[ok]: Cross slot commands are also blocked if they disagree with pre-declared keys (0 ms) -[ok]: Cross slot commands are allowed by default if they disagree with pre-declared keys (5 ms) -[ok]: Function no-cluster flag (1 ms) -[ok]: Script no-cluster flag (0 ms) -[67/96 done]: unit/cluster/scripting (2 seconds) -Testing unit/cluster/sharded-pubsub -=== (external:skip cluster) Starting server 127.0.0.1:21728 ok -=== (external:skip cluster) Starting server 127.0.0.1:21730 ok -[ok]: Sharded pubsub publish behavior within multi/exec (1 ms) -[ok]: Sharded pubsub within multi/exec with cross slot operation (0 ms) -[ok]: Sharded pubsub publish behavior within multi/exec with read operation on primary (0 ms) -[ok]: Sharded pubsub publish behavior within multi/exec with read operation on replica (6 ms) -[ok]: Sharded pubsub publish behavior within multi/exec with write operation on primary (1 ms) -[ok]: Sharded pubsub publish behavior within multi/exec with write operation on replica (1 ms) -[68/96 done]: unit/cluster/sharded-pubsub (3 seconds) -Testing unit/cluster/slot-ownership -=== (external:skip cluster) Starting server 127.0.0.1:21732 ok -=== (external:skip cluster) Starting server 127.0.0.1:21734 ok -=== (external:skip cluster) Starting server 127.0.0.1:21736 ok -=== (external:skip cluster) Starting server 127.0.0.1:21738 ok -[ok]: Verify that slot ownership transfer through gossip propagates deletes to replicas (115 ms) -[69/96 done]: unit/cluster/slot-ownership (4 seconds) -Testing integration/aof-multi-part -=== () Starting server 127.0.0.1:21740 -[ok]: Multi Part AOF can't load data when some file missing (119 ms) -=== () Starting server 127.0.0.1:21742 -[ok]: Multi Part AOF can't load data when the sequence not increase monotonically (119 ms) -=== () Starting server 127.0.0.1:21744 -[ok]: Multi Part AOF can't load data when there are blank lines in the manifest file (121 ms) -=== () Starting server 127.0.0.1:21746 -[ok]: Multi Part AOF can't load data when there is a duplicate base file (122 ms) -=== () Starting server 127.0.0.1:21748 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (type unknown) (122 ms) -=== () Starting server 127.0.0.1:21750 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (missing key) (123 ms) -=== () Starting server 127.0.0.1:21752 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (line too short) (121 ms) -=== () Starting server 127.0.0.1:21754 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (line too long) (121 ms) -=== () Starting server 127.0.0.1:21756 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (odd parameter) (118 ms) -=== () Starting server 127.0.0.1:21758 -[ok]: Multi Part AOF can't load data when the manifest file is empty (117 ms) -=== () Starting server 127.0.0.1:21760 ok -[ok]: Multi Part AOF can start when no aof and no manifest (251 ms) -=== () Starting server 127.0.0.1:21762 ok -[ok]: Multi Part AOF can start when we have en empty AOF dir (263 ms) -=== () Starting server 127.0.0.1:21764 ok -[ok]: Multi Part AOF can load data discontinuously increasing sequence (271 ms) -=== () Starting server 127.0.0.1:21766 ok -[ok]: Multi Part AOF can load data when manifest add new k-v (267 ms) -=== () Starting server 127.0.0.1:21768 ok -[ok]: Multi Part AOF can load data when some AOFs are empty (258 ms) -=== () Starting server 127.0.0.1:21770 ok - -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can load data from old version redis (rdb preamble no) (368 ms) -=== () Starting server 127.0.0.1:21772 ok - -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can load data from old version redis (rdb preamble yes) (380 ms) -=== () Starting server 127.0.0.1:21774 ok -[ok]: Multi Part AOF can continue the upgrade from the interrupted upgrade state (274 ms) -=== () Starting server 127.0.0.1:21776 ok -[ok]: Multi Part AOF can be loaded correctly when both server dir and aof dir contain old AOF (273 ms) -=== () Starting server 127.0.0.1:21778 -[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 (149 ms) -=== () Starting server 127.0.0.1:21780 ok -=== () Starting server 127.0.0.1:21782 ok - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can upgrade when when two redis share the same server dir (redis1) (127 ms) - -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can upgrade when when two redis share the same server dir (redis2) (73 ms) -[ok]: Multi Part AOF can upgrade when when two redis share the same server dir (655 ms) -=== () Starting server 127.0.0.1:21784 ok - -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can handle appendfilename contains whitespaces (353 ms) -=== () Starting server 127.0.0.1:21786 ok -[ok]: Multi Part AOF can create BASE (RDB format) when redis starts from empty (228 ms) -=== () Starting server 127.0.0.1:21788 ok -[ok]: Multi Part AOF can create BASE (AOF format) when redis starts from empty (227 ms) -=== (Multi Part AOF) Starting server 127.0.0.1:21790 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 (486 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 (889 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 doesn't open new aof when AOF turn off (286 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 (208 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF can produce consecutive sequence number after reload (116 ms) - -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 (329 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... [ok]: AOF will trigger limit when AOFRW fails many times (611 ms) -=== () Starting server 127.0.0.1:21792 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 (2290 ms) -=== () Starting server 127.0.0.1:21794 ok -[ok]: Multi Part AOF writes start offset in the manifest (257 ms) -=== () Starting server 127.0.0.1:21796 ok -[ok]: Multi Part AOF won't add the offset of incr AOF from old version (234 ms) -=== () Starting server 127.0.0.1:21798 ok -[ok]: Multi Part AOF can update master_repl_offset with only startoffset info (263 ms) -=== () Starting server 127.0.0.1:21800 ok -[ok]: Multi Part AOF can update master_repl_offset with endoffset info (264 ms) -=== () Starting server 127.0.0.1:21802 ok - -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF will add the end offset if we close gracefully the AOF (290 ms) -=== () Starting server 127.0.0.1:21804 ok - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: INCR AOF has accurate start offset when AOFRW (689 ms) -[70/96 done]: integration/aof-multi-part (13 seconds) -Testing integration/aof-race -=== () Starting server 127.0.0.1:21806 ok -=== () Starting server 127.0.0.1:21808 ok -[71/96 done]: integration/aof-race (1 seconds) -Testing integration/aof -=== () Starting server 127.0.0.1:21810 ok -[ok]: Unfinished MULTI: Server should start if load-truncated is yes (1 ms) -=== () Starting server 127.0.0.1:21812 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 (15 ms) -[ok]: Append a new command after loading an incomplete AOF (1 ms) -=== () Starting server 127.0.0.1:21814 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:21816 -[ok]: Bad format: Server should have logged an error (1 ms) -=== () Starting server 127.0.0.1:21818 -[ok]: Unfinished MULTI: Server should have logged an error (4 ms) -=== () Starting server 127.0.0.1:21820 -[ok]: Short read: Server should have logged an error (4 ms) -[ok]: Short read: Utility should confirm the AOF is not valid (21 ms) -[ok]: Short read: Utility should show the abnormal line num in AOF (17 ms) -[ok]: Short read: Utility should be able to fix the AOF (16 ms) -=== () Starting server 127.0.0.1:21822 ok -[ok]: Fixed AOF: Server should have been started (1 ms) -[ok]: Fixed AOF: Keyspace should contain values that were parseable (12 ms) -=== () Starting server 127.0.0.1:21824 ok -[ok]: AOF+SPOP: Server should have been started (1 ms) -[ok]: AOF+SPOP: Set should have 1 member (19 ms) -=== () Starting server 127.0.0.1:21826 ok -[ok]: AOF+SPOP: Server should have been started (1 ms) -[ok]: AOF+SPOP: Set should have 1 member (31 ms) -=== () Starting server 127.0.0.1:21828 ok -[ok]: AOF+EXPIRE: Server should have been started (1 ms) -[ok]: AOF+EXPIRE: List should be empty (31 ms) -=== () Starting server 127.0.0.1:21830 ok -[ok]: Redis should not try to convert DEL into EXPIREAT for EXPIRE -1 (0 ms) -=== () Starting server 127.0.0.1:21832 ok -[ok]: AOF fsync always barrier issue (5734 ms) -=== () Starting server 127.0.0.1:21834 ok -[ok]: GETEX should not append to AOF (5 ms) -=== () Starting server 127.0.0.1:21836 -[ok]: Unknown command: Server should have logged an error (2 ms) -=== () Starting server 127.0.0.1:21838 ok -[ok]: AOF+LMPOP/BLMPOP: pop elements from the list (126 ms) -=== () Starting server 127.0.0.1:21840 ok -[ok]: AOF+LMPOP/BLMPOP: after pop elements from the list (24 ms) -=== () Starting server 127.0.0.1:21842 ok -[ok]: AOF+ZMPOP/BZMPOP: pop elements from the zset (148 ms) -=== () Starting server 127.0.0.1:21844 ok -[ok]: AOF+ZMPOP/BZMPOP: after pop elements from the zset (16 ms) -=== () Starting server 127.0.0.1:21846 ok - -Waiting for background AOF rewrite to finish... [ok]: Generate timestamp annotations in AOF (371 ms) -=== () Starting server 127.0.0.1:21848 ok -[ok]: Successfully load AOF which has timestamp annotations inside (20 ms) -=== () Starting server 127.0.0.1:21850 ok -=== () Starting server 127.0.0.1:21852 ok -=== () Starting server 127.0.0.1:21854 ok -[ok]: Truncate AOF to specific timestamp (832 ms) -=== () Starting server 127.0.0.1:21856 ok -[ok]: EVAL timeout with slow verbatim Lua script from AOF (1323 ms) -=== () Starting server 127.0.0.1:21858 ok -[ok]: EVAL can process writes from AOF in read-only replicas (238 ms) -[ok]: Test redis-check-aof for old style resp AOF (8 ms) -[ok]: Test redis-check-aof for old style resp AOF - has data in the same format as manifest (8 ms) -[ok]: Test redis-check-aof for old style rdb-preamble AOF (9 ms) -[ok]: Test redis-check-aof for Multi Part AOF with resp AOF base (8 ms) -[ok]: Test redis-check-aof for Multi Part AOF with rdb-preamble AOF base (10 ms) -[ok]: Test redis-check-aof for Multi Part AOF contains a format error (8 ms) -[ok]: Test redis-check-aof only truncates the last file for Multi Part AOF in fix mode (33 ms) -[ok]: Test redis-check-aof only truncates the last file for Multi Part AOF in truncate-to-timestamp mode (16 ms) -=== () Starting server 127.0.0.1:21860 ok -[ok]: FLUSHDB / FLUSHALL should persist in AOF (8 ms) -=== () Starting server 127.0.0.1:21862 ok -[ok]: Allow changing appendonly config while loading from AOF on startup (2111 ms) -[ok]: Allow changing appendonly config while loading from RDB on startup (934 ms) -[72/96 done]: integration/aof (17 seconds) -Testing integration/block-repl -=== (repl external:skip) Starting server 127.0.0.1:21864 ok -=== () Starting server 127.0.0.1:21866 ok -[ok]: First server should have role slave after SLAVEOF (1003 ms) -[ok]: Test replication with blocking lists and sorted sets operations (25019 ms) -[73/96 done]: integration/block-repl (26 seconds) -Testing integration/convert-ziplist-hash-on-load -=== () Starting server 127.0.0.1:21868 ok -[ok]: RDB load ziplist hash: converts to listpack when RDB loading (1 ms) -=== () Starting server 127.0.0.1:21870 ok -[ok]: RDB load ziplist hash: converts to hash table when hash-max-ziplist-entries is exceeded (0 ms) -[74/96 done]: integration/convert-ziplist-hash-on-load (1 seconds) -Testing integration/convert-ziplist-zset-on-load -=== () Starting server 127.0.0.1:21872 ok -[ok]: RDB load ziplist zset: converts to listpack when RDB loading (1 ms) -=== () Starting server 127.0.0.1:21874 ok -[ok]: RDB load ziplist zset: converts to skiplist when zset-max-ziplist-entries is exceeded (3 ms) -[75/96 done]: integration/convert-ziplist-zset-on-load (0 seconds) -Testing integration/convert-zipmap-hash-on-load -=== () Starting server 127.0.0.1:21876 ok -[ok]: RDB load zipmap hash: converts to listpack (1 ms) -=== () Starting server 127.0.0.1:21878 ok -[ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-entries is exceeded (1 ms) -=== () Starting server 127.0.0.1:21880 ok -[ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-value is exceeded (2 ms) -[76/96 done]: integration/convert-zipmap-hash-on-load (1 seconds) -Testing integration/corrupt-dump-fuzzer -=== () Starting server 127.0.0.1:21882 ok -Done 20 cycles in 10 seconds. -RESTORE: successful: 14, rejected: 6 -Total commands sent in traffic: 12926, crashes during traffic: 4 (0 by signal). -[ok]: Fuzzer corrupt restore payloads - sanitize_dump: no (9616 ms) -=== () Starting server 127.0.0.1:21884 ok -Done 15 cycles in 10 seconds. -RESTORE: successful: 10, rejected: 5 -Total commands sent in traffic: 9384, crashes during traffic: 0 (0 by signal). -[ok]: Fuzzer corrupt restore payloads - sanitize_dump: yes (9988 ms) -[77/96 done]: integration/corrupt-dump-fuzzer (20 seconds) -Testing integration/corrupt-dump -=== () Starting server 127.0.0.1:21886 ok -[ok]: corrupt payload: #7445 - with sanitize (337 ms) -=== () Starting server 127.0.0.1:21888 ok -[ok]: corrupt payload: hash with valid zip list header, invalid entry len (276 ms) -=== () Starting server 127.0.0.1:21890 ok -[ok]: corrupt payload: invalid zlbytes header (258 ms) -=== () Starting server 127.0.0.1:21892 ok -[ok]: corrupt payload: valid zipped hash header, dup records (276 ms) -=== () Starting server 127.0.0.1:21894 ok -[ok]: corrupt payload: hash listpackex with invalid string TTL (273 ms) -=== () Starting server 127.0.0.1:21896 ok -[ok]: corrupt payload: hash listpackex with TTL large than EB_EXPIRE_TIME_MAX (262 ms) -=== () Starting server 127.0.0.1:21898 ok -[ok]: corrupt payload: hash listpackex with unordered TTL fields (288 ms) -=== () Starting server 127.0.0.1:21900 ok -[ok]: corrupt payload: hash listpackex field without TTL should not be followed by field with TTL (275 ms) -=== () Starting server 127.0.0.1:21902 ok -[ok]: corrupt payload: hash hashtable with TTL large than EB_EXPIRE_TIME_MAX (276 ms) -=== () Starting server 127.0.0.1:21904 ok -[ok]: corrupt payload: quicklist big ziplist prev len (272 ms) -=== () Starting server 127.0.0.1:21906 ok -[ok]: corrupt payload: quicklist small ziplist prev len (288 ms) -=== () Starting server 127.0.0.1:21908 ok -[ok]: corrupt payload: quicklist ziplist wrong count (300 ms) -=== () Starting server 127.0.0.1:21910 ok -[ok]: corrupt payload: #3080 - quicklist (276 ms) -=== () Starting server 127.0.0.1:21912 ok -[ok]: corrupt payload: quicklist with empty ziplist (268 ms) -=== () Starting server 127.0.0.1:21914 ok -[ok]: corrupt payload: quicklist encoded_len is 0 (257 ms) -=== () Starting server 127.0.0.1:21916 ok -[ok]: corrupt payload: quicklist listpack entry start with EOF (269 ms) -=== () Starting server 127.0.0.1:21918 ok -[ok]: corrupt payload: #3080 - ziplist (283 ms) -=== () Starting server 127.0.0.1:21920 -[ok]: corrupt payload: load corrupted rdb with no CRC - #3505 (148 ms) -=== () Starting server 127.0.0.1:21922 ok -[ok]: corrupt payload: load corrupted rdb with empty keys (292 ms) -=== () Starting server 127.0.0.1:21924 ok -[ok]: corrupt payload: load corrupted rdb with empty keys (274 ms) -=== () Starting server 127.0.0.1:21926 ok -[ok]: corrupt payload: listpack invalid size header (289 ms) -=== () Starting server 127.0.0.1:21928 ok -[ok]: corrupt payload: listpack too long entry len (212 ms) -=== () Starting server 127.0.0.1:21930 ok -[ok]: corrupt payload: listpack very long entry len (188 ms) -=== () Starting server 127.0.0.1:21932 ok -[ok]: corrupt payload: listpack too long entry prev len (287 ms) -=== () Starting server 127.0.0.1:21934 ok -[ok]: corrupt payload: stream with duplicate consumers (268 ms) -=== () Starting server 127.0.0.1:21936 ok -[ok]: corrupt payload: hash ziplist with duplicate records (274 ms) -=== () Starting server 127.0.0.1:21938 ok -[ok]: corrupt payload: hash listpack with duplicate records (277 ms) -=== () Starting server 127.0.0.1:21940 ok -[ok]: corrupt payload: hash listpack with duplicate records - convert (188 ms) -=== () Starting server 127.0.0.1:21942 ok -[ok]: corrupt payload: hash ziplist uneven record count (275 ms) -=== () Starting server 127.0.0.1:21944 ok -[ok]: corrupt payload: hash duplicate records (257 ms) -=== () Starting server 127.0.0.1:21946 ok -[ok]: corrupt payload: hash empty zipmap (279 ms) -=== () Starting server 127.0.0.1:21948 ok -[ok]: corrupt payload: fuzzer findings - NPD in streamIteratorGetID (236 ms) -=== () Starting server 127.0.0.1:21950 ok -[ok]: corrupt payload: fuzzer findings - listpack NPD on invalid stream (224 ms) -=== () Starting server 127.0.0.1:21952 ok -[ok]: corrupt payload: fuzzer findings - NPD in quicklistIndex (257 ms) -=== () Starting server 127.0.0.1:21954 ok -[ok]: corrupt payload: fuzzer findings - encoded entry header reach outside the allocation (264 ms) -=== () Starting server 127.0.0.1:21956 ok -[ok]: corrupt payload: fuzzer findings - invalid ziplist encoding (253 ms) -=== () Starting server 127.0.0.1:21958 ok -[ok]: corrupt payload: fuzzer findings - hash crash (263 ms) -=== () Starting server 127.0.0.1:21960 ok -[ok]: corrupt payload: fuzzer findings - uneven entry count in hash (271 ms) -=== () Starting server 127.0.0.1:21962 ok -[ok]: corrupt payload: fuzzer findings - invalid read in lzf_decompress (272 ms) -=== () Starting server 127.0.0.1:21964 ok -[ok]: corrupt payload: fuzzer findings - leak in rdbloading due to dup entry in set (280 ms) -=== () Starting server 127.0.0.1:21966 ok -[ok]: corrupt payload: fuzzer findings - empty intset (280 ms) -=== () Starting server 127.0.0.1:21968 ok -[ok]: corrupt payload: fuzzer findings - zset ziplist entry lensize is 0 (268 ms) -=== () Starting server 127.0.0.1:21970 ok -[ok]: corrupt payload: fuzzer findings - valgrind ziplist prevlen reaches outside the ziplist (261 ms) -=== () Starting server 127.0.0.1:21972 ok -[ok]: corrupt payload: fuzzer findings - valgrind - bad rdbLoadDoubleValue (267 ms) -=== () Starting server 127.0.0.1:21974 ok -[ok]: corrupt payload: fuzzer findings - valgrind ziplist prev too big (261 ms) -=== () Starting server 127.0.0.1:21976 ok -[ok]: corrupt payload: fuzzer findings - lzf decompression fails, avoid valgrind invalid read (275 ms) -=== () Starting server 127.0.0.1:21978 ok -[ok]: corrupt payload: fuzzer findings - stream bad lp_count (271 ms) -=== () Starting server 127.0.0.1:21980 ok -[ok]: corrupt payload: fuzzer findings - stream bad lp_count - unsanitized (225 ms) -=== () Starting server 127.0.0.1:21982 ok -[ok]: corrupt payload: fuzzer findings - stream integrity check issue (271 ms) -=== () Starting server 127.0.0.1:21984 ok -[ok]: corrupt payload: fuzzer findings - infinite loop (216 ms) -=== () Starting server 127.0.0.1:21986 ok -[ok]: corrupt payload: fuzzer findings - hash ziplist too long entry len (277 ms) -=== () Starting server 127.0.0.1:21988 ok -[ok]: corrupt payload: OOM in rdbGenericLoadStringObject (289 ms) -=== () Starting server 127.0.0.1:21990 ok -[ok]: corrupt payload: fuzzer findings - OOM in dictExpand (282 ms) -=== () Starting server 127.0.0.1:21992 ok -[ok]: corrupt payload: fuzzer findings - zset ziplist invalid tail offset (259 ms) -=== () Starting server 127.0.0.1:21994 ok -[ok]: corrupt payload: fuzzer findings - negative reply length (225 ms) -=== () Starting server 127.0.0.1:21996 ok -[ok]: corrupt payload: fuzzer findings - valgrind negative malloc (271 ms) -=== () Starting server 127.0.0.1:21998 ok -[ok]: corrupt payload: fuzzer findings - valgrind invalid read (268 ms) -=== () Starting server 127.0.0.1:22000 ok -[ok]: corrupt payload: fuzzer findings - empty hash ziplist (280 ms) -=== () Starting server 127.0.0.1:22002 ok -[ok]: corrupt payload: fuzzer findings - stream with no records (162 ms) -=== () Starting server 127.0.0.1:22004 ok -[ok]: corrupt payload: fuzzer findings - quicklist ziplist tail followed by extra data which start with 0xff (254 ms) -=== () Starting server 127.0.0.1:22006 ok -[ok]: corrupt payload: fuzzer findings - dict init to huge size (259 ms) -=== () Starting server 127.0.0.1:22008 ok -[ok]: corrupt payload: fuzzer findings - huge string (280 ms) -=== () Starting server 127.0.0.1:22010 ok -[ok]: corrupt payload: fuzzer findings - stream PEL without consumer (272 ms) -=== () Starting server 127.0.0.1:22012 ok -[ok]: corrupt payload: fuzzer findings - stream listpack valgrind issue (228 ms) -=== () Starting server 127.0.0.1:22014 ok -[ok]: corrupt payload: fuzzer findings - stream with bad lpFirst (272 ms) -=== () Starting server 127.0.0.1:22016 ok -[ok]: corrupt payload: fuzzer findings - stream listpack lpPrev valgrind issue (216 ms) -=== () Starting server 127.0.0.1:22018 ok -[ok]: corrupt payload: fuzzer findings - stream with non-integer entry id (272 ms) -=== () Starting server 127.0.0.1:22020 ok -[ok]: corrupt payload: fuzzer findings - empty quicklist (273 ms) -=== () Starting server 127.0.0.1:22022 ok -[ok]: corrupt payload: fuzzer findings - empty zset (259 ms) -=== () Starting server 127.0.0.1:22024 ok -[ok]: corrupt payload: fuzzer findings - hash with len of 0 (263 ms) -=== () Starting server 127.0.0.1:22026 ok -[ok]: corrupt payload: fuzzer findings - hash listpack first element too long entry len (272 ms) -=== () Starting server 127.0.0.1:22028 ok -[ok]: corrupt payload: fuzzer findings - stream double free listpack when insert dup node to rax returns 0 (272 ms) -=== () Starting server 127.0.0.1:22030 ok -[ok]: corrupt payload: fuzzer findings - LCS OOM (283 ms) -=== () Starting server 127.0.0.1:22032 ok -[ok]: corrupt payload: fuzzer findings - gcc asan reports false leak on assert (285 ms) -=== () Starting server 127.0.0.1:22034 ok -[ok]: corrupt payload: fuzzer findings - lpFind invalid access (225 ms) -=== () Starting server 127.0.0.1:22036 ok -[ok]: corrupt payload: fuzzer findings - invalid access in ziplist tail prevlen decoding (283 ms) -=== () Starting server 127.0.0.1:22038 ok -[ok]: corrupt payload: fuzzer findings - zset zslInsert with a NAN score (261 ms) -=== () Starting server 127.0.0.1:22040 ok -[ok]: corrupt payload: fuzzer findings - streamLastValidID panic (266 ms) -=== () Starting server 127.0.0.1:22042 ok -[ok]: corrupt payload: fuzzer findings - valgrind fishy value warning (264 ms) -=== () Starting server 127.0.0.1:22044 ok -[ok]: corrupt payload: fuzzer findings - empty set listpack (265 ms) -=== () Starting server 127.0.0.1:22046 ok -[ok]: corrupt payload: fuzzer findings - set with duplicate elements causes sdiff to hang (272 ms) -=== () Starting server 127.0.0.1:22048 ok -[ok]: corrupt payload: fuzzer findings - set with invalid length causes smembers to hang (256 ms) -=== () Starting server 127.0.0.1:22050 ok -[ok]: corrupt payload: fuzzer findings - set with invalid length causes sscan to hang (249 ms) -=== () Starting server 127.0.0.1:22052 ok -[ok]: corrupt payload: zset listpack encoded with invalid length causes zscan to hang (252 ms) -=== () Starting server 127.0.0.1:22054 ok -[ok]: corrupt payload: hash listpack encoded with invalid length causes hscan to hang (734 ms) -=== () Starting server 127.0.0.1:22056 ok -[ok]: corrupt payload: fuzzer findings - vector sets with wrong encoding (403 ms) -[78/96 done]: integration/corrupt-dump (23 seconds) -Testing integration/dismiss-mem -=== (dismiss external:skip) Starting server 127.0.0.1:22058 ok - -Waiting for background AOF rewrite to finish... [ok]: dismiss all data types memory (1320 ms) - -Waiting for background save to finish... -Waiting for background save to finish... [ok]: dismiss client output buffer (1323 ms) - -Waiting for background save to finish... [ok]: dismiss client query buffer (180 ms) -=== () Starting server 127.0.0.1:22060 ok - -Waiting for background save to finish... -Waiting for background save to finish... [ok]: dismiss replication backlog (1417 ms) -[79/96 done]: integration/dismiss-mem (5 seconds) -Testing integration/failover -=== (failover external:skip) Starting server 127.0.0.1:22062 ok -=== () Starting server 127.0.0.1:22064 ok -=== () Starting server 127.0.0.1:22066 ok -[ok]: failover command fails without connected replica (0 ms) -[ok]: setup replication for following tests (228 ms) -[ok]: failover command fails with invalid host (0 ms) -[ok]: failover command fails with invalid port (1 ms) -[ok]: failover command fails with just force and timeout (0 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 (801 ms) -[ok]: failover command to any replica works (698 ms) -[ok]: failover to a replica with force works (504 ms) -[ok]: failover with timeout aborts if replica never catches up (633 ms) -[ok]: failovers can be aborted (99 ms) -[ok]: failover aborts if target rejects sync request (431 ms) -[80/96 done]: integration/failover (5 seconds) -Testing integration/logging -=== () Starting server 127.0.0.1:22068 ok -{--- WATCHDOG TIMER EXPIRED ---} 36 -{src/redis-server 127.0.0.1:22069(debugCommand+0x1294) [0xaaaad5fa8240]} 57 -[ok]: Server is able to generate a stack trace on selected systems (256 ms) -=== () Starting server 127.0.0.1:22070 ok -{271771:M 11 Oct 2025 03:02:37.429 # Redis 8.0.4 crashed by signal: 6, si_code: 0} 38 -{src/redis-server 127.0.0.1:22071(debugCommand+0x1294) [0xaaaab41f8240]} 70 -[ok]: Crash report generated on SIGABRT (256 ms) -=== () Starting server 127.0.0.1:22072 ok -{271947:M 11 Oct 2025 03:02:37.787 # Redis 8.0.4 crashed by signal: 11, si_code: 2} 38 -{src/redis-server 127.0.0.1:22073(debugCommand+0x274) [0xaaaad92b7220]} 44 -[ok]: Crash report generated on DEBUG SEGFAULT (59 ms) -=== () Starting server 127.0.0.1:22074 ok -{Received SIGALRM} 36 -{src/redis-server 127.0.0.1:22075(debugCommand+0x1294) [0xaaaacf728240]} 48 -[ok]: Stacktraces generated on SIGALRM (274 ms) -=== () Starting server 127.0.0.1:22076 ok -{272249:M 11 Oct 2025 03:02:38.538 # === ASSERTION FAILED CLIENT CONTEXT ===} 38 -{src/redis-server 127.0.0.1:22077(debugCommand+0x3160) [0xaaaacddea10c]} 81 -[ok]: Generate stacktrace on assertion (65 ms) -=== () Starting server 127.0.0.1:22078 ok -{272368:M 11 Oct 2025 03:02:38.801 # Redis 8.0.4 crashed by signal: 11, si_code: 2} 38 -{src/redis-server 127.0.0.1:22079(debugCommand+0x274) [0xaaaad0e57220]} 44 -{argv[0]: '"debug"'} 357 -{src/redis-server 127.0.0.1:22079(debugCommand+0x274) [0xaaaad0e57220]} 44 -{argv[1]: '*redacted*'} 358 -{src/redis-server 127.0.0.1:22079(debugCommand+0x274) [0xaaaad0e57220]} 44 -{272368:M 11 Oct 2025 03:02:38.808 * hide-user-data-from-log is on, skip logging stack content to avoid spilling PII.} 105 -{src/redis-server 127.0.0.1:22079(debugCommand+0x274) [0xaaaad0e57220]} 44 -[ok]: Crash report generated on DEBUG SEGFAULT with user data hidden when 'hide-user-data-from-log' is enabled (174 ms) -=== () Starting server 127.0.0.1:22080 ok -{272567:M 11 Oct 2025 03:02:39.186 # === ASSERTION FAILED CLIENT CONTEXT ===} 38 -{src/redis-server 127.0.0.1:22081(debugCommand+0x3160) [0xaaaabadea10c]} 63 -{272567:M 11 Oct 2025 03:02:39.186 # client->argv[0] = "debug" (refcount: 1)} 42 -{src/redis-server 127.0.0.1:22081(debugCommand+0x3160) [0xaaaabadea10c]} 63 -{272567:M 11 Oct 2025 03:02:39.186 # client->argv[1] = *redacted*} 43 -{src/redis-server 127.0.0.1:22081(debugCommand+0x3160) [0xaaaabadea10c]} 63 -[ok]: Generate stacktrace on assertion with user data hidden when 'hide-user-data-from-log' is enabled (150 ms) -[81/96 done]: integration/logging (3 seconds) -Testing integration/psync2-master-restart -=== (psync2 external:skip) Starting server 127.0.0.1:22082 ok -=== () Starting server 127.0.0.1:22084 ok -=== () Starting server 127.0.0.1:22086 ok -[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields when offset is 0 (1172 ms) -[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with data (1303 ms) -[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with expire (2005 ms) -[ok]: PSYNC2: Full resync after Master restart when too many key expired (3002 ms) -[82/96 done]: integration/psync2-master-restart (10 seconds) -Testing integration/psync2-pingoff -=== (psync2 external:skip) Starting server 127.0.0.1:22088 ok -=== () Starting server 127.0.0.1:22090 ok -[ok]: PSYNC2 pingoff: setup (1023 ms) -[ok]: PSYNC2 pingoff: write and wait replication (1 ms) -[ok]: PSYNC2 pingoff: pause replica and promote it (5001 ms) -[ok]: Make the old master a replica of the new one and check conditions (1014 ms) -=== (psync2 external:skip) Starting server 127.0.0.1:22092 ok -=== () Starting server 127.0.0.1:22094 ok -=== () Starting server 127.0.0.1:22096 ok -=== () Starting server 127.0.0.1:22098 ok -=== () Starting server 127.0.0.1:22100 ok -[ok]: test various edge cases of repl topology changes with missing pings at the end (4318 ms) -=== (psync2 external:skip) Starting server 127.0.0.1:22102 ok -=== () Starting server 127.0.0.1:22104 ok -=== () Starting server 127.0.0.1:22106 ok -[ok]: Chained replicas disconnect when replica re-connect with the same master (3971 ms) -[83/96 done]: integration/psync2-pingoff (19 seconds) -Testing integration/psync2-reg -=== (psync2 external:skip) Starting server 127.0.0.1:22108 ok -=== () Starting server 127.0.0.1:22110 ok -=== () Starting server 127.0.0.1:22112 ok -[ok]: PSYNC2 #3899 regression: setup (1029 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (0 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (3 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (0 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (0 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (0 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (0 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (0 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (10 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (4 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (4 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (10 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (0 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (0 ms) -[ok]: PSYNC2 #3899 regression: verify consistency (17 ms) -[84/96 done]: integration/psync2-reg (22 seconds) -Testing integration/psync2 -=== (psync2 external:skip) Starting server 127.0.0.1:22114 ok -=== () Starting server 127.0.0.1:22116 ok -=== () Starting server 127.0.0.1:22118 ok -=== () Starting server 127.0.0.1:22120 ok -=== () Starting server 127.0.0.1:22122 ok -[ok]: PSYNC2: --- CYCLE 1 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #4 as master (0 ms) -[ok]: PSYNC2: Set #0 to replicate from #1 (1 ms) -[ok]: PSYNC2: Set #1 to replicate from #4 (0 ms) -[ok]: PSYNC2: Set #2 to replicate from #4 (0 ms) -[ok]: PSYNC2: Set #3 to replicate from #0 (0 ms) -[ok]: PSYNC2: cluster is consistent after failover (3 ms) -[ok]: PSYNC2: generate load while killing replication links (5000 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 33088) (4 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (1 ms) -[ok]: PSYNC2: --- CYCLE 2 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #3 as master (0 ms) -[ok]: PSYNC2: Set #0 to replicate from #1 (1 ms) -[ok]: PSYNC2: Set #4 to replicate from #2 (0 ms) -[ok]: PSYNC2: Set #1 to replicate from #3 (0 ms) -[ok]: PSYNC2: Set #2 to replicate from #3 (0 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 = 66029) (1 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 (0 ms) -[ok]: PSYNC2: Set #4 to replicate from #3 (1 ms) -[ok]: PSYNC2: Set #1 to replicate from #4 (0 ms) -[ok]: PSYNC2: Set #2 to replicate from #1 (0 ms) -[ok]: PSYNC2: cluster is consistent after failover (1 ms) -[ok]: PSYNC2: generate load while killing replication links (5000 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 100318) (8 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (1 ms) -[ok]: PSYNC2: --- CYCLE 4 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #0 as master (1 ms) -[ok]: PSYNC2: Set #4 to replicate from #3 (0 ms) -[ok]: PSYNC2: Set #1 to replicate from #0 (1 ms) -[ok]: PSYNC2: Set #2 to replicate from #0 (1 ms) -[ok]: PSYNC2: Set #3 to replicate from #0 (0 ms) -[ok]: PSYNC2: cluster is consistent after failover (3 ms) -[ok]: PSYNC2: generate load while killing replication links (5000 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 137828) (9 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (1 ms) -[ok]: PSYNC2: --- CYCLE 5 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #3 as master (1 ms) -[ok]: PSYNC2: Set #0 to replicate from #4 (0 ms) -[ok]: PSYNC2: Set #4 to replicate from #3 (1 ms) -[ok]: PSYNC2: Set #1 to replicate from #4 (0 ms) -[ok]: PSYNC2: Set #2 to replicate from #4 (1 ms) -[ok]: PSYNC2: cluster is consistent after failover (1 ms) -[ok]: PSYNC2: generate load while killing replication links (5000 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 166712) (5 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (1 ms) -[ok]: PSYNC2: Bring the master back again for next test (2 ms) -[ok]: PSYNC2: Partial resync after restart using RDB aux fields (196 ms) -[85/96 done]: integration/psync2 (44 seconds) -Testing integration/rdb -=== () Starting server 127.0.0.1:22124 ok -[ok]: test old version rdb file (1 ms) -=== () Starting server 127.0.0.1:22126 ok -[ok]: RDB encoding loading test (17 ms) -=== () Starting server 127.0.0.1:22128 ok -[ok]: Server started empty with non-existing RDB file (1 ms) -=== () Starting server 127.0.0.1:22130 ok -[ok]: Server started empty with empty RDB file (0 ms) -=== () Starting server 127.0.0.1:22132 ok -[ok]: Test RDB stream encoding (143 ms) -[ok]: Test RDB stream encoding - sanitize dump (6 ms) -=== () Starting server 127.0.0.1:22134 -[ok]: Server should not start if RDB file can't be open (1 ms) -=== () Starting server 127.0.0.1:22136 -[ok]: Server should not start if RDB is corrupted (1 ms) -=== () Starting server 127.0.0.1:22138 ok -[ok]: Test FLUSHALL aborts bgsave (368 ms) -[ok]: bgsave resets the change counter (105 ms) -=== () Starting server 127.0.0.1:22140 ok -[ok]: client freed during loading (923 ms) -=== () Starting server 127.0.0.1:22142 ok -[ok]: Test RDB load info (635 ms) -=== () Starting server 127.0.0.1:22144 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: 483328 -current_save_keys_processed info : 1 -[ok]: Test child sending info (1959 ms) -=== () Starting server 127.0.0.1:22146 ok -[ok]: script won't load anymore if it's in rdb (1 ms) -=== () Starting server 127.0.0.1:22148 ok - -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... [ok]: failed bgsave prevents writes (269 ms) -=== () Starting server 127.0.0.1:22150 ok -[ok]: HFE - save and load expired fields, expired soon after, or long after (listpack) (317 ms) -[ok]: HFE - save and load expired fields, expired soon after, or long after (dict) (360 ms) -=== () Starting server 127.0.0.1:22152 ok -[ok]: HFE - save and load rdb all fields expired, (listpack) (333 ms) -[ok]: HFE - save and load rdb all fields expired, (dict) (350 ms) -=== () Starting server 127.0.0.1:22154 ok -[ok]: save listpack, load dict (455 ms) -=== () Starting server 127.0.0.1:22156 ok -[ok]: save dict, load listpack (451 ms) -=== () Starting server 127.0.0.1:22158 ok -[ok]: active field expiry after load, (listpack) (310 ms) -=== () Starting server 127.0.0.1:22160 ok -[ok]: active field expiry after load, (dict) (310 ms) -=== () Starting server 127.0.0.1:22162 ok -[ok]: lazy field expiry after load, (listpack) (509 ms) -=== () Starting server 127.0.0.1:22164 ok -[ok]: lazy field expiry after load, (dict) (506 ms) -=== () Starting server 127.0.0.1:22166 ok -[ok]: load un-expired items below and above rax-list boundary, (listpack) (243 ms) -=== () Starting server 127.0.0.1:22168 ok -[ok]: load un-expired items below and above rax-list boundary, (dict) (250 ms) -[86/96 done]: integration/rdb (13 seconds) -Testing integration/redis-benchmark -=== () Starting server 127.0.0.1:22170 ok -[ok]: benchmark: set,get (146 ms) -[ok]: benchmark: connecting using URI set,get (139 ms) -[ok]: benchmark: connecting using URI with authentication set,get (107 ms) -[ok]: benchmark: full test suite (1228 ms) -[ok]: benchmark: multi-thread set,get (575 ms) -[ok]: benchmark: pipelined full set,get (203 ms) -[ok]: benchmark: arbitrary command (73 ms) -[ok]: benchmark: keyspace length (298 ms) -[ok]: benchmark: clients idle mode should return error when reached maxclients limit (47 ms) -[ok]: benchmark: read last argument from stdin (103 ms) -[ok]: benchmark: specific tls-ciphers (399 ms) -[ok]: benchmark: tls connecting using URI with authentication set,get (74 ms) -[ok]: benchmark: specific tls-ciphersuites (274 ms) -[87/96 done]: integration/redis-benchmark (4 seconds) -Testing integration/redis-cli -=== (cli) Starting server 127.0.0.1:22172 ok -[ok]: Interactive CLI: should find first search result (253 ms) -[ok]: Interactive CLI: should find and use the first search result (315 ms) -[ok]: Interactive CLI: should be ok if there is no result (162 ms) -[ok]: Interactive CLI: upon submitting search, (reverse-i-search) prompt should go away (163 ms) -[ok]: Interactive CLI: should find second search result if user presses ctrl+r again (334 ms) -[ok]: Interactive CLI: should find second search result if user presses ctrl+s (325 ms) -[ok]: Interactive CLI: should exit reverse search if user presses ctrl+g (203 ms) -[ok]: Interactive CLI: should exit reverse search if user presses up arrow (212 ms) -[ok]: Interactive CLI: should exit reverse search if user presses right arrow (203 ms) -[ok]: Interactive CLI: should exit reverse search if user presses down arrow (214 ms) -[ok]: Interactive CLI: should exit reverse search if user presses left arrow (223 ms) -[ok]: Interactive CLI: should disable and persist line if user presses tab (264 ms) -[ok]: Interactive CLI: should disable and persist search result if user presses tab (274 ms) -[ok]: Interactive CLI: should disable and persist line and move the cursor if user presses tab (345 ms) -[ok]: Interactive CLI: INFO response should be printed raw (102 ms) -[ok]: Interactive CLI: Status reply (101 ms) -[ok]: Interactive CLI: Integer reply (101 ms) -[ok]: Interactive CLI: Bulk reply (101 ms) -[ok]: Interactive CLI: Multi-bulk reply (102 ms) -[ok]: Interactive CLI: Parsing quotes (449 ms) -[ok]: Interactive CLI: Subscribed mode (649 ms) -[ok]: Interactive non-TTY CLI: Subscribed mode (467 ms) -[ok]: Non-interactive TTY CLI: Status reply (47 ms) -[ok]: Non-interactive TTY CLI: Integer reply (47 ms) -[ok]: Non-interactive TTY CLI: Bulk reply (47 ms) -[ok]: Non-interactive TTY CLI: Multi-bulk reply (47 ms) -[ok]: Non-interactive TTY CLI: Read last argument from pipe (97 ms) -[ok]: Non-interactive TTY CLI: Read last argument from file (96 ms) -[ok]: Non-interactive TTY CLI: Escape character in JSON mode (347 ms) -[ok]: Non-interactive non-TTY CLI: Status reply (48 ms) -[ok]: Non-interactive non-TTY CLI: Integer reply (47 ms) -[ok]: Non-interactive non-TTY CLI: Bulk reply (47 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 (94 ms) -[ok]: Non-interactive non-TTY CLI: Invalid quoted input arguments (67 ms) -[ok]: Non-interactive non-TTY CLI: Read last argument from pipe (98 ms) -[ok]: Non-interactive non-TTY CLI: Read last argument from file (93 ms) -[ok]: Non-interactive non-TTY CLI: Test command-line hinting - latest server (57 ms) -[ok]: Non-interactive non-TTY CLI: Test command-line hinting - no server (12 ms) -[ok]: Non-interactive non-TTY CLI: Test command-line hinting - old server (62 ms) -[ok]: Dumping an RDB - functions only: no (1716 ms) -[ok]: Dumping an RDB - functions only: yes (569 ms) -[ok]: Scan mode (310 ms) -[ok]: Connecting as a replica (2212 ms) -[ok]: Piping raw protocol (733 ms) -[ok]: Options -X with illegal argument (50 ms) -[ok]: DUMP RESTORE with -x option (242 ms) -[ok]: DUMP RESTORE with -X option (226 ms) -[ok]: Send eval command by using --eval option (46 ms) -=== (cli external:skip) Starting server 127.0.0.1:22174 ok -[ok]: Interactive CLI: db_num showed in redis-cli after reconnected (694 ms) -[88/96 done]: integration/redis-cli (14 seconds) -Testing integration/replication-2 -=== (repl external:skip) Starting server 127.0.0.1:22176 ok -=== () Starting server 127.0.0.1:22178 ok -[ok]: First server should have role slave after SLAVEOF (103 ms) -[ok]: If min-slaves-to-write is honored, write is accepted (1 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) (1 ms) -[ok]: No write if min-slaves-max-lag is > of the slave lag (2865 ms) -[ok]: min-slaves-to-write is ignored by slaves (2 ms) -[ok]: MASTER and SLAVE dataset should be identical after complex ops (7070 ms) -[89/96 done]: integration/replication-2 (11 seconds) -Testing integration/replication-3 -=== (repl external:skip) Starting server 127.0.0.1:22180 ok -=== () Starting server 127.0.0.1:22182 ok -[ok]: First server should have role slave after SLAVEOF (103 ms) -[ok]: MASTER and SLAVE consistency with expire (5074 ms) -[ok]: Master can replicate command longer than client-query-buffer-limit on replica (79 ms) -[ok]: Slave is able to evict keys created in writable slaves (6007 ms) -[ok]: Writable replica doesn't return expired keys (106 ms) -[ok]: PFCOUNT updates cache on readonly replica (3 ms) -[ok]: PFCOUNT doesn't use expired key on readonly replica (104 ms) -[90/96 done]: integration/replication-3 (12 seconds) -Testing integration/replication-4 -=== (repl network external:skip singledb:skip) Starting server 127.0.0.1:22184 ok -=== () Starting server 127.0.0.1:22186 ok -[ok]: First server should have role slave after SLAVEOF (1 ms) -[ok]: Test replication with parallel clients writing in different DBs (5104 ms) -=== (repl external:skip) Starting server 127.0.0.1:22188 ok -=== () Starting server 127.0.0.1:22190 ok -[ok]: First server should have role slave after SLAVEOF (110 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 (1 ms) -[ok]: With min-slaves-to-write function without no-write flag (0 ms) -[ok]: With not enough good slaves, read in Lua script is still accepted (5 ms) -[ok]: With min-slaves-to-write: master not writable with lagged slave (2669 ms) -=== (repl external:skip) Starting server 127.0.0.1:22192 ok -=== () Starting server 127.0.0.1:22194 ok -[ok]: First server should have role slave after SLAVEOF (102 ms) -Replication of an expired key does not delete the expired key test attempts: 0 -[ok]: Replication of an expired key does not delete the expired key (555 ms) -=== (repl external:skip) Starting server 127.0.0.1:22196 ok -=== () Starting server 127.0.0.1:22198 ok -[ok]: First server should have role slave after SLAVEOF (2 ms) -[ok]: Replication: commands with many arguments (issue #1221) (11497 ms) -[ok]: spopwithcount rewrite srem command (79 ms) -[ok]: Replication of SPOP command -- alsoPropagate() API (553 ms) -=== (repl external:skip) Starting server 127.0.0.1:22200 ok -=== () Starting server 127.0.0.1:22202 ok -[ok]: First server should have role slave after SLAVEOF (124 ms) -[ok]: Data divergence can happen under default conditions (21 ms) -[ok]: Data divergence is allowed on writable replicas (11 ms) -[91/96 done]: integration/replication-4 (24 seconds) -Testing integration/replication-buffer -=== (repl external:skip) Starting server 127.0.0.1:22204 ok -=== () Starting server 127.0.0.1:22206 ok -=== () Starting server 127.0.0.1:22208 ok -=== () Starting server 127.0.0.1:22210 ok -[ok]: All replicas share one global replication buffer rdbchannel=yes (219 ms) -[ok]: Replication buffer will become smaller when no replica uses rdbchannel=yes (11 ms) -=== (repl external:skip) Starting server 127.0.0.1:22212 ok -=== () Starting server 127.0.0.1:22214 ok -=== () Starting server 127.0.0.1:22216 ok -=== () Starting server 127.0.0.1:22218 ok -[ok]: All replicas share one global replication buffer rdbchannel=no (148 ms) -[ok]: Replication buffer will become smaller when no replica uses rdbchannel=no (15 ms) -=== (repl external:skip) Starting server 127.0.0.1:22220 ok -=== () Starting server 127.0.0.1:22222 ok -=== () Starting server 127.0.0.1:22224 ok -[ok]: Replication backlog size can outgrow the backlog limit config rdbchannel=yes (4286 ms) -[ok]: Replica could use replication buffer (beyond backlog config) for partial resynchronization rdbchannel=yes (3297 ms) -[ok]: Replication backlog memory will become smaller if disconnecting with replica rdbchannel=yes (129 ms) -=== (repl external:skip) Starting server 127.0.0.1:22226 ok -=== () Starting server 127.0.0.1:22228 ok -=== () Starting server 127.0.0.1:22230 ok -[ok]: Replication backlog size can outgrow the backlog limit config rdbchannel=no (4645 ms) -[ok]: Replica could use replication buffer (beyond backlog config) for partial resynchronization rdbchannel=no (4384 ms) -[ok]: Replication backlog memory will become smaller if disconnecting with replica rdbchannel=no (967 ms) -=== (repl external:skip) Starting server 127.0.0.1:22232 ok -=== () Starting server 127.0.0.1:22234 ok -[ok]: Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size rdbchannel=yes (4388 ms) -=== (repl external:skip) Starting server 127.0.0.1:22236 ok -=== () Starting server 127.0.0.1:22238 ok -[ok]: The update of replBufBlock's repl_offset is ok - Regression test for #11666 (22 ms) -[ok]: Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending rdbchannel=yes (1293 ms) -=== (repl external:skip) Starting server 127.0.0.1:22240 ok -=== () Starting server 127.0.0.1:22242 ok -[ok]: Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size rdbchannel=no (3384 ms) -=== (repl external:skip) Starting server 127.0.0.1:22244 ok -=== () Starting server 127.0.0.1:22246 ok -[ok]: The update of replBufBlock's repl_offset is ok - Regression test for #11666 (13 ms) -[ok]: Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending rdbchannel=no (2193 ms) -[92/96 done]: integration/replication-buffer (38 seconds) -Testing integration/replication-psync -=== (repl) Starting server 127.0.0.1:22248 ok -=== () Starting server 127.0.0.1:22250 ok -[ok]: Slave should be able to synchronize with the master (106 ms) -[ok]: Detect write load to master (1026 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, disabled, reconnect: 0, rdbchannel: no) (28 ms) -=== (repl) Starting server 127.0.0.1:22252 ok -=== () Starting server 127.0.0.1:22254 ok -[ok]: Slave should be able to synchronize with the master (107 ms) -[ok]: Detect write load to master (1003 ms) -[ok]: Test replication partial resync: ok psync (diskless: no, disabled, reconnect: 1, rdbchannel: no) (6183 ms) -=== (repl) Starting server 127.0.0.1:22256 ok -=== () Starting server 127.0.0.1:22258 ok -[ok]: Slave should be able to synchronize with the master (102 ms) -[ok]: Detect write load to master (1002 ms) -[ok]: Test replication partial resync: no backlog (diskless: no, disabled, reconnect: 1, rdbchannel: no) (7675 ms) -=== (repl) Starting server 127.0.0.1:22260 ok -=== () Starting server 127.0.0.1:22262 ok -[ok]: Slave should be able to synchronize with the master (103 ms) -[ok]: Detect write load to master (1006 ms) -[ok]: Test replication partial resync: ok after delay (diskless: no, disabled, reconnect: 1, rdbchannel: no) (9319 ms) -=== (repl) Starting server 127.0.0.1:22264 ok -=== () Starting server 127.0.0.1:22266 ok -[ok]: Slave should be able to synchronize with the master (231 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: backlog expired (diskless: no, disabled, reconnect: 1, rdbchannel: no) (9173 ms) -=== (repl) Starting server 127.0.0.1:22268 ok -=== () Starting server 127.0.0.1:22270 ok -[ok]: Slave should be able to synchronize with the master (204 ms) -[ok]: Detect write load to master (1008 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, swapdb, reconnect: 0, rdbchannel: no) (17 ms) -=== (repl) Starting server 127.0.0.1:22272 ok -=== () Starting server 127.0.0.1:22274 ok -[ok]: Slave should be able to synchronize with the master (116 ms) -[ok]: Detect write load to master (1008 ms) -[ok]: Test replication partial resync: ok psync (diskless: no, swapdb, reconnect: 1, rdbchannel: no) (6152 ms) -=== (repl) Starting server 127.0.0.1:22276 ok -=== () Starting server 127.0.0.1:22278 ok -[ok]: Slave should be able to synchronize with the master (104 ms) -[ok]: Detect write load to master (1003 ms) -[ok]: Test replication partial resync: no backlog (diskless: no, swapdb, reconnect: 1, rdbchannel: no) (7650 ms) -=== (repl) Starting server 127.0.0.1:22280 ok -=== () Starting server 127.0.0.1:22282 ok -[ok]: Slave should be able to synchronize with the master (113 ms) -[ok]: Detect write load to master (1002 ms) -[ok]: Test replication partial resync: ok after delay (diskless: no, swapdb, reconnect: 1, rdbchannel: no) (9167 ms) -=== (repl) Starting server 127.0.0.1:22284 ok -=== () Starting server 127.0.0.1:22286 ok -[ok]: Slave should be able to synchronize with the master (208 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: backlog expired (diskless: no, swapdb, reconnect: 1, rdbchannel: no) (9181 ms) -=== (repl) Starting server 127.0.0.1:22288 ok -=== () Starting server 127.0.0.1:22290 ok -[ok]: Slave should be able to synchronize with the master (814 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, reconnect: 0, rdbchannel: yes) (25 ms) -=== (repl) Starting server 127.0.0.1:22292 ok -=== () Starting server 127.0.0.1:22294 ok -[ok]: Slave should be able to synchronize with the master (713 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: ok psync (diskless: yes, disabled, reconnect: 1, rdbchannel: yes) (6135 ms) -=== (repl) Starting server 127.0.0.1:22296 ok -=== () Starting server 127.0.0.1:22298 ok -[ok]: Slave should be able to synchronize with the master (1741 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: no backlog (diskless: yes, disabled, reconnect: 1, rdbchannel: yes) (7702 ms) -=== (repl) Starting server 127.0.0.1:22300 ok -=== () Starting server 127.0.0.1:22302 ok -[ok]: Slave should be able to synchronize with the master (1732 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: ok after delay (diskless: yes, disabled, reconnect: 1, rdbchannel: yes) (9184 ms) -=== (repl) Starting server 127.0.0.1:22304 ok -=== () Starting server 127.0.0.1:22306 ok -[ok]: Slave should be able to synchronize with the master (714 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: backlog expired (diskless: yes, disabled, reconnect: 1, rdbchannel: yes) (9299 ms) -=== (repl) Starting server 127.0.0.1:22308 ok -=== () Starting server 127.0.0.1:22310 ok -[ok]: Slave should be able to synchronize with the master (1737 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, reconnect: 0, rdbchannel: no) (265 ms) -=== (repl) Starting server 127.0.0.1:22312 ok -=== () Starting server 127.0.0.1:22314 ok -[ok]: Slave should be able to synchronize with the master (714 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: ok psync (diskless: yes, disabled, reconnect: 1, rdbchannel: no) (6123 ms) -=== (repl) Starting server 127.0.0.1:22316 ok -=== () Starting server 127.0.0.1:22318 ok -[ok]: Slave should be able to synchronize with the master (1729 ms) -[ok]: Detect write load to master (6 ms) -[ok]: Test replication partial resync: no backlog (diskless: yes, disabled, reconnect: 1, rdbchannel: no) (7649 ms) -=== (repl) Starting server 127.0.0.1:22320 ok -=== () Starting server 127.0.0.1:22322 ok -[ok]: Slave should be able to synchronize with the master (1748 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: ok after delay (diskless: yes, disabled, reconnect: 1, rdbchannel: no) (9146 ms) -=== (repl) Starting server 127.0.0.1:22324 ok -=== () Starting server 127.0.0.1:22326 ok -[ok]: Slave should be able to synchronize with the master (714 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: backlog expired (diskless: yes, disabled, reconnect: 1, rdbchannel: no) (9462 ms) -=== (repl) Starting server 127.0.0.1:22328 ok -=== () Starting server 127.0.0.1:22330 ok -[ok]: Slave should be able to synchronize with the master (1733 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, reconnect: 0, rdbchannel: yes) (34 ms) -=== (repl) Starting server 127.0.0.1:22332 ok -=== () Starting server 127.0.0.1:22334 ok -[ok]: Slave should be able to synchronize with the master (714 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: ok psync (diskless: yes, swapdb, reconnect: 1, rdbchannel: yes) (6229 ms) -=== (repl) Starting server 127.0.0.1:22336 ok -=== () Starting server 127.0.0.1:22338 ok -[ok]: Slave should be able to synchronize with the master (1723 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: no backlog (diskless: yes, swapdb, reconnect: 1, rdbchannel: yes) (7789 ms) -=== (repl) Starting server 127.0.0.1:22340 ok -=== () Starting server 127.0.0.1:22342 ok -[ok]: Slave should be able to synchronize with the master (1724 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: ok after delay (diskless: yes, swapdb, reconnect: 1, rdbchannel: yes) (9263 ms) -=== (repl) Starting server 127.0.0.1:22344 ok -=== () Starting server 127.0.0.1:22346 ok -[ok]: Slave should be able to synchronize with the master (731 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: backlog expired (diskless: yes, swapdb, reconnect: 1, rdbchannel: yes) (9282 ms) -=== (repl) Starting server 127.0.0.1:22348 ok -=== () Starting server 127.0.0.1:22350 ok -[ok]: Slave should be able to synchronize with the master (1725 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, reconnect: 0, rdbchannel: no) (273 ms) -=== (repl) Starting server 127.0.0.1:22352 ok -=== () Starting server 127.0.0.1:22354 ok -[ok]: Slave should be able to synchronize with the master (730 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: ok psync (diskless: yes, swapdb, reconnect: 1, rdbchannel: no) (6112 ms) -=== (repl) Starting server 127.0.0.1:22356 ok -=== () Starting server 127.0.0.1:22358 ok -[ok]: Slave should be able to synchronize with the master (1723 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: no backlog (diskless: yes, swapdb, reconnect: 1, rdbchannel: no) (7631 ms) -=== (repl) Starting server 127.0.0.1:22360 ok -=== () Starting server 127.0.0.1:22362 ok -[ok]: Slave should be able to synchronize with the master (1726 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: ok after delay (diskless: yes, swapdb, reconnect: 1, rdbchannel: no) (9166 ms) -=== (repl) Starting server 127.0.0.1:22364 ok -=== () Starting server 127.0.0.1:22366 ok -[ok]: Slave should be able to synchronize with the master (721 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: backlog expired (diskless: yes, swapdb, reconnect: 1, rdbchannel: no) (9335 ms) -[93/96 done]: integration/replication-psync (248 seconds) -Testing integration/replication-rdbchannel -=== (repl external:skip) Starting server 127.0.0.1:22368 ok -=== () Starting server 127.0.0.1:22370 ok -=== () Starting server 127.0.0.1:22372 ok -[ok]: Test replication with multiple replicas (rdbchannel enabled on both) (231 ms) -[ok]: Test replication with multiple replicas (rdbchannel enabled on one of them) (4614 ms) -[ok]: Test rdbchannel is not used if repl-diskless-sync config is disabled on master (186 ms) -=== (repl external:skip) Starting server 127.0.0.1:22374 ok -=== () Starting server 127.0.0.1:22376 ok -[ok]: Test replica state should start with wait_bgsave (208 ms) -[ok]: Test replica state advances to send_bulk_and_stream when rdbchannel connects (227 ms) -[ok]: Test replica rdbchannel client has SC flag on client list output (0 ms) -[ok]: Test replica state advances to online when fullsync is completed (4269 ms) -=== (repl external:skip) Starting server 127.0.0.1:22378 ok -=== () Starting server 127.0.0.1:22380 ok -03:10:32 master: 0 replica: 0 -03:10:32 master: 0 replica: 0 -03:10:32 master: 0 replica: 1048560 -03:10:32 master: 0 replica: 1048560 -03:10:32 master: 0 replica: 1048560 -03:10:32 master: 0 replica: 1048560 -03:10:32 master: 0 replica: 1048560 -03:10:32 master: 0 replica: 1048560 -03:10:32 master: 0 replica: 1048560 -03:10:32 master: 0 replica: 1048560 -03:10:32 master: 0 replica: 1048560 -03:10:32 master: 0 replica: 1048560 -03:10:32 master: 0 replica: 1048560 -03:10:32 master: 0 replica: 1048560 -03:10:32 master: 0 replica: 1048560 -03:10:32 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 1048560 -03:10:33 master: 0 replica: 2097120 -03:10:33 master: 0 replica: 2097120 -03:10:33 master: 0 replica: 2097120 -03:10:33 master: 0 replica: 2097120 -03:10:33 master: 0 replica: 2097120 -03:10:33 master: 0 replica: 2097120 -03:10:33 master: 0 replica: 2097120 -03:10:33 master: 0 replica: 2097120 -03:10:33 master: 0 replica: 2097120 -03:10:33 master: 0 replica: 2097120 -03:10:33 master: 0 replica: 2097120 -03:10:33 master: 0 replica: 2097120 -03:10:33 master: 0 replica: 2097120 -03:10:33 master: 0 replica: 2097120 -03:10:33 master: 0 replica: 2097120 -03:10:33 master: 0 replica: 2097120 -03:10:33 master: 0 replica: 2097120 -03:10:33 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 2097120 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:34 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 3145680 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:35 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 4194240 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:36 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 0 replica: 5242800 -03:10:37 master: 26648 replica: 5242800 -03:10:37 master: 26648 replica: 5242800 -03:10:37 master: 26648 replica: 5242800 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 47152 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:37 master: 26648 replica: 6291360 -03:10:38 master: 26648 replica: 6291360 -03:10:38 master: 26648 replica: 6291360 -03:10:38 master: 47152 replica: 6291360 -03:10:38 master: 47152 replica: 6291360 -03:10:38 master: 47152 replica: 6291360 -03:10:38 master: 47152 replica: 6291360 -03:10:38 master: 26648 replica: 6291360 -03:10:38 master: 26648 replica: 6291360 -03:10:38 master: 26648 replica: 6291360 -03:10:38 master: 47152 replica: 6291360 -03:10:38 master: 47152 replica: 6291360 -03:10:38 master: 47152 replica: 6291360 -03:10:38 master: 47152 replica: 6291360 -03:10:38 master: 47152 replica: 6291360 -03:10:38 master: 47152 replica: 6291360 -03:10:38 master: 47152 replica: 6291360 -03:10:38 master: 47152 replica: 6291360 -03:10:38 master: 47152 replica: 6291360 -03:10:38 master: 47152 replica: 6291360 -03:10:38 master: 47152 replica: 6291360 -03:10:38 master: 26648 replica: 6291360 -03:10:38 master: 26648 replica: 6291360 -03:10:38 master: 26648 replica: 6291360 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 47152 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:38 master: 26648 replica: 7339920 -03:10:39 master: 26648 replica: 7339920 -03:10:39 master: 26648 replica: 7339920 -03:10:39 master: 26648 replica: 7339920 -03:10:39 master: 47152 replica: 7339920 -03:10:39 master: 47152 replica: 7339920 -03:10:39 master: 47152 replica: 7339920 -03:10:39 master: 26648 replica: 7339920 -03:10:39 master: 26648 replica: 7339920 -03:10:39 master: 26648 replica: 7339920 -03:10:39 master: 26648 replica: 7339920 -03:10:39 master: 47152 replica: 7339920 -03:10:39 master: 26648 replica: 7339920 -03:10:39 master: 47152 replica: 7339920 -03:10:39 master: 26648 replica: 7339920 -03:10:39 master: 47152 replica: 8388480 -03:10:39 master: 47152 replica: 0 -peak_master_used_mem 109485688 -peak_master_rpl_buf 5290032 -peak_master_slave_buf_size 47152 -peak_replica_buf_size 8388480 -[ok]: Test master memory does not increase during replication (8372 ms) -=== (repl external:skip) Starting server 127.0.0.1:22382 ok -=== () Starting server 127.0.0.1:22384 ok -[ok]: Test replication stream buffer becomes full on replica (2704 ms) -[ok]: Test replication stream buffer config replica-full-sync-buffer-limit (1354 ms) -Waiting for process 345167 to exit... -Waiting for process 345167 to exit... -Waiting for process 345167 to exit... -=== (repl external:skip) Starting server 127.0.0.1:22386 ok -=== () Starting server 127.0.0.1:22388 ok -[ok]: Test master disconnects replica when output buffer limit is reached (5520 ms) -[ok]: Test replication recovers after output buffer failures (3924 ms) -=== (repl external:skip) Starting server 127.0.0.1:22390 ok -=== () Starting server 127.0.0.1:22392 ok -=== () Starting server 127.0.0.1:22394 ok -[ok]: Test master continues RDB delivery if not all replicas are dropped (9903 ms) -[ok]: Test master aborts rdb delivery if all replicas are dropped (7080 ms) -=== (repl external:skip) Starting server 127.0.0.1:22396 ok -=== () Starting server 127.0.0.1:22398 ok -[ok]: Test replica recovers when rdb channel connection is killed (1064 ms) -[ok]: Test replica recovers when main channel connection is killed (940 ms) -[ok]: Test replica recovers connection failures (3647 ms) -=== (repl external:skip) Starting server 127.0.0.1:22400 ok -=== () Starting server 127.0.0.1:22402 ok -[ok]: Test master connection drops while streaming repl buffer into the db (2767 ms) -=== (repl external:skip) Starting server 127.0.0.1:22404 ok -=== () Starting server 127.0.0.1:22406 ok -[ok]: Test main channel connection drops while loading rdb (disk based) (2543 ms) -=== (repl external:skip) Starting server 127.0.0.1:22408 ok -=== () Starting server 127.0.0.1:22410 ok -[ok]: Test main channel connection drops while loading rdb (diskless) (2140 ms) -=== (repl external:skip) Starting server 127.0.0.1:22412 ok -=== (repl external:skip) Starting server 127.0.0.1:22414 ok -=== () Starting server 127.0.0.1:22416 ok -[ok]: Test replicaof command while streaming repl buffer into the db (2685 ms) -[94/96 done]: integration/replication-rdbchannel (78 seconds) -Testing integration/replication -=== (repl network external:skip) Starting server 127.0.0.1:22418 ok -=== () Starting server 127.0.0.1:22420 ok -[ok]: Slave enters handshake (9 ms) -[ok]: Slave enters wait_bgsave (1004 ms) -[ok]: Slave is able to detect timeout during handshake (0 ms) -=== (repl external:skip) Starting server 127.0.0.1:22422 ok -=== () Starting server 127.0.0.1:22424 ok -[ok]: Set instance A as slave of B (105 ms) -[ok]: INCRBYFLOAT replication, should not remove expire (2 ms) -[ok]: GETSET replication (6 ms) -[ok]: BRPOPLPUSH replication, when blocking against empty list (31 ms) -[ok]: BRPOPLPUSH replication, list exists (3 ms) -[ok]: BLMOVE (left, left) replication, when blocking against empty list (28 ms) -[ok]: BLMOVE (left, left) replication, list exists (2 ms) -[ok]: BLMOVE (left, right) replication, when blocking against empty list (28 ms) -[ok]: BLMOVE (left, right) replication, list exists (2 ms) -[ok]: BLMOVE (right, left) replication, when blocking against empty list (29 ms) -[ok]: BLMOVE (right, left) replication, list exists (3 ms) -[ok]: BLMOVE (right, right) replication, when blocking against empty list (28 ms) -[ok]: BLMOVE (right, right) replication, list exists (6 ms) -[ok]: BLPOP followed by role change, issue #2473 (134 ms) -=== (repl external:skip) Starting server 127.0.0.1:22426 ok -=== () Starting server 127.0.0.1:22428 ok -[ok]: Second server should have role master at first (4 ms) -[ok]: SLAVEOF should start with link status "down" (4 ms) -[ok]: The role should immediately be changed to "replica" (1 ms) -[ok]: Sync should have transferred keys from master (1 ms) -[ok]: The link status should be up (0 ms) -[ok]: SET on the master should immediately propagate (1 ms) -[ok]: FLUSHDB / FLUSHALL should replicate (177 ms) -[ok]: ROLE in master reports master with a slave (0 ms) -[ok]: ROLE in slave reports slave in connected state (0 ms) -=== (repl external:skip) Starting server 127.0.0.1:22430 ok -=== () Starting server 127.0.0.1:22432 ok -=== () Starting server 127.0.0.1:22434 ok -=== () Starting server 127.0.0.1:22436 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=disabled, rdbchannel=no (8750 ms) -=== (repl external:skip) Starting server 127.0.0.1:22438 ok -=== () Starting server 127.0.0.1:22440 ok -=== () Starting server 127.0.0.1:22442 ok -=== () Starting server 127.0.0.1:22444 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=swapdb, rdbchannel=no (8656 ms) -=== (repl external:skip) Starting server 127.0.0.1:22446 ok -=== () Starting server 127.0.0.1:22448 ok -=== () Starting server 127.0.0.1:22450 ok -=== () Starting server 127.0.0.1:22452 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=disabled, rdbchannel=yes (9644 ms) -=== (repl external:skip) Starting server 127.0.0.1:22454 ok -=== () Starting server 127.0.0.1:22456 ok -=== () Starting server 127.0.0.1:22458 ok -=== () Starting server 127.0.0.1:22460 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=swapdb, rdbchannel=yes (9078 ms) -=== (repl external:skip) Starting server 127.0.0.1:22462 ok -=== () Starting server 127.0.0.1:22464 ok -[ok]: Master stream is correctly processed while the replica has a script in -BUSY state (19701 ms) -=== (repl external:skip) Starting server 127.0.0.1:22466 ok -=== () Starting server 127.0.0.1:22468 ok -[ok]: Diskless load swapdb (different replid): new database is exposed after swapping (0 ms) -=== (repl external:skip) Starting server 127.0.0.1:22470 ok -=== () Starting server 127.0.0.1:22472 ok -[ok]: Diskless load swapdb (different replid): replica enter loading rdbchannel=no (194 ms) -[ok]: Diskless load swapdb (different replid): old database is exposed after replication fails rdbchannel=no (1 ms) -=== (repl external:skip) Starting server 127.0.0.1:22474 ok -=== () Starting server 127.0.0.1:22476 ok -[ok]: Diskless load swapdb (async_loading): new database is exposed after swapping (1 ms) -=== (repl external:skip) Starting server 127.0.0.1:22478 ok -=== () Starting server 127.0.0.1:22480 ok -[ok]: Diskless load swapdb (async_loading): replica enter async_loading (179 ms) -[ok]: Diskless load swapdb (async_loading): old database is exposed while async replication is in progress (432 ms) -[ok]: Busy script during async loading (762 ms) -[ok]: Blocked commands and configs during async-loading (124 ms) -[ok]: Diskless load swapdb (async_loading): old database is exposed after async replication fails (1 ms) -Waiting for process 357521 to exit... -Waiting for process 357521 to exit... -Waiting for process 357521 to exit... -Waiting for process 357521 to exit... -=== (repl) Starting server 127.0.0.1:22482 ok -=== () Starting server 127.0.0.1:22484 ok -filling took 7623 ms (TODO: use pipeline) -{358305:S 11 Oct 2025 03:13:10.369 # Internal error in RDB reading offset 2425541, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 51 -{358305:S 11 Oct 2025 03:13:10.463 # Internal error in RDB reading offset 9140686, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 70 -{358305:S 11 Oct 2025 03:13:10.533 # Internal error in RDB reading offset 2425541, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 89 -{358305:S 11 Oct 2025 03:13:10.584 # Internal error in RDB reading offset 0, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 106 -{358305:S 11 Oct 2025 03:13:10.660 # Internal error in RDB reading offset 6218926, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 125 -{358305:S 11 Oct 2025 03:13:10.756 # Internal error in RDB reading offset 10658175, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 144 -{358305:S 11 Oct 2025 03:13:10.853 # Internal error in RDB reading offset 9439605, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 163 -{358305:S 11 Oct 2025 03:13:10.903 # Internal error in RDB reading offset 0, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 180 -{358305:S 11 Oct 2025 03:13:10.999 # Internal error in RDB reading offset 7321872, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 199 -{358305:S 11 Oct 2025 03:13:11.068 # Internal error in RDB reading offset 2747065, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 218 -{358305:S 11 Oct 2025 03:13:11.152 # Internal error in RDB reading offset 8184793, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 237 -{358305:S 11 Oct 2025 03:13:11.241 # Internal error in RDB reading offset 8184793, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 256 -{358305:S 11 Oct 2025 03:13:11.308 # Internal error in RDB reading offset 3972080, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 275 -{358305:S 11 Oct 2025 03:13:11.357 # Internal error in RDB reading offset 214068, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 294 -{358305:S 11 Oct 2025 03:13:11.421 # Internal error in RDB reading offset 2425541, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 313 -{358305:S 11 Oct 2025 03:13:11.510 # Internal error in RDB reading offset 9140686, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 332 -{358305:S 11 Oct 2025 03:13:11.593 # Internal error in RDB reading offset 7321872, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 351 -{358305:S 11 Oct 2025 03:13:11.646 # Internal error in RDB reading offset 0, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 368 -{358305:S 11 Oct 2025 03:13:11.695 # Internal error in RDB reading offset 0, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 385 -{358305:S 11 Oct 2025 03:13:11.764 # Internal error in RDB reading offset 3972080, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 404 -{358305:S 11 Oct 2025 03:13:11.823 # Internal error in RDB reading offset 0, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 421 -{358305:S 11 Oct 2025 03:13:11.909 # Internal error in RDB reading offset 8184793, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 440 -{358305:S 11 Oct 2025 03:13:11.987 # Internal error in RDB reading offset 5218662, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 459 -{358305:S 11 Oct 2025 03:13:12.059 # Internal error in RDB reading offset 4239149, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 478 -{358305:S 11 Oct 2025 03:13:12.150 # Internal error in RDB reading offset 9140686, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 497 -{358305:S 11 Oct 2025 03:13:12.236 # Internal error in RDB reading offset 8184793, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 516 -{358305:S 11 Oct 2025 03:13:12.328 # Internal error in RDB reading offset 11067606, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 535 -{358305:S 11 Oct 2025 03:13:12.390 # Internal error in RDB reading offset 3972080, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 554 -{358305:S 11 Oct 2025 03:13:12.464 # Internal error in RDB reading offset 3972080, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 573 -{358305:S 11 Oct 2025 03:13:12.515 # Internal error in RDB reading offset 587206, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 592 -{358305:S 11 Oct 2025 03:13:12.561 # Internal error in RDB reading offset 0, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 609 -{358305:S 11 Oct 2025 03:13:12.660 # Internal error in RDB reading offset 9439605, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 628 -{358305:S 11 Oct 2025 03:13:12.740 # Internal error in RDB reading offset 7321872, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 647 -{358305:S 11 Oct 2025 03:13:12.819 # Internal error in RDB reading offset 7321872, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 666 -{358305:S 11 Oct 2025 03:13:12.896 # Internal error in RDB reading offset 3972080, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 685 -{358305:S 11 Oct 2025 03:13:12.976 # Internal error in RDB reading offset 6218926, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 704 -{358305:S 11 Oct 2025 03:13:13.068 # Internal error in RDB reading offset 10658175, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 723 -{358305:S 11 Oct 2025 03:13:13.154 # Internal error in RDB reading offset 8184793, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 742 -{358305:S 11 Oct 2025 03:13:13.199 # Internal error in RDB reading offset 0, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 759 -{358305:S 11 Oct 2025 03:13:13.255 # Internal error in RDB reading offset 214068, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 776 -{358305:S 11 Oct 2025 03:13:13.328 # Internal error in RDB reading offset 3972080, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 795 -{358305:S 11 Oct 2025 03:13:13.408 # Internal error in RDB reading offset 8184793, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 814 -{358305:S 11 Oct 2025 03:13:13.470 # Internal error in RDB reading offset 2425541, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 833 -{358305:S 11 Oct 2025 03:13:13.532 # Internal error in RDB reading offset 214068, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 852 -{358305:S 11 Oct 2025 03:13:13.608 # Internal error in RDB reading offset 6218926, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 871 -{358305:S 11 Oct 2025 03:13:13.698 # Internal error in RDB reading offset 9140686, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 890 -{358305:S 11 Oct 2025 03:13:13.788 # Internal error in RDB reading offset 8184793, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 909 -{358305:S 11 Oct 2025 03:13:13.835 # Internal error in RDB reading offset 0, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 926 -{358305:S 11 Oct 2025 03:13:13.929 # Internal error in RDB reading offset 9439605, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 945 -{358305:S 11 Oct 2025 03:13:13.978 # Internal error in RDB reading offset 0, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 962 -{358305:S 11 Oct 2025 03:13:14.051 # Internal error in RDB reading offset 5218662, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 981 -{358305:S 11 Oct 2025 03:13:14.132 # Internal error in RDB reading offset 5218662, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1000 -{358305:S 11 Oct 2025 03:13:14.199 # Internal error in RDB reading offset 3972080, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1019 -{358305:S 11 Oct 2025 03:13:14.276 # Internal error in RDB reading offset 6218926, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1038 -{358305:S 11 Oct 2025 03:13:14.376 # Internal error in RDB reading offset 12414712, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1057 -{358305:S 11 Oct 2025 03:13:14.429 # Internal error in RDB reading offset 3972080, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1076 -{358305:S 11 Oct 2025 03:13:14.482 # Internal error in RDB reading offset 1173368, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1095 -{358305:S 11 Oct 2025 03:13:14.568 # Internal error in RDB reading offset 3972080, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1114 -{358305:S 11 Oct 2025 03:13:14.641 # Internal error in RDB reading offset 3972080, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1133 -{358305:S 11 Oct 2025 03:13:14.699 # Internal error in RDB reading offset 0, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1150 -{358305:S 11 Oct 2025 03:13:14.788 # Internal error in RDB reading offset 10658175, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1169 -{358305:S 11 Oct 2025 03:13:14.856 # Internal error in RDB reading offset 3972080, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1188 -{358305:S 11 Oct 2025 03:13:14.939 # Internal error in RDB reading offset 9439605, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1207 -{358305:S 11 Oct 2025 03:13:15.025 # Internal error in RDB reading offset 10658175, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1226 -{358305:S 11 Oct 2025 03:13:15.065 # Internal error in RDB reading offset 0, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1243 -{358305:S 11 Oct 2025 03:13:15.120 # Internal error in RDB reading offset 214068, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1260 -{358305:S 11 Oct 2025 03:13:15.171 # Internal error in RDB reading offset 1173368, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1277 -{358305:S 11 Oct 2025 03:13:15.280 # Internal error in RDB reading offset 8184793, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1296 -{358305:S 11 Oct 2025 03:13:15.352 # Internal error in RDB reading offset 3972080, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1315 -{358305:S 11 Oct 2025 03:13:15.416 # Internal error in RDB reading offset 2425541, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1334 -{358305:S 11 Oct 2025 03:13:15.515 # Internal error in RDB reading offset 8184793, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1353 -{358305:S 11 Oct 2025 03:13:15.576 # Internal error in RDB reading offset 2425541, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1372 -{358305:S 11 Oct 2025 03:13:15.638 # Internal error in RDB reading offset 0, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1389 -{358305:S 11 Oct 2025 03:13:15.724 # Internal error in RDB reading offset 6218926, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1408 -{358305:S 11 Oct 2025 03:13:15.819 # Internal error in RDB reading offset 6218926, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1427 -{358305:S 11 Oct 2025 03:13:15.880 # Internal error in RDB reading offset 214068, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1446 -{358305:S 11 Oct 2025 03:13:15.937 # Internal error in RDB reading offset 2425541, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1465 -{358305:S 11 Oct 2025 03:13:16.033 # Internal error in RDB reading offset 10658175, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1484 -{358305:S 11 Oct 2025 03:13:16.134 # Internal error in RDB reading offset 9439605, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1503 -{358305:S 11 Oct 2025 03:13:16.236 # Internal error in RDB reading offset 9439605, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1522 -{358305:S 11 Oct 2025 03:13:16.308 # Internal error in RDB reading offset 3972080, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1541 -{358305:S 11 Oct 2025 03:13:16.379 # Internal error in RDB reading offset 2747065, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1558 -{358305:S 11 Oct 2025 03:13:16.474 # Internal error in RDB reading offset 9140686, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1577 -{358305:S 11 Oct 2025 03:13:16.563 # Internal error in RDB reading offset 9140686, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1596 -{358305:S 11 Oct 2025 03:13:16.611 # Internal error in RDB reading offset 0, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1613 -{358305:S 11 Oct 2025 03:13:16.697 # Internal error in RDB reading offset 8184793, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1632 -{358305:S 11 Oct 2025 03:13:16.779 # Internal error in RDB reading offset 8184793, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1651 -{358305:S 11 Oct 2025 03:13:16.834 # Internal error in RDB reading offset 587206, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1670 -{358305:S 11 Oct 2025 03:13:16.915 # Internal error in RDB reading offset 7321872, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1689 -{358305:S 11 Oct 2025 03:13:16.999 # Internal error in RDB reading offset 5218662, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1708 -{358305:S 11 Oct 2025 03:13:17.060 # Internal error in RDB reading offset 2425541, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1727 -{358305:S 11 Oct 2025 03:13:17.133 # Internal error in RDB reading offset 3972080, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1746 -{358305:S 11 Oct 2025 03:13:17.237 # Internal error in RDB reading offset 8184793, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1765 -{358305:S 11 Oct 2025 03:13:17.314 # Internal error in RDB reading offset 4239149, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1784 -{358305:S 11 Oct 2025 03:13:17.403 # Internal error in RDB reading offset 6218926, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1803 -{358305:S 11 Oct 2025 03:13:17.447 # Internal error in RDB reading offset 0, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1820 -{358305:S 11 Oct 2025 03:13:17.549 # Internal error in RDB reading offset 11067606, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1839 -{358305:S 11 Oct 2025 03:13:17.596 # Internal error in RDB reading offset 214068, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1858 -{358305:S 11 Oct 2025 03:13:17.644 # Internal error in RDB reading offset 0, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1875 -{358305:S 11 Oct 2025 03:13:17.719 # Internal error in RDB reading offset 2747065, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1892 -test took 7437 ms -[ok]: diskless loading short read (15942 ms) -=== (repl external:skip) Starting server 127.0.0.1:22486 ok -=== () Starting server 127.0.0.1:22488 ok -=== () Starting server 127.0.0.1:22490 ok -[ok]: diskless no replicas drop during rdb pipe (8223 ms) -=== () Starting server 127.0.0.1:22492 ok -=== () Starting server 127.0.0.1:22494 ok -[ok]: diskless slow replicas drop during rdb pipe (4053 ms) -=== () Starting server 127.0.0.1:22496 ok -=== () Starting server 127.0.0.1:22498 ok -[ok]: diskless fast replicas drop during rdb pipe (7845 ms) -=== () Starting server 127.0.0.1:22500 ok -=== () Starting server 127.0.0.1:22502 ok -[ok]: diskless all replicas drop during rdb pipe (1216 ms) -=== () Starting server 127.0.0.1:22504 ok -=== () Starting server 127.0.0.1:22506 ok -[ok]: diskless timeout replicas drop during rdb pipe (7668 ms) -=== (repl) Starting server 127.0.0.1:22508 ok -=== () Starting server 127.0.0.1:22510 ok -[ok]: diskless replication child being killed is collected (1765 ms) -=== (repl) Starting server 127.0.0.1:22512 ok -=== () Starting server 127.0.0.1:22514 ok -[ok]: replication child dies when parent is killed - diskless: yes (1659 ms) -=== (repl) Starting server 127.0.0.1:22516 ok -=== () Starting server 127.0.0.1:22518 ok -[ok]: replication child dies when parent is killed - diskless: no (1580 ms) -=== (repl) Starting server 127.0.0.1:22520 ok -=== () Starting server 127.0.0.1:22522 ok -[ok]: diskless replication read pipe cleanup (1001 ms) -=== (repl) Starting server 127.0.0.1:22524 ok -=== () Starting server 127.0.0.1:22526 ok -=== () Starting server 127.0.0.1:22528 ok -[ok]: replicaof right after disconnection (1999 ms) -=== (repl) Starting server 127.0.0.1:22530 ok -=== () Starting server 127.0.0.1:22532 ok -=== () Starting server 127.0.0.1:22534 ok -[ok]: Kill rdb child process if its dumping RDB is not useful (1377 ms) -=== (repl external:skip) Starting server 127.0.0.1:22536 ok -=== () Starting server 127.0.0.1:22538 ok -=== () Starting server 127.0.0.1:22540 ok -=== () Starting server 127.0.0.1:22542 ok -[ok]: Don't disconnect with replicas before loading transferred RDB when full sync (1 ms) -[ok]: Discard cache master before loading transferred RDB when full sync (113 ms) -=== (repl) Starting server 127.0.0.1:22544 ok -=== () Starting server 127.0.0.1:22546 ok -[ok]: replica can handle EINTR if use diskless load (760 ms) -=== (repl external:skip) Starting server 127.0.0.1:22548 ok -SYNC _addReplyToBufferOrList: I/O error reading reply -[ok]: replica do not write the reply to the replication link - SYNC (_addReplyToBufferOrList) (72 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) (131 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... -Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - PSYNC (addReplyDeferredLen) (131 ms) -[ok]: PSYNC with wrong offset should throw error (5 ms) -=== (repl external:skip) Starting server 127.0.0.1:22550 ok -=== () Starting server 127.0.0.1:22552 ok -[ok]: Test replication with lazy expire (138 ms) -=== () Starting server 127.0.0.1:22554 ok -=== () Starting server 127.0.0.1:22556 ok -[ok]: Replica should reply LOADING while flushing a large db (disklessload: disabled) (5311 ms) -=== () Starting server 127.0.0.1:22558 ok -=== () Starting server 127.0.0.1:22560 ok -[ok]: Replica should reply LOADING while flushing a large db (disklessload: on-empty-db) (3400 ms) -=== (repl external:skip) Starting server 127.0.0.1:22562 ok -=== () Starting server 127.0.0.1:22564 ok -[ok]: Allow appendonly config change while loading rdb on slave (2281 ms) -=== (repl external:skip) Starting server 127.0.0.1:22566 ok -=== () Starting server 127.0.0.1:22568 ok -[ok]: Replica flushes db lazily when replica-lazy-flush enabled (104 ms) -=== (repl external:skip) Starting server 127.0.0.1:22570 ok -=== () Starting server 127.0.0.1:22572 ok -[ok]: Test replication with functions when repl-diskless-load is set to on-empty-db (105 ms) -[95/96 done]: integration/replication (158 seconds) -Testing integration/shutdown -=== () Starting server 127.0.0.1:22574 ok -=== () Starting server 127.0.0.1:22576 ok -[ok]: Shutting down master waits for replica to catch up (sigterm) (2550 ms) -=== () Starting server 127.0.0.1:22578 ok -=== () Starting server 127.0.0.1:22580 ok -[ok]: Shutting down master waits for replica to catch up (shutdown) (2309 ms) -=== () Starting server 127.0.0.1:22582 ok -=== () Starting server 127.0.0.1:22584 ok -[ok]: Shutting down master waits for replica timeout (1992 ms) -=== () Starting server 127.0.0.1:22586 ok -=== () Starting server 127.0.0.1:22588 ok -[ok]: Shutting down master waits for replica then fails (1388 ms) -=== () Starting server 127.0.0.1:22590 ok -=== () Starting server 127.0.0.1:22592 ok -[ok]: Shutting down master waits for replica then aborted (764 ms) -[96/96 done]: integration/shutdown (9 seconds) +[TIMEOUT]: clients state report follows. +sockaaaafafe6bc0 => (IN PROGRESS) slave buffer are counted correctly +Killing still running Redis server 1583478 +Killing still running Redis server 1583526 The End Execution time of different units: - 0 seconds - unit/acl-v2 + 1 seconds - unit/acl-v2 4 seconds - unit/acl - 21 seconds - unit/aofrw - 5 seconds - unit/auth + 18 seconds - unit/aofrw + 6 seconds - unit/auth 2 seconds - unit/bitfield - 3 seconds - unit/bitops - 6 seconds - unit/client-eviction - 27 seconds - unit/dump + 4 seconds - unit/bitops + 8 seconds - unit/client-eviction + 30 seconds - unit/dump 16 seconds - unit/expire 5 seconds - unit/functions - 27 seconds - unit/geo - 85 seconds - unit/hyperloglog - 0 seconds - unit/info-command - 42 seconds - unit/info-keysizes - 4 seconds - unit/info + 42 seconds - unit/geo + 74 seconds - unit/hyperloglog + 1 seconds - unit/info-command + 37 seconds - unit/info-keysizes + 3 seconds - unit/info 9 seconds - unit/introspection-2 - 13 seconds - unit/introspection + 12 seconds - unit/introspection 2 seconds - unit/keyspace - 8 seconds - unit/latency-monitor - 17 seconds - unit/lazyfree + 6 seconds - unit/latency-monitor + 8 seconds - unit/lazyfree 2 seconds - unit/limits - 94 seconds - unit/maxmemory - 8 seconds - unit/memefficiency - 5 seconds - unit/multi - 1 seconds - unit/networking - 14 seconds - unit/obuf-limits - 0 seconds - unit/oom-score-adj - 14 seconds - unit/other - 2 seconds - unit/pause - 0 seconds - unit/printver - 5 seconds - unit/protocol - 2 seconds - unit/pubsub - 2 seconds - unit/pubsubshard - 6 seconds - unit/querybuf - 0 seconds - unit/quit - 1 seconds - unit/replybufsize - 22 seconds - unit/scan - 31 seconds - unit/scripting - 1 seconds - unit/shutdown - 2 seconds - unit/slowlog - 10 seconds - unit/sort - 1 seconds - unit/tls - 2 seconds - unit/tracking - 2 seconds - unit/violations - 34 seconds - unit/wait - 14 seconds - unit/type/hash-field-expire - 6 seconds - unit/type/hash - 0 seconds - unit/type/incr - 17 seconds - unit/type/list-2 - 49 seconds - unit/type/list-3 - 21 seconds - unit/type/list - 27 seconds - unit/type/set - 7 seconds - unit/type/stream-cgroups - 20 seconds - unit/type/stream - 9 seconds - unit/type/string - 27 seconds - unit/type/zset - 3 seconds - unit/cluster/announced-endpoints - 0 seconds - unit/cluster/cli - 12 seconds - unit/cluster/cluster-response-tls - 14 seconds - unit/cluster/failure-marking - 6 seconds - unit/cluster/hostnames - 6 seconds - unit/cluster/human-announced-nodename - 9 seconds - unit/cluster/internal-secret - 15 seconds - unit/cluster/links - 4 seconds - unit/cluster/misc - 3 seconds - unit/cluster/multi-slot-operations - 2 seconds - unit/cluster/scripting - 3 seconds - unit/cluster/sharded-pubsub - 4 seconds - unit/cluster/slot-ownership - 13 seconds - integration/aof-multi-part - 1 seconds - integration/aof-race - 17 seconds - integration/aof - 26 seconds - integration/block-repl - 1 seconds - integration/convert-ziplist-hash-on-load - 0 seconds - integration/convert-ziplist-zset-on-load - 1 seconds - integration/convert-zipmap-hash-on-load - 20 seconds - integration/corrupt-dump-fuzzer - 23 seconds - integration/corrupt-dump - 5 seconds - integration/dismiss-mem - 5 seconds - integration/failover - 3 seconds - integration/logging - 10 seconds - integration/psync2-master-restart - 19 seconds - integration/psync2-pingoff - 22 seconds - integration/psync2-reg - 44 seconds - integration/psync2 - 13 seconds - integration/rdb - 4 seconds - integration/redis-benchmark - 14 seconds - integration/redis-cli - 11 seconds - integration/replication-2 - 12 seconds - integration/replication-3 - 24 seconds - integration/replication-4 - 38 seconds - integration/replication-buffer - 248 seconds - integration/replication-psync - 78 seconds - integration/replication-rdbchannel - 158 seconds - integration/replication - 9 seconds - integration/shutdown -\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 redis #0 at port 30000 @@ -6321,671 +1949,673 @@ Starting redis #18 at port 30036 Starting redis #19 at port 30038 Testing unit: 00-base.tcl -03:14:26> (init) Restart killed instances: OK -03:14:26> Cluster nodes are reachable: OK -03:14:26> Cluster nodes hard reset: OK -03:14:27> Cluster Join and auto-discovery test: OK -03:14:29> Before slots allocation, all nodes report cluster failure: OK -03:14:29> Different nodes have different IDs: OK -03:14:29> It is possible to perform slot allocation: OK -03:14:29> After the join, every node gets a different config epoch: OK -03:14:29> Nodes should report cluster_state is ok now: OK -03:14:32> Sanity for CLUSTER COUNTKEYSINSLOT: OK -03:14:32> It is possible to write and read from the cluster: OK -03:14:33> CLUSTER RESET SOFT test: OK -03:14:33> Coverage: CLUSTER HELP: OK -03:14:33> Coverage: ASKING: OK -03:14:33> CLUSTER SLAVES and CLUSTER REPLICAS with zero replicas: OK +12:21:34> (init) Restart killed instances: OK +12:21:34> Cluster nodes are reachable: OK +12:21:35> Cluster nodes hard reset: OK +12:21:35> Cluster Join and auto-discovery test: OK +12:21:37> Before slots allocation, all nodes report cluster failure: OK +12:21:37> Different nodes have different IDs: OK +12:21:37> It is possible to perform slot allocation: OK +12:21:38> After the join, every node gets a different config epoch: OK +12:21:38> Nodes should report cluster_state is ok now: OK +12:21:41> Sanity for CLUSTER COUNTKEYSINSLOT: OK +12:21:41> It is possible to write and read from the cluster: OK +12:21:41> CLUSTER RESET SOFT test: OK +12:21:42> Coverage: CLUSTER HELP: OK +12:21:42> Coverage: ASKING: OK +12:21:42> CLUSTER SLAVES and CLUSTER REPLICAS with zero replicas: OK Testing unit: 01-faildet.tcl -03:14:33> (init) Restart killed instances: OK -03:14:33> Cluster nodes are reachable: OK -03:14:33> Cluster nodes hard reset: OK -03:14:33> Cluster Join and auto-discovery test: OK -03:14:35> Before slots allocation, all nodes report cluster failure: OK -03:14:36> Create a 5 nodes cluster: OK -03:14:39> Cluster should start ok: OK -03:14:39> Killing two slave nodes: OK -03:14:39> Cluster should be still up: OK -03:14:39> Killing one master node: OK -03:14:39> Cluster should be down now: OK -03:14:43> Restarting master node: OK -03:14:44> Cluster should be up again: OK +12:21:42> (init) Restart killed instances: OK +12:21:42> Cluster nodes are reachable: OK +12:21:42> Cluster nodes hard reset: OK +12:21:44> Cluster Join and auto-discovery test: OK +12:21:46> Before slots allocation, all nodes report cluster failure: OK +12:21:46> Create a 5 nodes cluster: OK +12:21:50> Cluster should start ok: OK +12:21:50> Killing two slave nodes: OK +12:21:50> Cluster should be still up: OK +12:21:50> Killing one master node: OK +12:21:50> Cluster should be down now: OK +12:21:54> Restarting master node: OK +12:21:54> Cluster should be up again: OK Testing unit: 02-failover.tcl -03:14:51> (init) Restart killed instances: redis/5 redis/6 OK -03:14:51> Cluster nodes are reachable: OK -03:14:51> Cluster nodes hard reset: OK -03:14:52> Cluster Join and auto-discovery test: OK -03:14:54> Before slots allocation, all nodes report cluster failure: OK -03:14:54> Create a 5 nodes cluster: OK -03:14:57> Cluster is up: OK -03:14:57> Cluster is writable: OK -03:14:57> Instance #5 is a slave: OK -03:14:57> Instance #5 synced with the master: OK -03:14:57> Killing one master node: OK -03:14:58> Wait for failover: OK -03:15:02> Cluster should eventually be up again: OK -03:15:02> Cluster is writable: OK -03:15:03> Instance #5 is now a master: OK -03:15:03> Restarting the previously killed master node: OK -03:15:03> Instance #0 gets converted into a slave: OK +12:22:00> (init) Restart killed instances: redis/5 redis/6 OK +12:22:02> Cluster nodes are reachable: OK +12:22:02> Cluster nodes hard reset: OK +12:22:05> Cluster Join and auto-discovery test: OK +12:22:07> Before slots allocation, all nodes report cluster failure: OK +12:22:07> Create a 5 nodes cluster: OK +12:22:11> Cluster is up: OK +12:22:11> Cluster is writable: OK +12:22:11> Instance #5 is a slave: OK +12:22:11> Instance #5 synced with the master: OK +12:22:11> Killing one master node: OK +12:22:12> Wait for failover: OK +12:22:17> Cluster should eventually be up again: OK +12:22:17> Cluster is writable: OK +12:22:18> Instance #5 is now a master: OK +12:22:18> Restarting the previously killed master node: OK +12:22:18> Instance #0 gets converted into a slave: OK Testing unit: 03-failover-loop.tcl -03:15:03> (init) Restart killed instances: OK -03:15:03> Cluster nodes are reachable: OK -03:15:03> Cluster nodes hard reset: OK -03:15:05> Cluster Join and auto-discovery test: OK -03:15:07> Before slots allocation, all nodes report cluster failure: OK -03:15:07> Create a 5 nodes cluster: OK -03:15:11> Cluster is up: OK +12:22:18> (init) Restart killed instances: OK +12:22:18> Cluster nodes are reachable: OK +12:22:18> Cluster nodes hard reset: OK +12:22:20> Cluster Join and auto-discovery test: OK +12:22:21> Before slots allocation, all nodes report cluster failure: OK +12:22:21> Create a 5 nodes cluster: OK +12:22:25> Cluster is up: OK --- Iteration 19 --- -03:15:11> Cluster is writable before failover: OK -03:15:11> Terminating node #8: OK -03:15:11> Cluster should eventually be up again: OK -03:15:11> Cluster is writable again: OK -03:15:12> Restarting node #8: OK -03:15:12> Instance #8 is now a slave: OK -03:15:12> We can read back the value we set before: OK +12:22:25> Cluster is writable before failover: OK +12:22:25> Terminating node #8: OK +12:22:25> Cluster should eventually be up again: OK +12:22:25> Cluster is writable again: OK +12:22:25> Restarting node #8: OK +12:22:26> Instance #8 is now a slave: OK +12:22:26> We can read back the value we set before: OK --- Iteration 18 --- -03:15:12> Cluster is writable before failover: OK -03:15:12> Terminating node #8: OK -03:15:12> Cluster should eventually be up again: OK -03:15:12> Cluster is writable again: OK -03:15:12> Restarting node #8: OK -03:15:12> Instance #8 is now a slave: OK -03:15:12> We can read back the value we set before: OK +12:22:26> Cluster is writable before failover: OK +12:22:26> Terminating node #6: OK +12:22:26> Cluster should eventually be up again: OK +12:22:26> Cluster is writable again: OK +12:22:26> Restarting node #6: OK +12:22:26> Instance #6 is now a slave: OK +12:22:26> We can read back the value we set before: OK --- Iteration 17 --- -03:15:12> Wait for slave of #1 to sync: OK -03:15:12> Cluster is writable before failover: OK -03:15:12> Terminating node #1: OK -03:15:13> Wait failover by #6 with old epoch 2: OK -03:15:17> Cluster should eventually be up again: OK -03:15:17> Cluster is writable again: OK -03:15:17> Restarting node #1: OK -03:15:17> Instance #1 is now a slave: OK -03:15:17> We can read back the value we set before: OK +12:22:26> Cluster is writable before failover: OK +12:22:26> Terminating node #6: OK +12:22:26> Cluster should eventually be up again: OK +12:22:26> Cluster is writable again: OK +12:22:26> Restarting node #6: OK +12:22:26> Instance #6 is now a slave: OK +12:22:26> We can read back the value we set before: OK --- Iteration 16 --- -03:15:18> Wait for slave of #2 to sync: OK -03:15:18> Cluster is writable before failover: OK -03:15:18> Terminating node #2: OK -03:15:18> Wait failover by #7 with old epoch 3: OK -03:15:23> Cluster should eventually be up again: OK -03:15:23> Cluster is writable again: OK -03:15:23> Restarting node #2: OK -03:15:23> Instance #2 is now a slave: OK -03:15:23> We can read back the value we set before: OK +12:22:27> Wait for slave of #0 to sync: OK +12:22:27> Cluster is writable before failover: OK +12:22:27> Terminating node #0: OK +12:22:27> Wait failover by #5 with old epoch 1: OK +12:22:31> Cluster should eventually be up again: OK +12:22:31> Cluster is writable again: OK +12:22:31> Restarting node #0: OK +12:22:32> Instance #0 is now a slave: OK +12:22:32> We can read back the value we set before: OK --- Iteration 15 --- -03:15:23> Cluster is writable before failover: OK -03:15:23> Terminating node #2: OK -03:15:23> Cluster should eventually be up again: OK -03:15:23> Cluster is writable again: OK -03:15:23> Restarting node #2: OK -03:15:24> Instance #2 is now a slave: OK -03:15:24> We can read back the value we set before: OK +12:22:32> Cluster is writable before failover: OK +12:22:32> Terminating node #9: OK +12:22:32> Cluster should eventually be up again: OK +12:22:32> Cluster is writable again: OK +12:22:32> Restarting node #9: OK +12:22:33> Instance #9 is now a slave: OK +12:22:33> We can read back the value we set before: OK --- Iteration 14 --- -03:15:24> Cluster is writable before failover: OK -03:15:24> Terminating node #2: OK -03:15:24> Cluster should eventually be up again: OK -03:15:24> Cluster is writable again: OK -03:15:24> Restarting node #2: OK -03:15:24> Instance #2 is now a slave: OK -03:15:24> We can read back the value we set before: OK +12:22:33> Wait for slave of #1 to sync: OK +12:22:33> Cluster is writable before failover: OK +12:22:33> Terminating node #1: OK +12:22:34> Wait failover by #6 with old epoch 2: OK +12:22:38> Cluster should eventually be up again: OK +12:22:38> Cluster is writable again: OK +12:22:38> Restarting node #1: OK +12:22:39> Instance #1 is now a slave: OK +12:22:39> We can read back the value we set before: OK --- Iteration 13 --- -03:15:24> Wait for slave of #3 to sync: OK -03:15:24> Cluster is writable before failover: OK -03:15:24> Terminating node #3: OK -03:15:25> Wait failover by #8 with old epoch 4: OK -03:15:29> Cluster should eventually be up again: OK -03:15:29> Cluster is writable again: OK -03:15:29> Restarting node #3: OK -03:15:30> Instance #3 is now a slave: OK -03:15:30> We can read back the value we set before: OK +12:22:39> Cluster is writable before failover: OK +12:22:39> Terminating node #7: OK +12:22:39> Cluster should eventually be up again: OK +12:22:39> Cluster is writable again: OK +12:22:39> Restarting node #7: OK +12:22:40> Instance #7 is now a slave: OK +12:22:40> We can read back the value we set before: OK --- Iteration 12 --- -03:15:30> Cluster is writable before failover: OK -03:15:30> Terminating node #1: OK -03:15:30> Cluster should eventually be up again: OK -03:15:30> Cluster is writable again: OK -03:15:30> Restarting node #1: OK -03:15:30> Instance #1 is now a slave: OK -03:15:30> We can read back the value we set before: OK +12:22:40> Wait for slave of #6 to sync: OK +12:22:40> Cluster is writable before failover: OK +12:22:40> Terminating node #6: OK +12:22:41> Wait failover by #1 with old epoch 22: OK +12:22:45> Cluster should eventually be up again: OK +12:22:45> Cluster is writable again: OK +12:22:46> Restarting node #6: OK +12:22:46> Instance #6 is now a slave: OK +12:22:46> We can read back the value we set before: OK --- Iteration 11 --- -03:15:30> Cluster is writable before failover: OK -03:15:30> Terminating node #5: OK -03:15:30> Cluster should eventually be up again: OK -03:15:30> Cluster is writable again: OK -03:15:30> Restarting node #5: OK -03:15:31> Instance #5 is now a slave: OK -03:15:31> We can read back the value we set before: OK +12:22:47> Wait for slave of #1 to sync: OK +12:22:47> Cluster is writable before failover: OK +12:22:47> Terminating node #1: OK +12:22:47> Wait failover by #6 with old epoch 23: OK +12:22:52> Cluster should eventually be up again: OK +12:22:52> Cluster is writable again: OK +12:22:52> Restarting node #1: OK +12:22:53> Instance #1 is now a slave: OK +12:22:53> We can read back the value we set before: OK --- Iteration 10 --- -03:15:31> Wait for slave of #7 to sync: OK -03:15:31> Cluster is writable before failover: OK -03:15:31> Terminating node #7: OK -03:15:32> Wait failover by #2 with old epoch 22: OK -03:15:36> Cluster should eventually be up again: OK -03:15:36> Cluster is writable again: OK -03:15:37> Restarting node #7: OK -03:15:37> Instance #7 is now a slave: OK -03:15:37> We can read back the value we set before: OK +12:22:53> Wait for slave of #6 to sync: OK +12:22:53> Cluster is writable before failover: OK +12:22:53> Terminating node #6: OK +12:22:54> Wait failover by #1 with old epoch 24: OK +12:22:58> Cluster should eventually be up again: OK +12:22:58> Cluster is writable again: OK +12:22:59> Restarting node #6: OK +12:22:59> Instance #6 is now a slave: OK +12:22:59> We can read back the value we set before: OK --- Iteration 9 --- -03:15:37> Wait for slave of #0 to sync: OK -03:15:37> Cluster is writable before failover: OK -03:15:37> Terminating node #0: OK -03:15:37> Wait failover by #5 with old epoch 1: OK -03:15:42> Cluster should eventually be up again: OK -03:15:42> Cluster is writable again: OK -03:15:42> Restarting node #0: OK -03:15:43> Instance #0 is now a slave: OK -03:15:43> We can read back the value we set before: OK +12:22:59> Cluster is writable before failover: OK +12:22:59> Terminating node #7: OK +12:22:59> Cluster should eventually be up again: OK +12:22:59> Cluster is writable again: OK +12:22:59> Restarting node #7: OK +12:23:00> Instance #7 is now a slave: OK +12:23:00> We can read back the value we set before: OK --- Iteration 8 --- -03:15:43> Cluster is writable before failover: OK -03:15:43> Terminating node #3: OK -03:15:43> Cluster should eventually be up again: OK -03:15:43> Cluster is writable again: OK -03:15:43> Restarting node #3: OK -03:15:43> Instance #3 is now a slave: OK -03:15:43> We can read back the value we set before: OK +12:23:00> Cluster is writable before failover: OK +12:23:00> Terminating node #9: OK +12:23:00> Cluster should eventually be up again: OK +12:23:00> Cluster is writable again: OK +12:23:00> Restarting node #9: OK +12:23:00> Instance #9 is now a slave: OK +12:23:00> We can read back the value we set before: OK --- Iteration 7 --- -03:15:43> Cluster is writable before failover: OK -03:15:43> Terminating node #7: OK -03:15:43> Cluster should eventually be up again: OK -03:15:43> Cluster is writable again: OK -03:15:43> Restarting node #7: OK -03:15:44> Instance #7 is now a slave: OK -03:15:44> We can read back the value we set before: OK +12:23:01> Wait for slave of #1 to sync: OK +12:23:01> Cluster is writable before failover: OK +12:23:01> Terminating node #1: OK +12:23:01> Wait failover by #6 with old epoch 25: OK +12:23:05> Cluster should eventually be up again: OK +12:23:05> Cluster is writable again: OK +12:23:05> Restarting node #1: OK +12:23:06> Instance #1 is now a slave: OK +12:23:06> We can read back the value we set before: OK --- Iteration 6 --- -03:15:44> Wait for slave of #2 to sync: OK -03:15:44> Cluster is writable before failover: OK -03:15:44> Terminating node #2: OK -03:15:45> Wait failover by #7 with old epoch 24: OK -03:15:49> Cluster should eventually be up again: OK -03:15:49> Cluster is writable again: OK -03:15:49> Restarting node #2: OK -03:15:50> Instance #2 is now a slave: OK -03:15:50> We can read back the value we set before: OK +12:23:06> Cluster is writable before failover: OK +12:23:06> Terminating node #0: OK +12:23:06> Cluster should eventually be up again: OK +12:23:06> Cluster is writable again: OK +12:23:06> Restarting node #0: OK +12:23:07> Instance #0 is now a slave: OK +12:23:07> We can read back the value we set before: OK --- Iteration 5 --- -03:15:50> Wait for slave of #5 to sync: OK -03:15:50> Cluster is writable before failover: OK -03:15:50> Terminating node #5: OK -03:15:51> Wait failover by #0 with old epoch 25: OK -03:15:55> Cluster should eventually be up again: OK -03:15:55> Cluster is writable again: OK -03:15:55> Restarting node #5: OK -03:15:56> Instance #5 is now a slave: OK -03:15:56> We can read back the value we set before: OK +12:23:07> Wait for slave of #6 to sync: OK +12:23:07> Cluster is writable before failover: OK +12:23:07> Terminating node #6: OK +12:23:08> Wait failover by #1 with old epoch 26: OK +12:23:12> Cluster should eventually be up again: OK +12:23:12> Cluster is writable again: OK +12:23:13> Restarting node #6: OK +12:23:13> Instance #6 is now a slave: OK +12:23:13> We can read back the value we set before: OK --- Iteration 4 --- -03:15:56> Cluster is writable before failover: OK -03:15:56> Terminating node #2: OK -03:15:56> Cluster should eventually be up again: OK -03:15:56> Cluster is writable again: OK -03:15:56> Restarting node #2: OK -03:15:56> Instance #2 is now a slave: OK -03:15:56> We can read back the value we set before: OK +12:23:13> Cluster is writable before failover: OK +12:23:13> Terminating node #7: OK +12:23:13> Cluster should eventually be up again: OK +12:23:13> Cluster is writable again: OK +12:23:13> Restarting node #7: OK +12:23:14> Instance #7 is now a slave: OK +12:23:14> We can read back the value we set before: OK --- Iteration 3 --- -03:15:57> Cluster is writable before failover: OK -03:15:57> Terminating node #2: OK -03:15:57> Cluster should eventually be up again: OK -03:15:57> Cluster is writable again: OK -03:15:57> Restarting node #2: OK -03:15:57> Instance #2 is now a slave: OK -03:15:57> We can read back the value we set before: OK +12:23:14> Wait for slave of #5 to sync: OK +12:23:14> Cluster is writable before failover: OK +12:23:14> Terminating node #5: OK +12:23:15> Wait failover by #0 with old epoch 21: OK +12:23:19> Cluster should eventually be up again: OK +12:23:19> Cluster is writable again: OK +12:23:19> Restarting node #5: OK +12:23:20> Instance #5 is now a slave: OK +12:23:20> We can read back the value we set before: OK --- Iteration 2 --- -03:15:57> Wait for slave of #7 to sync: OK -03:15:57> Cluster is writable before failover: OK -03:15:57> Terminating node #7: OK -03:15:58> Wait failover by #2 with old epoch 26: OK -03:16:03> Cluster should eventually be up again: OK -03:16:03> Cluster is writable again: OK -03:16:03> Restarting node #7: OK -03:16:03> Instance #7 is now a slave: OK -03:16:03> We can read back the value we set before: OK +12:23:20> Wait for slave of #3 to sync: OK +12:23:20> Cluster is writable before failover: OK +12:23:20> Terminating node #3: OK +12:23:21> Wait failover by #8 with old epoch 4: OK +12:23:26> Cluster should eventually be up again: OK +12:23:26> Cluster is writable again: OK +12:23:26> Restarting node #3: OK +12:23:26> Instance #3 is now a slave: OK +12:23:26> We can read back the value we set before: OK --- Iteration 1 --- -03:16:03> Wait for slave of #6 to sync: OK -03:16:03> Cluster is writable before failover: OK -03:16:03> Terminating node #6: OK -03:16:04> Wait failover by #1 with old epoch 21: OK -03:16:08> Cluster should eventually be up again: OK -03:16:08> Cluster is writable again: OK -03:16:08> Restarting node #6: OK -03:16:09> Instance #6 is now a slave: OK -03:16:09> We can read back the value we set before: OK -03:16:09> Post condition: current_epoch >= my_epoch everywhere: OK +12:23:26> Wait for slave of #4 to sync: OK +12:23:26> Cluster is writable before failover: OK +12:23:26> Terminating node #4: OK +12:23:27> Wait failover by #9 with old epoch 5: OK +12:23:31> Cluster should eventually be up again: OK +12:23:31> Cluster is writable again: OK +12:23:31> Restarting node #4: OK +12:23:31> Instance #4 is now a slave: OK +12:23:31> We can read back the value we set before: OK +12:23:32> Post condition: current_epoch >= my_epoch everywhere: OK Testing unit: 04-resharding.tcl -03:16:09> (init) Restart killed instances: OK -03:16:09> Cluster nodes are reachable: OK -03:16:09> Cluster nodes hard reset: OK -03:16:09> Cluster Join and auto-discovery test: OK -03:16:12> Before slots allocation, all nodes report cluster failure: OK -03:16:12> Create a 5 nodes cluster: OK -03:16:16> Cluster is up: OK -03:16:16> Enable AOF in all the instances: OK +12:23:32> (init) Restart killed instances: OK +12:23:32> Cluster nodes are reachable: OK +12:23:32> Cluster nodes hard reset: OK +12:23:32> Cluster Join and auto-discovery test: OK +12:23:34> Before slots allocation, all nodes report cluster failure: OK +12:23:34> Create a 5 nodes cluster: OK +12:23:37> Cluster is up: OK +12:23:37> Enable AOF in all the instances: OK Testing TLS cluster on start node 127.0.0.1:30000, plaintext port 30001 -03:16:16> Cluster consistency during live resharding: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...Starting resharding...WW...................................................W...............................................................................................................................................................................................................W...............................................................................................................W.................................................................................................................................................................................................W.......................................................................................................................W..........................................................................................................................................................................................................W......................................................................................WW...Starting resharding...W...................................................W........................................................................................................................................................W...................................................................................................................W....................................................................................................................................................................................W.......................................................................................................................................................W.......................................................................................................................W..................................................................................................................................................W..........................................................................WW...Starting resharding...WW.....................................................................................................................W........................................................................................................................................W...............................................................................................................................................................................................W..........................................................................................................................................................W......................................................................................................................W......................................................................................................................................W...................................................................................................................W........W...Starting resharding...W...........................W................................................................................................................................W.....................................................................................................................W..................................................................................................................................................................................W...................................................................................................W......................................................................................................................................................................W..........................................................................................................................................................................................W.........................................................................................................................WW...Starting resharding...WW...............................................................................................................................................W.......................................................................................................................................................................................W..............................................................................................................................................W......................................................................................................................................................................................W..............................................................................................................................................................................W.............................................................................................................................................................................WWW...Starting resharding...WW...............W......................................................................................................................................W.......................................................................................................................................W........................................................................................................................................................................W........................................................................................................................................................................................W..............................................................................................................................................................................W................................................................................................................................................................................W.......W...Starting resharding...WW.......................................................................................................................................................................................................W............................................................................................................................................................W..............................................................................................................................................................................W.........................................................................................................................W................................................................................................................................................................................W..........................................................................................................................................WWW...Starting resharding...WW......................................................................................................W............................................................................................................................................W....................................................................................................................................................................................................................................................W......................................................................................................................................................................W............................................................................................................................................W......................................................................................................................................................W............................................WW...Starting resharding...WW.................................................................................W...........................................................................................................................W...................................................................................................W...........................................................................................................................................................W.................................................................................................................................................................................................W.........................................................................................................W..............................................................................................................................W...................................................................................................W...Starting resharding...WW...........................................................................W.............................................................................................................................................W.........................................................................................................................................................................................W...................................................................................................................................................................................................W......................................................................................................................W....................................................................................................................................................................W.........................................................................................................WWOK -03:17:19> Verify 50000 keys for consistency with logical content: OK -03:17:30> Terminate and restart all the instances: OK -03:17:38> Cluster should eventually be up again: OK -03:17:40> Verify 50000 keys after the restart: OK -03:17:54> Disable AOF in all the instances: OK -03:17:54> Verify slaves consistency: OK -03:17:55> Dump sanitization was skipped for migrations: OK +12:23:37> Cluster consistency during live resharding: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...Starting resharding...WW...........................W................................................................................................................................................................W......................................................................................................W.................................................................................................................................W.......................................................................................................................W.....................................................................................................................................................W................................................................................................................................................................W.................................................................................................................................W...Starting resharding...WW.............................................................................................W....................................................................................................................................................................................................................W..................................................................................................................W....................................................................................................................................................................................W......................................................................................................................................................................................W..........................................................................................................................................................................................W...........................WW...Starting resharding...WW...........................................................................W..........................................................................................................................................W........................................................................................................................................................................................W...........................................................................................................................................................W................................................................................................................................W.........................................................................................................................................................................................................................W.............................................................................................WW...Starting resharding...W...........................W..............................................................................................................................................................W...............................................................................................................W................................................................................................................................................................................W...............................................................................................................................................................................................W..........................................................................................................................W.......................................................................................................................................................................W..............................................WW...Starting resharding...WW..........................................................................................W...........................................................................................................................................W....................................................................................................................................................................................W..........................................................................................................................................................................................................................W......................................................................................................................W.......................................................................................................................................................W...............................................................................................WW...Starting resharding...W......W.........................................................................................................................................W......................................................................................................................................W...........................................................................................................................................................................................................W.....................................................................................................................................................................................W............................................................................................................................................W............................................................................................................................................................................................W...................................WW...Starting resharding...WW.................................................................................W.................................................................................................................................................W.........................................................................................................................................................................W..............................................................................................................................................W....................................................................................................................................................................W..............................................................................................................W......................................................................................................................................W......................................W...Starting resharding...W..............................W......................................................................................................................................................W.................................................................................................................W.............................................................................................................................................................................W..........................................................................................................................................W..........................................................................................................................W..................................................................................................................................................................................................W........................................................................................WW...Starting resharding...WW.................................................................................W............................................................................................................................................................W..............................................................................................................................................W.........................................................................................................................W...................................................................................................................................................................................W..................................................................................................................................................................................................................................................W...............................................................................................................WW...Starting resharding...WW.....................................................................................................................................W........................................................................................................W.................................................................................................W..........................................................................................................................................................................W..............................................................................................................................................................................W...............................................................................................................W..................................................................................................................................................................................W........WOK +12:24:29> Verify 50000 keys for consistency with logical content: OK +12:24:38> Terminate and restart all the instances: OK +12:24:47> Cluster should eventually be up again: OK +12:24:48> Verify 50000 keys after the restart: OK +12:24:59> Disable AOF in all the instances: OK +12:24:59> Verify slaves consistency: OK +12:25:01> Dump sanitization was skipped for migrations: OK Testing unit: 05-slave-selection.tcl -03:17:55> (init) Restart killed instances: OK -03:17:55> Cluster nodes are reachable: OK -03:17:55> Cluster nodes hard reset: OK -03:17:56> Cluster Join and auto-discovery test: OK -03:17:58> Before slots allocation, all nodes report cluster failure: OK -03:17:58> Create a 5 nodes cluster: OK -03:18:02> Cluster is up: OK -03:18:02> The first master has actually two slaves: OK -03:18:02> CLUSTER SLAVES and CLUSTER REPLICAS output is consistent: OK -03:18:02> Slaves of #0 are instance #5 and #10 as expected: OK -03:18:02> Instance #5 and #10 synced with the master: OK -03:18:02> Slaves are both able to receive and acknowledge writes: OK -03:18:02> Write data while slave #10 is paused and can't receive it: OK -03:18:13> Wait for instance #5 (and not #10) to turn into a master: OK -03:18:17> Wait for the node #10 to return alive before ending the test: OK -03:18:17> Cluster should eventually be up again: OK -03:18:17> Node #10 should eventually replicate node #5: OK -03:18:17> (init) Restart killed instances: redis/0 OK -03:18:18> Cluster nodes are reachable: OK -03:18:18> Cluster nodes hard reset: OK -03:18:18> Cluster Join and auto-discovery test: OK -03:18:21> Before slots allocation, all nodes report cluster failure: OK -03:18:21> Create a 3 nodes cluster: OK -03:18:25> Cluster is up: OK -03:18:25> The first master has actually 5 slaves: OK -03:18:25> Slaves of #0 are instance #3, #6, #9, #12 and #15 as expected: OK -03:18:25> Instance #3, #6, #9, #12 and #15 synced with the master: OK -03:18:25> New Master down consecutively: OK +12:25:01> (init) Restart killed instances: OK +12:25:01> Cluster nodes are reachable: OK +12:25:01> Cluster nodes hard reset: OK +12:25:01> Cluster Join and auto-discovery test: OK +12:25:04> Before slots allocation, all nodes report cluster failure: OK +12:25:04> Create a 5 nodes cluster: OK +12:25:08> Cluster is up: OK +12:25:08> The first master has actually two slaves: OK +12:25:08> CLUSTER SLAVES and CLUSTER REPLICAS output is consistent: OK +12:25:08> Slaves of #0 are instance #5 and #10 as expected: OK +12:25:08> Instance #5 and #10 synced with the master: OK +12:25:08> Slaves are both able to receive and acknowledge writes: OK +12:25:08> Write data while slave #10 is paused and can't receive it: OK +12:25:18> Wait for instance #5 (and not #10) to turn into a master: OK +12:25:24> Wait for the node #10 to return alive before ending the test: OK +12:25:24> Cluster should eventually be up again: OK +12:25:24> Node #10 should eventually replicate node #5: OK +12:25:24> (init) Restart killed instances: redis/0 OK +12:25:24> Cluster nodes are reachable: OK +12:25:24> Cluster nodes hard reset: OK +12:25:24> Cluster Join and auto-discovery test: OK +12:25:26> Before slots allocation, all nodes report cluster failure: OK +12:25:26> Create a 3 nodes cluster: OK +12:25:30> Cluster is up: OK +12:25:30> The first master has actually 5 slaves: OK +12:25:30> Slaves of #0 are instance #3, #6, #9, #12 and #15 as expected: OK +12:25:30> Instance #3, #6, #9, #12 and #15 synced with the master: OK +12:25:30> New Master down consecutively: OK Testing unit: 06-slave-stop-cond.tcl -03:18:56> (init) Restart killed instances: redis/0 redis/3 redis/6 redis/12 redis/15 OK -03:18:58> Cluster nodes are reachable: OK -03:18:58> Cluster nodes hard reset: OK -03:18:59> Cluster Join and auto-discovery test: OK -03:19:02> Before slots allocation, all nodes report cluster failure: OK -03:19:02> Create a 5 nodes cluster: OK -03:19:06> Cluster is up: OK -03:19:06> The first master has actually one slave: OK -03:19:06> Slaves of #0 is instance #5 as expected: OK -03:19:06> Instance #5 synced with the master: OK -03:19:06> Lower the slave validity factor of #5 to the value of 2: OK -03:19:06> Break master-slave link and prevent further reconnections: OK -03:19:26> Slave #5 is reachable and alive: OK -03:19:26> Slave #5 should not be able to failover: OK -03:19:36> Cluster should be down: OK +12:26:01> (init) Restart killed instances: redis/0 redis/3 redis/6 redis/12 redis/15 OK +12:26:02> Cluster nodes are reachable: OK +12:26:02> Cluster nodes hard reset: OK +12:26:02> Cluster Join and auto-discovery test: OK +12:26:05> Before slots allocation, all nodes report cluster failure: OK +12:26:05> Create a 5 nodes cluster: OK +12:26:09> Cluster is up: OK +12:26:09> The first master has actually one slave: OK +12:26:09> Slaves of #0 is instance #5 as expected: OK +12:26:09> Instance #5 synced with the master: OK +12:26:09> Lower the slave validity factor of #5 to the value of 2: OK +12:26:09> Break master-slave link and prevent further reconnections: OK +12:26:29> Slave #5 is reachable and alive: OK +12:26:29> Slave #5 should not be able to failover: OK +12:26:39> Cluster should be down: OK Testing unit: 07-replica-migration.tcl -03:19:36> (init) Restart killed instances: redis/0 OK -03:19:37> Cluster nodes are reachable: OK -03:19:37> Cluster nodes hard reset: OK -03:19:38> Cluster Join and auto-discovery test: OK -03:19:41> Before slots allocation, all nodes report cluster failure: OK -03:19:41> Create a 5 nodes cluster: OK -03:19:45> Cluster is up: OK -03:19:45> Each master should have two replicas attached: OK -03:19:45> Killing all the slaves of master #0 and #1: OK -03:19:50> Master #0 should have at least one replica: OK -03:19:55> Master #1 should have at least one replica: OK -03:19:56> Master #2 should have at least one replica: OK -03:19:56> Master #3 should have at least one replica: OK -03:19:56> Master #4 should have at least one replica: OK -03:19:56> (init) Restart killed instances: redis/5 redis/6 redis/10 redis/11 OK -03:19:58> Cluster nodes are reachable: OK -03:19:58> Cluster nodes hard reset: OK -03:19:59> Cluster Join and auto-discovery test: OK -03:20:01> Before slots allocation, all nodes report cluster failure: OK -03:20:01> Create a 5 nodes cluster: OK -03:20:05> Cluster is up: OK -03:20:05> Kill slave #7 of master #2. Only slave left is #12 now: OK -03:20:05> Killing master node #2, #12 should failover: OK -03:20:05> Wait for failover: OK -03:20:10> Cluster should eventually be up again: OK -03:20:10> Cluster is writable: OK -03:20:11> Instance 12 is now a master without slaves: OK -03:20:11> Master #12 should get at least one migrated replica: OK +12:26:39> (init) Restart killed instances: redis/0 OK +12:26:40> Cluster nodes are reachable: OK +12:26:40> Cluster nodes hard reset: OK +12:26:41> Cluster Join and auto-discovery test: OK +12:26:43> Before slots allocation, all nodes report cluster failure: OK +12:26:43> Create a 5 nodes cluster: OK +12:26:47> Cluster is up: OK +12:26:47> Each master should have two replicas attached: OK +12:26:47> Killing all the slaves of master #0 and #1: OK +12:26:51> Master #0 should have at least one replica: OK +12:26:57> Master #1 should have at least one replica: OK +12:26:57> Master #2 should have at least one replica: OK +12:26:57> Master #3 should have at least one replica: OK +12:26:57> Master #4 should have at least one replica: OK +12:26:57> (init) Restart killed instances: redis/5 redis/6 redis/10 redis/11 OK +12:26:59> Cluster nodes are reachable: OK +12:26:59> Cluster nodes hard reset: OK +12:26:59> Cluster Join and auto-discovery test: OK +12:27:01> Before slots allocation, all nodes report cluster failure: OK +12:27:01> Create a 5 nodes cluster: OK +12:27:05> Cluster is up: OK +12:27:05> Kill slave #7 of master #2. Only slave left is #12 now: OK +12:27:05> Killing master node #2, #12 should failover: OK +12:27:05> Wait for failover: OK +12:27:11> Cluster should eventually be up again: OK +12:27:11> Cluster is writable: OK +12:27:11> Instance 12 is now a master without slaves: OK +12:27:11> Master #12 should get at least one migrated replica: OK Testing unit: 08-update-msg.tcl -03:20:15> (init) Restart killed instances: redis/2 redis/7 OK -03:20:16> Cluster nodes are reachable: OK -03:20:16> Cluster nodes hard reset: OK -03:20:18> Cluster Join and auto-discovery test: OK -03:20:21> Before slots allocation, all nodes report cluster failure: OK -03:20:21> Create a 5 nodes cluster: OK -03:20:24> Cluster is up: OK -03:20:24> Cluster is writable: OK -03:20:24> Instance #5 is a slave: OK -03:20:24> Instance #5 synced with the master: OK -03:20:24> Killing one master node: OK -03:20:25> Wait for failover: OK -03:20:30> Cluster should eventually be up again: OK -03:20:30> Cluster is writable: OK -03:20:31> Instance #5 is now a master: OK -03:20:31> Killing the new master #5: OK -03:20:31> Cluster should be down now: OK -03:20:35> Restarting the old master node: OK -03:20:36> Instance #0 gets converted into a slave: OK -03:20:36> Restarting the new master node: OK -03:20:36> Cluster is up again: OK +12:27:16> (init) Restart killed instances: redis/2 redis/7 OK +12:27:16> Cluster nodes are reachable: OK +12:27:16> Cluster nodes hard reset: OK +12:27:17> Cluster Join and auto-discovery test: OK +12:27:19> Before slots allocation, all nodes report cluster failure: OK +12:27:19> Create a 5 nodes cluster: OK +12:27:23> Cluster is up: OK +12:27:23> Cluster is writable: OK +12:27:23> Instance #5 is a slave: OK +12:27:23> Instance #5 synced with the master: OK +12:27:23> Killing one master node: OK +12:27:23> Wait for failover: OK +12:27:27> Cluster should eventually be up again: OK +12:27:27> Cluster is writable: OK +12:27:28> Instance #5 is now a master: OK +12:27:28> Killing the new master #5: OK +12:27:28> Cluster should be down now: OK +12:27:31> Restarting the old master node: OK +12:27:31> Instance #0 gets converted into a slave: OK +12:27:31> Restarting the new master node: OK +12:27:32> Cluster is up again: OK Testing unit: 09-pubsub.tcl -03:20:42> (init) Restart killed instances: OK -03:20:42> Cluster nodes are reachable: OK -03:20:42> Cluster nodes hard reset: OK -03:20:43> Cluster Join and auto-discovery test: OK -03:20:46> Before slots allocation, all nodes report cluster failure: OK -03:20:46> Create a 5 nodes cluster: OK -03:20:50> Test publishing to master: OK -03:20:50> Test publishing to slave: OK +12:27:38> (init) Restart killed instances: OK +12:27:38> Cluster nodes are reachable: OK +12:27:38> Cluster nodes hard reset: OK +12:27:38> Cluster Join and auto-discovery test: OK +12:27:40> Before slots allocation, all nodes report cluster failure: OK +12:27:40> Create a 5 nodes cluster: OK +12:27:44> Test publishing to master: OK +12:27:44> Test publishing to slave: OK Testing unit: 10-manual-failover.tcl -03:20:50> (init) Restart killed instances: OK -03:20:50> Cluster nodes are reachable: OK -03:20:50> Cluster nodes hard reset: OK -03:20:52> Cluster Join and auto-discovery test: OK -03:20:54> Before slots allocation, all nodes report cluster failure: OK -03:20:54> Create a 5 nodes cluster: OK -03:20:58> Cluster is up: OK -03:20:58> Cluster is writable: OK -03:20:59> Instance #5 is a slave: OK -03:20:59> Instance #5 synced with the master: OK -03:20:59> Send CLUSTER FAILOVER to #5, during load: WWWWWWWWWWOK -03:21:03> Wait for failover: OK -03:21:03> Cluster should eventually be up again: OK -03:21:03> Cluster is writable: OK -03:21:04> Instance #5 is now a master: OK -03:21:04> Verify 50000 keys for consistency with logical content: OK -03:21:06> Instance #0 gets converted into a slave: OK -03:21:06> (init) Restart killed instances: OK -03:21:06> Cluster nodes are reachable: OK -03:21:06> Cluster nodes hard reset: OK -03:21:07> Cluster Join and auto-discovery test: OK -03:21:09> Before slots allocation, all nodes report cluster failure: OK -03:21:09> Create a 5 nodes cluster: OK -03:21:13> Cluster is up: OK -03:21:13> Cluster is writable: OK -03:21:13> Instance #5 is a slave: OK -03:21:13> Instance #5 synced with the master: OK -03:21:13> Make instance #0 unreachable without killing it: OK -03:21:13> Send CLUSTER FAILOVER to instance #5: OK -03:21:13> Instance #5 is still a slave after some time (no failover): OK -03:21:18> Wait for instance #0 to return back alive: OK -03:21:23> (init) Restart killed instances: OK -03:21:23> Cluster nodes are reachable: OK -03:21:23> Cluster nodes hard reset: OK -03:21:25> Cluster Join and auto-discovery test: OK -03:21:27> Before slots allocation, all nodes report cluster failure: OK -03:21:27> Create a 5 nodes cluster: OK -03:21:31> Cluster is up: OK -03:21:31> Cluster is writable: OK -03:21:31> Instance #5 is a slave: OK -03:21:31> Instance #5 synced with the master: OK -03:21:31> Make instance #0 unreachable without killing it: OK -03:21:31> Send CLUSTER FAILOVER to instance #5: OK -03:21:31> Instance #5 is a master after some time: OK -03:21:31> Wait for instance #0 to return back alive: OK +12:27:44> (init) Restart killed instances: OK +12:27:44> Cluster nodes are reachable: OK +12:27:44> Cluster nodes hard reset: OK +12:27:44> Cluster Join and auto-discovery test: OK +12:27:47> Before slots allocation, all nodes report cluster failure: OK +12:27:47> Create a 5 nodes cluster: OK +12:27:50> Cluster is up: OK +12:27:50> Cluster is writable: OK +12:27:50> Instance #5 is a slave: OK +12:27:50> Instance #5 synced with the master: OK +12:27:50> Send CLUSTER FAILOVER to #5, during load: WWWWWWWWWWOK +12:27:54> Wait for failover: OK +12:27:54> Cluster should eventually be up again: OK +12:27:54> Cluster is writable: OK +12:27:54> Instance #5 is now a master: OK +12:27:54> Verify 50000 keys for consistency with logical content: OK +12:27:55> Instance #0 gets converted into a slave: OK +12:27:55> (init) Restart killed instances: OK +12:27:55> Cluster nodes are reachable: OK +12:27:55> Cluster nodes hard reset: OK +12:27:56> Cluster Join and auto-discovery test: OK +12:27:57> Before slots allocation, all nodes report cluster failure: OK +12:27:57> Create a 5 nodes cluster: OK +12:28:01> Cluster is up: OK +12:28:01> Cluster is writable: OK +12:28:01> Instance #5 is a slave: OK +12:28:01> Instance #5 synced with the master: OK +12:28:01> Make instance #0 unreachable without killing it: OK +12:28:01> Send CLUSTER FAILOVER to instance #5: OK +12:28:01> Instance #5 is still a slave after some time (no failover): OK +12:28:06> Wait for instance #0 to return back alive: OK +12:28:11> (init) Restart killed instances: OK +12:28:11> Cluster nodes are reachable: OK +12:28:11> Cluster nodes hard reset: OK +12:28:14> Cluster Join and auto-discovery test: OK +12:28:16> Before slots allocation, all nodes report cluster failure: OK +12:28:16> Create a 5 nodes cluster: OK +12:28:20> Cluster is up: OK +12:28:20> Cluster is writable: OK +12:28:20> Instance #5 is a slave: OK +12:28:20> Instance #5 synced with the master: OK +12:28:20> Make instance #0 unreachable without killing it: OK +12:28:20> Send CLUSTER FAILOVER to instance #5: OK +12:28:20> Instance #5 is a master after some time: OK +12:28:20> Wait for instance #0 to return back alive: OK Testing unit: 11-manual-takeover.tcl -03:21:41> (init) Restart killed instances: OK -03:21:41> Cluster nodes are reachable: OK -03:21:41> Cluster nodes hard reset: OK -03:21:43> Cluster Join and auto-discovery test: OK -03:21:45> Before slots allocation, all nodes report cluster failure: OK -03:21:45> Create a 5 nodes cluster: OK -03:21:49> Cluster is up: OK -03:21:49> Cluster is writable: OK -03:21:49> Killing majority of master nodes: OK -03:21:49> Cluster should eventually be down: OK -03:21:53> Use takeover to bring slaves back: OK -03:21:53> Cluster should eventually be up again: OK -03:21:53> Cluster is writable: OK -03:21:53> Instance #5, #6, #7 are now masters: OK -03:21:53> Restarting the previously killed master nodes: OK -03:21:54> Instance #0, #1, #2 gets converted into a slaves: OK +12:28:30> (init) Restart killed instances: OK +12:28:30> Cluster nodes are reachable: OK +12:28:30> Cluster nodes hard reset: OK +12:28:32> Cluster Join and auto-discovery test: OK +12:28:34> Before slots allocation, all nodes report cluster failure: OK +12:28:34> Create a 5 nodes cluster: OK +12:28:38> Cluster is up: OK +12:28:38> Cluster is writable: OK +12:28:38> Killing majority of master nodes: OK +12:28:39> Cluster should eventually be down: OK +12:28:43> Use takeover to bring slaves back: OK +12:28:43> Cluster should eventually be up again: OK +12:28:46> Cluster is writable: OK +12:28:46> Instance #5, #6, #7 are now masters: OK +12:28:46> Restarting the previously killed master nodes: OK +12:28:47> Instance #0, #1, #2 gets converted into a slaves: OK Testing unit: 12-replica-migration-2.tcl -03:21:54> (init) Restart killed instances: OK -03:21:54> Cluster nodes are reachable: OK -03:21:54> Cluster nodes hard reset: OK -03:21:55> Cluster Join and auto-discovery test: OK -03:21:57> Before slots allocation, all nodes report cluster failure: OK -03:21:57> Create a 5 nodes cluster: OK -03:22:00> Cluster is up: OK -03:22:00> Each master should have at least two replicas attached: OK -03:22:00> Set allow-replica-migration yes: OK -03:22:00> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) +12:28:47> (init) Restart killed instances: OK +12:28:47> Cluster nodes are reachable: OK +12:28:47> Cluster nodes hard reset: OK +12:28:47> Cluster Join and auto-discovery test: OK +12:28:48> Before slots allocation, all nodes report cluster failure: OK +12:28:48> Create a 5 nodes cluster: OK +12:28:52> Cluster is up: OK +12:28:52> Each master should have at least two replicas attached: OK +12:28:52> Set allow-replica-migration yes: OK +12:28:52> 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:30006 -#################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 816 slots from 127.0.0.1:30000 to 127.0.0.1:30008 ################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################ OK -03:22:11> Master #0 who lost all slots should turn into a replica without replicas: OK -03:22:11> Resharding back some slot to master #0: >>> Performing Cluster Check (using node 127.0.0.1:30000) +12:29:05> Master #0 who lost all slots should turn into a replica without replicas: OK +12:29:05> 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 -03:22:22> Master #0 should re-acquire one or more replicas: OK +12:29:16> Master #0 should re-acquire one or more replicas: OK Testing unit: 12.1-replica-migration-3.tcl -03:22:22> (init) Restart killed instances: OK -03:22:22> Cluster nodes are reachable: OK -03:22:22> Cluster nodes hard reset: OK -03:22:22> Cluster Join and auto-discovery test: OK -03:22:24> Before slots allocation, all nodes report cluster failure: OK -03:22:24> Create a 5 nodes cluster: OK -03:22:28> Cluster is up: OK -03:22:28> Each master should have at least two replicas attached: OK -03:22:28> Set allow-replica-migration no: OK -03:22:28> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) +12:29:16> (init) Restart killed instances: OK +12:29:16> Cluster nodes are reachable: OK +12:29:16> Cluster nodes hard reset: OK +12:29:16> Cluster Join and auto-discovery test: OK +12:29:18> Before slots allocation, all nodes report cluster failure: OK +12:29:18> Create a 5 nodes cluster: OK +12:29:21> Cluster is up: OK +12:29:21> Each master should have at least two replicas attached: OK +12:29:21> Set allow-replica-migration no: OK +12:29:21> 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: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:30006 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### +Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30004 +#################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 816 slots from 127.0.0.1:30000 to 127.0.0.1:30008 ################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################ OK -03:22:41> Wait cluster to be stable: OK -03:22:41> Master #0 still should have its replicas: OK -03:22:41> Each master should have at least two replicas attached: OK +12:29:31> Wait cluster to be stable: OK +12:29:32> Master #0 still should have its replicas: OK +12:29:32> Each master should have at least two replicas attached: OK Testing unit: 13-no-failover-option.tcl -03:22:41> (init) Restart killed instances: OK -03:22:41> Cluster nodes are reachable: OK -03:22:41> Cluster nodes hard reset: OK -03:22:42> Cluster Join and auto-discovery test: OK -03:22:44> Before slots allocation, all nodes report cluster failure: OK -03:22:44> Create a 5 nodes cluster: OK -03:22:48> Cluster is up: OK -03:22:48> Cluster is writable: OK -03:22:48> Instance #5 is a slave: OK -03:22:48> Instance #5 synced with the master: OK -03:22:48> The nofailover flag is propagated: OK -03:22:50> Killing one master node: OK -03:22:50> Cluster should be still down after some time: OK -03:23:00> Instance #5 is still a slave: OK -03:23:00> Restarting the previously killed master node: OK +12:29:32> (init) Restart killed instances: OK +12:29:32> Cluster nodes are reachable: OK +12:29:32> Cluster nodes hard reset: OK +12:29:32> Cluster Join and auto-discovery test: OK +12:29:34> Before slots allocation, all nodes report cluster failure: OK +12:29:34> Create a 5 nodes cluster: OK +12:29:37> Cluster is up: OK +12:29:37> Cluster is writable: OK +12:29:38> Instance #5 is a slave: OK +12:29:38> Instance #5 synced with the master: OK +12:29:38> The nofailover flag is propagated: OK +12:29:39> Killing one master node: OK +12:29:39> Cluster should be still down after some time: OK +12:29:49> Instance #5 is still a slave: OK +12:29:49> Restarting the previously killed master node: OK Testing unit: 14-consistency-check.tcl -03:23:01> (init) Restart killed instances: OK -03:23:01> Cluster nodes are reachable: OK -03:23:01> Cluster nodes hard reset: OK -03:23:02> Cluster Join and auto-discovery test: OK -03:23:04> Before slots allocation, all nodes report cluster failure: OK -03:23:04> Create a 5 nodes cluster: OK -03:23:07> Cluster should start ok: OK -03:23:07> Cluster is writable: OK -03:23:08> Slave expired keys is loaded when restarted: appendonly=no: OK -03:23:11> Slave expired keys is loaded when restarted: appendonly=yes: OK +12:29:50> (init) Restart killed instances: OK +12:29:50> Cluster nodes are reachable: OK +12:29:50> Cluster nodes hard reset: OK +12:29:50> Cluster Join and auto-discovery test: OK +12:29:52> Before slots allocation, all nodes report cluster failure: OK +12:29:52> Create a 5 nodes cluster: OK +12:29:56> Cluster should start ok: OK +12:29:56> Cluster is writable: OK +12:29:56> Slave expired keys is loaded when restarted: appendonly=no: OK +12:30:00> Slave expired keys is loaded when restarted: appendonly=yes: OK Testing unit: 15-cluster-slots.tcl -03:23:15> (init) Restart killed instances: OK -03:23:15> Cluster nodes are reachable: OK -03:23:15> Cluster nodes hard reset: OK -03:23:16> Cluster Join and auto-discovery test: OK -03:23:17> Before slots allocation, all nodes report cluster failure: OK -03:23:17> Create a 5 nodes cluster: OK -03:23:20> Cluster is up: OK -03:23:20> Cluster is writable: OK -03:23:21> Instance #5 is a slave: OK -03:23:21> client do not break when cluster slot: OK -03:23:24> client can handle keys with hash tag: OK -03:23:24> slot migration is valid from primary to another primary: OK -03:23:24> Client unblocks after slot migration from one primary to another: OK -03:23:24> slot migration is invalid from primary to replica: {d242952b7f192027618d503654ba646f312cb43a 127.0.0.1:30010@40010 slave,nofailover a1bc8fd011bb88d0e5ba0197048db84a68746325 0 1760196204499 1 connected} {8aed74470d8748d9e250eaf7570dada12634c041 127.0.0.1:30020@40020 slave a1bc8fd011bb88d0e5ba0197048db84a68746325 0 1760196204601 1 connected} {ac553fb2aae4faadb54548d73b8a2c1f5651d115 127.0.0.1:30030@40030 slave a1bc8fd011bb88d0e5ba0197048db84a68746325 0 1760196204601 1 connected} -d242952b7f192027618d503654ba646f312cb43a +12:30:04> (init) Restart killed instances: OK +12:30:04> Cluster nodes are reachable: OK +12:30:04> Cluster nodes hard reset: OK +12:30:04> Cluster Join and auto-discovery test: OK +12:30:08> Before slots allocation, all nodes report cluster failure: OK +12:30:08> Create a 5 nodes cluster: OK +12:30:11> Cluster is up: OK +12:30:11> Cluster is writable: OK +12:30:12> Instance #5 is a slave: OK +12:30:12> client do not break when cluster slot: OK +12:30:15> client can handle keys with hash tag: OK +12:30:15> slot migration is valid from primary to another primary: OK +12:30:15> Client unblocks after slot migration from one primary to another: OK +12:30:15> slot migration is invalid from primary to replica: {48aaa49d67969cf41a1dcdb3cf2cf146c9392af0 127.0.0.1:30028@40028 slave 5738b69c4bb33d21b99670f94d443229435c7c88 0 1794609014580 5 connected} {abc03a498e0deb0b6619080e000e423fa22470f0 127.0.0.1:30018@40018 slave 5738b69c4bb33d21b99670f94d443229435c7c88 0 1794609014580 5 connected} {8cd1eb2a84a802f4ac00028f27c2c316eda808ca 127.0.0.1:30038@40038 slave 5738b69c4bb33d21b99670f94d443229435c7c88 0 1794609015000 5 connected} +48aaa49d67969cf41a1dcdb3cf2cf146c9392af0 OK -03:23:25> slot must be unbound on the owner when it is deleted: OK -03:23:39> CLUSTER SLOTS from non-TLS client in TLS cluster: OK +12:30:15> slot must be unbound on the owner when it is deleted: OK +12:30:28> CLUSTER SLOTS from non-TLS client in TLS cluster: OK Testing unit: 16-transactions-on-replica.tcl -03:23:47> (init) Restart killed instances: OK -03:23:47> Cluster nodes are reachable: OK -03:23:47> Cluster nodes hard reset: OK -03:23:49> Cluster Join and auto-discovery test: OK -03:23:52> Before slots allocation, all nodes report cluster failure: OK -03:23:52> Create a primary with a replica: OK -03:23:57> Cluster should start ok: OK -03:23:57> Can't read from replica without READONLY: OK -03:23:57> Can't read from replica after READWRITE: OK -03:23:57> Can read from replica after READONLY: OK -03:23:57> Can perform HSET primary and HGET from replica: OK -03:23:57> Can MULTI-EXEC transaction of HGET operations from replica: OK -03:23:57> MULTI-EXEC with write operations is MOVED: OK -03:23:57> read-only blocking operations from replica: OK -03:23:57> reply MOVED when eval from replica for update: OK +12:30:34> (init) Restart killed instances: OK +12:30:34> Cluster nodes are reachable: OK +12:30:34> Cluster nodes hard reset: OK +12:30:34> Cluster Join and auto-discovery test: OK +12:30:39> Before slots allocation, all nodes report cluster failure: OK +12:30:39> Create a primary with a replica: OK +12:30:44> Cluster should start ok: OK +12:30:44> Can't read from replica without READONLY: OK +12:30:44> Can't read from replica after READWRITE: OK +12:30:44> Can read from replica after READONLY: OK +12:30:44> Can perform HSET primary and HGET from replica: OK +12:30:44> Can MULTI-EXEC transaction of HGET operations from replica: OK +12:30:44> MULTI-EXEC with write operations is MOVED: OK +12:30:44> read-only blocking operations from replica: OK +12:30:44> reply MOVED when eval from replica for update: OK Testing unit: 17-diskless-load-swapdb.tcl -03:23:57> (init) Restart killed instances: OK -03:23:57> Cluster nodes are reachable: OK -03:23:57> Cluster nodes hard reset: OK -03:23:59> Cluster Join and auto-discovery test: OK -03:24:01> Before slots allocation, all nodes report cluster failure: OK -03:24:01> Create a primary with a replica: OK -03:24:06> Cluster should start ok: OK -03:24:06> Cluster is writable: OK -03:24:06> Main db not affected when fail to diskless load: Waiting for process 450951 to exit... -Waiting for process 450951 to exit... +12:30:44> (init) Restart killed instances: OK +12:30:44> Cluster nodes are reachable: OK +12:30:44> Cluster nodes hard reset: OK +12:30:45> Cluster Join and auto-discovery test: OK +12:30:47> Before slots allocation, all nodes report cluster failure: OK +12:30:47> Create a primary with a replica: OK +12:30:51> Cluster should start ok: OK +12:30:51> Cluster is writable: OK +12:30:51> Main db not affected when fail to diskless load: Waiting for process 2205276 to exit... +Waiting for process 2205276 to exit... OK Testing unit: 18-info.tcl -03:24:40> (init) Restart killed instances: redis/0 OK -03:24:40> Cluster nodes are reachable: OK -03:24:40> Cluster nodes hard reset: OK -03:24:42> Cluster Join and auto-discovery test: OK -03:24:45> Before slots allocation, all nodes report cluster failure: OK -03:24:45> Create a primary with a replica: OK -03:24:50> Cluster should start ok: OK -03:24:50> errorstats: rejected call due to MOVED Redirection: OK +12:31:23> (init) Restart killed instances: redis/0 OK +12:31:24> Cluster nodes are reachable: OK +12:31:24> Cluster nodes hard reset: OK +12:31:25> Cluster Join and auto-discovery test: OK +12:31:28> Before slots allocation, all nodes report cluster failure: OK +12:31:28> Create a primary with a replica: OK +12:31:32> Cluster should start ok: OK +12:31:32> errorstats: rejected call due to MOVED Redirection: OK Testing unit: 19-cluster-nodes-slots.tcl -03:24:50> (init) Restart killed instances: OK -03:24:50> Cluster nodes are reachable: OK -03:24:50> Cluster nodes hard reset: OK -03:24:52> Cluster Join and auto-discovery test: OK -03:24:55> Before slots allocation, all nodes report cluster failure: OK -03:24:55> Create a 2 nodes cluster: OK -03:25:00> Cluster should start ok: OK -03:25:00> Continuous slots distribution: OK -03:25:00> Discontinuous slots distribution: OK +12:31:32> (init) Restart killed instances: OK +12:31:32> Cluster nodes are reachable: OK +12:31:32> Cluster nodes hard reset: OK +12:31:33> Cluster Join and auto-discovery test: OK +12:31:35> Before slots allocation, all nodes report cluster failure: OK +12:31:35> Create a 2 nodes cluster: OK +12:31:39> Cluster should start ok: OK +12:31:39> Continuous slots distribution: OK +12:31:39> 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 -03:25:00> (init) Restart killed instances: OK -03:25:00> Cluster nodes are reachable: OK -03:25:00> Cluster nodes hard reset: OK -03:25:00> Cluster Join and auto-discovery test: OK -03:25:03> Before slots allocation, all nodes report cluster failure: OK -03:25:03> Create a 1 node cluster: OK -03:25:08> Cluster is up: OK -03:25:08> Cluster is writable: OK -03:25:08> Fill up primary with data: OK -03:25:08> Add new node as replica: OK -03:25:08> Check digest and replica state: OK -03:25:09> Replica in loading state is hidden: OK -03:25:14> Check disconnected replica not hidden from slots: OK +12:31:39> (init) Restart killed instances: OK +12:31:39> Cluster nodes are reachable: OK +12:31:39> Cluster nodes hard reset: OK +12:31:39> Cluster Join and auto-discovery test: OK +12:31:42> Before slots allocation, all nodes report cluster failure: OK +12:31:42> Create a 1 node cluster: OK +12:31:47> Cluster is up: OK +12:31:47> Cluster is writable: OK +12:31:47> Fill up primary with data: OK +12:31:47> Add new node as replica: OK +12:31:47> Check digest and replica state: OK +12:31:48> Replica in loading state is hidden: OK +12:31:54> Check disconnected replica not hidden from slots: OK Testing unit: 25-pubsubshard-slot-migration.tcl -03:25:15> (init) Restart killed instances: OK -03:25:15> Cluster nodes are reachable: OK -03:25:15> Cluster nodes hard reset: OK -03:25:17> Cluster Join and auto-discovery test: OK -03:25:20> Before slots allocation, all nodes report cluster failure: OK -03:25:20> Create a 3 nodes cluster: OK -03:25:24> Cluster is up: OK -03:25:24> Migrate a slot, verify client receives sunsubscribe on primary serving the slot.: OK -03:25:24> Client subscribes to multiple channels, migrate a slot, verify client receives sunsubscribe on primary serving the slot.: OK -03:25:24> Migrate a slot, verify client receives sunsubscribe on replica serving the slot.: OK -03:25:24> Move a replica to another primary, verify client receives sunsubscribe on replica serving the slot.: OK -03:25:24> Delete a slot, verify sunsubscribe message: OK -03:25:24> Reset cluster, verify sunsubscribe message: OK +12:31:54> (init) Restart killed instances: OK +12:31:54> Cluster nodes are reachable: OK +12:31:54> Cluster nodes hard reset: OK +12:31:55> Cluster Join and auto-discovery test: OK +12:31:57> Before slots allocation, all nodes report cluster failure: OK +12:31:57> Create a 3 nodes cluster: OK +12:32:02> Cluster is up: OK +12:32:02> Migrate a slot, verify client receives sunsubscribe on primary serving the slot.: OK +12:32:02> Client subscribes to multiple channels, migrate a slot, verify client receives sunsubscribe on primary serving the slot.: OK +12:32:02> Migrate a slot, verify client receives sunsubscribe on replica serving the slot.: OK +12:32:02> Move a replica to another primary, verify client receives sunsubscribe on replica serving the slot.: OK +12:32:02> Delete a slot, verify sunsubscribe message: OK +12:32:02> Reset cluster, verify sunsubscribe message: OK Testing unit: 26-pubsubshard.tcl -03:25:24> (init) Restart killed instances: OK -03:25:24> Cluster nodes are reachable: OK -03:25:24> Cluster nodes hard reset: OK -03:25:25> Cluster Join and auto-discovery test: OK -03:25:27> Before slots allocation, all nodes report cluster failure: OK -03:25:27> Create a 3 nodes cluster: OK -03:25:31> Pub/Sub shard basics: OK -03:25:31> client can't subscribe to multiple shard channels across different slots in same call: OK -03:25:31> client can subscribe to multiple shard channels across different slots in separate call: OK -03:25:31> sunsubscribe without specifying any channel would unsubscribe all shard channels subscribed: OK -03:25:31> Verify Pub/Sub and Pub/Sub shard no overlap: OK -03:25:32> PUBSUB channels/shardchannels: OK +12:32:02> (init) Restart killed instances: OK +12:32:02> Cluster nodes are reachable: OK +12:32:02> Cluster nodes hard reset: OK +12:32:03> Cluster Join and auto-discovery test: OK +12:32:05> Before slots allocation, all nodes report cluster failure: OK +12:32:05> Create a 3 nodes cluster: OK +12:32:10> Pub/Sub shard basics: OK +12:32:10> client can't subscribe to multiple shard channels across different slots in same call: OK +12:32:10> client can subscribe to multiple shard channels across different slots in separate call: OK +12:32:10> sunsubscribe without specifying any channel would unsubscribe all shard channels subscribed: OK +12:32:10> Verify Pub/Sub and Pub/Sub shard no overlap: OK +12:32:10> PUBSUB channels/shardchannels: OK Testing unit: 28-cluster-shards.tcl -03:25:32> (init) Restart killed instances: OK -03:25:32> Cluster nodes are reachable: OK -03:25:32> Cluster nodes hard reset: OK -03:25:32> Cluster Join and auto-discovery test: OK -03:25:34> Before slots allocation, all nodes report cluster failure: OK -03:25:34> Create a 8 nodes cluster with 4 shards: OK -03:25:34> Cluster should start ok: OK -03:25:38> Set cluster hostnames and verify they are propagated: OK -03:25:40> Verify information about the shards: OK -03:25:41> Verify no slot shard: OK -03:25:41> Kill a node and tell the replica to immediately takeover: OK -03:25:41> Verify health as fail for killed node: OK -03:25:45> Verify that other nodes can correctly output the new master's slots: OK -03:25:45> Restarting primary node: OK -03:25:46> Instance #0 gets converted into a replica: OK -03:25:46> Test the replica reports a loading state while it's loading: OK -03:25:49> Regression test for a crash when calling SHARDS during handshake: OK -03:25:49> Cluster is up: OK -03:25:52> Shard ids are unique: OK -03:25:52> CLUSTER MYSHARDID reports same id for both primary and replica: OK -03:25:52> New replica receives primary's shard id: OK -03:25:52> CLUSTER MYSHARDID reports same shard id after shard restart: OK -03:25:55> CLUSTER MYSHARDID reports same shard id after cluster restart: OK +12:32:10> (init) Restart killed instances: OK +12:32:10> Cluster nodes are reachable: OK +12:32:10> Cluster nodes hard reset: OK +12:32:11> Cluster Join and auto-discovery test: OK +12:32:13> Before slots allocation, all nodes report cluster failure: OK +12:32:13> Create a 8 nodes cluster with 4 shards: OK +12:32:13> Cluster should start ok: OK +12:32:16> Set cluster hostnames and verify they are propagated: OK +12:32:18> Verify information about the shards: OK +12:32:19> Verify no slot shard: OK +12:32:19> Kill a node and tell the replica to immediately takeover: OK +12:32:20> Verify health as fail for killed node: OK +12:32:23> Verify that other nodes can correctly output the new master's slots: OK +12:32:23> Restarting primary node: OK +12:32:24> Instance #0 gets converted into a replica: OK +12:32:24> Test the replica reports a loading state while it's loading: OK +12:32:26> Regression test for a crash when calling SHARDS during handshake: OK +12:32:26> Cluster is up: OK +12:32:30> Shard ids are unique: OK +12:32:30> CLUSTER MYSHARDID reports same id for both primary and replica: OK +12:32:30> New replica receives primary's shard id: OK +12:32:30> CLUSTER MYSHARDID reports same shard id after shard restart: OK +12:32:32> CLUSTER MYSHARDID reports same shard id after cluster restart: OK Testing unit: 29-slot-migration-response.tcl -03:25:59> (init) Restart killed instances: OK -03:25:59> Cluster nodes are reachable: OK -03:25:59> Cluster nodes hard reset: OK -03:25:59> Cluster Join and auto-discovery test: OK -03:26:01> Before slots allocation, all nodes report cluster failure: OK -03:26:01> Create a 2 nodes cluster: OK -03:26:06> Cluster is up: OK -03:26:06> Set many keys in the cluster: OK -03:26:08> Test cluster responses during migration of slot x: OK +12:32:37> (init) Restart killed instances: OK +12:32:37> Cluster nodes are reachable: OK +12:32:37> Cluster nodes hard reset: OK +12:32:38> Cluster Join and auto-discovery test: OK +12:32:40> Before slots allocation, all nodes report cluster failure: OK +12:32:40> Create a 2 nodes cluster: OK +12:32:45> Cluster is up: OK +12:32:45> Set many keys in the cluster: OK +12:32:49> Test cluster responses during migration of slot x: OK Cleaning up... -killing stale instance 396518 -killing stale instance 396590 -killing stale instance 396676 -killing stale instance 396706 -killing stale instance 396997 -killing stale instance 397025 -killing stale instance 397048 -killing stale instance 397082 -killing stale instance 406825 -killing stale instance 406884 -killing stale instance 416783 -killing stale instance 416821 -killing stale instance 486795 -killing stale instance 486825 -killing stale instance 486859 -killing stale instance 486884 -killing stale instance 486917 -killing stale instance 486950 -killing stale instance 486990 -killing stale instance 487025 +killing stale instance 2108619 +killing stale instance 2108681 +killing stale instance 2108974 +killing stale instance 2109044 +killing stale instance 2109201 +killing stale instance 2109274 +killing stale instance 2109364 +killing stale instance 2109417 +killing stale instance 2123298 +killing stale instance 2123333 +killing stale instance 2143701 +killing stale instance 2143757 +killing stale instance 2225621 +killing stale instance 2225651 +killing stale instance 2225690 +killing stale instance 2225730 +killing stale instance 2225775 +killing stale instance 2225817 +killing stale instance 2225865 +killing stale instance 2225915 GOOD! No errors. ./runtest-sentinel || true Starting sentinel #0 at port 20000 @@ -6999,269 +2629,256 @@ Starting redis #3 at port 30003 Starting redis #4 at port 30004 Testing unit: 00-base.tcl -03:26:11> (start-init) Flush config and compare rewrite config file lines: OK -03:26:12> (init) Restart killed instances: OK -03:26:12> (init) Remove old master entry from sentinels: OK -03:26:12> (init) Create a master-slaves cluster of 5 instances: OK -03:26:12> (init) Sentinels can start monitoring a master: OK -03:26:12> (init) Sentinels can talk with the master: OK -03:26:12> (init) Sentinels are able to auto-discover other sentinels: OK -03:26:14> (init) Sentinels are able to auto-discover slaves: OK -03:26:14> Sentinel command flag infrastructure works correctly: OK -03:26:14> SENTINEL HELP output the sentinel subcommand help: OK -03:26:14> SENTINEL MYID return the sentinel instance ID: OK -03:26:14> SENTINEL INFO CACHE returns the cached info: OK -03:26:14> SENTINEL PENDING-SCRIPTS returns the information about pending scripts: OK -03:26:14> SENTINEL MASTERS returns a list of monitored masters: OK -03:26:14> SENTINEL SENTINELS returns a list of sentinel instances: OK -03:26:14> SENTINEL SLAVES returns a list of the monitored replicas: OK -03:26:14> SENTINEL SIMULATE-FAILURE HELP list supported flags: OK -03:26:14> Basic failover works if the master is down: OK -03:26:18> New master 127.0.0.1:30001 role matches: OK -03:26:18> All the other slaves now point to the new master: OK -03:26:18> The old master eventually gets reconfigured as a slave: OK -03:26:28> ODOWN is not possible without N (quorum) Sentinels reports: OK -03:26:29> Failover is not possible without majority agreement: OK -03:26:30> Failover works if we configure for absolute agreement: OK -03:26:34> New master 127.0.0.1:30000 role matches: OK -03:26:34> SENTINEL RESET can resets the master: OK +12:32:52> (start-init) Flush config and compare rewrite config file lines: OK +12:32:52> (init) Restart killed instances: OK +12:32:52> (init) Remove old master entry from sentinels: OK +12:32:52> (init) Create a master-slaves cluster of 5 instances: OK +12:32:53> (init) Sentinels can start monitoring a master: OK +12:32:53> (init) Sentinels can talk with the master: OK +12:32:53> (init) Sentinels are able to auto-discover other sentinels: OK +12:32:55> (init) Sentinels are able to auto-discover slaves: OK +12:32:55> Sentinel command flag infrastructure works correctly: OK +12:32:55> SENTINEL HELP output the sentinel subcommand help: OK +12:32:55> SENTINEL MYID return the sentinel instance ID: OK +12:32:55> SENTINEL INFO CACHE returns the cached info: OK +12:32:55> SENTINEL PENDING-SCRIPTS returns the information about pending scripts: OK +12:32:55> SENTINEL MASTERS returns a list of monitored masters: OK +12:32:55> SENTINEL SENTINELS returns a list of sentinel instances: OK +12:32:55> SENTINEL SLAVES returns a list of the monitored replicas: OK +12:32:55> SENTINEL SIMULATE-FAILURE HELP list supported flags: OK +12:32:55> Basic failover works if the master is down: OK +12:32:59> New master 127.0.0.1:30003 role matches: OK +12:32:59> All the other slaves now point to the new master: OK +12:32:59> The old master eventually gets reconfigured as a slave: OK +12:33:09> ODOWN is not possible without N (quorum) Sentinels reports: OK +12:33:09> Failover is not possible without majority agreement: OK +12:33:10> Failover works if we configure for absolute agreement: OK +12:33:14> New master 127.0.0.1:30002 role matches: OK +12:33:14> SENTINEL RESET can resets the master: OK Testing unit: 01-conf-update.tcl -03:26:34> (init) Restart killed instances: OK -03:26:34> (init) Remove old master entry from sentinels: OK -03:26:34> (init) Create a master-slaves cluster of 5 instances: OK -03:26:34> (init) Sentinels can start monitoring a master: OK -03:26:34> (init) Sentinels can talk with the master: OK -03:26:34> (init) Sentinels are able to auto-discover other sentinels: OK -03:26:36> (init) Sentinels are able to auto-discover slaves: OK -03:26:36> We can failover with Sentinel 1 crashed: OK -03:26:41> After Sentinel 1 is restarted, its config gets updated: OK -03:26:41> New master 127.0.0.1:30001 role matches: OK -03:26:41> Update log level: OK +12:33:14> (init) Restart killed instances: OK +12:33:14> (init) Remove old master entry from sentinels: OK +12:33:14> (init) Create a master-slaves cluster of 5 instances: OK +12:33:14> (init) Sentinels can start monitoring a master: OK +12:33:14> (init) Sentinels can talk with the master: OK +12:33:14> (init) Sentinels are able to auto-discover other sentinels: OK +12:33:16> (init) Sentinels are able to auto-discover slaves: OK +12:33:16> We can failover with Sentinel 1 crashed: OK +12:33:20> After Sentinel 1 is restarted, its config gets updated: OK +12:33:20> New master 127.0.0.1:30003 role matches: OK +12:33:20> Update log level: OK Testing unit: 02-slaves-reconf.tcl -03:26:41> (init) Restart killed instances: OK -03:26:41> (init) Remove old master entry from sentinels: OK -03:26:41> (init) Create a master-slaves cluster of 5 instances: OK -03:26:41> (init) Sentinels can start monitoring a master: OK -03:26:41> (init) Sentinels can talk with the master: OK -03:26:41> (init) Sentinels are able to auto-discover other sentinels: OK -03:26:43> (init) Sentinels are able to auto-discover slaves: OK -03:26:43> Check that slaves replicate from current master: OK -03:26:43> Crash the master and force a failover: OK -03:26:48> Check that slaves replicate from current master: OK -03:26:49> Kill a slave instance: OK -03:26:49> Crash the master and force a failover: OK -03:26:52> Check that slaves replicate from current master: OK -03:26:53> Wait for failover to end: OK -03:26:53> Restart killed slave and test replication of slaves again...: OK -03:26:53> Check that slaves replicate from current master: OK +12:33:20> (init) Restart killed instances: OK +12:33:20> (init) Remove old master entry from sentinels: OK +12:33:20> (init) Create a master-slaves cluster of 5 instances: OK +12:33:20> (init) Sentinels can start monitoring a master: OK +12:33:21> (init) Sentinels can talk with the master: OK +12:33:21> (init) Sentinels are able to auto-discover other sentinels: OK +12:33:23> (init) Sentinels are able to auto-discover slaves: OK +12:33:23> Check that slaves replicate from current master: OK +12:33:23> Crash the master and force a failover: OK +12:33:27> Check that slaves replicate from current master: OK +12:33:38> Kill a slave instance: OK +12:33:38> Crash the master and force a failover: OK +12:33:41> Check that slaves replicate from current master: OK +12:33:41> Wait for failover to end: OK +12:33:42> Restart killed slave and test replication of slaves again...: OK +12:33:42> Check that slaves replicate from current master: OK Testing unit: 03-runtime-reconf.tcl -03:27:03> (init) Restart killed instances: OK -03:27:03> (init) Remove old master entry from sentinels: OK -03:27:03> (init) Create a master-slaves cluster of 5 instances: OK -03:27:04> (init) Sentinels can start monitoring a master: OK -03:27:04> (init) Sentinels can talk with the master: OK -03:27:04> (init) Sentinels are able to auto-discover other sentinels: OK -03:27:04> (init) Sentinels are able to auto-discover slaves: OK -03:27:04> Sentinels (re)connection following SENTINEL SET mymaster auth-pass: OK -03:27:05> Sentinels (re)connection following master ACL change: OK -03:27:08> Set parameters in normal case: OK -03:27:08> Set parameters in normal case with bad format: OK -03:27:08> Sentinel Set with other error situations: OK +12:33:52> (init) Restart killed instances: OK +12:33:52> (init) Remove old master entry from sentinels: OK +12:33:52> (init) Create a master-slaves cluster of 5 instances: OK +12:33:52> (init) Sentinels can start monitoring a master: OK +12:33:52> (init) Sentinels can talk with the master: OK +12:33:52> (init) Sentinels are able to auto-discover other sentinels: OK +12:33:53> (init) Sentinels are able to auto-discover slaves: OK +12:33:53> Sentinels (re)connection following SENTINEL SET mymaster auth-pass: OK +12:33:54> Sentinels (re)connection following master ACL change: OK +12:33:57> Set parameters in normal case: OK +12:33:57> Set parameters in normal case with bad format: OK +12:33:57> Sentinel Set with other error situations: OK Testing unit: 04-slave-selection.tcl Testing unit: 05-manual.tcl -03:27:08> (init) Restart killed instances: OK -03:27:08> (init) Remove old master entry from sentinels: OK -03:27:08> (init) Create a master-slaves cluster of 5 instances: OK -03:27:08> (init) Sentinels can start monitoring a master: OK -03:27:08> (init) Sentinels can talk with the master: OK -03:27:08> (init) Sentinels are able to auto-discover other sentinels: OK -03:27:10> (init) Sentinels are able to auto-discover slaves: OK -03:27:10> Manual failover works: OK -03:27:11> New master 127.0.0.1:30001 role matches: OK -03:27:11> All the other slaves now point to the new master: OK -03:27:11> The old master eventually gets reconfigured as a slave: OK -03:27:15> (init) Restart killed instances: OK -03:27:15> (init) Remove old master entry from sentinels: OK -03:27:15> (init) Create a master-slaves cluster of 5 instances: OK -03:27:15> (init) Sentinels can start monitoring a master: OK -03:27:15> (init) Sentinels can talk with the master: OK -03:27:15> (init) Sentinels are able to auto-discover other sentinels: OK -03:27:16> (init) Sentinels are able to auto-discover slaves: OK -03:27:16> SENTINEL SIMULATE-FAILURE crash-after-election works: OK -03:27:16> (init) Restart killed instances: OK -03:27:16> (init) Remove old master entry from sentinels: OK -03:27:17> (init) Create a master-slaves cluster of 5 instances: OK -03:27:17> (init) Sentinels can start monitoring a master: OK -03:27:17> (init) Sentinels can talk with the master: OK -03:27:17> (init) Sentinels are able to auto-discover other sentinels: OK -03:27:19> (init) Sentinels are able to auto-discover slaves: OK -03:27:19> SENTINEL SIMULATE-FAILURE crash-after-promotion works: OK +12:33:57> (init) Restart killed instances: OK +12:33:57> (init) Remove old master entry from sentinels: OK +12:33:57> (init) Create a master-slaves cluster of 5 instances: OK +12:33:57> (init) Sentinels can start monitoring a master: OK +12:33:57> (init) Sentinels can talk with the master: OK +12:33:57> (init) Sentinels are able to auto-discover other sentinels: OK +12:33:59> (init) Sentinels are able to auto-discover slaves: OK +12:33:59> Manual failover works: OK +12:34:00> New master 127.0.0.1:30002 role matches: OK +12:34:00> All the other slaves now point to the new master: OK +12:34:00> The old master eventually gets reconfigured as a slave: OK +12:34:04> (init) Restart killed instances: OK +12:34:04> (init) Remove old master entry from sentinels: OK +12:34:04> (init) Create a master-slaves cluster of 5 instances: OK +12:34:04> (init) Sentinels can start monitoring a master: OK +12:34:04> (init) Sentinels can talk with the master: OK +12:34:04> (init) Sentinels are able to auto-discover other sentinels: OK +12:34:05> (init) Sentinels are able to auto-discover slaves: OK +12:34:05> SENTINEL SIMULATE-FAILURE crash-after-election works: OK +12:34:05> (init) Restart killed instances: OK +12:34:05> (init) Remove old master entry from sentinels: OK +12:34:05> (init) Create a master-slaves cluster of 5 instances: OK +12:34:05> (init) Sentinels can start monitoring a master: OK +12:34:05> (init) Sentinels can talk with the master: OK +12:34:05> (init) Sentinels are able to auto-discover other sentinels: OK +12:34:07> (init) Sentinels are able to auto-discover slaves: OK +12:34:07> SENTINEL SIMULATE-FAILURE crash-after-promotion works: OK Testing unit: 06-ckquorum.tcl -03:27:20> (init) Restart killed instances: OK -03:27:20> (init) Remove old master entry from sentinels: OK -03:27:20> (init) Create a master-slaves cluster of 5 instances: OK -03:27:20> (init) Sentinels can start monitoring a master: OK -03:27:20> (init) Sentinels can talk with the master: OK -03:27:20> (init) Sentinels are able to auto-discover other sentinels: OK -03:27:22> (init) Sentinels are able to auto-discover slaves: OK -03:27:22> CKQUORUM reports OK and the right amount of Sentinels: OK -03:27:22> CKQUORUM detects quorum cannot be reached: OK -03:27:22> CKQUORUM detects failover authorization cannot be reached: OK +12:34:09> (init) Restart killed instances: OK +12:34:09> (init) Remove old master entry from sentinels: OK +12:34:09> (init) Create a master-slaves cluster of 5 instances: OK +12:34:09> (init) Sentinels can start monitoring a master: OK +12:34:09> (init) Sentinels can talk with the master: OK +12:34:09> (init) Sentinels are able to auto-discover other sentinels: OK +12:34:11> (init) Sentinels are able to auto-discover slaves: OK +12:34:11> CKQUORUM reports OK and the right amount of Sentinels: OK +12:34:11> CKQUORUM detects quorum cannot be reached: OK +12:34:11> CKQUORUM detects failover authorization cannot be reached: OK Testing unit: 07-down-conditions.tcl -03:27:24> (init) Restart killed instances: OK -03:27:24> (init) Remove old master entry from sentinels: OK -03:27:24> (init) Create a master-slaves cluster of 5 instances: OK -03:27:24> (init) Sentinels can start monitoring a master: OK -03:27:24> (init) Sentinels can talk with the master: OK -03:27:24> (init) Sentinels are able to auto-discover other sentinels: OK -03:27:26> (init) Sentinels are able to auto-discover slaves: OK -03:27:26> Crash the majority of Sentinels to prevent failovers for this unit: OK -03:27:27> SDOWN is triggered by non-responding but not crashed instance: OK -03:27:29> SDOWN is triggered by crashed instance: OK -03:27:31> SDOWN is triggered by masters advertising as slaves: OK -03:27:36> SDOWN is triggered by misconfigured instance replying with errors: OK -03:27:46> SDOWN is triggered if we rename PING to PONG: OK +12:34:13> (init) Restart killed instances: OK +12:34:13> (init) Remove old master entry from sentinels: OK +12:34:13> (init) Create a master-slaves cluster of 5 instances: OK +12:34:13> (init) Sentinels can start monitoring a master: OK +12:34:13> (init) Sentinels can talk with the master: OK +12:34:13> (init) Sentinels are able to auto-discover other sentinels: OK +12:34:15> (init) Sentinels are able to auto-discover slaves: OK +12:34:15> Crash the majority of Sentinels to prevent failovers for this unit: OK +12:34:16> SDOWN is triggered by non-responding but not crashed instance: OK +12:34:18> SDOWN is triggered by crashed instance: OK +12:34:20> SDOWN is triggered by masters advertising as slaves: OK +12:34:25> SDOWN is triggered by misconfigured instance replying with errors: OK +12:34:35> SDOWN is triggered if we rename PING to PONG: OK Testing unit: 08-hostname-conf.tcl -03:27:48> (pre-init) Configure instances and sentinel for hostname use: sentinel/0 sentinel/1 sentinel/2 OK -03:27:48> (init) Restart killed instances: OK -03:27:48> (init) Remove old master entry from sentinels: OK -03:27:48> (init) Create a master-slaves cluster of 5 instances: OK -03:27:48> (init) Sentinels can start monitoring a master: OK -03:27:48> (init) Sentinels can talk with the master: OK -03:27:48> (init) Sentinels are able to auto-discover other sentinels: OK -03:27:50> (init) Sentinels are able to auto-discover slaves: OK -03:27:50> Sentinel announces hostnames: OK -03:27:50> (post-cleanup) Configure instances and sentinel for IPs: OK +12:34:37> (pre-init) Configure instances and sentinel for hostname use: sentinel/0 sentinel/1 sentinel/2 OK +12:34:37> (init) Restart killed instances: OK +12:34:37> (init) Remove old master entry from sentinels: OK +12:34:37> (init) Create a master-slaves cluster of 5 instances: OK +12:34:37> (init) Sentinels can start monitoring a master: OK +12:34:37> (init) Sentinels can talk with the master: OK +12:34:37> (init) Sentinels are able to auto-discover other sentinels: OK +12:34:39> (init) Sentinels are able to auto-discover slaves: OK +12:34:39> Sentinel announces hostnames: OK +12:34:39> (post-cleanup) Configure instances and sentinel for IPs: OK Testing unit: 09-acl-support.tcl -03:27:50> (init) Restart killed instances: OK -03:27:50> (init) Remove old master entry from sentinels: OK -03:27:50> (init) Create a master-slaves cluster of 5 instances: OK -03:27:51> (init) Sentinels can start monitoring a master: OK -03:27:51> (init) Sentinels can talk with the master: OK -03:27:51> (init) Sentinels are able to auto-discover other sentinels: OK -03:27:53> (init) Sentinels are able to auto-discover slaves: OK -03:27:53> (post-init) Set up ACL configuration: OK -03:27:53> SENTINEL CONFIG SET handles on-the-fly credentials reconfiguration: OK -03:27:55> (post-cleanup) Tear down ACL configuration: OK +12:34:39> (init) Restart killed instances: OK +12:34:39> (init) Remove old master entry from sentinels: OK +12:34:39> (init) Create a master-slaves cluster of 5 instances: OK +12:34:40> (init) Sentinels can start monitoring a master: OK +12:34:40> (init) Sentinels can talk with the master: OK +12:34:40> (init) Sentinels are able to auto-discover other sentinels: OK +12:34:42> (init) Sentinels are able to auto-discover slaves: OK +12:34:42> (post-init) Set up ACL configuration: OK +12:34:42> SENTINEL CONFIG SET handles on-the-fly credentials reconfiguration: OK +12:34:45> (post-cleanup) Tear down ACL configuration: OK Testing unit: 10-replica-priority.tcl -03:27:55> (init) Restart killed instances: OK -03:27:55> (init) Remove old master entry from sentinels: OK -03:27:55> (init) Create a master-slaves cluster of 5 instances: OK -03:27:55> (init) Sentinels can start monitoring a master: OK -03:27:55> (init) Sentinels can talk with the master: OK -03:27:55> (init) Sentinels are able to auto-discover other sentinels: OK -03:27:57> (init) Sentinels are able to auto-discover slaves: OK -03:27:57> Check acceptable replica-priority values: OK -03:27:57> Set replica-announced=yes on all replicas: OK -03:27:57> Check sentinel replies with 4 replicas: OK -03:27:57> Set replica-announced=no on 2 replicas: OK -03:27:57> Check sentinel replies with 2 replicas: OK -03:27:57> Set replica-announced=yes on all replicas: OK -03:27:57> Check sentinel replies with 4 replicas: OK +12:34:45> (init) Restart killed instances: OK +12:34:45> (init) Remove old master entry from sentinels: OK +12:34:45> (init) Create a master-slaves cluster of 5 instances: OK +12:34:45> (init) Sentinels can start monitoring a master: OK +12:34:45> (init) Sentinels can talk with the master: OK +12:34:45> (init) Sentinels are able to auto-discover other sentinels: OK +12:34:47> (init) Sentinels are able to auto-discover slaves: OK +12:34:47> Check acceptable replica-priority values: OK +12:34:47> Set replica-announced=yes on all replicas: OK +12:34:47> Check sentinel replies with 4 replicas: OK +12:34:47> Set replica-announced=no on 2 replicas: OK +12:34:47> Check sentinel replies with 2 replicas: OK +12:34:47> Set replica-announced=yes on all replicas: OK +12:34:47> Check sentinel replies with 4 replicas: OK Testing unit: 11-port-0.tcl -03:27:57> (init) Restart killed instances: OK -03:27:57> (init) Remove old master entry from sentinels: OK -03:27:57> (init) Create a master-slaves cluster of 5 instances: OK -03:27:57> (init) Sentinels can start monitoring a master: OK -03:27:58> (init) Sentinels can talk with the master: OK -03:27:58> (init) Sentinels are able to auto-discover other sentinels: OK -03:27:58> (init) Sentinels are able to auto-discover slaves: OK -03:27:58> Start/Stop sentinel on same port with a different runID should not change the total number of sentinels: OK +12:34:47> (init) Restart killed instances: OK +12:34:47> (init) Remove old master entry from sentinels: OK +12:34:47> (init) Create a master-slaves cluster of 5 instances: OK +12:34:47> (init) Sentinels can start monitoring a master: OK +12:34:47> (init) Sentinels can talk with the master: OK +12:34:47> (init) Sentinels are able to auto-discover other sentinels: OK +12:34:47> (init) Sentinels are able to auto-discover slaves: OK +12:34:47> 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 -03:27:59> (init) Restart killed instances: sentinel/4 OK -03:27:59> (init) Remove old master entry from sentinels: OK -03:27:59> (init) Create a master-slaves cluster of 5 instances: OK -03:27:59> (init) Sentinels can start monitoring a master: OK -03:27:59> (init) Sentinels can talk with the master: OK -03:27:59> (init) Sentinels are able to auto-discover other sentinels: OK -03:28:01> (init) Sentinels are able to auto-discover slaves: OK -03:28:01> Master reboot in very short time: OK -03:28:09> New master 127.0.0.1:30001 role matches: OK -03:28:09> All the other slaves now point to the new master: OK -03:28:09> The old master eventually gets reconfigured as a slave: OK +12:34:49> (init) Restart killed instances: sentinel/4 OK +12:34:49> (init) Remove old master entry from sentinels: OK +12:34:49> (init) Create a master-slaves cluster of 5 instances: OK +12:34:49> (init) Sentinels can start monitoring a master: OK +12:34:49> (init) Sentinels can talk with the master: OK +12:34:49> (init) Sentinels are able to auto-discover other sentinels: OK +12:34:51> (init) Sentinels are able to auto-discover slaves: OK +12:34:51> Master reboot in very short time: OK +12:34:58> New master 127.0.0.1:30002 role matches: OK +12:34:58> All the other slaves now point to the new master: OK +12:34:58> The old master eventually gets reconfigured as a slave: OK Testing unit: 13-info-command.tcl -03:28:18> (init) Restart killed instances: OK -03:28:18> (init) Remove old master entry from sentinels: OK -03:28:18> (init) Create a master-slaves cluster of 5 instances: OK -03:28:18> (init) Sentinels can start monitoring a master: OK -03:28:18> (init) Sentinels can talk with the master: OK -03:28:18> (init) Sentinels are able to auto-discover other sentinels: OK -03:28:20> (init) Sentinels are able to auto-discover slaves: OK -03:28:20> info command with at most one argument: OK -03:28:20> info command with one sub-section: OK -03:28:20> info command with multiple sub-sections: OK +12:35:08> (init) Restart killed instances: OK +12:35:08> (init) Remove old master entry from sentinels: OK +12:35:08> (init) Create a master-slaves cluster of 5 instances: OK +12:35:08> (init) Sentinels can start monitoring a master: OK +12:35:08> (init) Sentinels can talk with the master: OK +12:35:08> (init) Sentinels are able to auto-discover other sentinels: OK +12:35:10> (init) Sentinels are able to auto-discover slaves: OK +12:35:10> info command with at most one argument: OK +12:35:10> info command with one sub-section: OK +12:35:10> info command with multiple sub-sections: OK Testing unit: 14-debug-command.tcl -03:28:20> (init) Restart killed instances: OK -03:28:20> (init) Remove old master entry from sentinels: OK -03:28:21> (init) Create a master-slaves cluster of 5 instances: OK -03:28:21> (init) Sentinels can start monitoring a master: OK -03:28:21> (init) Sentinels can talk with the master: OK -03:28:21> (init) Sentinels are able to auto-discover other sentinels: OK -03:28:23> (init) Sentinels are able to auto-discover slaves: OK -03:28:23> Sentinel debug test with arguments and without argument: OK +12:35:10> (init) Restart killed instances: OK +12:35:10> (init) Remove old master entry from sentinels: OK +12:35:10> (init) Create a master-slaves cluster of 5 instances: OK +12:35:10> (init) Sentinels can start monitoring a master: OK +12:35:10> (init) Sentinels can talk with the master: OK +12:35:10> (init) Sentinels are able to auto-discover other sentinels: OK +12:35:12> (init) Sentinels are able to auto-discover slaves: OK +12:35:12> Sentinel debug test with arguments and without argument: OK Testing unit: 15-config-set-config-get.tcl -03:28:23> (init) Restart killed instances: OK -03:28:23> (init) Remove old master entry from sentinels: OK -03:28:23> (init) Create a master-slaves cluster of 5 instances: OK -03:28:23> (init) Sentinels can start monitoring a master: OK -03:28:23> (init) Sentinels can talk with the master: OK -03:28:23> (init) Sentinels are able to auto-discover other sentinels: OK -03:28:25> (init) Sentinels are able to auto-discover slaves: OK -03:28:25> SENTINEL CONFIG SET and SENTINEL CONFIG GET handles multiple variables: OK -03:28:25> SENTINEL CONFIG GET for duplicate and unknown variables: OK -03:28:25> SENTINEL CONFIG GET for patterns: OK -03:28:25> SENTINEL CONFIG SET duplicate variables: OK -03:28:25> SENTINEL CONFIG SET, one option does not exist: OK -03:28:25> SENTINEL CONFIG SET, one option with wrong value: OK -03:28:25> SENTINEL CONFIG SET, wrong number of arguments: OK +12:35:12> (init) Restart killed instances: OK +12:35:12> (init) Remove old master entry from sentinels: OK +12:35:12> (init) Create a master-slaves cluster of 5 instances: OK +12:35:12> (init) Sentinels can start monitoring a master: OK +12:35:12> (init) Sentinels can talk with the master: OK +12:35:12> (init) Sentinels are able to auto-discover other sentinels: OK +12:35:14> (init) Sentinels are able to auto-discover slaves: OK +12:35:14> SENTINEL CONFIG SET and SENTINEL CONFIG GET handles multiple variables: OK +12:35:14> SENTINEL CONFIG GET for duplicate and unknown variables: OK +12:35:14> SENTINEL CONFIG GET for patterns: OK +12:35:14> SENTINEL CONFIG SET duplicate variables: OK +12:35:14> SENTINEL CONFIG SET, one option does not exist: OK +12:35:14> SENTINEL CONFIG SET, one option with wrong value: OK +12:35:14> SENTINEL CONFIG SET, wrong number of arguments: OK Cleaning up... -killing stale instance 489042 -killing stale instance 489073 -killing stale instance 489105 -killing stale instance 495724 -killing stale instance 497166 -killing stale instance 498429 -killing stale instance 499356 -killing stale instance 501867 -killing stale instance 501881 -killing stale instance 501896 -killing stale instance 503094 -killing stale instance 503210 -killing stale instance 503723 +killing stale instance 2227743 +killing stale instance 2227760 +killing stale instance 2227797 +killing stale instance 2239418 +killing stale instance 2241927 +killing stale instance 2243572 +killing stale instance 2244589 +killing stale instance 2247027 +killing stale instance 2247041 +killing stale instance 2247057 +killing stale instance 2248228 +killing stale instance 2248327 +killing stale instance 2248693 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/cli.28935.1093' -removed 'tests/tmp/server6.log.28935.986/stderr' -removed 'tests/tmp/server6.log.28935.986/stdout' -removed 'tests/tmp/server5.log.28935.983/stderr' -removed 'tests/tmp/server5.log.28935.983/stdout' -removed 'tests/tmp/server4.log.28935.980/stderr' -removed 'tests/tmp/server4.log.28935.980/stdout' -removed 'tests/tmp/server3.log.28935.977/stderr' -removed 'tests/tmp/server3.log.28935.977/stdout' -removed 'tests/tmp/server2.log.28935.974/stderr' -removed 'tests/tmp/server2.log.28935.974/stdout' -removed 'tests/tmp/server1.log.28935.971/stderr' -removed 'tests/tmp/server1.log.28935.971/stdout' -removed 'tests/tmp/duplicate.acl.28935.24/stderr' -removed 'tests/tmp/duplicate.acl.28935.24/stdout' -removed 'tests/tmp/duplicate.acl.28935.24/default.conf' -removed 'tests/tmp/duplicate.acl.28935.24/user.acl' -removed 'tests/tmp/resetchannels.acl.28935.17/stderr' -removed 'tests/tmp/resetchannels.acl.28935.17/stdout' -removed 'tests/tmp/resetchannels.acl.28935.17/default.conf' -removed 'tests/tmp/resetchannels.acl.28935.17/nodefaultuser.acl' -removed 'tests/tmp/resetchannels.acl.28935.14/stderr' -removed 'tests/tmp/resetchannels.acl.28935.14/stdout' -removed 'tests/tmp/resetchannels.acl.28935.14/default.conf' -removed 'tests/tmp/resetchannels.acl.28935.14/nodefaultuser.acl' -removed 'tests/tmp/selectors.acl.28935.3/stderr' -removed 'tests/tmp/selectors.acl.28935.3/stdout' -removed 'tests/tmp/selectors.acl.28935.3/default.conf' -removed 'tests/tmp/selectors.acl.28935.3/userwithselectors.acl' +removed 'tests/tmp/duplicate.acl.1522451.24/stderr' +removed 'tests/tmp/duplicate.acl.1522451.24/stdout' +removed 'tests/tmp/duplicate.acl.1522451.24/default.conf' +removed 'tests/tmp/duplicate.acl.1522451.24/user.acl' +removed 'tests/tmp/resetchannels.acl.1522451.17/stderr' +removed 'tests/tmp/resetchannels.acl.1522451.17/stdout' +removed 'tests/tmp/resetchannels.acl.1522451.17/default.conf' +removed 'tests/tmp/resetchannels.acl.1522451.17/nodefaultuser.acl' +removed 'tests/tmp/resetchannels.acl.1522451.14/stderr' +removed 'tests/tmp/resetchannels.acl.1522451.14/stdout' +removed 'tests/tmp/resetchannels.acl.1522451.14/default.conf' +removed 'tests/tmp/resetchannels.acl.1522451.14/nodefaultuser.acl' +removed 'tests/tmp/selectors.acl.1522451.3/stderr' +removed 'tests/tmp/selectors.acl.1522451.3/stdout' +removed 'tests/tmp/selectors.acl.1522451.3/default.conf' +removed 'tests/tmp/selectors.acl.1522451.3/userwithselectors.acl' make[1]: Leaving directory '/build/reproducible-path/redis-8.0.4' create-stamp debian/debhelper-build-stamp dh_prep @@ -7297,16 +2914,16 @@ diversion by libc6 from: /lib/ld-linux-aarch64.so.1 dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libc6 to: /lib/ld-linux-aarch64.so.1.usr-is-merged -dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/redis-tools/usr/bin/redis-cli debian/redis-tools/usr/bin/redis-check-aof debian/redis-tools/usr/bin/redis-check-rdb debian/redis-tools/usr/bin/redis-benchmark 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/redis-tools/usr/bin/redis-cli debian/redis-tools/usr/bin/redis-check-aof debian/redis-tools/usr/bin/redis-check-rdb debian/redis-tools/usr/bin/redis-benchmark 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/redis-tools/usr/bin/redis-benchmark debian/redis-tools/usr/bin/redis-check-aof debian/redis-tools/usr/bin/redis-check-rdb debian/redis-tools/usr/bin/redis-cli 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/redis-tools/usr/bin/redis-benchmark debian/redis-tools/usr/bin/redis-check-aof debian/redis-tools/usr/bin/redis-check-rdb debian/redis-tools/usr/bin/redis-cli 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 'redis-tools' in '../redis-tools_8.0.4-1_arm64.deb'. -dpkg-deb: building package 'redis' in '../redis_8.0.4-1_all.deb'. -dpkg-deb: building package 'redis-sentinel' in '../redis-sentinel_8.0.4-1_arm64.deb'. dpkg-deb: building package 'redis-server' in '../redis-server_8.0.4-1_arm64.deb'. +dpkg-deb: building package 'redis-sentinel' in '../redis-sentinel_8.0.4-1_arm64.deb'. +dpkg-deb: building package 'redis' in '../redis_8.0.4-1_all.deb'. dpkg-deb: building package 'redis-tools-dbgsym' in '../redis-tools-dbgsym_8.0.4-1_arm64.deb'. dpkg-genbuildinfo --build=binary -O../redis_8.0.4-1_arm64.buildinfo dpkg-genchanges --build=binary -O../redis_8.0.4-1_arm64.changes @@ -7315,12 +2932,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/1484781/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/1484781/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/19314 and its subdirectories -I: Current time: Sat Oct 11 03:28:38 -12 2025 -I: pbuilder-time-stamp: 1760196518 +I: removing directory /srv/workspace/pbuilder/1484781 and its subdirectories +I: Current time: Sat Nov 14 12:35:27 +14 2026 +I: pbuilder-time-stamp: 1794609327