Diff of the two buildlogs: -- --- b1/build.log 2024-10-19 06:38:33.640240420 +0000 +++ b2/build.log 2024-10-19 08:04:55.719715435 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri Oct 18 17:38:36 -12 2024 -I: pbuilder-time-stamp: 1729316316 +I: Current time: Sat Oct 19 20:38:37 +14 2024 +I: pbuilder-time-stamp: 1729319917 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -32,52 +32,84 @@ dpkg-source: info: applying 0004-Add-support-for-USE_SYSTEM_JEMALLOC-flag.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/3178976/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/834988/tmp/hooks/D01_modify_environment starting +debug: Running on codethink04-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 Oct 19 06:38 /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/834988/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/834988/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]="2" [2]="32" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.32(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='f1cbe1a742ad410bb3fe7c1d6c11b287' - 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='3178976' - PS1='# ' - PS2='> ' + INVOCATION_ID=8e63aa504ca84a1dbbb00ca86477dd07 + 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=834988 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.ySs1zO81/pbuilderrc_MWSV --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.ySs1zO81/b1 --logfile b1/build.log valkey_8.0.1+dfsg1-1.dsc' - SUDO_GID='109' - 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.ySs1zO81/pbuilderrc_53Qj --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.ySs1zO81/b2 --logfile b2/build.log valkey_8.0.1+dfsg1-1.dsc' + SUDO_GID=109 + 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 codethink02-arm64 6.1.0-26-cloud-arm64 #1 SMP Debian 6.1.112-1 (2024-09-30) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-26-cloud-arm64 #1 SMP Debian 6.1.112-1 (2024-09-30) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/3178976/tmp/hooks/D02_print_environment finished +I: user script /srv/workspace/pbuilder/834988/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -198,7 +230,7 @@ Get: 57 http://deb.debian.org/debian unstable/main arm64 tcl8.6 arm64 8.6.15+dfsg-2 [121 kB] Get: 58 http://deb.debian.org/debian unstable/main arm64 tcl arm64 8.6.14 [4032 B] Get: 59 http://deb.debian.org/debian unstable/main arm64 tcl-tls arm64 1.7.22-3+b2 [67.0 kB] -Fetched 29.5 MB in 0s (106 MB/s) +Fetched 29.5 MB in 0s (108 MB/s) debconf: delaying package configuration, since apt-utils is not installed 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 ... 20054 files and directories currently installed.) @@ -397,8 +429,8 @@ Setting up tzdata (2024b-3) ... Current default time zone: 'Etc/UTC' -Local time is now: Sat Oct 19 05:38:53 UTC 2024. -Universal Time is now: Sat Oct 19 05:38:53 UTC 2024. +Local time is now: Sat Oct 19 06:38:54 UTC 2024. +Universal Time is now: Sat Oct 19 06:38:54 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libjemalloc-dev (5.3.0-2+b1) ... @@ -459,7 +491,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/valkey-8.0.1+dfsg1/ && 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 > ../valkey_8.0.1+dfsg1-1_source.changes +I: user script /srv/workspace/pbuilder/834988/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/834988/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/valkey-8.0.1+dfsg1/ && 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 > ../valkey_8.0.1+dfsg1-1_source.changes dpkg-buildpackage: info: source package valkey dpkg-buildpackage: info: source version 8.0.1+dfsg1-1 dpkg-buildpackage: info: source distribution unstable @@ -562,75 +598,75 @@ MAKE hiredis MAKE linenoise cd hiredis && make static USE_SSL=1 -MAKE lua cd linenoise && make -cd lua/src && make all CFLAGS="-Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 lua MAKE hdr_histogram -cd hdr_histogram && make +cd lua/src && make all CFLAGS="-Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 fpconv -make[5]: Entering directory '/build/reproducible-path/valkey-8.0.1+dfsg1/deps/hiredis' +cd hdr_histogram && make cd fpconv && make +make[5]: Entering directory '/build/reproducible-path/valkey-8.0.1+dfsg1/deps/hiredis' make[5]: Entering directory '/build/reproducible-path/valkey-8.0.1+dfsg1/deps/linenoise' cc -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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/valkey-8.0.1+dfsg1/deps/hdr_histogram' cc -std=c99 -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 +make[5]: Entering directory '/build/reproducible-path/valkey-8.0.1+dfsg1/deps/fpconv' +cc -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 make[5]: Entering directory '/build/reproducible-path/valkey-8.0.1+dfsg1/deps/lua/src' cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -make[5]: Entering directory '/build/reproducible-path/valkey-8.0.1+dfsg1/deps/fpconv' -cc -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 ar rcs libfpconv.a fpconv_dtoa.o make[5]: Leaving directory '/build/reproducible-path/valkey-8.0.1+dfsg1/deps/fpconv' +cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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/valkey-8.0.1+dfsg1=. -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 -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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/valkey-8.0.1+dfsg1/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/valkey-8.0.1+dfsg1=. -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 -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 +cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 +make[5]: Leaving directory '/build/reproducible-path/valkey-8.0.1+dfsg1/deps/linenoise' cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -ar rcs libhdrhistogram.a hdr_histogram.o cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -make[5]: Leaving directory '/build/reproducible-path/valkey-8.0.1+dfsg1/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/valkey-8.0.1+dfsg1=. -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 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 lauxlib.o lauxlib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 +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 -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -make[5]: Leaving directory '/build/reproducible-path/valkey-8.0.1+dfsg1/deps/linenoise' cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 +ar rcs libhiredis_ssl.a ssl.o +make[5]: Leaving directory '/build/reproducible-path/valkey-8.0.1+dfsg1/deps/hiredis' cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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_struct.o lua_struct.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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_cmsgpack.o lua_cmsgpack.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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_bit.o lua_bit.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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.o lua.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 luac.o luac.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.0.1+dfsg1=. -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 print.o print.c -ar rcs libhiredis.a alloc.o net.o hiredis.o sds.o async.o read.o sockcompat.o -ar rcs libhiredis_ssl.a ssl.o -make[5]: Leaving directory '/build/reproducible-path/valkey-8.0.1+dfsg1/deps/hiredis' ar rc liblua.a lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o strbuf.o fpconv.o lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o lstrlib.o loadlib.o linit.o lua_cjson.o lua_struct.o lua_cmsgpack.o lua_bit.o # DLL needs all object files ranlib liblua.a cc -o lua -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf lua.o liblua.a -lm @@ -768,39 +804,39 @@ Certificate request self-signature ok subject=O=Valkey 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]: 3191099 +[ready]: 853280 Testing unit/wait === (wait network external:skip) Starting server 127.0.0.1:21111 ok === () Starting server 127.0.0.1:21113 ok -[ok]: Setup slave (110 ms) +[ok]: Setup slave (103 ms) [ok]: WAIT out of range timeout (milliseconds) (2 ms) -[ok]: WAIT should acknowledge 1 additional copy of the data (730 ms) +[ok]: WAIT should acknowledge 1 additional copy of the data (751 ms) [ok]: WAIT should not acknowledge 2 additional copies of the data (1009 ms) -[ok]: WAIT should not acknowledge 1 additional copy if slave is blocked (1069 ms) -[ok]: WAIT implicitly blocks on client pause since ACKs aren't sent (1113 ms) -[ok]: WAIT replica multiple clients unblock - reuse last result (96 ms) +[ok]: WAIT should not acknowledge 1 additional copy if slave is blocked (1121 ms) +[ok]: WAIT implicitly blocks on client pause since ACKs aren't sent (1109 ms) +[ok]: WAIT replica multiple clients unblock - reuse last result (92 ms) === () Starting server 127.0.0.1:21115 ok -[ok]: Setup a new replica (130 ms) -[ok]: WAIT in script will work (741 ms) +[ok]: Setup a new replica (106 ms) +[ok]: WAIT in script will work (1854 ms) === () Starting server 127.0.0.1:21117 ok -[ok]: WAITAOF local copy before fsync (147 ms) -[ok]: WAITAOF local copy everysec (1 ms) +[ok]: WAITAOF local copy before fsync (151 ms) +[ok]: WAITAOF local copy everysec (0 ms) [ok]: WAITAOF local copy with appendfsync always (1 ms) [ok]: WAITAOF local wait and then stop aof (33 ms) -[ok]: WAITAOF local on server with aof disabled (1 ms) +[ok]: WAITAOF local on server with aof disabled (0 ms) [ok]: WAITAOF local if AOFRW was postponed (270 ms) === () Starting server 127.0.0.1:21119 ok [ok]: WAITAOF on demoted master gets unblocked with an error (33 ms) -[ok]: WAITAOF replica copy before fsync (150 ms) -[ok]: WAITAOF replica copy everysec (556 ms) +[ok]: WAITAOF replica copy before fsync (53 ms) +[ok]: WAITAOF replica copy everysec (653 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec with AOFRW (1011 ms) +Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec with AOFRW (1010 ms) Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... @@ -821,43 +857,43 @@ Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec with slow AOFRW (2046 ms) +Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec with slow AOFRW (2031 ms) Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec->always with AOFRW (106 ms) -[ok]: WAITAOF replica copy appendfsync always (1 ms) -[ok]: WAITAOF replica copy if replica is blocked (130 ms) -[ok]: WAITAOF replica multiple clients unblock - reuse last result (84 ms) +[ok]: WAITAOF replica copy appendfsync always (2 ms) +[ok]: WAITAOF replica copy if replica is blocked (135 ms) +[ok]: WAITAOF replica multiple clients unblock - reuse last result (91 ms) [ok]: WAITAOF on promoted replica (1 ms) -[ok]: WAITAOF master that loses a replica and backlog is dropped (2003 ms) -[ok]: WAITAOF master without backlog, wait is released when the replica finishes full-sync (747 ms) +[ok]: WAITAOF master that loses a replica and backlog is dropped (2005 ms) +[ok]: WAITAOF master without backlog, wait is released when the replica finishes full-sync (730 ms) [ok]: WAITAOF master isn't configured to do AOF (1010 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica isn't configured to do AOF (158 ms) +Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica isn't configured to do AOF (106 ms) -Waiting for background AOF rewrite to finish... [ok]: WAITAOF both local and replica got AOF enabled at runtime (853 ms) -[ok]: WAITAOF master sends PING after last write (1215 ms) -[ok]: WAITAOF master client didn't send any write command (1223 ms) -[ok]: WAITAOF master client didn't send any command (1204 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 (905 ms) +[ok]: WAITAOF master sends PING after last write (1203 ms) +[ok]: WAITAOF master client didn't send any write command (1234 ms) +[ok]: WAITAOF master client didn't send any command (1205 ms) === () Starting server 127.0.0.1:21121 ok === () Starting server 127.0.0.1:21123 ok -[ok]: WAITAOF when replica switches between masters, fsync: no (3491 ms) +[ok]: WAITAOF when replica switches between masters, fsync: no (3587 ms) === () Starting server 127.0.0.1:21125 ok === () Starting server 127.0.0.1:21127 ok -[ok]: WAITAOF when replica switches between masters, fsync: everysec (2381 ms) +[ok]: WAITAOF when replica switches between masters, fsync: everysec (2472 ms) === () Starting server 127.0.0.1:21129 ok === () Starting server 127.0.0.1:21131 ok -[ok]: WAITAOF when replica switches between masters, fsync: always (1475 ms) +[ok]: WAITAOF when replica switches between masters, fsync: always (1569 ms) === (failover external:skip) Starting server 127.0.0.1:21133 ok === () Starting server 127.0.0.1:21135 ok === () Starting server 127.0.0.1:21137 ok -[ok]: setup replication for following tests (105 ms) +[ok]: setup replication for following tests (104 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 (1597 ms) -[1/124 done]: unit/wait (29 seconds) +Waiting for background AOF rewrite to finish... [ok]: WAIT and WAITAOF replica multiple clients unblock - reuse last result (1577 ms) +[1/124 done]: unit/wait (31 seconds) Testing unit/violations === () Starting server 127.0.0.1:21139 ok [ignore]: XADD one huge field: large memory flag not provided @@ -873,176 +909,176 @@ [ignore]: hash with one huge field: large memory flag not provided === () Starting server 127.0.0.1:21151 ok [ok]: SORT adds integer field to list (2 ms) -[2/124 done]: unit/violations (2 seconds) +[2/124 done]: unit/violations (1 seconds) Testing unit/tracking === (tracking network logreqres:skip) Starting server 127.0.0.1:21153 ok -[ok]: Clients are able to enable tracking and redirect it (0 ms) +[ok]: Clients are able to enable tracking and redirect it (1 ms) [ok]: The other connection is able to get invalidations (1 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 (1 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 (1 ms) +[ok]: The client is now able to disable tracking (0 ms) +[ok]: Clients can enable the BCAST mode with the empty prefix (1 ms) +[ok]: The connection gets invalidation messages about all the keys (0 ms) +[ok]: Clients can enable the BCAST mode with prefixes (3 ms) +[ok]: Adding prefixes to BCAST mode works (1 ms) +[ok]: Tracking NOLOOP mode in standard mode works (1 ms) +[ok]: Tracking NOLOOP mode in BCAST mode works (2 ms) [ok]: Tracking gets notification of expired keys (1005 ms) -[ok]: Tracking gets notification of lazy expired keys (103 ms) -[ok]: HELLO 3 reply is correct (2 ms) +[ok]: Tracking gets notification of lazy expired keys (102 ms) +[ok]: HELLO 3 reply is correct (0 ms) [ok]: HELLO without protover (2 ms) [ok]: RESP3 based basic invalidation (1 ms) [ok]: RESP3 tracking redirection (1 ms) [ok]: Invalidations of previous keys can be redirected after switching to RESP3 (1 ms) -[ok]: Invalidations of new keys can be redirected after switching to RESP3 (1 ms) +[ok]: Invalidations of new keys can be redirected after switching to RESP3 (2 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 (32 ms) +[ok]: Tracking only occurs for scripts when a command calls a read-only command (3 ms) +[ok]: RESP3 Client gets tracking-redir-broken push message after cached key changed when rediretion client is terminated (33 ms) [ok]: Different clients can redirect to the same connection (2 ms) [ok]: Different clients using different protocols can track the same key (2 ms) [ok]: No invalidation message when using OPTIN option (2 ms) -[ok]: Invalidation message sent when using OPTIN option with CLIENT CACHING yes (2 ms) +[ok]: Invalidation message sent when using OPTIN option with CLIENT CACHING yes (1 ms) [ok]: Invalidation message sent when using OPTOUT option (1 ms) -[ok]: No invalidation message when using OPTOUT option with CLIENT CACHING no (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 (1 ms) -[ok]: BCAST with prefix collisions throw errors (23 ms) -[ok]: hdel deliver invalidate message after response in the same connection (1 ms) -[ok]: Tracking invalidation message is not interleaved with multiple keys response (114 ms) -[ok]: Tracking invalidation message is not interleaved with transaction response (2 ms) -[ok]: Tracking invalidation message of eviction keys should be before response (7 ms) -[ok]: Unblocked BLMOVE gets notification after response (3 ms) -[ok]: Tracking gets notification on tracking table key eviction (92 ms) +[ok]: No invalidation message when using OPTOUT option with CLIENT CACHING no (2 ms) +[ok]: Able to redirect to a RESP3 client (2 ms) +[ok]: After switching from normal tracking to BCAST mode, no invalidation message is produced for pre-BCAST keys (2 ms) +[ok]: BCAST with prefix collisions throw errors (32 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 (113 ms) +[ok]: Tracking invalidation message is not interleaved with transaction response (3 ms) +[ok]: Tracking invalidation message of eviction keys should be before response (6 ms) +[ok]: Unblocked BLMOVE gets notification after response (2 ms) +[ok]: Tracking gets notification on tracking table key eviction (85 ms) [ok]: Invalidation message received for flushall (64 ms) [ok]: Invalidation message received for flushdb (64 ms) -[ok]: Test ASYNC flushall (66 ms) +[ok]: Test ASYNC flushall (65 ms) [ok]: flushdb tracking invalidation message is not interleaved with transaction response (65 ms) -[ok]: Server is able to evacuate enough keys when num of keys surpasses limit by more than defined initial effort (267 ms) -[ok]: Tracking info is correct (69 ms) +[ok]: Server is able to evacuate enough keys when num of keys surpasses limit by more than defined initial effort (268 ms) +[ok]: Tracking info is correct (66 ms) [ok]: CLIENT GETREDIR provides correct client id (2 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking off (1 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking off (0 ms) [ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on (1 ms) [ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on with options (1 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optin (2 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optout (2 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking bcast mode (2 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking redir broken (63 ms) -[ok]: Regression test for #11715 (67 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 (65 ms) +[ok]: Regression test for #11715 (65 ms) [ok]: RESP3 based basic invalidation with client reply off (65 ms) -[ok]: RESP2 based basic invalidation with client reply off (111 ms) +[ok]: RESP2 based basic invalidation with client reply off (104 ms) [ok]: RESP3 based basic redirect invalidation with client reply off (96 ms) [ok]: RESP3 based basic tracking-redir-broken with client reply off (64 ms) === (tracking network) Starting server 127.0.0.1:21155 ok -[ok]: Coverage: Basic CLIENT CACHING (24 ms) -[ok]: Coverage: Basic CLIENT REPLY (1 ms) -[ok]: Coverage: Basic CLIENT TRACKINGINFO (0 ms) +[ok]: Coverage: Basic CLIENT CACHING (32 ms) +[ok]: Coverage: Basic CLIENT REPLY (0 ms) +[ok]: Coverage: Basic CLIENT TRACKINGINFO (1 ms) [ok]: Coverage: Basic CLIENT GETREDIR (0 ms) -[3/124 done]: unit/tracking (3 seconds) +[3/124 done]: unit/tracking (4 seconds) Testing unit/tls === (tls) Starting server 127.0.0.1:21157 ok -[ok]: TLS: Not accepting non-TLS connections on a TLS port (0 ms) -[ok]: TLS: Verify tls-auth-clients behaves as expected (51 ms) +[ok]: TLS: Not accepting non-TLS connections on a TLS port (1 ms) +[ok]: TLS: Verify tls-auth-clients behaves as expected (60 ms) [ok]: TLS: Verify tls-protocols behaves as expected (42 ms) [ok]: TLS: Verify tls-ciphers behaves as expected (78 ms) [ok]: TLS: Verify tls-prefer-server-ciphers behaves as expected (77 ms) === () Starting server 127.0.0.1:21159 ok -[ok]: TLS: Verify tls-cert-file is also used as a client cert if none specified (347 ms) -[ok]: TLS: switch between tcp and tls ports (49 ms) +[ok]: TLS: Verify tls-cert-file is also used as a client cert if none specified (357 ms) +[ok]: TLS: switch between tcp and tls ports (64 ms) [ok]: TLS: Working with an encrypted keyfile (29 ms) [4/124 done]: unit/tls (1 seconds) Testing unit/sort === (sort) Starting server 127.0.0.1:21161 ok [ok]: Listpack: SORT BY key (1 ms) -[ok]: Listpack: SORT BY key with limit (0 ms) +[ok]: Listpack: SORT BY key with limit (1 ms) [ok]: Listpack: SORT BY hash field (0 ms) -[ok]: Quicklist: SORT BY key (9 ms) +[ok]: Quicklist: SORT BY key (7 ms) [ok]: Quicklist: SORT BY key with limit (1 ms) -[ok]: Quicklist: SORT BY hash field (10 ms) -[ok]: Big Quicklist: SORT BY key (281 ms) -[ok]: Big Quicklist: SORT BY key with limit (5 ms) -[ok]: Big Quicklist: SORT BY hash field (274 ms) -[ok]: Intset: SORT BY key (0 ms) +[ok]: Quicklist: SORT BY hash field (7 ms) +[ok]: Big Quicklist: SORT BY key (294 ms) +[ok]: Big Quicklist: SORT BY key with limit (11 ms) +[ok]: Big Quicklist: SORT BY hash field (307 ms) +[ok]: Intset: SORT BY key (1 ms) [ok]: Intset: SORT BY key with limit (0 ms) -[ok]: Intset: SORT BY hash field (1 ms) -[ok]: Hash table: SORT BY key (8 ms) +[ok]: Intset: SORT BY hash field (0 ms) +[ok]: Hash table: SORT BY key (15 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 (267 ms) +[ok]: Hash table: SORT BY hash field (18 ms) +[ok]: Big Hash table: SORT BY key (271 ms) [ok]: Big Hash table: SORT BY key with limit (14 ms) -[ok]: Big Hash table: SORT BY hash field (278 ms) -[ok]: SORT GET # (5 ms) +[ok]: Big Hash table: SORT BY hash field (294 ms) +[ok]: SORT GET # (1 ms) [ok]: SORT GET (0 ms) [ok]: SORT_RO GET (1 ms) [ok]: SORT GET (key and hash) with sanity check (4 ms) [ok]: SORT BY key STORE (1 ms) [ok]: SORT BY hash field STORE (1 ms) -[ok]: SORT extracts STORE correctly (1 ms) +[ok]: SORT extracts STORE correctly (0 ms) [ok]: SORT_RO get keys (0 ms) -[ok]: SORT extracts multiple STORE correctly (1 ms) -[ok]: SORT DESC (0 ms) -[ok]: SORT ALPHA against integer encoded strings (1 ms) +[ok]: SORT extracts multiple STORE correctly (0 ms) +[ok]: SORT DESC (1 ms) +[ok]: SORT ALPHA against integer encoded strings (0 ms) [ok]: SORT sorted set (1 ms) [ok]: SORT sorted set BY nosort should retain ordering (1 ms) -[ok]: SORT sorted set BY nosort + LIMIT (1 ms) +[ok]: SORT sorted set BY nosort + LIMIT (2 ms) [ok]: SORT sorted set BY nosort works as expected from scripts (1 ms) [ok]: SORT sorted set: +inf and -inf handling (1 ms) [ok]: SORT regression for issue #19, sorting floats (1 ms) -[ok]: SORT with STORE returns zero if result is empty (github issue 224) (1 ms) +[ok]: SORT with STORE returns zero if result is empty (github issue 224) (0 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) (0 ms) [ok]: SORT with BY and STORE should still order output (1 ms) [ok]: SORT will complain with numerical sorting and bad doubles (1) (1 ms) -[ok]: SORT will complain with numerical sorting and bad doubles (2) (1 ms) +[ok]: SORT will complain with numerical sorting and bad doubles (2) (0 ms) [ok]: SORT BY sub-sorts lexicographically if score is the same (1 ms) [ok]: SORT GET with pattern ending with just -> does not get hash field (0 ms) [ok]: SORT by nosort retains native order for lists (1 ms) -[ok]: SORT by nosort plus store retains native order for lists (1 ms) +[ok]: SORT by nosort plus store retains native order for lists (0 ms) [ok]: SORT by nosort with limit returns based on original list order (0 ms) -[ok]: SORT_RO - Successful case (1 ms) +[ok]: SORT_RO - Successful case (0 ms) [ok]: SORT_RO - Cannot run with STORE arg (0 ms) - Average time to sort: 0.22 milliseconds [ok]: SORT speed, 100 element list BY key, 100 times (22 ms) + Average time to sort: 0.23999999999999999 milliseconds [ok]: SORT speed, 100 element list BY key, 100 times (24 ms) - Average time to sort: 0.19 milliseconds [ok]: SORT speed, 100 element list BY hash field, 100 times (21 ms) + Average time to sort: 0.28999999999999998 milliseconds [ok]: SORT speed, 100 element list BY hash field, 100 times (29 ms) - Average time to sort: 0.14000000000000001 milliseconds [ok]: SORT speed, 100 element list directly, 100 times (14 ms) + Average time to sort: 0.17000000000000001 milliseconds [ok]: SORT speed, 100 element list directly, 100 times (17 ms) - Average time to sort: 0.13 milliseconds [ok]: SORT speed, 100 element list BY , 100 times (13 ms) + Average time to sort: 0.14000000000000001 milliseconds [ok]: SORT speed, 100 element list BY , 100 times (14 ms) [ok]: SETRANGE with huge offset (1 ms) -[ok]: SORT STORE quicklist with the right options (47 ms) +[ok]: SORT STORE quicklist with the right options (51 ms) === (external:skip cluster sort) Starting server 127.0.0.1:21163 ok [ok]: sort by in cluster mode (0 ms) [ok]: sort get in cluster mode (1 ms) [ok]: sort_ro by in cluster mode (0 ms) -[ok]: sort_ro get in cluster mode (1 ms) -[5/124 done]: unit/sort (10 seconds) +[ok]: sort_ro get in cluster mode (0 ms) +[5/124 done]: unit/sort (8 seconds) Testing unit/slowlog === (slowlog) Starting server 127.0.0.1:21165 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 (11 ms) -[ok]: SLOWLOG - max entries is correctly handled (14 ms) -[ok]: SLOWLOG - GET optional argument to limit output len works (1 ms) -[ok]: SLOWLOG - RESET subcommand works (1 ms) +[ok]: SLOWLOG - zero max length is correctly handled (16 ms) +[ok]: SLOWLOG - max entries is correctly handled (15 ms) +[ok]: SLOWLOG - GET optional argument to limit output len works (3 ms) +[ok]: SLOWLOG - RESET subcommand works (0 ms) [ok]: SLOWLOG - logged entry sanity check (202 ms) -[ok]: SLOWLOG - Certain commands are omitted that contain sensitive information (3 ms) +[ok]: SLOWLOG - Certain commands are omitted that contain sensitive information (6 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 (1 ms) +[ok]: SLOWLOG - Rewritten commands are logged as their original command (38 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 (206 ms) -[ok]: SLOWLOG - can clean older entries (204 ms) -[ok]: SLOWLOG - can be disabled (408 ms) -[ok]: SLOWLOG - count must be >= -1 (0 ms) -[ok]: SLOWLOG - get all slow logs (1 ms) -[ok]: SLOWLOG - blocking command is reported only after unblocked (15 ms) -[ok]: SLOWLOG - the commands in script are recorded normally - is_eval: 0 (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 (405 ms) +[ok]: SLOWLOG - count must be >= -1 (1 ms) +[ok]: SLOWLOG - get all slow logs (3 ms) +[ok]: SLOWLOG - blocking command is reported only after unblocked (35 ms) +[ok]: SLOWLOG - the commands in script are recorded normally - is_eval: 0 (2 ms) [ok]: SLOWLOG - the commands in script are recorded normally - is_eval: 1 (1 ms) [6/124 done]: unit/slowlog (2 seconds) Testing unit/shutdown === (shutdown external:skip) Starting server 127.0.0.1:21167 ok -[ok]: Temp rdb will be deleted if we use bg_unlink when shutdown (127 ms) +[ok]: Temp rdb will be deleted if we use bg_unlink when shutdown (143 ms) === (shutdown external:skip) Starting server 127.0.0.1:21169 ok -[ok]: SHUTDOWN ABORT can cancel SIGTERM (15 ms) -[ok]: Temp rdb will be deleted in signal handle (28 ms) +[ok]: SHUTDOWN ABORT can cancel SIGTERM (16 ms) +[ok]: Temp rdb will be deleted in signal handle (38 ms) === (shutdown external:skip) Starting server 127.0.0.1:21171 ok [ok]: RDB save will be failed in shutdown (5 ms) [ok]: SHUTDOWN will abort if rdb save failed on signal (49 ms) @@ -1050,163 +1086,163 @@ [ok]: SHUTDOWN can proceed if shutdown command was with nosave (5 ms) [ok]: Clean up rdb same named folder (1 ms) === (shutdown external:skip) Starting server 127.0.0.1:21173 ok -[ok]: SHUTDOWN SIGTERM will abort if there's an initial AOFRW - default (66 ms) +[ok]: SHUTDOWN SIGTERM will abort if there's an initial AOFRW - default (54 ms) [7/124 done]: unit/shutdown (1 seconds) Testing unit/scripting === (scripting) Starting server 127.0.0.1:21175 ok -[ok]: EVAL - Does Lua interpreter replies to our requests? (2 ms) -[ok]: EVAL - Return _G (1 ms) +[ok]: EVAL - Does Lua interpreter replies to our requests? (1 ms) +[ok]: EVAL - Return _G (0 ms) [ok]: EVAL - Return table with a metatable that raise error (0 ms) [ok]: EVAL - Return table with a metatable that call server (1 ms) [ok]: EVAL - Lua integer -> Redis protocol type conversion (1 ms) -[ok]: EVAL - Lua string -> Redis protocol type conversion (1 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 (5 ms) -[ok]: EVAL - Lua table -> Redis protocol type conversion (7 ms) -[ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (6 ms) -[ok]: EVAL - is Lua able to call Redis API? (2 ms) -[ok]: EVAL - Redis integer -> Lua type conversion (1 ms) -[ok]: EVAL - Lua number -> Redis integer conversion (1 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 (0 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 (0 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 (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 (0 ms) +[ok]: EVAL - Scripts do not block on brpop command (1 ms) [ok]: EVAL - Scripts do not block on brpoplpush command (1 ms) [ok]: EVAL - Scripts do not block on blmove command (1 ms) [ok]: EVAL - Scripts do not block on bzpopmin command (1 ms) -[ok]: EVAL - Scripts do not block on bzpopmax command (0 ms) -[ok]: EVAL - Scripts do not block on wait (1 ms) +[ok]: EVAL - Scripts do not block on bzpopmax command (1 ms) +[ok]: EVAL - Scripts do not block on wait (0 ms) [ok]: EVAL - Scripts do not block on waitaof (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 (1 ms) [ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (1 ms) -[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option -- non empty stream (2 ms) -[ok]: EVAL - Scripts can run non-deterministic commands (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 (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) (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 - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) [ignore]: EVAL - JSON string encoding a string larger than 2GB: large memory flag not provided -[ok]: EVAL - JSON numeric decoding (1 ms) -[ok]: EVAL - JSON string decoding (0 ms) +[ok]: EVAL - JSON numeric decoding (0 ms) +[ok]: EVAL - JSON string decoding (1 ms) [ok]: EVAL - JSON smoke test (1 ms) -[ok]: EVAL - cmsgpack can pack double? (0 ms) -[ok]: EVAL - cmsgpack can pack negative int64? (0 ms) -[ok]: EVAL - cmsgpack pack/unpack smoke test (278 ms) +[ok]: EVAL - cmsgpack can pack double? (1 ms) +[ok]: EVAL - cmsgpack can pack negative int64? (1 ms) +[ok]: EVAL - cmsgpack pack/unpack smoke test (319 ms) [ok]: EVAL - cmsgpack can pack and unpack circular references? (1 ms) -[ok]: EVAL - Numerical sanity check from bitop (3 ms) -[ok]: EVAL - Verify minimal bitop functionality (2 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 (1 ms) [ok]: EVAL_RO - Cannot run write commands (1 ms) [ok]: redis.sha1hex() implementation (1 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 (3 ms) +[ok]: Verify execution of prohibit dangerous Lua methods will fail (4 ms) [ok]: Globals protection reading an undeclared global variable (1 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]: EVAL does not leak in the Lua stack (743 ms) -[ok]: Call Redis command with many args from Lua (issue #1764) (17 ms) -[ok]: Number conversion precision test (issue #1118) (15 ms) -[ok]: String containing number precision test (regression of issue #1118) (16 ms) -[ok]: Verify negative arg count is error instead of crash (issue #1842) (2 ms) -[ok]: Scripts can handle commands with incorrect arity (0 ms) +[ok]: Test an example script DECR_IF_GT (3 ms) +[ok]: EVAL does not leak in the Lua stack (845 ms) +[ok]: Call Redis command with many args from Lua (issue #1764) (1 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) (0 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 (1 ms) [ok]: CLUSTER RESET can not be invoke from within a script (0 ms) [ok]: Script with RESP3 map (2 ms) -[ok]: Script return recursive object (81 ms) -[ok]: Script check unpack with massive arguments (3 ms) +[ok]: Script return recursive object (90 ms) +[ok]: Script check unpack with massive arguments (8 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]: 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 (0 ms) [ok]: Try trick global protection 3 (1 ms) [ok]: Try trick global protection 4 (0 ms) -[ok]: Try trick readonly table on valkey table (1 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 valkey 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]: Test loadfile are not available (0 ms) -[ok]: Test dofile are not available (1 ms) -[ok]: Test print are not available (0 ms) +[ok]: Test dofile are not available (0 ms) +[ok]: Test print are not available (1 ms) === (scripting) Starting server 127.0.0.1:21177 ok -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (457 ms) -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (39 ms) -[ok]: Timedout script does not cause a false dead client (49 ms) -[ok]: Timedout script link is still usable after Lua returns (60 ms) -[ok]: Timedout scripts and unblocked command (379 ms) -[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (223 ms) -[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (3 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (436 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (117 ms) +[ok]: Timedout script does not cause a false dead client (104 ms) +[ok]: Timedout script link is still usable after Lua returns (74 ms) +[ok]: Timedout scripts and unblocked command (394 ms) +[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (228 ms) +[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (5 ms) === (scripting repl needs:debug external:skip) Starting server 127.0.0.1:21179 ok === () Starting server 127.0.0.1:21181 ok [ok]: Before the replica connects we issue two EVAL commands (1 ms) -[ok]: Connect a replica to the master instance (103 ms) -[ok]: Replication of script multiple pushes to list with BLPOP (638 ms) +[ok]: Connect a replica to the master instance (104 ms) +[ok]: Replication of script multiple pushes to list with BLPOP (643 ms) [ok]: Lua scripts using SELECT are replicated correctly (3 ms) === (scripting repl external:skip) Starting server 127.0.0.1:21183 ok === () Starting server 127.0.0.1:21185 ok -[ok]: Connect a replica to the master instance (107 ms) +[ok]: Connect a replica to the master instance (104 ms) [ok]: Redis.replicate_commands() can be issued anywhere now (1 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 commands from Lua (610 ms) +[ok]: Test selective replication of certain commands from Lua (612 ms) [ok]: PRNG is seeded randomly for command replication (2 ms) -[ok]: Using side effects is not a problem with command replication (3 ms) +[ok]: Using side effects is not a problem with command replication (2 ms) === (scripting needs:debug) Starting server 127.0.0.1:21187 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 (0 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 (1 ms) [ok]: test RESP2/3 big number protocol parsing (1 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 (0 ms) +[ok]: test RESP2/3 set protocol parsing (1 ms) [ok]: test RESP2/3 double protocol parsing (1 ms) -[ok]: test RESP2/3 null 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 (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 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 (1 ms) -[ok]: test RESP3/2 double protocol parsing (1 ms) -[ok]: test RESP3/2 null protocol parsing (0 ms) +[ok]: test RESP3/2 map protocol parsing (1 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 (1 ms) [ok]: test RESP3/2 verbatim protocol parsing (1 ms) -[ok]: test RESP3/2 true protocol parsing (1 ms) +[ok]: test RESP3/2 true protocol parsing (0 ms) [ok]: test RESP3/2 false protocol parsing (1 ms) [ok]: test RESP3/3 big number protocol parsing (0 ms) [ok]: test RESP3/3 malformed big number protocol parsing (1 ms) -[ok]: test RESP3/3 map protocol parsing (0 ms) +[ok]: test RESP3/3 map protocol parsing (1 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 null protocol parsing (1 ms) +[ok]: test RESP3/3 verbatim protocol parsing (0 ms) +[ok]: test RESP3/3 true protocol parsing (1 ms) [ok]: test RESP3/3 false protocol parsing (1 ms) -[ok]: test resp3 attribute protocol parsing (1 ms) -[ok]: Script block the time during execution (11 ms) +[ok]: test resp3 attribute protocol parsing (0 ms) +[ok]: Script block the time during execution (12 ms) [ok]: Script delete the expired key (4 ms) [ok]: TIME command using cached time (12 ms) -[ok]: Script block the time in some expiration related commands (84 ms) -[ok]: RESTORE expired keys with expiration 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:21189 ok [ok]: EVAL - Does Lua interpreter replies to our requests? (1 ms) [ok]: EVAL - Return _G (1 ms) @@ -1214,184 +1250,184 @@ [ok]: EVAL - Return table with a metatable that call server (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 true boolean -> Redis protocol type conversion (0 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 (1 ms) -[ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (1 ms) -[ok]: EVAL - is Lua able to call Redis API? (0 ms) -[ok]: EVAL - Redis integer -> Lua type conversion (1 ms) +[ok]: EVAL - Lua table -> Redis protocol type conversion (0 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]: EVAL - Redis integer -> Lua type conversion (0 ms) [ok]: EVAL - Lua number -> Redis integer conversion (1 ms) [ok]: EVAL - Redis bulk -> Lua type conversion (0 ms) -[ok]: EVAL - Redis multi bulk -> Lua type conversion (2 ms) -[ok]: EVAL - Redis status reply -> Lua type conversion (0 ms) +[ok]: EVAL - Redis multi bulk -> Lua type conversion (1 ms) +[ok]: EVAL - Redis status reply -> Lua type conversion (1 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 blpop command (1 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 brpoplpush command (1 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 (1 ms) +[ok]: EVAL - Scripts do not block on bzpopmin command (1 ms) +[ok]: EVAL - Scripts do not block on bzpopmax command (2 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 (2 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 (0 ms) +[ok]: EVAL - Scripts do not block on waitaof (1 ms) +[ok]: EVAL - Scripts do not block on XREAD with BLOCK option (1 ms) +[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (1 ms) +[ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (1 ms) +[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option -- non empty stream (1 ms) [ok]: EVAL - Scripts can run non-deterministic commands (1 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) (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) (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) (1 ms) [ignore]: EVAL - JSON string encoding a string larger than 2GB: large memory flag not provided -[ok]: EVAL - JSON numeric decoding (1 ms) -[ok]: EVAL - JSON string decoding (1 ms) +[ok]: EVAL - JSON numeric decoding (0 ms) +[ok]: EVAL - JSON string decoding (0 ms) [ok]: EVAL - JSON smoke test (1 ms) -[ok]: EVAL - cmsgpack can pack double? (1 ms) +[ok]: EVAL - cmsgpack can pack double? (0 ms) [ok]: EVAL - cmsgpack can pack negative int64? (0 ms) -[ok]: EVAL - cmsgpack pack/unpack smoke test (312 ms) +[ok]: EVAL - cmsgpack pack/unpack smoke test (322 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 (0 ms) -[ok]: EVAL - Able to parse trailing comments (1 ms) +[ok]: EVAL - Numerical sanity check from bitop (2 ms) +[ok]: EVAL - Verify minimal bitop functionality (1 ms) +[ok]: EVAL - Able to parse trailing comments (0 ms) [ok]: EVAL_RO - Successful case (1 ms) [ok]: EVAL_RO - Cannot run write commands (1 ms) [ok]: redis.sha1hex() implementation (1 ms) -[ok]: Measures elapsed time os.clock() (1072 ms) -[ok]: Prohibit dangerous lua methods in sandbox (1 ms) +[ok]: Measures elapsed time os.clock() (1001 ms) +[ok]: Prohibit dangerous lua methods in sandbox (2 ms) [ok]: Verify execution of prohibit dangerous Lua methods will fail (3 ms) -[ok]: Globals protection reading an undeclared global variable (1 ms) -[ok]: Globals protection setting an undeclared global* (0 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 (1 ms) [ok]: Test an example script DECR_IF_GT (2 ms) -[ok]: EVAL does not leak in the Lua stack (694 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]: EVAL does not leak in the Lua stack (709 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) (1 ms) +[ok]: Verify negative arg count is error instead of crash (issue #1842) (0 ms) [ok]: Scripts can handle commands with incorrect arity (0 ms) -[ok]: Correct handling of reused argv (issue #1939) (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 (0 ms) [ok]: Script with RESP3 map (2 ms) -[ok]: Script return recursive object (134 ms) +[ok]: Script return recursive object (82 ms) [ok]: Script check unpack with massive arguments (8 ms) -[ok]: Script read key with expiration set (1 ms) -[ok]: Script del key with expiration set (1 ms) +[ok]: Script read key with expiration set (0 ms) +[ok]: Script del key with expiration set (0 ms) [ok]: Script ACL check (2 ms) -[ok]: Binary code loading failed (1 ms) +[ok]: Binary code loading failed (0 ms) [ok]: Try trick global protection 1 (1 ms) [ok]: Try trick global protection 2 (0 ms) [ok]: Try trick global protection 3 (0 ms) -[ok]: Try trick global protection 4 (1 ms) +[ok]: Try trick global protection 4 (0 ms) [ok]: Try trick readonly table on valkey 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 json table (1 ms) +[ok]: Try trick readonly table on cmsgpack table (0 ms) [ok]: Try trick readonly table on bit table (0 ms) -[ok]: Test loadfile are not available (0 ms) -[ok]: Test dofile are not available (1 ms) +[ok]: Test loadfile are not available (1 ms) +[ok]: Test dofile are not available (0 ms) [ok]: Test print are not available (0 ms) === (scripting) Starting server 127.0.0.1:21191 ok -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (430 ms) -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (111 ms) -[ok]: Timedout script does not cause a false dead client (103 ms) -[ok]: Timedout script link is still usable after Lua returns (80 ms) -[ok]: Timedout scripts and unblocked command (379 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) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (435 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (116 ms) +[ok]: Timedout script does not cause a false dead client (114 ms) +[ok]: Timedout script link is still usable after Lua returns (97 ms) +[ok]: Timedout scripts and unblocked command (389 ms) +[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (225 ms) +[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (4 ms) === (scripting repl needs:debug external:skip) Starting server 127.0.0.1:21193 ok === () Starting server 127.0.0.1:21195 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 (646 ms) +[ok]: Connect a replica to the master instance (104 ms) +[ok]: Replication of script multiple pushes to list with BLPOP (642 ms) [ok]: Lua scripts using SELECT are replicated correctly (3 ms) === (scripting repl external:skip) Starting server 127.0.0.1:21197 ok === () Starting server 127.0.0.1:21199 ok [ok]: Connect a replica to the master instance (103 ms) -[ok]: Redis.replicate_commands() can be issued anywhere now (1 ms) +[ok]: Redis.replicate_commands() can be issued anywhere now (0 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 commands from Lua (610 ms) +[ok]: Test selective replication of certain commands from Lua (611 ms) [ok]: PRNG is seeded randomly for command replication (1 ms) -[ok]: Using side effects is not a problem with command replication (2 ms) +[ok]: Using side effects is not a problem with command replication (1 ms) === (scripting needs:debug) Starting server 127.0.0.1:21201 ok -[ok]: test RESP2/2 big number protocol parsing (3 ms) +[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 null protocol parsing (0 ms) [ok]: test RESP2/2 verbatim protocol parsing (1 ms) -[ok]: test RESP2/2 true protocol parsing (0 ms) -[ok]: test RESP2/2 false protocol parsing (4 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 (1 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 map protocol parsing (1 ms) [ok]: test RESP2/3 set protocol parsing (1 ms) -[ok]: test RESP2/3 double protocol parsing (2 ms) +[ok]: test RESP2/3 double protocol parsing (0 ms) [ok]: test RESP2/3 null protocol parsing (1 ms) -[ok]: test RESP2/3 verbatim protocol parsing (1 ms) -[ok]: test RESP2/3 true protocol parsing (1 ms) +[ok]: test RESP2/3 verbatim protocol parsing (0 ms) +[ok]: test RESP2/3 true protocol parsing (0 ms) [ok]: test RESP2/3 false protocol parsing (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 malformed big number protocol parsing (1 ms) [ok]: test RESP3/2 map protocol parsing (1 ms) -[ok]: test RESP3/2 set protocol parsing (1 ms) +[ok]: test RESP3/2 set protocol parsing (0 ms) [ok]: test RESP3/2 double protocol parsing (1 ms) [ok]: test RESP3/2 null protocol parsing (0 ms) [ok]: test RESP3/2 verbatim protocol parsing (0 ms) [ok]: test RESP3/2 true protocol parsing (1 ms) -[ok]: test RESP3/2 false protocol parsing (1 ms) -[ok]: test RESP3/3 big number protocol parsing (0 ms) +[ok]: test RESP3/2 false protocol parsing (0 ms) +[ok]: test RESP3/3 big number protocol parsing (1 ms) [ok]: test RESP3/3 malformed big number protocol parsing (1 ms) [ok]: test RESP3/3 map protocol parsing (1 ms) -[ok]: test RESP3/3 set protocol parsing (1 ms) -[ok]: test RESP3/3 double protocol parsing (1 ms) +[ok]: test RESP3/3 set protocol parsing (0 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 verbatim protocol parsing (0 ms) [ok]: test RESP3/3 true protocol parsing (1 ms) -[ok]: test RESP3/3 false protocol parsing (0 ms) +[ok]: test RESP3/3 false protocol parsing (1 ms) [ok]: test resp3 attribute protocol parsing (1 ms) -[ok]: Script block the time during execution (12 ms) +[ok]: Script block the time during execution (11 ms) [ok]: Script delete the expired key (4 ms) [ok]: TIME command using cached time (11 ms) -[ok]: Script block the time in some expiration related commands (83 ms) +[ok]: Script block the time in some expiration related commands (82 ms) [ok]: RESTORE expired keys with expiration time (11 ms) === (scripting) Starting server 127.0.0.1:21203 ok -[ok]: EVAL - Does Lua interpreter replies to our requests? (0 ms) -[ok]: EVAL - Return _G (1 ms) -[ok]: EVAL - Return table with a metatable that raise error (0 ms) +[ok]: EVAL - Does Lua interpreter replies to our requests? (1 ms) +[ok]: EVAL - Return _G (0 ms) +[ok]: EVAL - Return table with a metatable that raise error (1 ms) [ok]: EVAL - Return table with a metatable that call server (1 ms) -[ok]: EVAL - Lua integer -> Redis protocol type conversion (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 false boolean -> Redis protocol type conversion (0 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]: 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 - Lua error reply -> Redis protocol type conversion (1 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? (0 ms) +[ok]: EVAL - Redis integer -> Lua type conversion (0 ms) +[ok]: EVAL - Lua number -> Redis integer conversion (1 ms) +[ok]: EVAL - Redis bulk -> Lua type conversion (0 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 error reply -> Lua type conversion (0 ms) [ok]: EVAL - Redis nil bulk reply -> Lua type conversion (0 ms) -[ok]: EVAL - Is the Lua client using the currently selected DB? (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 (1 ms) [ok]: EVAL - Scripts do not block on brpop command (0 ms) -[ok]: EVAL - Scripts do not block on brpoplpush command (0 ms) +[ok]: EVAL - Scripts do not block on brpoplpush command (1 ms) [ok]: EVAL - Scripts do not block on blmove command (1 ms) [ok]: EVAL - Scripts do not block on bzpopmin command (1 ms) [ok]: EVAL - Scripts do not block on bzpopmax command (1 ms) -[ok]: EVAL - Scripts do not block on wait (1 ms) -[ok]: EVAL - Scripts do not block on waitaof (1 ms) +[ok]: EVAL - Scripts do not block on 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 (1 ms) [ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (1 ms) @@ -1400,40 +1436,40 @@ [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) (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) [ignore]: EVAL - JSON string encoding a string larger than 2GB: large memory flag not provided [ok]: EVAL - JSON numeric decoding (0 ms) -[ok]: EVAL - JSON string decoding (1 ms) +[ok]: EVAL - JSON string decoding (0 ms) [ok]: EVAL - JSON smoke test (1 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 (317 ms) +[ok]: EVAL - cmsgpack can pack double? (1 ms) +[ok]: EVAL - cmsgpack can pack negative int64? (0 ms) +[ok]: EVAL - cmsgpack pack/unpack smoke test (318 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 (0 ms) +[ok]: EVAL - Verify minimal bitop functionality (1 ms) [ok]: EVAL - Able to parse trailing comments (0 ms) -[ok]: EVAL_RO - Successful case (0 ms) +[ok]: EVAL_RO - Successful case (1 ms) [ok]: EVAL_RO - Cannot run write commands (1 ms) -[ok]: redis.sha1hex() implementation (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 (1 ms) -[ok]: Globals protection setting an undeclared global* (0 ms) -[ok]: lua bit.tohex bug (1 ms) -[ok]: Test an example script DECR_IF_GT (1 ms) -[ok]: EVAL does not leak in the Lua stack (331 ms) +[ok]: Prohibit dangerous lua methods in sandbox (1 ms) +[ok]: Verify execution of prohibit dangerous Lua methods will fail (3 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]: EVAL does not leak in the Lua stack (423 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) (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) (0 ms) -[ok]: Scripts can handle commands with incorrect arity (0 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 (2 ms) -[ok]: Script return recursive object (133 ms) -[ok]: Script check unpack with massive arguments (4 ms) +[ok]: Functions in the Redis namespace are able to report errors (1 ms) +[ok]: CLUSTER RESET can not be invoke from within a script (0 ms) +[ok]: Script with RESP3 map (1 ms) +[ok]: Script return recursive object (89 ms) +[ok]: Script check unpack with massive arguments (8 ms) [ok]: Script read key with expiration set (1 ms) [ok]: Script del key with expiration set (1 ms) [ok]: Script ACL check (1 ms) @@ -1441,8 +1477,8 @@ [ok]: Try trick global protection 1 (1 ms) [ok]: Try trick global protection 2 (0 ms) [ok]: Try trick global protection 3 (0 ms) -[ok]: Try trick global protection 4 (1 ms) -[ok]: Try trick readonly table on valkey table (0 ms) +[ok]: Try trick global protection 4 (0 ms) +[ok]: Try trick readonly table on valkey table (1 ms) [ok]: Try trick readonly table on json table (0 ms) [ok]: Try trick readonly table on cmsgpack table (0 ms) [ok]: Try trick readonly table on bit table (1 ms) @@ -1450,47 +1486,47 @@ [ok]: Test dofile are not available (0 ms) [ok]: Test print are not available (0 ms) === (scripting) Starting server 127.0.0.1:21205 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 (112 ms) -[ok]: Timedout script does not cause a false dead client (106 ms) -[ok]: Timedout script link is still usable after Lua returns (76 ms) -[ok]: Timedout scripts and unblocked command (383 ms) -[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (223 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (435 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (114 ms) +[ok]: Timedout script does not cause a false dead client (105 ms) +[ok]: Timedout script link is still usable after Lua returns (84 ms) +[ok]: Timedout scripts and unblocked command (384 ms) +[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (225 ms) [ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (6 ms) === (scripting repl needs:debug external:skip) Starting server 127.0.0.1:21207 ok === () Starting server 127.0.0.1:21209 ok [ok]: Before the replica connects we issue two EVAL commands (1 ms) [ok]: Connect a replica to the master instance (104 ms) -[ok]: Replication of script multiple pushes to list with BLPOP (642 ms) +[ok]: Replication of script multiple pushes to list with BLPOP (643 ms) [ok]: Lua scripts using SELECT are replicated correctly (2 ms) === (scripting repl external:skip) Starting server 127.0.0.1:21211 ok === () Starting server 127.0.0.1:21213 ok -[ok]: Connect a replica to the master instance (103 ms) -[ok]: Redis.replicate_commands() can be issued anywhere now (0 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 commands from Lua (611 ms) +[ok]: Connect a replica to the master instance (105 ms) +[ok]: Redis.replicate_commands() can be issued anywhere now (1 ms) +[ok]: Redis.set_repl() can be issued before replicate_commands() now (0 ms) +[ok]: Redis.set_repl() don't accept invalid values (0 ms) +[ok]: Test selective replication of certain commands from Lua (610 ms) [ok]: PRNG is seeded randomly for command replication (1 ms) [ok]: Using side effects is not a problem with command replication (1 ms) === (scripting needs:debug) Starting server 127.0.0.1:21215 ok -[ok]: test RESP2/2 big number protocol parsing (1 ms) +[ok]: test RESP2/2 big number protocol parsing (0 ms) [ok]: test RESP2/2 malformed big number protocol parsing (0 ms) [ok]: test RESP2/2 map protocol parsing (1 ms) [ok]: test RESP2/2 set protocol parsing (0 ms) [ok]: test RESP2/2 double protocol parsing (1 ms) [ok]: test RESP2/2 null protocol parsing (0 ms) -[ok]: test RESP2/2 verbatim protocol parsing (0 ms) +[ok]: test RESP2/2 verbatim protocol parsing (1 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 (1 ms) -[ok]: test RESP2/3 set protocol parsing (0 ms) +[ok]: test RESP2/3 map protocol parsing (0 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 null protocol parsing (1 ms) +[ok]: test RESP2/3 verbatim protocol parsing (0 ms) [ok]: test RESP2/3 true protocol parsing (0 ms) -[ok]: test RESP2/3 false protocol parsing (0 ms) +[ok]: test 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) @@ -1498,16 +1534,16 @@ [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 (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 (1 ms) -[ok]: test RESP3/3 map protocol parsing (0 ms) -[ok]: test RESP3/3 set protocol parsing (1 ms) -[ok]: test RESP3/3 double protocol parsing (0 ms) -[ok]: test RESP3/3 null protocol parsing (1 ms) +[ok]: test RESP3/3 malformed big number protocol parsing (0 ms) +[ok]: test RESP3/3 map protocol parsing (1 ms) +[ok]: test RESP3/3 set protocol parsing (0 ms) +[ok]: test RESP3/3 double protocol parsing (1 ms) +[ok]: test RESP3/3 null protocol parsing (0 ms) [ok]: test RESP3/3 verbatim protocol parsing (0 ms) -[ok]: test RESP3/3 true protocol parsing (0 ms) +[ok]: test RESP3/3 true protocol parsing (1 ms) [ok]: test RESP3/3 false protocol parsing (0 ms) [ok]: test resp3 attribute protocol parsing (1 ms) [ok]: Script block the time during execution (11 ms) @@ -1519,14 +1555,14 @@ [ok]: Script - disallow write on OOM (1 ms) [ok]: EVAL - Does Lua interpreter replies to our requests? (1 ms) [ok]: EVAL - Return _G (0 ms) -[ok]: EVAL - Return table with a metatable that raise error (0 ms) +[ok]: EVAL - Return table with a metatable that raise error (1 ms) [ok]: EVAL - Return table with a metatable that call server (0 ms) -[ok]: EVAL - Lua integer -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Lua string -> Redis protocol type conversion (1 ms) +[ok]: EVAL - Lua integer -> Redis protocol type conversion (1 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 (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 status code reply -> Redis protocol type conversion (0 ms) +[ok]: EVAL - Lua error reply -> Redis protocol type conversion (1 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? (0 ms) @@ -1539,81 +1575,81 @@ [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 status reply -> Lua type conversion (1 ms) +[ok]: EVAL - Redis error reply -> Lua type conversion (0 ms) [ok]: EVAL - Redis nil bulk reply -> Lua type conversion (0 ms) -[ok]: EVAL - Is the Lua client using the currently selected DB? (0 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 - Is the Lua client using the currently selected DB? (1 ms) +[ok]: EVAL - SELECT inside Lua should not affect the caller (0 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 brpoplpush command (1 ms) [ok]: EVAL - Scripts do not block on blmove command (1 ms) [ok]: EVAL - Scripts do not block on bzpopmin command (1 ms) [ok]: EVAL - Scripts do not block on bzpopmax command (1 ms) [ok]: EVAL - Scripts do not block on wait (0 ms) -[ok]: EVAL - Scripts do not block on waitaof (0 ms) +[ok]: EVAL - Scripts do not block on waitaof (1 ms) [ok]: EVAL - Scripts do not block on XREAD with BLOCK option (1 ms) [ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (1 ms) [ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (1 ms) -[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option -- non empty stream (0 ms) -[ok]: EVAL - Scripts can run non-deterministic commands (0 ms) +[ok]: EVAL - 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 (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 - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) [ignore]: EVAL - JSON string encoding a string larger than 2GB: large memory flag not provided [ok]: EVAL - JSON numeric decoding (0 ms) [ok]: EVAL - JSON string decoding (0 ms) -[ok]: EVAL - JSON smoke test (0 ms) -[ok]: EVAL - cmsgpack can pack double? (1 ms) -[ok]: EVAL - cmsgpack can pack negative int64? (0 ms) -[ok]: EVAL - cmsgpack pack/unpack smoke test (339 ms) +[ok]: EVAL - JSON smoke test (1 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 (325 ms) [ok]: EVAL - cmsgpack can pack and unpack circular references? (1 ms) [ok]: EVAL - Numerical sanity check from bitop (0 ms) -[ok]: EVAL - Verify minimal bitop functionality (0 ms) +[ok]: EVAL - Verify minimal bitop functionality (1 ms) [ok]: EVAL - Able to parse trailing comments (0 ms) [ok]: EVAL_RO - Successful case (1 ms) [ok]: EVAL_RO - Cannot run write commands (0 ms) -[ok]: SCRIPTING FLUSH - is able to clear the scripts cache? (16 ms) -[ok]: SCRIPTING FLUSH ASYNC (15 ms) +[ok]: SCRIPTING FLUSH - is able to clear the scripts cache? (15 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 (1 ms) +[ok]: SCRIPT LOAD - is able to register scripts in the scripting cache (0 ms) [ok]: SCRIPT SHOW - is able to dump scripts from the scripting cache (0 ms) [ok]: SCRIPT SHOW - wrong sha1 length or invalid sha1 char return noscript error (0 ms) -[ok]: SCRIPT SHOW - script not exist return noscript error (1 ms) +[ok]: SCRIPT SHOW - script not exist return noscript error (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 (1 ms) -[ok]: Measures elapsed time os.clock() (1001 ms) -[ok]: Prohibit dangerous lua methods in sandbox (1 ms) +[ok]: redis.sha1hex() implementation (0 ms) +[ok]: Measures elapsed time os.clock() (1000 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]: Globals protection reading an undeclared global variable (1 ms) +[ok]: Globals protection setting an undeclared global* (0 ms) +[ok]: lua bit.tohex bug (1 ms) [ok]: Test an example script DECR_IF_GT (1 ms) -[ok]: random numbers are random now (0 ms) +[ok]: random numbers are random now (1 ms) [ok]: Scripting engine PRNG can be seeded correctly (1 ms) -[ok]: EVAL does not leak in the Lua stack (378 ms) -[ok]: SPOP: We can call scripts rewriting client->argv from Lua (126 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) +[ok]: EVAL does not leak in the Lua stack (382 ms) +[ok]: SPOP: We can call scripts rewriting client->argv from Lua (120 ms) +[ok]: MGET: mget shouldn't be propagated in Lua (99 ms) +[ok]: EXPIRE: We can call scripts rewriting client->argv from Lua (102 ms) === (scripting) Starting server 127.0.0.1:21219 ok -[ok]: INCRBYFLOAT: We can call scripts expanding client->argv from Lua (359 ms) +[ok]: INCRBYFLOAT: We can call scripts expanding client->argv from Lua (355 ms) [ok]: Call Redis command with many args from Lua (issue #1764) (3 ms) -[ok]: Number conversion precision test (issue #1118) (0 ms) -[ok]: String containing number precision test (regression of issue #1118) (1 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) (0 ms) -[ok]: Scripts can handle commands with incorrect arity (1 ms) +[ok]: Scripts can handle commands with incorrect arity (2 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 (148 ms) -[ok]: Script check unpack with massive arguments (9 ms) -[ok]: Script read key with expiration set (0 ms) -[ok]: Script del key with expiration set (2 ms) -[ok]: Script ACL check (3 ms) +[ok]: CLUSTER RESET can not be invoke from within a script (0 ms) +[ok]: Script with RESP3 map (2 ms) +[ok]: Script return recursive object (151 ms) +[ok]: Script check unpack with massive arguments (10 ms) +[ok]: Script read key with expiration set (1 ms) +[ok]: Script del key with expiration set (0 ms) +[ok]: Script ACL check (1 ms) [ok]: Binary code loading failed (1 ms) [ok]: Try trick global protection 1 (0 ms) [ok]: Try trick global protection 2 (1 ms) @@ -1621,398 +1657,397 @@ [ok]: Try trick global protection 4 (0 ms) [ok]: Try trick readonly table on valkey table (1 ms) [ok]: Try trick readonly table on json table (0 ms) -[ok]: Try trick readonly table on cmsgpack table (1 ms) -[ok]: Try trick readonly table on bit table (0 ms) -[ok]: Test loadfile are not available (1 ms) +[ok]: Try trick readonly table on cmsgpack table (0 ms) +[ok]: Try trick readonly table on bit table (1 ms) +[ok]: Test loadfile are not available (0 ms) [ok]: Test dofile are not available (0 ms) [ok]: Test print are not available (1 ms) === (scripting) Starting server 127.0.0.1:21221 ok -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (435 ms) -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (106 ms) -[ok]: Timedout script does not cause a false dead client (94 ms) -[ok]: Timedout script link is still usable after Lua returns (65 ms) -[ok]: Timedout scripts and unblocked command (380 ms) -[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (216 ms) -[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (3 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (436 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (109 ms) +[ok]: Timedout script does not cause a false dead client (103 ms) +[ok]: Timedout script link is still usable after Lua returns (119 ms) +[ok]: Timedout scripts and unblocked command (392 ms) +[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (225 ms) +[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (5 ms) === (scripting repl needs:debug external:skip) Starting server 127.0.0.1:21223 ok === () Starting server 127.0.0.1:21225 ok -[ok]: Before the replica connects we issue two EVAL commands (0 ms) -[ok]: Connect a replica to the master instance (113 ms) +[ok]: Before the replica connects we issue two EVAL commands (1 ms) +[ok]: Connect a replica to the master instance (104 ms) [ok]: Now use EVALSHA against the master, with both SHAs (1 ms) -[ok]: 'x' should be '4' for EVALSHA being replicated by effects (711 ms) -[ok]: Replication of script multiple pushes to list with BLPOP (21 ms) -[ok]: EVALSHA replication when first call is readonly (1 ms) +[ok]: 'x' should be '4' for EVALSHA being replicated by effects (609 ms) +[ok]: Replication of script multiple pushes to list with BLPOP (25 ms) +[ok]: EVALSHA replication when first call is readonly (2 ms) [ok]: Lua scripts using SELECT are replicated correctly (2 ms) === (scripting repl external:skip) Starting server 127.0.0.1:21227 ok === () Starting server 127.0.0.1:21229 ok [ok]: Connect a replica to the master instance (104 ms) [ok]: Redis.replicate_commands() can be issued anywhere now (1 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 commands from Lua (612 ms) -[ok]: PRNG is seeded randomly for command replication (1 ms) -[ok]: Using side effects is not a problem with command replication (1 ms) +[ok]: Redis.set_repl() don't accept invalid values (0 ms) +[ok]: Test selective replication of certain commands from Lua (610 ms) +[ok]: PRNG is seeded randomly for command replication (0 ms) +[ok]: Using side effects is not a problem with command replication (2 ms) === (scripting external:skip) Starting server 127.0.0.1:21231 ok === (scripting needs:debug external:skip) Starting server 127.0.0.1:21233 ok [ok]: Test scripting debug protocol parsing (2 ms) -[ok]: Test scripting debug lua stack overflow (24 ms) -[ok]: Test scripting debug lua server invocations (25 ms) +[ok]: Test scripting debug lua stack overflow (32 ms) +[ok]: Test scripting debug lua server invocations (32 ms) === (scripting external:skip) Starting server 127.0.0.1:21235 ok -[ok]: Lua scripts eviction does not generate many scripts (157 ms) -[ok]: Lua scripts eviction is plain LRU (75 ms) -[ok]: Lua scripts eviction does not affect script load (227 ms) -[ok]: Lua scripts promoted from eval to script load (98 ms) +[ok]: Lua scripts eviction does not generate many scripts (175 ms) +[ok]: Lua scripts eviction is plain LRU (63 ms) +[ok]: Lua scripts eviction does not affect script load (203 ms) +[ok]: Lua scripts promoted from eval to script load (186 ms) === (scripting needs:debug) Starting server 127.0.0.1:21237 ok -[ok]: test RESP2/2 big number protocol parsing (1 ms) +[ok]: test RESP2/2 big number protocol parsing (0 ms) [ok]: test RESP2/2 malformed big number protocol parsing (0 ms) -[ok]: test RESP2/2 map protocol parsing (1 ms) -[ok]: test RESP2/2 set protocol parsing (0 ms) +[ok]: test RESP2/2 map protocol parsing (0 ms) +[ok]: test RESP2/2 set protocol parsing (1 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 (1 ms) +[ok]: test RESP2/2 verbatim protocol parsing (1 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 (1 ms) [ok]: test RESP2/3 malformed big number protocol parsing (0 ms) -[ok]: test RESP2/3 map protocol parsing (1 ms) +[ok]: test RESP2/3 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 double protocol parsing (0 ms) [ok]: test RESP2/3 null protocol parsing (0 ms) [ok]: test RESP2/3 verbatim protocol parsing (0 ms) -[ok]: test RESP2/3 true 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 (1 ms) [ok]: test RESP3/2 map protocol parsing (0 ms) -[ok]: test RESP3/2 set protocol parsing (0 ms) +[ok]: test RESP3/2 set protocol parsing (1 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 (0 ms) -[ok]: test RESP3/2 false protocol parsing (0 ms) +[ok]: test RESP3/2 false protocol parsing (1 ms) [ok]: test RESP3/3 big number protocol parsing (0 ms) -[ok]: test RESP3/3 malformed big number protocol parsing (1 ms) -[ok]: test RESP3/3 map protocol parsing (0 ms) -[ok]: test RESP3/3 set protocol parsing (1 ms) +[ok]: test RESP3/3 malformed big number protocol parsing (0 ms) +[ok]: test RESP3/3 map protocol parsing (1 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 (1 ms) [ok]: test RESP3/3 verbatim protocol parsing (0 ms) [ok]: test RESP3/3 true protocol parsing (0 ms) [ok]: test RESP3/3 false protocol parsing (1 ms) -[ok]: test resp3 attribute protocol parsing (1 ms) +[ok]: test resp3 attribute protocol parsing (0 ms) [ok]: Script block the time during execution (11 ms) [ok]: Script delete the expired key (4 ms) [ok]: TIME command using cached time (11 ms) [ok]: Script block the time in some expiration related commands (83 ms) -[ok]: RESTORE expired keys with expiration time (10 ms) +[ok]: RESTORE expired keys with expiration time (11 ms) === (scripting) Starting server 127.0.0.1:21239 ok [ok]: Shebang support for lua engine (1 ms) -[ok]: Unknown shebang option (0 ms) -[ok]: Unknown shebang flag (1 ms) -[ok]: allow-oom shebang flag (2 ms) -[ok]: no-writes shebang flag (1 ms) +[ok]: Unknown shebang option (1 ms) +[ok]: Unknown shebang flag (0 ms) +[ok]: allow-oom shebang flag (3 ms) +[ok]: no-writes shebang flag (0 ms) === (external:skip) Starting server 127.0.0.1:21241 ok [ok]: no-writes shebang flag on replica (170 ms) -[ok]: not enough good replicas (2 ms) +[ok]: not enough good replicas (3 ms) === (external:skip) Starting server 127.0.0.1:21243 ok -[ok]: not enough good replicas state change during long script (654 ms) -[ok]: allow-stale shebang flag (3 ms) -[ok]: reject script do not cause a Lua stack leak (12 ms) +[ok]: not enough good replicas state change during long script (764 ms) +[ok]: allow-stale shebang flag (4 ms) +[ok]: reject script do not cause a Lua stack leak (11 ms) === (scripting) Starting server 127.0.0.1:21245 ok -[ok]: Consistent eval error reporting (19 ms) +[ok]: Consistent eval error reporting (20 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 (1 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 pcall with non string/integer arg (1 ms) [ok]: LUA test trim string as expected (2 ms) -[8/124 done]: unit/scripting (39 seconds) +[8/124 done]: unit/scripting (40 seconds) Testing unit/scan === (scan network standalone) Starting server 127.0.0.1:21247 ok -[ok]: {standalone} SCAN basic (97 ms) -[ok]: {standalone} SCAN COUNT (59 ms) -[ok]: {standalone} SCAN MATCH (53 ms) -[ok]: {standalone} SCAN TYPE (72 ms) -[ok]: {standalone} SCAN unknown type (67 ms) -[ok]: {standalone} SCAN with expired keys (79 ms) -[ok]: {standalone} SCAN with expired keys with TYPE filter (86 ms) +[ok]: {standalone} SCAN basic (101 ms) +[ok]: {standalone} SCAN COUNT (74 ms) +[ok]: {standalone} SCAN MATCH (47 ms) +[ok]: {standalone} SCAN TYPE (74 ms) +[ok]: {standalone} SCAN unknown type (44 ms) +[ok]: {standalone} SCAN with expired keys (57 ms) +[ok]: {standalone} SCAN with expired keys with TYPE filter (57 ms) [ok]: {standalone} SSCAN with encoding intset (2 ms) -[ok]: {standalone} SSCAN with encoding listpack (4 ms) -[ok]: {standalone} SSCAN with encoding hashtable (5 ms) -[ok]: {standalone} HSCAN with encoding listpack (4 ms) -[ok]: {standalone} HSCAN with encoding hashtable (120 ms) -[ok]: {standalone} ZSCAN with encoding listpack (6 ms) -[ok]: {standalone} ZSCAN with encoding skiplist (131 ms) -[ok]: {standalone} SCAN guarantees check under write load (45 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 encoding hashtable (103 ms) +[ok]: {standalone} ZSCAN with encoding listpack (5 ms) +[ok]: {standalone} ZSCAN with encoding skiplist (130 ms) +[ok]: {standalone} SCAN guarantees check under write load (48 ms) [ok]: {standalone} SSCAN with integer encoded object (issue #1345) (1 ms) -[ok]: {standalone} SSCAN with PATTERN (0 ms) -[ok]: {standalone} HSCAN with PATTERN (0 ms) -[ok]: {standalone} HSCAN with NOVALUES (0 ms) +[ok]: {standalone} SSCAN with PATTERN (1 ms) +[ok]: {standalone} HSCAN with PATTERN (2 ms) +[ok]: {standalone} HSCAN with NOVALUES (1 ms) [ok]: {standalone} ZSCAN with PATTERN (1 ms) -[ok]: {standalone} ZSCAN with NOSCORES (0 ms) -[ok]: {standalone} ZSCAN scores: regression test for issue #2175 (79 ms) -[ok]: {standalone} SCAN regression test for issue #4906 (10788 ms) -[ok]: {standalone} SCAN MATCH pattern implies cluster slot (40 ms) +[ok]: {standalone} ZSCAN with NOSCORES (1 ms) +[ok]: {standalone} ZSCAN scores: regression test for issue #2175 (92 ms) +[ok]: {standalone} SCAN regression test for issue #4906 (9920 ms) +[ok]: {standalone} SCAN MATCH pattern implies cluster slot (46 ms) === (external:skip cluster scan) Starting server 127.0.0.1:21249 ok -[ok]: {cluster} SCAN basic (99 ms) -[ok]: {cluster} SCAN COUNT (113 ms) -[ok]: {cluster} SCAN MATCH (62 ms) -[ok]: {cluster} SCAN TYPE (89 ms) -[ok]: {cluster} SCAN unknown type (53 ms) -[ok]: {cluster} SCAN with expired keys (90 ms) -[ok]: {cluster} SCAN with expired keys with TYPE filter (90 ms) +[ok]: {cluster} SCAN basic (115 ms) +[ok]: {cluster} SCAN COUNT (81 ms) +[ok]: {cluster} SCAN MATCH (52 ms) +[ok]: {cluster} SCAN TYPE (75 ms) +[ok]: {cluster} SCAN unknown type (42 ms) +[ok]: {cluster} SCAN with expired keys (56 ms) +[ok]: {cluster} SCAN with expired keys with TYPE filter (57 ms) [ok]: {cluster} SSCAN with encoding intset (2 ms) -[ok]: {cluster} SSCAN with encoding listpack (2 ms) -[ok]: {cluster} SSCAN with encoding hashtable (5 ms) -[ok]: {cluster} HSCAN with encoding listpack (2 ms) -[ok]: {cluster} HSCAN with encoding hashtable (120 ms) -[ok]: {cluster} ZSCAN with encoding listpack (6 ms) -[ok]: {cluster} ZSCAN with encoding skiplist (113 ms) -[ok]: {cluster} SCAN guarantees check under write load (35 ms) -[ok]: {cluster} SSCAN with integer encoded object (issue #1345) (2 ms) +[ok]: {cluster} SSCAN with encoding listpack (1 ms) +[ok]: {cluster} SSCAN with encoding hashtable (4 ms) +[ok]: {cluster} HSCAN with encoding listpack (1 ms) +[ok]: {cluster} HSCAN with encoding hashtable (90 ms) +[ok]: {cluster} ZSCAN with encoding listpack (5 ms) +[ok]: {cluster} ZSCAN with encoding skiplist (107 ms) +[ok]: {cluster} SCAN guarantees check under write load (32 ms) +[ok]: {cluster} SSCAN with integer encoded object (issue #1345) (1 ms) [ok]: {cluster} SSCAN with PATTERN (0 ms) -[ok]: {cluster} HSCAN with PATTERN (0 ms) -[ok]: {cluster} HSCAN with NOVALUES (1 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 with NOSCORES (1 ms) [ok]: {cluster} ZSCAN scores: regression test for issue #2175 (71 ms) -[ok]: {cluster} SCAN regression test for issue #4906 (12001 ms) -[ok]: {cluster} SCAN MATCH pattern implies cluster slot (57 ms) -[9/124 done]: unit/scan (27 seconds) +[ok]: {cluster} SCAN regression test for issue #4906 (11657 ms) +[ok]: {cluster} SCAN MATCH pattern implies cluster slot (45 ms) +[9/124 done]: unit/scan (25 seconds) Testing unit/replybufsize === (replybufsize) Starting server 127.0.0.1:21251 ok -[ok]: verify reply buffer limits (687 ms) +[ok]: verify reply buffer limits (684 ms) [10/124 done]: unit/replybufsize (1 seconds) Testing unit/quit === (quit) Starting server 127.0.0.1:21253 ok [ok]: QUIT returns OK (31 ms) -[ok]: Pipelined commands after QUIT must not be executed (66 ms) -[ok]: Pipelined commands after QUIT that exceed read buffer size (60 ms) +[ok]: Pipelined commands after QUIT must not be executed (62 ms) +[ok]: Pipelined commands after QUIT that exceed read buffer size (63 ms) [11/124 done]: unit/quit (1 seconds) Testing unit/querybuf === (querybuf slow) Starting server 127.0.0.1:21255 ok -[ok]: query buffer resized correctly (2810 ms) -[ok]: query buffer resized correctly when not idle (63 ms) -[ok]: query buffer resized correctly with fat argv (2945 ms) +[ok]: query buffer resized correctly (2650 ms) +[ok]: query buffer resized correctly when not idle (108 ms) +[ok]: query buffer resized correctly with fat argv (2895 ms) [12/124 done]: unit/querybuf (6 seconds) Testing unit/pubsubshard === (pubsubshard external:skip) Starting server 127.0.0.1:21257 ok -[ok]: SPUBLISH/SSUBSCRIBE basics (38 ms) +[ok]: SPUBLISH/SSUBSCRIBE basics (34 ms) [ok]: SPUBLISH/SSUBSCRIBE with two clients (62 ms) -[ok]: SPUBLISH/SSUBSCRIBE after UNSUBSCRIBE without arguments (34 ms) -[ok]: SSUBSCRIBE to one channel more than once (30 ms) -[ok]: SUNSUBSCRIBE from non-subscribed channels (23 ms) +[ok]: SPUBLISH/SSUBSCRIBE after UNSUBSCRIBE without arguments (33 ms) +[ok]: SSUBSCRIBE to one channel more than once (32 ms) +[ok]: SUNSUBSCRIBE from non-subscribed channels (31 ms) [ok]: PUBSUB command basics (0 ms) -[ok]: SPUBLISH/SSUBSCRIBE with two clients (40 ms) +[ok]: SPUBLISH/SSUBSCRIBE with two clients (63 ms) [ok]: SPUBLISH/SSUBSCRIBE with PUBLISH/SUBSCRIBE (64 ms) -[ok]: PubSubShard with CLIENT REPLY OFF (117 ms) +[ok]: PubSubShard with CLIENT REPLY OFF (126 ms) === (pubsubshard external:skip) Starting server 127.0.0.1:21259 ok === (pubsubshard external:skip) Starting server 127.0.0.1:21261 ok -[ok]: setup replication for following tests (104 ms) -[ok]: publish message to master and receive on replica (62 ms) -Waiting for process 3222035 to exit... +[ok]: setup replication for following tests (103 ms) +[ok]: publish message to master and receive on replica (63 ms) +Waiting for process 871618 to exit... [13/124 done]: unit/pubsubshard (2 seconds) Testing unit/pubsub === (pubsub network) Starting server 127.0.0.1:21263 ok -[ok]: Pub/Sub PING on RESP2 (1 ms) -[ok]: Pub/Sub PING on RESP3 (2 ms) -[ok]: PUBLISH/SUBSCRIBE basics (34 ms) -[ok]: PUBLISH/SUBSCRIBE with two clients (62 ms) +[ok]: Pub/Sub PING on RESP2 (2 ms) +[ok]: Pub/Sub PING on RESP3 (1 ms) +[ok]: PUBLISH/SUBSCRIBE basics (33 ms) +[ok]: PUBLISH/SUBSCRIBE with two clients (63 ms) [ok]: PUBLISH/SUBSCRIBE after UNSUBSCRIBE without arguments (33 ms) -[ok]: SUBSCRIBE to one channel more than once (31 ms) -[ok]: UNSUBSCRIBE and PUNSUBSCRIBE from non-subscribed channels (33 ms) -[ok]: PUBLISH/PSUBSCRIBE basics (31 ms) -[ok]: PUBLISH/PSUBSCRIBE with two clients (53 ms) -[ok]: PUBLISH/PSUBSCRIBE after PUNSUBSCRIBE without arguments (30 ms) -[ok]: PubSub messages with CLIENT REPLY OFF (120 ms) -[ok]: NUMSUB returns numbers, not strings (#1561) (0 ms) +[ok]: SUBSCRIBE to one channel more than once (32 ms) +[ok]: UNSUBSCRIBE and PUNSUBSCRIBE from non-subscribed channels (31 ms) +[ok]: PUBLISH/PSUBSCRIBE basics (35 ms) +[ok]: PUBLISH/PSUBSCRIBE with two clients (63 ms) +[ok]: PUBLISH/PSUBSCRIBE after PUNSUBSCRIBE without arguments (33 ms) +[ok]: PubSub messages with CLIENT REPLY OFF (119 ms) +[ok]: NUMSUB returns numbers, not strings (#1561) (1 ms) [ok]: NUMPATs returns the number of unique patterns (63 ms) [ok]: Mix SUBSCRIBE and PSUBSCRIBE (32 ms) -[ok]: Keyspace notifications: we receive keyspace notifications (80 ms) -[ok]: Keyspace notifications: we receive keyevent notifications (72 ms) +[ok]: Keyspace notifications: we receive keyspace notifications (76 ms) +[ok]: Keyspace notifications: we receive keyevent notifications (77 ms) [ok]: Keyspace notifications: we can receive both kind of events (32 ms) [ok]: Keyspace notifications: we are able to mask events (33 ms) -[ok]: Keyspace notifications: general events test (33 ms) +[ok]: Keyspace notifications: general events test (34 ms) [ok]: Keyspace notifications: list events test (34 ms) -[ok]: Keyspace notifications: set events test (32 ms) -[ok]: Keyspace notifications: zset events test (33 ms) -[ok]: Keyspace notifications: hash events test (32 ms) +[ok]: Keyspace notifications: set events test (34 ms) +[ok]: Keyspace notifications: zset events test (35 ms) +[ok]: Keyspace notifications: hash events test (33 ms) [ok]: Keyspace notifications: stream events test (35 ms) -[ok]: Keyspace notifications: expired events (triggered expire) (126 ms) -[ok]: Keyspace notifications: expired events (background expire) (134 ms) -[ok]: Keyspace notifications: evicted events (34 ms) +[ok]: Keyspace notifications: expired events (triggered expire) (134 ms) +[ok]: Keyspace notifications: expired events (background expire) (303 ms) +[ok]: Keyspace notifications: evicted events (33 ms) [ok]: Keyspace notifications: test CONFIG GET/SET of event flags (1 ms) -[ok]: Keyspace notifications: new key test (32 ms) +[ok]: Keyspace notifications: new key test (33 ms) [ok]: publish to self inside multi (2 ms) [ok]: publish to self inside script (1 ms) -[ok]: unsubscribe inside multi, and publish to self (3 ms) +[ok]: unsubscribe inside multi, and publish to self (2 ms) [14/124 done]: unit/pubsub (2 seconds) Testing unit/protocol === (protocol network) Starting server 127.0.0.1:21265 ok -[ok]: Handle an empty query (72 ms) -[ok]: Negative multibulk length (71 ms) +[ok]: Handle an empty query (74 ms) +[ok]: Negative multibulk length (72 ms) [ok]: Out of range multibulk length (31 ms) [ok]: Wrong multibulk payload header (31 ms) [ok]: Negative multibulk payload length (31 ms) -[ok]: Out of range multibulk payload length (31 ms) +[ok]: Out of range multibulk payload length (30 ms) [ok]: Non-number multibulk payload length (30 ms) [ok]: Multi bulk request not followed by bulk arguments (30 ms) -[ok]: Generic wrong number of args (32 ms) -[ok]: Unbalanced number of quotes (30 ms) -[ok]: Protocol desync regression test #1 (120 ms) -[ok]: Protocol desync regression test #2 (66 ms) -[ok]: Protocol desync regression test #3 (60 ms) -[ok]: raw protocol response (0 ms) -[ok]: raw protocol response - deferred (0 ms) +[ok]: Generic wrong number of args (31 ms) +[ok]: Unbalanced number of quotes (31 ms) +[ok]: Protocol desync regression test #1 (119 ms) +[ok]: Protocol desync regression test #2 (81 ms) +[ok]: Protocol desync regression test #3 (67 ms) +[ok]: raw protocol response (1 ms) +[ok]: raw protocol response - deferred (1 ms) [ok]: raw protocol response - multiline (0 ms) -[ok]: RESP3 attributes (1 ms) -[ok]: RESP3 attributes readraw (1 ms) -[ok]: RESP3 attributes on RESP2 (0 ms) +[ok]: RESP3 attributes (0 ms) +[ok]: RESP3 attributes readraw (0 ms) +[ok]: RESP3 attributes on RESP2 (1 ms) [ok]: test big number parsing (0 ms) [ok]: test bool parsing (1 ms) [ok]: test verbatim str parsing (0 ms) -[ok]: test large number of args (25 ms) -[ok]: test argument rewriting - issue 9598 (1 ms) +[ok]: test large number of args (31 ms) +[ok]: test argument rewriting - issue 9598 (2 ms) === (regression) Starting server 127.0.0.1:21267 ok -[ok]: Regression for a crash with blocking ops and pipelining (31 ms) -[15/124 done]: unit/protocol (1 seconds) +[ok]: Regression for a crash with blocking ops and pipelining (32 ms) +[15/124 done]: unit/protocol (2 seconds) Testing unit/printver === () Starting server 127.0.0.1:21269 ok Testing Valkey version 7.2.4 (00000000) -[16/124 done]: unit/printver (1 seconds) +[16/124 done]: unit/printver (0 seconds) Testing unit/pause === (pause network) Starting server 127.0.0.1:21271 ok [ok]: Test read commands are not blocked by client pause (32 ms) -[ok]: Test old pause-all takes precedence over new pause-write (less restrictive) (372 ms) -[ok]: Test new pause time is smaller than old one, then old time preserved (133 ms) -[ok]: Test write commands are paused by RO (32 ms) -[ok]: Test special commands are paused by RO (63 ms) -[ok]: Test read/admin multi-execs are not blocked by pause RO (33 ms) -[ok]: Test write multi-execs are blocked by pause RO (32 ms) -[ok]: Test scripts are blocked by pause RO (63 ms) +[ok]: Test old pause-all takes precedence over new pause-write (less restrictive) (369 ms) +[ok]: Test new pause time is smaller than old one, then old time preserved (134 ms) +[ok]: Test write commands are paused by RO (33 ms) +[ok]: Test special commands are paused by RO (65 ms) +[ok]: Test read/admin multi-execs are not blocked by pause RO (34 ms) +[ok]: Test write multi-execs are blocked by pause RO (33 ms) +[ok]: Test scripts are blocked by pause RO (64 ms) [ok]: Test RO scripts are not blocked by pause RO (34 ms) -[ok]: Test read-only scripts in multi-exec are not blocked by pause RO (33 ms) -[ok]: Test write scripts in multi-exec are blocked by pause RO (63 ms) -[ok]: Test may-replicate commands are rejected in RO scripts (1 ms) -[ok]: Test multiple clients can be queued up and unblocked (93 ms) +[ok]: Test read-only scripts in multi-exec are not blocked by pause RO (34 ms) +[ok]: Test write scripts in multi-exec are blocked by pause RO (65 ms) +[ok]: Test may-replicate commands are rejected in RO scripts (2 ms) +[ok]: Test multiple clients can be queued up and unblocked (94 ms) [ok]: Test clients with syntax errors will get responses immediately (1 ms) [ok]: Test both active and passive expires are skipped during client pause (105 ms) -[ok]: Test that client pause starts at the end of a transaction (33 ms) +[ok]: Test that client pause starts at the end of a transaction (34 ms) === (needs:repl external:skip) Starting server 127.0.0.1:21273 ok -[ok]: Test when replica paused, offset would not grow (833 ms) -[ok]: Test replica offset would grow after unpause (2 ms) +[ok]: Test when replica paused, offset would not grow (823 ms) +[ok]: Test replica offset would grow after unpause (1 ms) [17/124 done]: unit/pause (2 seconds) Testing unit/other === (other) Starting server 127.0.0.1:21275 ok -[ok]: Coverage: HELP commands (4 ms) +[ok]: Coverage: HELP commands (5 ms) [ok]: Coverage: MEMORY MALLOC-STATS (4 ms) [ok]: Coverage: MEMORY PURGE (1 ms) -[ok]: SAVE - make sure there are all the types as values (4 ms) -[ok]: FUZZ stresser with data model binary (595 ms) -[ok]: FUZZ stresser with data model alpha (676 ms) -[ok]: FUZZ stresser with data model compr (459 ms) +[ok]: SAVE - make sure there are all the types as values (3 ms) +[ok]: FUZZ stresser with data model binary (663 ms) +[ok]: FUZZ stresser with data model alpha (585 ms) +[ok]: FUZZ stresser with data model compr (550 ms) === (external:skip) Starting server 127.0.0.1:21277 ok -[ok]: FLUSHALL should not reset the dirty counter if we disable save (1 ms) +[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) Waiting for background save to finish... -Waiting for background save to finish... [ok]: BGSAVE (107 ms) +Waiting for background save to finish... [ok]: BGSAVE (108 ms) [ok]: SELECT an out of range DB (0 ms) -[ok]: Check consistency of different data types after a reload (847 ms) +[ok]: Check consistency of different data types after a reload (706 ms) -Waiting for background AOF rewrite to finish... [ok]: Same dataset digest if saving/reloading as AOF? (151 ms) +Waiting for background AOF rewrite to finish... [ok]: Same dataset digest if saving/reloading as AOF? (147 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) (107 ms) +Waiting for background AOF rewrite to finish... [ok]: EXPIRES after a reload (snapshot + append only file rewrite) (58 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) (504 ms) +[ok]: PIPELINING stresser (also a regression for the old epoll bug) (503 ms) [ok]: APPEND basics (1 ms) [ok]: APPEND basics, integer encoded values (1 ms) -[ok]: APPEND fuzzing (204 ms) +[ok]: APPEND fuzzing (211 ms) [ok]: FLUSHDB (1 ms) -[ok]: Perform a final SAVE to leave a clean DB on disk (0 ms) -[ok]: RESET clears client state (1 ms) -[ok]: RESET clears MONITOR state (12 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 (21 ms) [ok]: RESET clears and discards MULTI state (1 ms) [ok]: RESET clears Pub/Sub state (0 ms) [ok]: RESET clears authenticated state (1 ms) [ok]: Subcommand syntax error crash (issue #10070) (1 ms) -[ok]: Extended Redis Compatibility config (0 ms) +[ok]: Extended Redis Compatibility config (1 ms) === (other external:skip) Starting server 127.0.0.1:21279 ok -Waiting for background save to finish... [ok]: Don't rehash if server has child process (398 ms) +Waiting for background save to finish... [ok]: Don't rehash if server has child process (396 ms) === (other external:skip) Starting server 127.0.0.1:21281 ok -[ok]: Process title set as expected (2 ms) +[ok]: Process title set as expected (3 ms) === (other external:skip cluster slow) Starting server 127.0.0.1:21283 ok -[ok]: Server can trigger resizing (1709 ms) -[ok]: Server can rewind and trigger smaller slot resizing (658 ms) +[ok]: Server can trigger resizing (1691 ms) +[ok]: Server can rewind and trigger smaller slot resizing (660 ms) === (other external:skip) Starting server 127.0.0.1:21285 ok [ok]: Server can resize empty dict (44 ms) -Creating temp file /build/reproducible-path/valkey-8.0.1+dfsg1/3191099 +Creating temp file /build/reproducible-path/valkey-8.0.1+dfsg1/853280 === (repl external:skip) Starting server 127.0.0.1:21287 ok -[ok]: test unixsocket options are set correctly (0 ms) -Deleting temp file: /build/reproducible-path/valkey-8.0.1+dfsg1/3191099 +[ok]: test unixsocket options are set correctly (1 ms) +Deleting temp file: /build/reproducible-path/valkey-8.0.1+dfsg1/853280 [18/124 done]: unit/other (12 seconds) Testing unit/oom-score-adj === (oom-score-adj external:skip) Starting server 127.0.0.1:21289 ok [ok]: CONFIG SET oom-score-adj works as expected (33 ms) [ok]: CONFIG SET oom-score-adj handles configuration failures (3 ms) -[ok]: CONFIG SET oom-score-adj-values doesn't touch proc when disabled (1 ms) +[ok]: CONFIG SET oom-score-adj-values doesn't touch proc when disabled (2 ms) [ok]: CONFIG SET oom score restored on disable (1 ms) -[ok]: CONFIG SET oom score relative and absolute (0 ms) -[ok]: CONFIG SET out-of-range oom score (0 ms) +[ok]: CONFIG SET oom score relative and absolute (1 ms) +[ok]: CONFIG SET out-of-range oom score (1 ms) [19/124 done]: unit/oom-score-adj (1 seconds) Testing unit/obuf-limits === (obuf-limits external:skip logreqres:skip) Starting server 127.0.0.1:21291 ok [ok]: CONFIG SET client-output-buffer-limit (3 ms) -[ok]: Client output buffer hard limit is enforced (4114 ms) -[ok]: Client output buffer soft limit is enforced if time is overreached (3679 ms) -[ok]: Client output buffer soft limit is not enforced too early and is enforced when no traffic (5036 ms) -[ok]: No response for single command if client output buffer hard limit is enforced (157 ms) -[ok]: No response for multi commands in pipeline if client output buffer limit is enforced (1106 ms) +[ok]: Client output buffer hard limit is enforced (4997 ms) +[ok]: Client output buffer soft limit is enforced if time is overreached (3704 ms) +[ok]: Client output buffer soft limit is not enforced too early and is enforced when no traffic (4937 ms) +[ok]: No response for single command if client output buffer hard limit is enforced (160 ms) +[ok]: No response for multi commands in pipeline if client output buffer limit is enforced (1108 ms) [ok]: Execute transactions completely even if client output buffer limit is enforced (59 ms) -[ok]: Obuf limit, HRANDFIELD with huge count stopped mid-run (64 ms) -[ok]: Obuf limit, KEYS stopped mid-run (104 ms) -[20/124 done]: unit/obuf-limits (14 seconds) +[ok]: Obuf limit, HRANDFIELD with huge count stopped mid-run (65 ms) +[ok]: Obuf limit, KEYS stopped mid-run (112 ms) +[20/124 done]: unit/obuf-limits (15 seconds) Testing unit/networking === () Starting server 127.0.0.1:21293 ok -[ok]: CONFIG SET port number (359 ms) +[ok]: CONFIG SET port number (360 ms) === () Starting server 127.0.0.1:21296 ok -[ok]: CONFIG SET bind address (250 ms) +[ok]: CONFIG SET bind address (254 ms) === () Starting server 127.0.0.1:21298 ok === () Starting server 127.0.0.1:21300 ok -[ok]: CONFIG SET bind-source-addr (662 ms) +[ok]: CONFIG SET bind-source-addr (564 ms) === (external:skip) Starting server 127.0.0.1:21302 ok [ok]: Default bind address configuration handling (229 ms) -[ok]: Protected mode works as expected (1 ms) +[ok]: Protected mode works as expected (2 ms) === (external:skip) Starting server 127.0.0.1:21304 ok [21/124 done]: unit/networking (2 seconds) Testing unit/multi === (multi) Starting server 127.0.0.1:21306 ok [ok]: MULTI / EXEC basics (2 ms) [ok]: DISCARD (2 ms) -[ok]: Nested MULTI are not allowed (0 ms) +[ok]: Nested MULTI are not allowed (1 ms) [ok]: MULTI where commands alter argc/argv (1 ms) -[ok]: WATCH inside MULTI is not allowed (0 ms) -[ok]: EXEC fails if there are errors while queueing commands #1 (2 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 (33 ms) -[ok]: If EXEC aborts, the client MULTI state is cleared (1 ms) +[ok]: If EXEC aborts, the client MULTI state is cleared (2 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 (2 ms) EXEC fail on lazy expired WATCHed key attempts: 0 -[ok]: EXEC fail on lazy expired WATCHed key (105 ms) +[ok]: EXEC fail on lazy expired WATCHed key (104 ms) [ok]: WATCH stale keys should not fail EXEC (4 ms) -[ok]: Delete WATCHed stale keys should not fail EXEC (5 ms) +[ok]: Delete WATCHed stale keys should not fail EXEC (4 ms) [ok]: FLUSHDB while watching stale keys should not fail EXEC (4 ms) -[ok]: After successful EXEC key is no longer watched (2 ms) +[ok]: After successful EXEC key is no longer watched (1 ms) [ok]: After failed EXEC key is no longer watched (2 ms) [ok]: It is possible to UNWATCH (1 ms) -[ok]: UNWATCH when there is nothing watched works as expected (0 ms) +[ok]: UNWATCH when there is nothing watched works as expected (1 ms) [ok]: FLUSHALL is able to touch the watched keys (1 ms) [ok]: FLUSHALL does not touch non affected keys (1 ms) [ok]: FLUSHDB is able to touch the watched keys (1 ms) @@ -2022,33 +2057,33 @@ [ok]: SWAPDB does not touch watched stale keys (4 ms) [ok]: SWAPDB does not touch non-existing key replaced with stale key (5 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 is able to remember the DB a key belongs to (2 ms) [ok]: WATCH will consider touched keys target of EXPIRE (1 ms) [ok]: WATCH will consider touched expired keys (1145 ms) -[ok]: DISCARD should clear the WATCH dirty flag on the client (1 ms) -[ok]: DISCARD should UNWATCH all the keys (2 ms) -[ok]: MULTI / EXEC is not propagated (single write command) (124 ms) +[ok]: DISCARD should clear the WATCH dirty flag on the client (2 ms) +[ok]: DISCARD should UNWATCH all the keys (1 ms) +[ok]: MULTI / EXEC is not propagated (single write command) (121 ms) [ok]: MULTI / EXEC is propagated correctly (multiple commands) (102 ms) -[ok]: MULTI / EXEC is propagated correctly (multiple commands with SELECT) (101 ms) +[ok]: MULTI / EXEC is propagated correctly (multiple commands with SELECT) (102 ms) [ok]: MULTI / EXEC is propagated correctly (empty transaction) (99 ms) [ok]: MULTI / EXEC is propagated correctly (read-only commands) (102 ms) -[ok]: MULTI / EXEC is propagated correctly (write command, no effect) (102 ms) -[ok]: MULTI / EXEC with REPLICAOF (102 ms) +[ok]: MULTI / EXEC is propagated correctly (write command, no effect) (101 ms) +[ok]: MULTI / EXEC with REPLICAOF (103 ms) [ok]: DISCARD should not fail during OOM (32 ms) [ok]: MULTI and script timeout (468 ms) [ok]: EXEC and script timeout (467 ms) [ok]: MULTI-EXEC body and script timeout (469 ms) -[ok]: just EXEC and script timeout (464 ms) +[ok]: just EXEC and script timeout (466 ms) [ok]: exec with write commands and state change (32 ms) -[ok]: exec with read commands and stale replica state change (34 ms) +[ok]: exec with read commands and stale replica state change (35 ms) [ok]: EXEC with only read commands should not be rejected when OOM (33 ms) -[ok]: EXEC with at least one use-memory command should fail (32 ms) -[ok]: Blocking commands ignores the timeout (3 ms) -[ok]: MULTI propagation of PUBLISH (68 ms) -[ok]: MULTI propagation of SCRIPT LOAD (101 ms) -[ok]: MULTI propagation of EVAL (102 ms) +[ok]: EXEC with at least one use-memory command should fail (33 ms) +[ok]: Blocking commands ignores the timeout (2 ms) +[ok]: MULTI propagation of PUBLISH (67 ms) +[ok]: MULTI propagation of SCRIPT LOAD (102 ms) +[ok]: MULTI propagation of EVAL (101 ms) [ok]: MULTI propagation of SCRIPT FLUSH (102 ms) -[ok]: MULTI propagation of XREADGROUP (102 ms) +[ok]: MULTI propagation of XREADGROUP (103 ms) [ok]: MULTI with SAVE (2 ms) [ok]: MULTI with SHUTDOWN (1 ms) @@ -2057,112 +2092,112 @@ Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... [ok]: MULTI with config set appendonly (210 ms) -[ok]: MULTI with config error (1 ms) +[ok]: MULTI with config error (2 ms) [ok]: Flushall while watching several keys by one client (1 ms) === (external:skip) Starting server 127.0.0.1:21308 ok -[ok]: MULTI with FLUSHALL and AOF (3 ms) +[ok]: MULTI with FLUSHALL and AOF (4 ms) [22/124 done]: unit/multi (6 seconds) Testing unit/memefficiency === (memefficiency external:skip) Starting server 127.0.0.1:21310 ok -[ok]: Memory efficiency with values in range 32 (387 ms) -[ok]: Memory efficiency with values in range 64 (299 ms) -[ok]: Memory efficiency with values in range 128 (300 ms) -[ok]: Memory efficiency with values in range 1024 (332 ms) -[ok]: Memory efficiency with values in range 16384 (930 ms) +[ok]: Memory efficiency with values in range 32 (382 ms) +[ok]: Memory efficiency with values in range 64 (390 ms) +[ok]: Memory efficiency with values in range 128 (297 ms) +[ok]: Memory efficiency with values in range 1024 (330 ms) +[ok]: Memory efficiency with values in range 16384 (921 ms) === (defrag external:skip cluster) Starting server 127.0.0.1:21312 ok === (defrag external:skip standalone) Starting server 127.0.0.1:21314 ok [23/124 done]: unit/memefficiency (5 seconds) Testing unit/maxmemory === (maxmemory external:skip) Starting server 127.0.0.1:21316 ok -evicted keys: 1 +evicted keys: 3 evicted clients: 0 -dbsize: 49 -[ok]: eviction due to output buffers of many MGET clients, client eviction: false (769 ms) +dbsize: 47 +[ok]: eviction due to output buffers of many MGET clients, client eviction: false (771 ms) evicted keys: 28 evicted clients: 0 dbsize: 22 -[ok]: eviction due to input buffer of a dead client, client eviction: false (4588 ms) +[ok]: eviction due to input buffer of a dead client, client eviction: false (4552 ms) evicted keys: 15 evicted clients: 0 dbsize: 35 -[ok]: eviction due to output buffers of pubsub, client eviction: false (1550 ms) +[ok]: eviction due to output buffers of pubsub, client eviction: false (1568 ms) evicted keys: 0 evicted clients: 11 dbsize: 50 -[ok]: eviction due to output buffers of many MGET clients, client eviction: true (730 ms) +[ok]: eviction due to output buffers of many MGET clients, client eviction: true (736 ms) evicted keys: 0 evicted clients: 18 dbsize: 50 -[ok]: eviction due to input buffer of a dead client, client eviction: true (4554 ms) +[ok]: eviction due to input buffer of a dead client, client eviction: true (4549 ms) evicted keys: 0 -evicted clients: 6 +evicted clients: 4 dbsize: 50 -[ok]: eviction due to output buffers of pubsub, client eviction: true (1595 ms) +[ok]: eviction due to output buffers of pubsub, client eviction: true (1241 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21318 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 (2 ms) [ok]: Shared integers are unshared with maxmemory and LRU policy (2 ms) -[ok]: maxmemory - is the memory limit honoured? (policy allkeys-random) (293 ms) -[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lru) (247 ms) -[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lfu) (586 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-lru) (1005 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-lfu) (1590 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-random) (1508 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-ttl) (771 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-random) (2278 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-lru) (2371 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-lru) (2058 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-random) (3072 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-ttl) (3993 ms) -[ok]: maxmemory - policy volatile-lru should only remove volatile keys. (3428 ms) -[ok]: maxmemory - policy volatile-lfu should only remove volatile keys. (3497 ms) -[ok]: maxmemory - policy volatile-random should only remove volatile keys. (2990 ms) -[ok]: maxmemory - policy volatile-ttl should only remove volatile keys. (4756 ms) +[ok]: maxmemory - is the memory limit honoured? (policy allkeys-random) (268 ms) +[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lru) (461 ms) +[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lfu) (510 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-lru) (595 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-lfu) (605 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-random) (733 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-ttl) (1302 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-random) (2541 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-lru) (2615 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-lru) (2327 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-random) (2860 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-ttl) (3723 ms) +[ok]: maxmemory - policy volatile-lru should only remove volatile keys. (4411 ms) +[ok]: maxmemory - policy volatile-lfu should only remove volatile keys. (3576 ms) +[ok]: maxmemory - policy volatile-random should only remove volatile keys. (2945 ms) +[ok]: maxmemory - policy volatile-ttl should only remove volatile keys. (2369 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21320 ok === () Starting server 127.0.0.1:21322 ok -[ok]: slave buffer are counted correctly (24091 ms) +[ok]: slave buffer are counted correctly (24210 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21324 ok === () Starting server 127.0.0.1:21326 ok -[ok]: replica buffer don't induce eviction (6449 ms) +[ok]: replica buffer don't induce eviction (7731 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21328 ok -[ok]: Don't rehash if used memory exceeds maxmemory after rehash (214 ms) +[ok]: Don't rehash if used memory exceeds maxmemory after rehash (219 ms) === (maxmemory external:skip io-threads:skip) Starting server 127.0.0.1:21330 ok -evicted: 29 -evicted: 29 -[ok]: client tracking don't cause eviction feedback loop (1745 ms) +evicted: 30 +evicted: 30 +[ok]: client tracking don't cause eviction feedback loop (1783 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21332 ok -[ok]: propagation with eviction (54 ms) +[ok]: propagation with eviction (55 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21334 ok [ok]: propagation with eviction in MULTI (54 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21336 ok -[ok]: lru/lfu value of the key just added (2 ms) -[24/124 done]: unit/maxmemory (84 seconds) +[ok]: lru/lfu value of the key just added (3 ms) +[24/124 done]: unit/maxmemory (82 seconds) Testing unit/limits === (limits network external:skip) Starting server 127.0.0.1:21338 ok -[ok]: Check if maxclients works refusing connections (1183 ms) +[ok]: Check if maxclients works refusing connections (1185 ms) [25/124 done]: unit/limits (1 seconds) Testing unit/lazyfree === (lazyfree) Starting server 127.0.0.1:21340 ok -[ok]: UNLINK can reclaim memory in background (308 ms) -[ok]: FLUSHDB ASYNC can reclaim memory in background (321 ms) -[ok]: lazy free a stream with all types of metadata (148 ms) -[ok]: lazy free a stream with deleted cgroup (2 ms) +[ok]: UNLINK can reclaim memory in background (298 ms) +[ok]: FLUSHDB ASYNC can reclaim memory in background (325 ms) +[ok]: lazy free a stream with all types of metadata (162 ms) +[ok]: lazy free a stream with deleted cgroup (1 ms) [26/124 done]: unit/lazyfree (1 seconds) Testing unit/latency-monitor === (latency-monitor needs:latency) Starting server 127.0.0.1:21342 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 (2 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) +[ok]: Test latency events logging (3408 ms) LATENCY HISTORY data: -{1729316632 300} {1729316633 400} {1729316635 500} +{1729320355 300} {1729320356 400} {1729320358 500} [ok]: LATENCY HISTORY output is ok (1 ms) LATENCY LATEST data: -{command 1729316635 500 500} +{command 1729320358 500 500} [ok]: LATENCY LATEST output is ok (0 ms) LATENCY GRAPH data: command - high 500 ms, low 300 ms (all time high 500 ms) @@ -2177,132 +2212,132 @@ [ok]: LATENCY GRAPH can output the event graph (1 ms) [ok]: LATENCY GRAPH can output the expire event graph (0 ms) -[ok]: LATENCY of expire events are correctly collected (2193 ms) +[ok]: LATENCY of expire events are correctly collected (2150 ms) [ok]: LATENCY HISTORY / RESET with wrong event name is fine (0 ms) -[ok]: LATENCY DOCTOR produces some output (1 ms) +[ok]: LATENCY DOCTOR produces some output (2 ms) [ok]: LATENCY RESET is able to reset events (1 ms) [ok]: LATENCY HELP should not have unexpected options (0 ms) [27/124 done]: unit/latency-monitor (6 seconds) Testing unit/keyspace === (keyspace) Starting server 127.0.0.1:21344 ok -[ok]: DEL against a single item (1 ms) +[ok]: DEL against a single item (2 ms) [ok]: Vararg DEL (1 ms) [ok]: Untagged multi-key commands (1 ms) [ok]: KEYS with pattern (1 ms) -[ok]: KEYS to get all keys (0 ms) +[ok]: KEYS to get all keys (1 ms) [ok]: DBSIZE (0 ms) [ok]: KEYS with hashtag (2 ms) -[ok]: DEL all keys (2 ms) -[ok]: DEL against expired key (1102 ms) +[ok]: DEL all keys (3 ms) +[ok]: DEL against expired key (1103 ms) [ok]: EXISTS (1 ms) [ok]: Zero length value in key. SET/GET/EXISTS (1 ms) [ok]: Commands pipelining (0 ms) [ok]: Non existing command (0 ms) -[ok]: RENAME basic usage (0 ms) +[ok]: RENAME basic usage (1 ms) [ok]: RENAME source key should no longer exist (0 ms) [ok]: RENAME against already existing key (1 ms) -[ok]: RENAMENX basic usage (0 ms) +[ok]: RENAMENX basic usage (2 ms) [ok]: RENAMENX against already existing key (0 ms) -[ok]: RENAMENX against already existing key (2) (0 ms) +[ok]: RENAMENX against already existing key (2) (1 ms) [ok]: RENAME against non existing source key (0 ms) [ok]: RENAME where source and dest key are the same (existing) (1 ms) [ok]: RENAMENX where source and dest key are the same (existing) (0 ms) -[ok]: RENAME where source and dest key are the same (non existing) (0 ms) +[ok]: RENAME where source and dest key are the same (non existing) (1 ms) [ok]: RENAME with volatile key, should move the TTL as well (1 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]: COPY basic usage for string (1 ms) +[ok]: DEL all keys again (DB 1) (1 ms) +[ok]: COPY basic usage for string (2 ms) [ok]: COPY for string does not replace an existing key without REPLACE option (1 ms) [ok]: COPY for string can replace an existing key with REPLACE option (0 ms) -[ok]: COPY for string ensures that copied data is independent of copying data (1 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 (46 ms) -[ok]: COPY basic usage for list - listpack (2 ms) +[ok]: COPY for string ensures that copied data is independent of copying data (3 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 basic usage for list - listpack (3 ms) +[ok]: COPY basic usage for $type set (3 ms) [ok]: COPY basic usage for $type set (2 ms) -[ok]: COPY basic usage for $type set (2 ms) -[ok]: COPY basic usage for $type set (29 ms) -[ok]: COPY basic usage for listpack sorted set (2 ms) -[ok]: COPY basic usage for skiplist sorted set (19 ms) -[ok]: COPY basic usage for listpack hash (1 ms) -[ok]: COPY basic usage for hashtable hash (20 ms) -[ok]: COPY basic usage for stream (149 ms) -[ok]: COPY basic usage for stream-cgroups (7 ms) -[ok]: MOVE basic usage (1 ms) +[ok]: COPY basic usage for $type set (39 ms) +[ok]: COPY basic usage for listpack sorted set (3 ms) +[ok]: COPY basic usage for skiplist sorted set (29 ms) +[ok]: COPY basic usage for listpack hash (3 ms) +[ok]: COPY basic usage for hashtable hash (31 ms) +[ok]: COPY basic usage for stream (176 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) (0 ms) [ok]: MOVE can move key expire metadata as well (2 ms) -[ok]: MOVE does not create an expire if it does not exist (1 ms) +[ok]: MOVE does not create an expire if it does not exist (2 ms) [ok]: SET/GET keys in different DBs (2 ms) -[ok]: RANDOMKEY (10 ms) +[ok]: RANDOMKEY (18 ms) [ok]: RANDOMKEY against empty DB (0 ms) [ok]: RANDOMKEY regression 1 (1 ms) [ok]: KEYS * two times with long key, Github issue #1208 (1 ms) [ok]: Regression for pattern matching long nested loops (1 ms) [ok]: Coverage: basic SWAPDB test and unhappy path (3 ms) -[ok]: Coverage: SWAPDB and FLUSHDB (3 ms) -[ok]: Regression for pattern matching very long nested loops (5 ms) +[ok]: Coverage: SWAPDB and FLUSHDB (4 ms) +[ok]: Regression for pattern matching very long nested loops (4 ms) [28/124 done]: unit/keyspace (2 seconds) Testing unit/introspection === (introspection) Starting server 127.0.0.1:21346 ok [ok]: PING (1 ms) [ok]: CLIENT LIST (0 ms) -[ok]: CLIENT LIST with IDs (1 ms) -[ok]: CLIENT INFO (0 ms) -[ok]: client input output and command process statistics (35 ms) +[ok]: CLIENT LIST with IDs (0 ms) +[ok]: CLIENT INFO (1 ms) +[ok]: client input output and command process statistics (36 ms) [ok]: CLIENT KILL with illegal arguments (3 ms) CLIENT KILL maxAGE will kill old clients test attempts: 0 [ok]: CLIENT KILL maxAGE will kill old clients (2065 ms) -[ok]: CLIENT KILL SKIPME YES/NO will kill all clients (153 ms) -[ok]: CLIENT command unhappy path coverage (4 ms) -[ok]: CLIENT KILL close the client connection during bgsave (123 ms) +[ok]: CLIENT KILL SKIPME YES/NO will kill all clients (156 ms) +[ok]: CLIENT command unhappy path coverage (5 ms) +[ok]: CLIENT KILL close the client connection during bgsave (122 ms) [ok]: CLIENT REPLY OFF/ON: disable all commands reply (74 ms) -[ok]: CLIENT REPLY SKIP: skip the next command reply (72 ms) +[ok]: CLIENT REPLY SKIP: skip the next command reply (75 ms) [ok]: CLIENT REPLY ON: unset SKIP flag (72 ms) [ok]: MONITOR can log executed commands (32 ms) -[ok]: MONITOR can log commands issued by the scripting engine (31 ms) -[ok]: MONITOR can log commands issued by functions (31 ms) -[ok]: MONITOR supports redacting command arguments (33 ms) +[ok]: MONITOR can log commands issued by the scripting engine (32 ms) +[ok]: MONITOR can log commands issued by functions (32 ms) +[ok]: MONITOR supports redacting command arguments (34 ms) [ok]: MONITOR correctly handles multi-exec cases (33 ms) [ok]: MONITOR log blocked command only once (95 ms) -[ok]: CLIENT GETNAME should return NIL if name is not assigned (1 ms) -[ok]: CLIENT GETNAME check if name set correctly (0 ms) -[ok]: CLIENT LIST shows empty fields for unassigned names (1 ms) -[ok]: CLIENT SETNAME does not accept spaces (0 ms) -[ok]: CLIENT SETNAME can assign a name to this connection (1 ms) -[ok]: CLIENT SETNAME can change the name of an existing connection (0 ms) +[ok]: CLIENT GETNAME should return NIL if name is not assigned (0 ms) +[ok]: CLIENT GETNAME check if name set correctly (1 ms) +[ok]: CLIENT LIST shows empty fields for unassigned names (0 ms) +[ok]: CLIENT SETNAME does not accept spaces (1 ms) +[ok]: CLIENT SETNAME can assign a 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 (32 ms) -[ok]: CLIENT SETINFO can set a library name to this connection (1 ms) -[ok]: CLIENT SETINFO invalid args (1 ms) +[ok]: CLIENT SETINFO can set a library name to this connection (0 ms) +[ok]: CLIENT SETINFO invalid args (2 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:21348 ok === () Starting server 127.0.0.1:21350 ok === () Starting server 127.0.0.1:21352 ok === () Starting server 127.0.0.1:21354 ok -[ok]: CONFIG save params special case handled properly (1023 ms) -[ok]: CONFIG sanity (65 ms) -[ok]: CONFIG REWRITE sanity (306 ms) +[ok]: CONFIG save params special case handled properly (1028 ms) +[ok]: CONFIG sanity (69 ms) +[ok]: CONFIG REWRITE sanity (299 ms) === () Starting server 127.0.0.1:21356 ok -[ok]: CONFIG REWRITE handles save and shutdown properly (957 ms) -[ok]: CONFIG SET with multiple args (2 ms) -[ok]: CONFIG SET rollback on set error (1 ms) -dummy_accept: sockaaaaf0ca0780 -[ok]: CONFIG SET rollback on apply error (36 ms) -[ok]: CONFIG SET duplicate configs (0 ms) +[ok]: CONFIG REWRITE handles save and shutdown properly (947 ms) +[ok]: CONFIG SET with multiple args (3 ms) +[ok]: CONFIG SET rollback on set error (2 ms) +dummy_accept: sockaaab02564790 +[ok]: CONFIG SET rollback on apply error (37 ms) +[ok]: CONFIG SET duplicate configs (1 ms) [ok]: CONFIG SET set immutable (0 ms) -[ok]: CONFIG GET hidden configs (8 ms) +[ok]: CONFIG GET hidden configs (10 ms) [ok]: CONFIG GET multiple args (1 ms) -[ok]: valkey-server command line arguments - error cases (193 ms) +[ok]: valkey-server command line arguments - error cases (200 ms) === () Starting server 127.0.0.1:21359 ok === () Starting server 127.0.0.1:21361 ok -[ok]: tot-net-out for replica client (655 ms) +[ok]: tot-net-out for replica client (658 ms) === () Starting server 127.0.0.1:21363 ok -[ok]: valkey-server command line arguments - allow passing option name and option value in the same arg (256 ms) +[ok]: valkey-server command line arguments - allow passing option name and option value in the same arg (257 ms) === () Starting server 127.0.0.1:21365 ok -[ok]: valkey-server command line arguments - wrong usage that we support anyway (257 ms) +[ok]: valkey-server command line arguments - wrong usage that we support anyway (256 ms) === () Starting server 127.0.0.1:21367 ok [ok]: valkey-server command line arguments - allow option value to use the `--` prefix (256 ms) === () Starting server 127.0.0.1:21369 ok @@ -2312,266 +2347,266 @@ === () Starting server 127.0.0.1:21375 ok === () Starting server 127.0.0.1:21377 ok === () Starting server 127.0.0.1:21379 ok -[ok]: valkey-server command line arguments - save with empty input (1279 ms) +[ok]: valkey-server command line arguments - save with empty input (1286 ms) === () Starting server 127.0.0.1:21381 ok -[ok]: valkey-server command line arguments - take one bulk string with spaces for MULTI_ARG configs parsing (256 ms) +[ok]: valkey-server command line arguments - take one bulk string with spaces for MULTI_ARG configs parsing (257 ms) === (introspection external:skip) Starting server 127.0.0.1:21383 ok [ok]: cannot modify protected configuration - no (1 ms) === (introspection external:skip) Starting server 127.0.0.1:21385 ok -[ok]: cannot modify protected configuration - local (4 ms) +[ok]: cannot modify protected configuration - local (3 ms) === () Starting server 127.0.0.1:21387 ok -[ok]: config during loading (1000 ms) +[ok]: config during loading (976 ms) === (introspection) Starting server 127.0.0.1:21389 ok [ok]: CONFIG REWRITE handles rename-command properly (503 ms) === (introspection) Starting server 127.0.0.1:21391 ok === (introspection) Starting server 127.0.0.1:21393 ok -[ok]: CONFIG REWRITE handles alias config properly (994 ms) +[ok]: CONFIG REWRITE handles alias config properly (1005 ms) [29/124 done]: unit/introspection (12 seconds) Testing unit/introspection-2 === (introspection) Starting server 127.0.0.1:21395 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 (3006 ms) -[ok]: TOUCH alters the last access time of a key (3005 ms) -[ok]: Operations in no-touch mode do not alter the last access time of a key (1103 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 (3004 ms) +[ok]: Operations in no-touch mode do not alter the last access time of a key (1105 ms) [ok]: TOUCH returns the number of existing keys specified (1 ms) -[ok]: command stats for GEOADD (1 ms) +[ok]: command stats for GEOADD (2 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 (3 ms) -[ok]: command stats for scripts (1 ms) +[ok]: command stats for BRPOP (2 ms) +[ok]: command stats for MULTI (4 ms) +[ok]: command stats for scripts (2 ms) [ok]: COMMAND COUNT get total number of commands (0 ms) [ok]: COMMAND GETKEYS GET (0 ms) -[ok]: COMMAND GETKEYSANDFLAGS (0 ms) +[ok]: COMMAND GETKEYSANDFLAGS (1 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 (0 ms) -[ok]: COMMAND GETKEYS LCS (1 ms) -[ok]: COMMAND GETKEYS MORE THAN 256 KEYS (3 ms) +[ok]: COMMAND GETKEYS EVAL without keys (1 ms) +[ok]: COMMAND GETKEYS LCS (0 ms) +[ok]: COMMAND GETKEYS MORE THAN 256 KEYS (5 ms) [ok]: COMMAND LIST syntax error (1 ms) -[ok]: COMMAND LIST WITHOUT FILTERBY (3 ms) -[ok]: COMMAND LIST FILTERBY ACLCAT against non existing category (1 ms) -[ok]: COMMAND LIST FILTERBY ACLCAT - list all commands/subcommands (0 ms) +[ok]: COMMAND LIST WITHOUT FILTERBY (7 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 (2 ms) [ok]: COMMAND LIST FILTERBY MODULE against non existing module (0 ms) -[ok]: COMMAND INFO of invalid subcommands (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 (1 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 (1 ms) -[ok]: LMOVE 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 (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 (1 ms) -[ok]: MEMORY|USAGE 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 (2 ms) +[ok]: MEMORY|USAGE command will not be marked with movablekeys (1 ms) [ok]: RENAME command will not be marked with movablekeys (1 ms) -[ok]: GEORADIUS_RO command will not be marked with movablekeys (0 ms) +[ok]: GEORADIUS_RO command will not be marked with movablekeys (1 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 (0 ms) +[ok]: EVAL command is marked with movablekeys (1 ms) [ok]: SORT command is marked with movablekeys (1 ms) [ok]: SORT_RO command is marked with movablekeys (1 ms) -[ok]: MIGRATE 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) [30/124 done]: unit/introspection-2 (7 seconds) Testing unit/info === (info external:skip) Starting server 127.0.0.1:21397 ok === () Starting server 127.0.0.1:21399 ok [ok]: latencystats: disable/enable (3 ms) -[ok]: latencystats: configure percentiles (3 ms) +[ok]: latencystats: configure percentiles (4 ms) [ok]: latencystats: bad configure percentiles (4 ms) [ok]: latencystats: blocking commands (35 ms) [ok]: latencystats: subcommands (3 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 (3 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: failed call NOGROUP error (3 ms) [ok]: errorstats: rejected call unknown command (2 ms) -[ok]: errorstats: rejected call within MULTI/EXEC (4 ms) +[ok]: errorstats: rejected call within MULTI/EXEC (5 ms) [ok]: errorstats: rejected call due to wrong arity (3 ms) [ok]: errorstats: rejected call by OOM error (3 ms) [ok]: errorstats: rejected call by authorization error (4 ms) -[ok]: errorstats: blocking commands (34 ms) -[ok]: errorstats: limit errors will not increase indefinitely (172 ms) -eventloop metrics cycle1: 1118, cycle2: 1121 -eventloop metrics el_sum1: 61315, el_sum2: 62053 -eventloop metrics cmd_sum1: 12871, cmd_sum2: 12887 -[ok]: stats: eventloop metrics (113 ms) -instantaneous metrics instantaneous_eventloop_cycles_per_sec: 7 -instantaneous metrics instantaneous_eventloop_duration_usec: 342 -[ok]: stats: instantaneous metrics (1605 ms) -[ok]: stats: debug metrics (114 ms) -[ok]: stats: client input and output buffer limit disconnections (129 ms) -[ok]: clients: pubsub clients (65 ms) -[ok]: clients: watching clients (43 ms) +[ok]: errorstats: blocking commands (35 ms) +[ok]: errorstats: limit errors will not increase indefinitely (198 ms) +eventloop metrics cycle1: 1118, cycle2: 1120 +eventloop metrics el_sum1: 75557, el_sum2: 76245 +eventloop metrics cmd_sum1: 14435, cmd_sum2: 14453 +[ok]: stats: eventloop metrics (112 ms) +instantaneous metrics instantaneous_eventloop_cycles_per_sec: 8 +instantaneous metrics instantaneous_eventloop_duration_usec: 373 +[ok]: stats: instantaneous metrics (1604 ms) +[ok]: stats: debug metrics (115 ms) +[ok]: stats: client input and output buffer limit disconnections (131 ms) +[ok]: clients: pubsub clients (64 ms) +[ok]: clients: watching clients (44 ms) === (info external:skip) Starting server 127.0.0.1:21401 ok [ok]: memory: database and pubsub overhead and rehashing dict count (7 ms) -[31/124 done]: unit/info (3 seconds) +[31/124 done]: unit/info (4 seconds) Testing unit/info-command === (info and its relative command) Starting server 127.0.0.1:21403 ok [ok]: info command with at most one sub command (3 ms) [ok]: info command with one sub-section (1 ms) -[ok]: info command with multiple sub-sections (1 ms) -[32/124 done]: unit/info-command (1 seconds) +[ok]: info command with multiple sub-sections (2 ms) +[32/124 done]: unit/info-command (0 seconds) Testing unit/hyperloglog === (hll) Starting server 127.0.0.1:21405 ok -[ok]: HyperLogLog self test passes (600 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 (599 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]: PFCOUNT returns approximated cardinality of set (0 ms) -[ok]: HyperLogLogs are promote from sparse to dense (478 ms) +[ok]: HyperLogLogs are promote from sparse to dense (370 ms) [ok]: Change hll-sparse-max-bytes (0 ms) -[ok]: Hyperloglog promote to dense well in different hll-sparse-max-bytes (64 ms) -[ok]: HyperLogLog sparse encoding stress test (766 ms) +[ok]: Hyperloglog promote to dense well in different hll-sparse-max-bytes (41 ms) +[ok]: HyperLogLog sparse encoding stress test (771 ms) [ok]: Corrupted sparse HyperLogLogs are detected: Additional at tail (1 ms) [ok]: Corrupted sparse HyperLogLogs are detected: Broken magic (0 ms) -[ok]: Corrupted sparse HyperLogLogs are detected: Invalid encoding (0 ms) -[ok]: Corrupted dense HyperLogLogs are detected: Wrong length (1 ms) -[ok]: Fuzzing dense/sparse encoding: Server should always detect errors (48313 ms) -[ok]: PFADD, PFCOUNT, PFMERGE type checking works (2 ms) -[ok]: PFMERGE results on the cardinality of union of sets (1 ms) -[ok]: PFMERGE on missing source keys will create an empty destkey (3 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 (2 ms) -[ok]: PFCOUNT multiple-keys merge returns cardinality of union #1 (9427 ms) -[ok]: PFCOUNT multiple-keys merge returns cardinality of union #2 (3461 ms) -[ok]: PFDEBUG GETREG returns the HyperLogLog raw registers (480 ms) +[ok]: Corrupted sparse HyperLogLogs are detected: Invalid encoding (1 ms) +[ok]: Corrupted dense HyperLogLogs are detected: Wrong length (0 ms) +[ok]: Fuzzing dense/sparse encoding: Server should always detect errors (48024 ms) +[ok]: PFADD, PFCOUNT, PFMERGE type checking works (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 (0 ms) +[ok]: PFMERGE with one non-empty input key, dest key is actually one of the source keys (1 ms) +[ok]: PFCOUNT multiple-keys merge returns cardinality of union #1 (5414 ms) +[ok]: PFCOUNT multiple-keys merge returns cardinality of union #2 (2858 ms) +[ok]: PFDEBUG GETREG returns the HyperLogLog raw registers (490 ms) [ok]: PFADD / PFCOUNT cache invalidation works (1 ms) -[33/124 done]: unit/hyperloglog (63 seconds) +[33/124 done]: unit/hyperloglog (59 seconds) Testing unit/geo === (geo) Starting server 127.0.0.1:21407 ok -[ok]: GEO with wrong type src key (4 ms) -[ok]: GEO with non existing src key (2 ms) -[ok]: GEO BYLONLAT with empty search (1 ms) +[ok]: GEO with wrong type src key (3 ms) +[ok]: GEO with non existing src key (1 ms) +[ok]: GEO BYLONLAT with empty search (2 ms) [ok]: GEO BYMEMBER with non existing member (1 ms) [ok]: GEOADD create (0 ms) -[ok]: GEOADD update (0 ms) +[ok]: GEOADD update (1 ms) [ok]: GEOADD update with CH option (0 ms) [ok]: GEOADD update with NX option (1 ms) [ok]: GEOADD update with XX option (1 ms) [ok]: GEOADD update with CH NX option (0 ms) [ok]: GEOADD update with CH XX option (0 ms) -[ok]: GEOADD update with XX NX option will return syntax error (0 ms) +[ok]: GEOADD update with XX NX option will return syntax error (1 ms) [ok]: GEOADD update with invalid option (0 ms) [ok]: GEOADD invalid coordinates (0 ms) [ok]: GEOADD multi add (1 ms) [ok]: Check geoset values (0 ms) [ok]: GEORADIUS simple (sorted) (1 ms) [ok]: GEORADIUS_RO simple (sorted) (0 ms) -[ok]: GEOSEARCH simple (sorted) (0 ms) -[ok]: GEOSEARCH FROMLONLAT and FROMMEMBER cannot exist at the same time (1 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 (0 ms) -[ok]: GEOSEARCH BYRADIUS and BYBOX cannot exist at the same time (0 ms) +[ok]: GEOSEARCH BYRADIUS and BYBOX cannot exist at the same time (1 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 (0 ms) -[ok]: GEORADIUS with multiple WITH* tokens (2 ms) +[ok]: GEORADIUS with COUNT (1 ms) +[ok]: GEORADIUS with multiple WITH* tokens (1 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 (1 ms) +[ok]: GEORADIUS with ANY sorted by ASC (1 ms) +[ok]: GEORADIUS with ANY but no COUNT (0 ms) [ok]: GEORADIUS with COUNT but missing integer argument (0 ms) [ok]: GEORADIUS with COUNT DESC (0 ms) [ok]: GEORADIUS HUGE, issue #2767 (1 ms) [ok]: GEORADIUSBYMEMBER simple (sorted) (0 ms) -[ok]: GEORADIUSBYMEMBER_RO simple (sorted) (0 ms) -[ok]: GEORADIUSBYMEMBER search areas contain satisfied points in oblique direction (2 ms) -[ok]: GEORADIUSBYMEMBER crossing pole search (1 ms) -[ok]: GEOSEARCH FROMMEMBER simple (sorted) (0 ms) +[ok]: GEORADIUSBYMEMBER_RO simple (sorted) (1 ms) +[ok]: GEORADIUSBYMEMBER search areas contain satisfied points in oblique direction (1 ms) +[ok]: GEORADIUSBYMEMBER crossing pole search (0 ms) +[ok]: GEOSEARCH FROMMEMBER simple (sorted) (1 ms) [ok]: GEOSEARCH vs GEORADIUS (1 ms) [ok]: GEOSEARCH non square, long and narrow (1 ms) [ok]: GEOSEARCH corner point test (1 ms) -[ok]: GEORADIUSBYMEMBER withdist (sorted) (0 ms) +[ok]: GEORADIUSBYMEMBER withdist (sorted) (1 ms) [ok]: GEOHASH is able to return geohash strings (1 ms) -[ok]: GEOHASH with only key as argument (1 ms) +[ok]: GEOHASH with only key as argument (0 ms) [ok]: GEOPOS simple (1 ms) [ok]: GEOPOS missing element (1 ms) [ok]: GEOPOS with only key as argument (1 ms) [ok]: GEODIST simple & unit (1 ms) [ok]: GEODIST missing elements (1 ms) [ok]: GEORADIUS STORE option: syntax error (1 ms) -[ok]: GEOSEARCHSTORE STORE option: syntax error (0 ms) +[ok]: GEOSEARCHSTORE STORE option: syntax error (1 ms) [ok]: GEORANGE STORE option: incompatible options (1 ms) -[ok]: GEORANGE STORE option: plain usage (2 ms) -[ok]: GEORADIUSBYMEMBER STORE/STOREDIST option: plain usage (1 ms) +[ok]: GEORANGE STORE option: plain usage (1 ms) +[ok]: GEORADIUSBYMEMBER STORE/STOREDIST option: plain usage (2 ms) [ok]: GEOSEARCHSTORE STORE option: plain usage (1 ms) [ok]: GEORANGE STOREDIST option: plain usage (1 ms) -[ok]: GEOSEARCHSTORE STOREDIST option: plain usage (1 ms) -[ok]: GEORANGE STOREDIST option: COUNT ASC and DESC (1 ms) +[ok]: GEOSEARCHSTORE STOREDIST option: plain usage (0 ms) +[ok]: GEORANGE STOREDIST option: COUNT ASC and DESC (2 ms) [ok]: GEOSEARCH the box spans -180° or 180° (1 ms) -[ok]: GEOSEARCH with small distance (0 ms) -[ok]: GEOSEARCH fuzzy test - byradius (15039 ms) -[ok]: GEOSEARCH fuzzy test - bybox (12849 ms) -[ok]: GEOSEARCH box edges fuzzy test (46 ms) -[34/124 done]: unit/geo (29 seconds) +[ok]: GEOSEARCH with small distance (1 ms) +[ok]: GEOSEARCH fuzzy test - byradius (14116 ms) +[ok]: GEOSEARCH fuzzy test - bybox (11130 ms) +[ok]: GEOSEARCH box edges fuzzy test (80 ms) +[34/124 done]: unit/geo (25 seconds) Testing unit/functions === (scripting) Starting server 127.0.0.1:21409 ok -[ok]: FUNCTION - Basic usage (3 ms) -[ok]: FUNCTION - Load with unknown argument (4 ms) -[ok]: FUNCTION - Create an already exiting library raise error (2 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 - Basic usage (1 ms) +[ok]: FUNCTION - Load with unknown argument (0 ms) +[ok]: FUNCTION - Create an already exiting library raise error (1 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 library with unexisting engine (0 ms) [ok]: FUNCTION - Test uncompiled script (0 ms) -[ok]: FUNCTION - test replace argument (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 (1 ms) -[ok]: FUNCTION - test function delete (0 ms) -[ok]: FUNCTION - test fcall bad arguments (0 ms) -[ok]: FUNCTION - test fcall bad number of keys arguments (1 ms) -[ok]: FUNCTION - test fcall negative number of keys (2 ms) +[ok]: FUNCTION - test replace argument with failure keeps old libraries (0 ms) +[ok]: FUNCTION - test function delete (1 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 function kill when function is not running (2 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 (3 ms) +[ok]: FUNCTION - test debug reload with nosave and noflush (2 ms) [ok]: FUNCTION - test flushall and flushdb do not clean functions (1 ms) -[ok]: FUNCTION - test function dump and restore (2 ms) -[ok]: FUNCTION - test function dump and restore with flush argument (2 ms) -[ok]: FUNCTION - test function dump and restore with append argument (2 ms) +[ok]: FUNCTION - test function dump and restore (1 ms) +[ok]: FUNCTION - test function dump and restore with flush argument (0 ms) +[ok]: FUNCTION - test function dump and restore with append argument (1 ms) [ok]: FUNCTION - test function dump and restore with replace argument (2 ms) -[ok]: FUNCTION - test function restore with bad payload do not drop existing functions (1 ms) +[ok]: FUNCTION - test function restore with bad payload do not drop existing functions (0 ms) [ok]: FUNCTION - test function restore with wrong number of arguments (1 ms) -[ok]: FUNCTION - test fcall_ro with write command (1 ms) +[ok]: FUNCTION - test fcall_ro with write command (0 ms) [ok]: FUNCTION - test fcall_ro with read only commands (1 ms) -[ok]: FUNCTION - test keys and argv (1 ms) +[ok]: FUNCTION - test keys and argv (0 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 (436 ms) -[ok]: FUNCTION - test script kill not working on function (422 ms) -[ok]: FUNCTION - test function kill not working on eval (437 ms) +[ok]: FUNCTION - test function kill (426 ms) +[ok]: FUNCTION - test script kill not working on function (427 ms) +[ok]: FUNCTION - test function kill not working on eval (436 ms) [ok]: FUNCTION - test function flush (4 ms) -[ok]: FUNCTION - test function wrong argument (0 ms) +[ok]: FUNCTION - test function wrong argument (2 ms) === (scripting repl external:skip) Starting server 127.0.0.1:21411 ok === () Starting server 127.0.0.1:21413 ok -[ok]: Connect a replica to the master instance (114 ms) -[ok]: FUNCTION - creation is replicated to replica (610 ms) +[ok]: Connect a replica to the master instance (105 ms) +[ok]: FUNCTION - creation is replicated to replica (607 ms) [ok]: FUNCTION - call on replica (0 ms) -[ok]: FUNCTION - restore is replicated to replica (2 ms) -[ok]: FUNCTION - delete is replicated to replica (0 ms) +[ok]: FUNCTION - restore is replicated to replica (3 ms) +[ok]: FUNCTION - delete is replicated to replica (1 ms) [ok]: FUNCTION - flush is replicated to replica (1 ms) -[ok]: Disconnecting the replica from master instance (105 ms) -[ok]: FUNCTION - test replication to replica on rdb phase (0 ms) -[ok]: FUNCTION - test replication to replica on rdb phase info command (1 ms) -[ok]: FUNCTION - create on read only replica (1 ms) -[ok]: FUNCTION - delete on read only replica (0 ms) -[ok]: FUNCTION - function effect is replicated to replica (915 ms) +[ok]: Disconnecting the replica from master instance (104 ms) +[ok]: FUNCTION - test replication to replica on rdb phase (1 ms) +[ok]: FUNCTION - test replication to replica on rdb phase info command (0 ms) +[ok]: FUNCTION - create on read only replica (0 ms) +[ok]: FUNCTION - delete on read only replica (1 ms) +[ok]: FUNCTION - function effect is replicated to replica (912 ms) [ok]: FUNCTION - modify key space of read only replica (1 ms) === () Starting server 127.0.0.1:21415 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 (351 ms) +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 (398 ms) === (scripting) Starting server 127.0.0.1:21417 ok -[ok]: LIBRARIES - test shared function can access default globals (1 ms) -[ok]: LIBRARIES - usage and code sharing (2 ms) +[ok]: LIBRARIES - test shared function can access default globals (0 ms) +[ok]: LIBRARIES - usage and code sharing (1 ms) [ok]: LIBRARIES - test registration failure revert the entire load (1 ms) [ok]: LIBRARIES - test registration function name collision (1 ms) [ok]: LIBRARIES - test registration function name collision on same library (0 ms) @@ -2580,116 +2615,116 @@ [ok]: LIBRARIES - test registration with to many arguments (1 ms) [ok]: LIBRARIES - test registration with no string name (0 ms) [ok]: LIBRARIES - test registration with wrong name format (0 ms) -[ok]: LIBRARIES - test registration with empty name (0 ms) +[ok]: LIBRARIES - test registration with empty name (1 ms) [ok]: LIBRARIES - math.random from function load (0 ms) [ok]: LIBRARIES - redis.call from function load (1 ms) [ok]: LIBRARIES - redis.setresp from function load (0 ms) -[ok]: LIBRARIES - redis.set_repl from function load (1 ms) -[ok]: LIBRARIES - redis.acl_check_cmd from function load (0 ms) +[ok]: LIBRARIES - redis.set_repl from function load (0 ms) +[ok]: LIBRARIES - redis.acl_check_cmd from function load (1 ms) [ok]: LIBRARIES - malicious access test (1 ms) -[ok]: LIBRARIES - delete removed all functions on library (0 ms) -[ok]: LIBRARIES - register function inside a function (1 ms) -[ok]: LIBRARIES - register library with no functions (0 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 (1 ms) [ok]: LIBRARIES - load timeout (502 ms) -[ok]: LIBRARIES - verify global protection on the load run (0 ms) +[ok]: LIBRARIES - verify global protection on the load run (1 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 callback type (0 ms) [ok]: LIBRARIES - named arguments, bad description (0 ms) -[ok]: LIBRARIES - named arguments, unknown argument (1 ms) +[ok]: LIBRARIES - named arguments, unknown argument (0 ms) [ok]: LIBRARIES - named arguments, missing function name (0 ms) [ok]: LIBRARIES - named arguments, missing callback (0 ms) [ok]: FUNCTION - test function restore with function name collision (3 ms) [ok]: FUNCTION - test function list with code (1 ms) -[ok]: FUNCTION - test function list with pattern (0 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 (1 ms) +[ok]: FUNCTION - test function list with bad argument to library name (1 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) === (scripting) Starting server 127.0.0.1:21419 ok -[ok]: FUNCTION - wrong flags type named arguments (0 ms) +[ok]: FUNCTION - wrong flags type named arguments (1 ms) [ok]: FUNCTION - wrong flag type (0 ms) [ok]: FUNCTION - unknown flag (1 ms) -[ok]: FUNCTION - write script on fcall_ro (1 ms) -[ok]: FUNCTION - write script with no-writes flag (1 ms) +[ok]: FUNCTION - write script on fcall_ro (0 ms) +[ok]: FUNCTION - write script with no-writes flag (0 ms) [ok]: FUNCTION - deny oom (1 ms) [ok]: FUNCTION - deny oom on no-writes function (1 ms) [ok]: FUNCTION - allow stale (2 ms) [ok]: FUNCTION - valkey version api (1 ms) [ok]: FUNCTION - function stats (1 ms) [ok]: FUNCTION - function stats reloaded correctly from rdb (1 ms) -[ok]: FUNCTION - function stats delete library (1 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 stats cleaned after flush (0 ms) [ok]: FUNCTION - function test empty engine (0 ms) -[ok]: FUNCTION - function test unknown metadata value (1 ms) +[ok]: FUNCTION - function test unknown metadata value (0 ms) [ok]: FUNCTION - function test no name (0 ms) -[ok]: FUNCTION - function test multiple names (0 ms) +[ok]: FUNCTION - function test multiple names (1 ms) [ok]: FUNCTION - function test name with quotes (0 ms) [ok]: FUNCTION - trick global protection 1 (1 ms) [ok]: FUNCTION - test getmetatable on script load (0 ms) -[35/124 done]: unit/functions (6 seconds) +[35/124 done]: unit/functions (7 seconds) Testing unit/expire === (expire) Starting server 127.0.0.1:21421 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 (2102 ms) -[ok]: EXPIRE - write on expire should work (1 ms) -[ok]: EXPIREAT - Check for EXPIRE alike behavior (0 ms) -[ok]: SETEX - Set + Expire combo operation. Check for TTL (1 ms) +[ok]: EXPIRE - set timeouts multiple times (2 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 (2101 ms) +[ok]: EXPIRE - write on expire should work (2 ms) +[ok]: EXPIREAT - Check for EXPIRE alike behavior (1 ms) +[ok]: SETEX - Set + Expire combo operation. Check for TTL (0 ms) [ok]: SETEX - Check value (0 ms) -[ok]: SETEX - Overwrite old key (1 ms) +[ok]: SETEX - Overwrite old key (0 ms) [ok]: SETEX - Wait for the key to expire (1101 ms) -[ok]: SETEX - Wrong time parameter (1 ms) +[ok]: SETEX - Wrong time parameter (0 ms) [ok]: PERSIST can undo an EXPIRE (2 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 (1105 ms) PSETEX sub-second expire test attempts: 0 -[ok]: PSETEX can set sub-second expires (104 ms) +[ok]: PSETEX can set sub-second expires (103 ms) PEXPIRE sub-second expire test attempts: 0 [ok]: PEXPIRE can set sub-second expires (103 ms) PEXPIREAT sub-second expire test attempts: 0 -[ok]: PEXPIREAT can set sub-second expires (204 ms) +[ok]: PEXPIREAT can set sub-second expires (205 ms) [ok]: TTL returns time to live in seconds (1 ms) [ok]: PTTL returns time to live in milliseconds (1 ms) [ok]: TTL / PTTL / EXPIRETIME / PEXPIRETIME return -1 if key has no expire (1 ms) [ok]: TTL / PTTL / EXPIRETIME / PEXPIRETIME return -2 if key does not exit (1 ms) -[ok]: EXPIRETIME returns absolute expiration time in seconds (1 ms) -[ok]: PEXPIRETIME returns absolute expiration time in milliseconds (0 ms) -[ok]: Server should actively expire keys incrementally (710 ms) -[ok]: Server should lazy expire keys (1006 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]: EXPIRETIME returns absolute expiration time in seconds (0 ms) +[ok]: PEXPIRETIME returns absolute expiration time in milliseconds (1 ms) +[ok]: Server should actively expire keys incrementally (607 ms) +[ok]: Server should lazy expire keys (1004 ms) +[ok]: EXPIRE should not resurrect keys (issue #1026) (1004 ms) +[ok]: 5 keys in, 5 keys out (2 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]: 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 (2 ms) -[ok]: PEXPIRE with big integer overflow when basetime is added (0 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 (0 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:21423 ok -[ok]: All time-to-live(TTL) in commands are propagated as absolute timestamp in milliseconds in AOF (2022 ms) -[ok]: All TTL in commands are propagated as absolute timestamp in replication stream (123 ms) +[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 (124 ms) === (needs:repl external:skip) Starting server 127.0.0.1:21425 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 (121 ms) +[ok]: For all replicated TTL-related commands, absolute expire times are identical on primary and replica (119 ms) -Waiting for background AOF rewrite to finish... [ok]: expired key which is created in writeable replicas should be deleted by active expiry (234 ms) +Waiting for background AOF rewrite to finish... [ok]: expired key which is created in writeable replicas should be deleted by active expiry (232 ms) [ok]: SET command will remove expire (1 ms) [ok]: SET - use KEEPTTL option, TTL should not be removed (1 ms) [ok]: SET - use KEEPTTL option, TTL should not be removed after loadaof (2007 ms) -[ok]: GETEX use of PERSIST option should remove TTL (0 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, UNLINK, or nothing (56 ms) -[ok]: EXPIRE with NX option on a key with ttl (1 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]: GETEX propagate as to replica as PERSIST, UNLINK, or nothing (61 ms) +[ok]: EXPIRE with NX option on a key with ttl (0 ms) +[ok]: EXPIRE with NX option on a key without ttl (0 ms) +[ok]: EXPIRE with XX option on a key with ttl (1 ms) [ok]: EXPIRE with XX option on a key without ttl (1 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 (1 ms) @@ -2698,142 +2733,142 @@ [ok]: EXPIRE with LT option on a key with lower ttl (1 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 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 (1 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 XX (0 ms) -[ok]: EXPIRE with unsupported options (1 ms) +[ok]: EXPIRE with conflicting options: NX XX (1 ms) +[ok]: EXPIRE with unsupported options (0 ms) [ok]: EXPIRE with unsupported options (0 ms) [ok]: EXPIRE with negative expiry (1 ms) -[ok]: EXPIRE with negative expiry on a non-valitale key (0 ms) +[ok]: EXPIRE with negative expiry on a non-valitale key (1 ms) [ok]: EXPIRE with non-existed key (0 ms) -[ok]: Server should not propagate the read command on lazy expire (89 ms) +[ok]: Server should not propagate the read command on lazy expire (87 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 (102 ms) +[ok]: RANDOMKEY: Lazy-expire should not be wrapped in MULTI/EXEC (101 ms) === (expire external:skip cluster) Starting server 127.0.0.1:21427 ok -[ok]: expire scan should skip dictionaries with lot's of empty buckets (1347 ms) -[36/124 done]: unit/expire (17 seconds) +[ok]: expire scan should skip dictionaries with lot's of empty buckets (1361 ms) +[36/124 done]: unit/expire (16 seconds) Testing unit/dump === (dump) Starting server 127.0.0.1:21429 ok [ok]: DUMP / RESTORE are able to serialize / unserialize a simple key (2 ms) [ok]: RESTORE can set an arbitrary expire to the materialized key (1 ms) [ok]: RESTORE can set an expire that overflows a 32 bit integer (2 ms) [ok]: RESTORE can set an absolute expire (1 ms) -[ok]: RESTORE with ABSTTL in the past (2 ms) +[ok]: RESTORE with ABSTTL in the past (1 ms) [ok]: RESTORE can set LRU (2 ms) -[ok]: RESTORE can set LFU (2 ms) +[ok]: RESTORE can set LFU (1 ms) [ok]: RESTORE returns an error of the key already exists (1 ms) -[ok]: RESTORE can overwrite an existing key with REPLACE (2 ms) -[ok]: RESTORE can detect a syntax error for unrecognized options (1 ms) -[ok]: RESTORE should not store key that are already expired, with REPLACE will propagate it as DEL or UNLINK (137 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 (47 ms) [ok]: DUMP of non existing key returns nil (0 ms) === (repl) Starting server 127.0.0.1:21431 ok -[ok]: MIGRATE is caching connections (254 ms) -[ok]: MIGRATE cached connections are released after some time (15002 ms) +[ok]: MIGRATE is caching connections (379 ms) +[ok]: MIGRATE cached connections are released after some time (15004 ms) === (repl) Starting server 127.0.0.1:21433 ok -[ok]: MIGRATE is able to migrate a key between two instances (252 ms) +[ok]: MIGRATE is able to migrate a key between two instances (238 ms) === (repl) Starting server 127.0.0.1:21435 ok -[ok]: MIGRATE is able to copy a key between two instances (250 ms) +[ok]: MIGRATE is able to copy a key between two instances (265 ms) === (repl) Starting server 127.0.0.1:21437 ok -[ok]: MIGRATE will not overwrite existing keys, unless REPLACE is used (250 ms) +[ok]: MIGRATE will not overwrite existing keys, unless REPLACE is used (264 ms) === (repl) Starting server 127.0.0.1:21439 ok -[ok]: MIGRATE propagates TTL correctly (250 ms) +[ok]: MIGRATE propagates TTL correctly (255 ms) === (repl) Starting server 127.0.0.1:21441 ok -[ok]: MIGRATE can correctly transfer large values (6917 ms) +[ok]: MIGRATE can correctly transfer large values (11064 ms) === (repl) Starting server 127.0.0.1:21443 ok [ok]: MIGRATE can correctly transfer hashes (250 ms) === (repl) Starting server 127.0.0.1:21445 ok -[ok]: MIGRATE timeout actually works (845 ms) +[ok]: MIGRATE timeout actually works (859 ms) === (repl) Starting server 127.0.0.1:21447 ok -[ok]: MIGRATE can migrate multiple keys at once (249 ms) -[ok]: MIGRATE with multiple keys must have empty key arg (0 ms) +[ok]: MIGRATE can migrate multiple keys at once (252 ms) +[ok]: MIGRATE with multiple keys must have empty key arg (1 ms) === (repl) Starting server 127.0.0.1:21449 ok -[ok]: MIGRATE with multiple keys migrate just existing ones (253 ms) +[ok]: MIGRATE with multiple keys migrate just existing ones (252 ms) === (repl) Starting server 127.0.0.1:21451 ok -[ok]: MIGRATE with multiple keys: stress command rewriting (248 ms) +[ok]: MIGRATE with multiple keys: stress command rewriting (249 ms) === (repl) Starting server 127.0.0.1:21453 ok -[ok]: MIGRATE with multiple keys: delete just ack keys (249 ms) +[ok]: MIGRATE with multiple keys: delete just ack keys (250 ms) === (repl) Starting server 127.0.0.1:21455 ok [ok]: MIGRATE AUTH: correct and wrong password cases (252 ms) -[37/124 done]: unit/dump (26 seconds) +[37/124 done]: unit/dump (30 seconds) Testing unit/client-eviction === () Starting server 127.0.0.1:21457 ok -[ok]: client evicted due to large argv (146 ms) +[ok]: client evicted due to large argv (147 ms) [ok]: client evicted due to large query buf (79 ms) -[ok]: client evicted due to percentage of maxmemory (73 ms) -[ok]: client evicted due to large multi buf (240 ms) -[ok]: client evicted due to watched key list (369 ms) -[ok]: client evicted due to pubsub subscriptions (1284 ms) -[ok]: client evicted due to tracking redirection (98 ms) -[ok]: client evicted due to client tracking prefixes (1521 ms) -[ok]: client evicted due to output buf (40 ms) +[ok]: client evicted due to percentage of maxmemory (72 ms) +[ok]: client evicted due to large multi buf (330 ms) +[ok]: client evicted due to watched key list (289 ms) +[ok]: client evicted due to pubsub subscriptions (1587 ms) +[ok]: client evicted due to tracking redirection (47 ms) +[ok]: client evicted due to client tracking prefixes (1463 ms) +[ok]: client evicted due to output buf (41 ms) [ok]: client no-evict on (113 ms) -[ok]: client no-evict off (84 ms) +[ok]: client no-evict off (82 ms) === () Starting server 127.0.0.1:21459 ok -[ok]: avoid client eviction when client is freed by output buffer limit (239 ms) +[ok]: avoid client eviction when client is freed by output buffer limit (248 ms) === () Starting server 127.0.0.1:21461 ok -[ok]: decrease maxmemory-clients causes client eviction (672 ms) +[ok]: decrease maxmemory-clients causes client eviction (711 ms) === () Starting server 127.0.0.1:21463 ok -[ok]: evict clients only until below limit (518 ms) +[ok]: evict clients only until below limit (489 ms) === () Starting server 127.0.0.1:21465 ok -[ok]: evict clients in right order (large to small) (208 ms) +[ok]: evict clients in right order (large to small) (475 ms) === () Starting server 127.0.0.1:21467 ok -[ok]: client total memory grows during client no-evict (151 ms) -[ok]: client total memory grows during maxmemory-clients disabled (149 ms) -[38/124 done]: unit/client-eviction (7 seconds) +[ok]: client total memory grows during client no-evict (153 ms) +[ok]: client total memory grows during maxmemory-clients disabled (152 ms) +[38/124 done]: unit/client-eviction (9 seconds) Testing unit/bitops === (bitops) Starting server 127.0.0.1:21469 ok -[ok]: BITCOUNT against wrong type (1 ms) +[ok]: BITCOUNT against wrong type (2 ms) [ok]: BITCOUNT returns 0 against non existing key (1 ms) [ok]: BITCOUNT returns 0 with out of range indexes (1 ms) [ok]: BITCOUNT returns 0 with negative indexes where start > end (1 ms) [ok]: BITCOUNT against test vector #1 (1 ms) -[ok]: BITCOUNT against test vector #2 (0 ms) +[ok]: BITCOUNT against test vector #2 (1 ms) [ok]: BITCOUNT against test vector #3 (1 ms) [ok]: BITCOUNT against test vector #4 (1 ms) [ok]: BITCOUNT against test vector #5 (0 ms) -[ok]: BITCOUNT fuzzing without start/end (274 ms) -[ok]: BITCOUNT fuzzing with start/end (360 ms) -[ok]: BITCOUNT with just start (1 ms) -[ok]: BITCOUNT with start, end (1 ms) -[ok]: BITCOUNT with illegal arguments (0 ms) +[ok]: BITCOUNT fuzzing without start/end (448 ms) +[ok]: BITCOUNT fuzzing with start/end (465 ms) +[ok]: BITCOUNT with just start (0 ms) +[ok]: BITCOUNT with start, end (2 ms) +[ok]: BITCOUNT with illegal arguments (1 ms) [ok]: BITCOUNT against non-integer value (1 ms) [ok]: BITCOUNT regression test for github issue #582 (0 ms) -[ok]: BITCOUNT misaligned prefix (1 ms) +[ok]: BITCOUNT misaligned prefix (0 ms) [ok]: BITCOUNT misaligned prefix + full words + remainder (0 ms) [ok]: BITOP NOT (empty string) (0 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 (0 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 (274 ms) -[ok]: BITOP or fuzzing (219 ms) -[ok]: BITOP xor fuzzing (228 ms) -[ok]: BITOP NOT fuzzing (27 ms) -[ok]: BITOP with integer encoded source objects (0 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 (0 ms) +[ok]: BITOP and fuzzing (128 ms) +[ok]: BITOP or fuzzing (176 ms) +[ok]: BITOP xor fuzzing (167 ms) +[ok]: BITOP NOT fuzzing (29 ms) +[ok]: BITOP with integer encoded source objects (1 ms) +[ok]: BITOP with non string source key (0 ms) +[ok]: BITOP with empty string after non empty string (issue #529) (1 ms) +[ok]: BITPOS against wrong type (0 ms) +[ok]: BITPOS will illegal arguments (1 ms) [ok]: BITPOS against non-integer value (1 ms) -[ok]: BITPOS bit=0 with empty key returns 0 (0 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 (1 ms) -[ok]: BITPOS bit=0 unaligned+full word+reminder (2 ms) +[ok]: BITPOS bit=0 unaligned+full word+reminder (3 ms) [ok]: BITPOS bit=1 unaligned+full word+reminder (2 ms) -[ok]: BITPOS bit=1 returns -1 if string is all 0 bits (6 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 (1 ms) -[ok]: BITPOS bit=0 changes behavior if end is given (1 ms) -[ok]: SETBIT/BITFIELD only increase dirty when the value changed (3 ms) -[ok]: BITPOS bit=1 fuzzy testing using SETBIT (223 ms) -[ok]: BITPOS bit=0 fuzzy testing using SETBIT (352 ms) -[ok]: BITPOS/BITCOUNT fuzzy testing using SETBIT (199 ms) +[ok]: BITPOS bit=1 works with intervals (2 ms) +[ok]: BITPOS bit=0 changes behavior if end is given (0 ms) +[ok]: SETBIT/BITFIELD only increase dirty when the value changed (4 ms) +[ok]: BITPOS bit=1 fuzzy testing using SETBIT (307 ms) +[ok]: BITPOS bit=0 fuzzy testing using SETBIT (511 ms) +[ok]: BITPOS/BITCOUNT fuzzy testing using SETBIT (504 ms) === (bitops) Starting server 127.0.0.1:21471 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 @@ -2841,51 +2876,51 @@ Testing unit/bitfield === (bitops) Starting server 127.0.0.1:21473 ok [ok]: BITFIELD signed SET and GET basics (1 ms) -[ok]: BITFIELD unsigned SET and GET basics (1 ms) -[ok]: BITFIELD signed SET and GET together (1 ms) -[ok]: BITFIELD unsigned with SET, GET and INCRBY arguments (0 ms) -[ok]: BITFIELD with only key as argument (1 ms) +[ok]: BITFIELD unsigned SET and GET basics (2 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 # form (1 ms) -[ok]: BITFIELD basic INCRBY form (1 ms) +[ok]: BITFIELD basic INCRBY form (0 ms) [ok]: BITFIELD chaining of multiple commands (0 ms) [ok]: BITFIELD unsigned overflow wrap (1 ms) [ok]: BITFIELD unsigned overflow sat (1 ms) [ok]: BITFIELD signed overflow wrap (1 ms) -[ok]: BITFIELD signed overflow sat (1 ms) -[ok]: BITFIELD overflow detection fuzzing (273 ms) -[ok]: BITFIELD overflow wrap fuzzing (232 ms) +[ok]: BITFIELD signed overflow sat (2 ms) +[ok]: BITFIELD overflow detection fuzzing (432 ms) +[ok]: BITFIELD overflow wrap fuzzing (530 ms) [ok]: BITFIELD regression for #3221 (1 ms) -[ok]: BITFIELD regression for #3564 (1 ms) +[ok]: BITFIELD regression for #3564 (4 ms) [ok]: BITFIELD_RO with only key as argument (0 ms) [ok]: BITFIELD_RO fails when write option is used (0 ms) === (repl external:skip) Starting server 127.0.0.1:21475 ok === () Starting server 127.0.0.1:21477 ok [ok]: BITFIELD: setup slave (103 ms) [ok]: BITFIELD: write on master, read on slave (820 ms) -[ok]: BITFIELD_RO with only key as argument on read-only replica (1 ms) +[ok]: BITFIELD_RO with only key as argument on read-only replica (0 ms) [ok]: BITFIELD_RO fails when write option is used on read-only replica (0 ms) -[40/124 done]: unit/bitfield (2 seconds) +[40/124 done]: unit/bitfield (3 seconds) Testing unit/auth === (auth external:skip) Starting server 127.0.0.1:21479 ok -[ok]: AUTH fails if there is no password configured server side (1 ms) +[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:21481 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]: 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 (61 ms) === (auth_binary_password external:skip) Starting server 127.0.0.1:21483 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) === (primaryauth) Starting server 127.0.0.1:21485 ok -[ok]: primaryauth test with binary password dualchannel = yes (954 ms) +[ok]: primaryauth test with binary password dualchannel = yes (955 ms) === (auth_binary_password external:skip) Starting server 127.0.0.1:21487 ok [ok]: AUTH fails when binary password is wrong (1 ms) [ok]: AUTH succeeds when binary password is correct (0 ms) === (primaryauth) Starting server 127.0.0.1:21489 ok -[ok]: primaryauth test with binary password dualchannel = no (954 ms) -[41/124 done]: unit/auth (4 seconds) +[ok]: primaryauth test with binary password dualchannel = no (955 ms) +[41/124 done]: unit/auth (3 seconds) Testing unit/aofrw === (aofrw external:skip logreqres:skip) Starting server 127.0.0.1:21491 ok @@ -2895,8 +2930,7 @@ 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 (8478 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite during write load: RDB preamble=yes (8628 ms) Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... @@ -2905,76 +2939,71 @@ 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 (13029 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite during write load: RDB preamble=no (13277 ms) === (aofrw external:skip) Starting server 127.0.0.1:21493 ok -Waiting for background AOF rewrite to finish... [ok]: Turning off AOF kills the background writing child if any (59 ms) +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... Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with listpack encoding, string data (109 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, string data (229 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, string data (222 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 (108 ms) +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... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, int data (278 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, int data (206 ms) -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with intset encoding, string data (108 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with intset encoding, string data (58 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, string data (221 ms) - -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with intset encoding, int data (57 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, string data (239 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, int data (246 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with intset encoding, int data (108 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with listpack encoding, string data (57 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, int data (203 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, string data (235 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with listpack encoding, string data (58 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 hashtable encoding, string data (247 ms) -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, int data (326 ms) - -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, string data (57 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with listpack encoding, int data (59 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, string data (230 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, int data (243 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, int data (57 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, string data (59 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, int data (215 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 (324 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite functions (107 ms) -[ok]: BGREWRITEAOF is delayed if BGSAVE is in progress (239 ms) -[ok]: BGREWRITEAOF is refused if already in progress (15 ms) -[42/124 done]: unit/aofrw (25 seconds) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, int data (108 ms) + +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, int data (222 ms) + +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite functions (56 ms) +[ok]: BGREWRITEAOF is delayed if BGSAVE is in progress (236 ms) +[ok]: BGREWRITEAOF is refused if already in progress (28 ms) +[42/124 done]: unit/aofrw (26 seconds) Testing unit/acl === (acl external:skip) Starting server 127.0.0.1:21495 ok -[ok]: Connections start with the default user (0 ms) +[ok]: Connections start with the default user (1 ms) [ok]: It is possible to create new users (0 ms) -[ok]: Coverage: ACL USERS (0 ms) -[ok]: Usernames can not contain spaces or null characters (1 ms) -[ok]: New users start disabled (0 ms) +[ok]: Coverage: ACL USERS (1 ms) +[ok]: Usernames can not contain spaces or null characters (0 ms) +[ok]: New users start disabled (1 ms) [ok]: Enabling the user allows the login (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 (0 ms) +[ok]: It is possible to remove passwords from the set of valid ones (0 ms) +[ok]: Test password hashes can be added (1 ms) [ok]: Test password hashes validate input (1 ms) [ok]: ACL GETUSER returns the password hash instead of the actual password (0 ms) -[ok]: Test hashed passwords removal (0 ms) +[ok]: Test hashed passwords removal (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]: By default users are not able to access any key (0 ms) [ok]: It's possible to allow the access of a subset of keys (1 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 publish to any channel (2 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 (32 ms) [ok]: By default, only default user is able to subscribe to any shard channel (32 ms) [ok]: By default, only default user is able to subscribe to any pattern (32 ms) @@ -2982,81 +3011,81 @@ [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 (2 ms) [ok]: In transaction queue publish/subscribe/psubscribe to unauthorized channel will fail (2 ms) -[ok]: It's possible to allow subscribing to a subset of channels (38 ms) +[ok]: It's possible to allow subscribing to a subset of channels (31 ms) [ok]: It's possible to allow subscribing to a subset of shard channels (32 ms) [ok]: It's possible to allow subscribing to a subset of channel patterns (31 ms) -[ok]: Subscribers are killed when revoked of channel permission (33 ms) +[ok]: Subscribers are killed when revoked of channel permission (32 ms) [ok]: Subscribers are killed when revoked of channel permission (32 ms) [ok]: Subscribers are killed when revoked of pattern permission (32 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 (32 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 (33 ms) [ok]: blocked command gets rejected when reprocessed after permission change (34 ms) [ok]: Users can be configured to authenticate with any password (1 ms) -[ok]: ACLs can exclude single commands (0 ms) +[ok]: ACLs can exclude single commands (1 ms) [ok]: ACLs can include or exclude whole classes of commands (1 ms) -[ok]: ACLs can include single subcommands (1 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]: ACLs cannot exclude or include a container commands with a specific arg (0 ms) +[ok]: ACLs can exclude single subcommands, case 2 (2 ms) +[ok]: ACLs cannot include a subcommand with a specific arg (0 ms) +[ok]: ACLs cannot exclude or include a container commands with a specific arg (1 ms) [ok]: ACLs cannot exclude or include a container command with two args (1 ms) -[ok]: ACLs including of a type includes also subcommands (1 ms) +[ok]: ACLs including of a type includes also subcommands (2 ms) [ok]: ACLs can block SELECT of all but a specific DB (1 ms) [ok]: ACLs can block all DEBUG subcommands except one (2 ms) -[ok]: ACLs set can include subcommands, if already full command exists (2 ms) +[ok]: ACLs set can include subcommands, if already full command exists (3 ms) [ok]: ACLs set can exclude subcommands, if already full command exists (5 ms) -[ok]: ACL SETUSER RESET reverting to default newly created user (2 ms) +[ok]: ACL SETUSER RESET reverting to default newly created user (1 ms) [ok]: ACL GETUSER is able to translate back command permissions (2 ms) -[ok]: ACL GETUSER provides reasonable results (24 ms) +[ok]: ACL GETUSER provides reasonable results (22 ms) [ok]: ACL GETUSER provides correct results (8 ms) [ok]: ACL CAT with illegal arguments (1 ms) [ok]: ACL CAT without category - list all categories (0 ms) -[ok]: ACL CAT category - list all commands/subcommands that belong to category (3 ms) -[ok]: ACL requires explicit permission for scripting for EVAL_RO, EVALSHA_RO and FCALL_RO (0 ms) +[ok]: ACL CAT category - list all commands/subcommands that belong to category (2 ms) +[ok]: ACL requires explicit permission for scripting for EVAL_RO, EVALSHA_RO and FCALL_RO (1 ms) [ok]: ACL #5998 regression: memory leaks adding / removing subcommands (0 ms) [ok]: ACL LOG aggregates similar errors together and assigns unique entry-id to new errors (8 ms) [ok]: ACL LOG shows failed command executions at toplevel (2 ms) -[ok]: ACL LOG shows failed subcommand executions at toplevel (2 ms) +[ok]: ACL LOG shows failed subcommand executions at toplevel (1 ms) [ok]: ACL LOG is able to test similar events (2 ms) [ok]: ACL LOG is able to log keys access violations and key name (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 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) (1 ms) -[ok]: ACL LOG can distinguish the transaction context (2) (31 ms) -[ok]: ACL can log errors in the context of Lua scripting (2 ms) +[ok]: ACL LOG can distinguish the transaction context (2) (29 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 (3 ms) [ok]: ACL LOG can log failed auth attempts (2 ms) [ok]: ACLLOG - zero max length is correctly handled (2 ms) -[ok]: ACL LOG entries are limited to a maximum amount (4 ms) -[ok]: ACL LOG entries are still present on update of max len config (2 ms) -[ok]: When default user is off, new connections are not authenticated (29 ms) -[ok]: When default user has no command permission, hello command still works for other users (2 ms) -[ok]: When an authentication chain is used in the HELLO cmd, the last auth cmd has precedence (1 ms) +[ok]: ACL LOG entries are limited to a maximum amount (3 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 (28 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 (2 ms) [ok]: When a setname chain is used in the HELLO cmd, the last setname cmd has precedence (2 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 (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]: Delete a user that the client is using (0 ms) [ok]: ACL GENPASS command failed test (30 ms) [ok]: Default user can not be removed (0 ms) -[ok]: ACL load non-existing configured ACL file (1 ms) +[ok]: ACL load non-existing configured ACL file (0 ms) [ok]: ACL-Metrics user AUTH failure (7 ms) [ok]: ACL-Metrics invalid command accesses (5 ms) -[ok]: ACL-Metrics invalid key accesses (4 ms) -[ok]: ACL-Metrics invalid channels accesses (5 ms) +[ok]: ACL-Metrics invalid key accesses (5 ms) +[ok]: ACL-Metrics invalid channels accesses (4 ms) === (external:skip) Starting server 127.0.0.1:21497 ok -[ok]: default: load from include file, can access any channels (1 ms) -[ok]: default: with config acl-pubsub-default allchannels after reset, can access any channels (2 ms) -[ok]: default: with config acl-pubsub-default resetchannels after reset, can not access any channels (2 ms) -[ok]: Alice: can execute all command (0 ms) +[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 (1 ms) +[ok]: default: with config acl-pubsub-default resetchannels after reset, can not access any channels (1 ms) +[ok]: Alice: can execute all command (1 ms) [ok]: Bob: just execute @set and acl command (1 ms) -[ok]: ACL LOAD only disconnects affected clients (100 ms) -[ok]: ACL LOAD disconnects clients of deleted users (94 ms) +[ok]: ACL LOAD only disconnects affected clients (95 ms) +[ok]: ACL LOAD disconnects clients of deleted users (93 ms) [ok]: ACL load and save (2 ms) -[ok]: ACL load and save with restricted channels (3 ms) +[ok]: ACL load and save with restricted channels (2 ms) === (external:skip) Starting server 127.0.0.1:21499 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 (2 ms) +[ok]: Update acl-pubsub-default, existing users shouldn't get affected (3 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:21501 ok @@ -3066,239 +3095,239 @@ === (external:skip) Starting server 127.0.0.1:21505 ok [ok]: default: load from config file with all channels permissions (2 ms) === (external:skip) Starting server 127.0.0.1:21507 ok -[ok]: Test loading an ACL file with duplicate users (6 ms) -[ok]: Test loading an ACL file with duplicate default user (7 ms) -[ok]: Test loading duplicate users in config on startup (33 ms) +[ok]: Test loading an ACL file with duplicate users (8 ms) +[ok]: Test loading an ACL file with duplicate default user (6 ms) +[ok]: Test loading duplicate users in config on startup (35 ms) === (acl external:skip) Starting server 127.0.0.1:21509 ok -[ok]: ACL from config file and config rewrite (214 ms) +[ok]: ACL from config file and config rewrite (203 ms) [43/124 done]: unit/acl (3 seconds) Testing unit/acl-v2 === (acl external:skip) Starting server 127.0.0.1:21511 ok [ok]: Test basic multiple selectors (3 ms) [ok]: Test ACL selectors by default have no permissions (1 ms) -[ok]: Test deleting selectors (1 ms) +[ok]: Test deleting selectors (2 ms) [ok]: Test selector syntax error reports the error in the selector context (2 ms) -[ok]: Test flexible selector definition (3 ms) +[ok]: Test flexible selector definition (2 ms) [ok]: Test separate read permission (1 ms) -[ok]: Test separate write permission (1 ms) +[ok]: Test separate write permission (2 ms) [ok]: Test separate read and write permissions (1 ms) -[ok]: Validate read and write permissions format (1 ms) -[ok]: Test separate read and write permissions on different selectors are not additive (2 ms) +[ok]: Validate read and write permissions format (0 ms) +[ok]: Test separate read and write permissions on different selectors are not additive (3 ms) [ok]: Test SET with separate read permission (2 ms) [ok]: Test SET with separate write permission (2 ms) -[ok]: Test SET with read and write permissions (3 ms) -[ok]: Test BITFIELD with separate read permission (1 ms) +[ok]: Test SET with read and write permissions (2 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 (1 ms) +[ok]: Test BITFIELD with read and write permissions (2 ms) [ok]: Test ACL log correctly identifies the relevant item when selectors are used (4 ms) -[ok]: Test ACL GETUSER response information (2 ms) -[ok]: Test ACL list idempotency (2 ms) +[ok]: Test ACL GETUSER response information (1 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]: Existence test commands are not marked as access (2 ms) +[ok]: Test basic dry run functionality (2 ms) +[ok]: Test various commands for command permissions (0 ms) +[ok]: Test various odd commands for key permissions (7 ms) +[ok]: Existence test commands are not marked as access (1 ms) [ok]: Intersection cardinaltiy commands are access commands (2 ms) -[ok]: Test general keyspace commands require some type of permission to execute (3 ms) -[ok]: Cardinality commands require some type of permission to execute (4 ms) -[ok]: Test sharded channel permissions (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 (2 ms) [ok]: Test sort with ACL permissions (3 ms) [ok]: Test DRYRUN with wrong number of arguments (1 ms) === (external:skip) Starting server 127.0.0.1:21513 ok -[ok]: Test behavior of loading ACLs (1 ms) +[ok]: Test behavior of loading ACLs (2 ms) [44/124 done]: unit/acl-v2 (1 seconds) Testing unit/type/zset === (zset) Starting server 127.0.0.1:21515 ok [ok]: Check encoding - listpack (1 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 basic ZADD and score update - listpack (2 ms) +[ok]: ZSET element can't be set to NaN with ZADD - listpack (0 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 (0 ms) +[ok]: ZADD XX option without key - listpack (1 ms) [ok]: ZADD XX existing key - listpack (1 ms) -[ok]: ZADD XX returns the number of elements actually added - listpack (1 ms) +[ok]: ZADD XX returns the number of elements actually added - listpack (0 ms) [ok]: ZADD XX updates existing elements score - listpack (1 ms) -[ok]: ZADD GT updates existing elements when new scores are greater - listpack (1 ms) -[ok]: ZADD LT updates existing elements when new scores are lower - listpack (2 ms) +[ok]: ZADD GT updates existing elements when new scores are greater - listpack (2 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 (1 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 NX only add new elements without updating old ones - listpack (2 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 LT and GT are not compatible - listpack (1 ms) [ok]: ZADD INCR LT/GT replies with nill if score not updated - listpack (1 ms) [ok]: ZADD INCR LT/GT with inf - listpack (3 ms) -[ok]: ZADD INCR works like ZINCRBY - listpack (0 ms) +[ok]: ZADD INCR works like ZINCRBY - listpack (1 ms) [ok]: ZADD INCR works with a single score-element 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 (0 ms) -[ok]: ZINCRBY against invalid incr value - listpack (2 ms) +[ok]: ZADD CH option changes return value to all changed elements - listpack (1 ms) +[ok]: ZINCRBY calls leading to NaN result in error - listpack (1 ms) +[ok]: ZINCRBY against invalid incr value - listpack (1 ms) [ok]: ZADD - Variadic version base case - listpack (1 ms) [ok]: ZADD - Return value is the number of actually added items - listpack (1 ms) [ok]: ZADD - Variadic version does not add nothing on single parsing err - listpack (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]: ZADD - Variadic version will raise error on missing arg - listpack (0 ms) +[ok]: ZINCRBY does not work variadic even if shares ZADD implementation - listpack (1 ms) [ok]: ZCARD basics - listpack (0 ms) -[ok]: ZREM removes key after last element is removed - listpack (2 ms) +[ok]: ZREM removes key after last element is removed - listpack (1 ms) [ok]: ZREM variadic version - listpack (1 ms) -[ok]: ZREM variadic version -- remove elements after key deletion - listpack (0 ms) -[ok]: ZRANGE basics - listpack (3 ms) +[ok]: ZREM variadic version -- remove elements after key deletion - listpack (1 ms) +[ok]: ZRANGE basics - listpack (4 ms) [ok]: ZREVRANGE basics - listpack (4 ms) [ok]: ZRANK/ZREVRANK basics - listpack (5 ms) -[ok]: ZRANK - after deletion - listpack (2 ms) +[ok]: ZRANK - after deletion - listpack (1 ms) [ok]: ZINCRBY - can create a new sorted set - listpack (1 ms) [ok]: ZINCRBY - increment and decrement - listpack (2 ms) [ok]: ZINCRBY return value - listpack (1 ms) [ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - listpack (8 ms) [ok]: ZRANGEBYSCORE with WITHSCORES - listpack (2 ms) -[ok]: ZRANGEBYSCORE with LIMIT - listpack (9 ms) -[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - listpack (3 ms) +[ok]: ZRANGEBYSCORE with LIMIT - listpack (10 ms) +[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - listpack (2 ms) [ok]: ZRANGEBYSCORE with non-value min or max - listpack (1 ms) [ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - listpack (6 ms) -[ok]: ZLEXCOUNT advanced - listpack (4 ms) -[ok]: ZRANGEBYLEX with LIMIT - listpack (11 ms) +[ok]: ZLEXCOUNT advanced - listpack (3 ms) +[ok]: ZRANGEBYLEX with LIMIT - listpack (9 ms) [ok]: ZRANGEBYLEX with invalid lex range specifiers - listpack (1 ms) -[ok]: ZREMRANGEBYSCORE basics - listpack (20 ms) +[ok]: ZREMRANGEBYSCORE basics - listpack (16 ms) [ok]: ZREMRANGEBYSCORE with non-value min or max - listpack (1 ms) -[ok]: ZREMRANGEBYRANK basics - listpack (8 ms) -[ok]: ZREMRANGEBYLEX basics - listpack (20 ms) +[ok]: ZREMRANGEBYRANK basics - listpack (7 ms) +[ok]: ZREMRANGEBYLEX basics - listpack (19 ms) [ok]: ZUNIONSTORE against non-existing key doesn't set destination - listpack (1 ms) [ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF against non-existing key - listpack (1 ms) [ok]: ZUNIONSTORE with empty set - listpack (1 ms) [ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - listpack (1 ms) -[ok]: ZUNIONSTORE basics - listpack (1 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - listpack (2 ms) -[ok]: ZUNIONSTORE with weights - listpack (0 ms) +[ok]: ZUNIONSTORE basics - listpack (2 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 (0 ms) -[ok]: ZUNION/ZINTER with AGGREGATE MIN - listpack (1 ms) -[ok]: ZUNIONSTORE with AGGREGATE MAX - listpack (0 ms) -[ok]: ZUNION/ZINTER with AGGREGATE MAX - listpack (0 ms) +[ok]: ZUNION/ZINTER with AGGREGATE MIN - listpack (0 ms) +[ok]: ZUNIONSTORE with AGGREGATE MAX - listpack (1 ms) +[ok]: ZUNION/ZINTER with AGGREGATE MAX - listpack (1 ms) [ok]: ZINTERSTORE basics - listpack (1 ms) [ok]: ZINTER basics - listpack (0 ms) [ok]: ZINTERCARD with illegal arguments (1 ms) [ok]: ZINTERCARD basics - listpack (1 ms) [ok]: ZINTER RESP3 - listpack (1 ms) -[ok]: ZINTERSTORE with weights - listpack (1 ms) -[ok]: ZINTER with weights - listpack (0 ms) +[ok]: ZINTERSTORE with weights - listpack (0 ms) +[ok]: ZINTER with weights - listpack (1 ms) [ok]: ZINTERSTORE with a regular set and weights - listpack (1 ms) [ok]: ZINTERSTORE with AGGREGATE MIN - listpack (1 ms) [ok]: ZINTERSTORE with AGGREGATE MAX - listpack (0 ms) [ok]: ZUNIONSTORE with +inf/-inf scores - listpack (3 ms) [ok]: ZUNIONSTORE with NaN weights - listpack (1 ms) [ok]: ZINTERSTORE with +inf/-inf scores - listpack (2 ms) -[ok]: ZINTERSTORE with NaN weights - listpack (1 ms) -[ok]: ZDIFFSTORE basics - listpack (0 ms) -[ok]: ZDIFF basics - listpack (1 ms) +[ok]: ZINTERSTORE with NaN weights - listpack (0 ms) +[ok]: ZDIFFSTORE basics - listpack (1 ms) +[ok]: ZDIFF basics - listpack (0 ms) [ok]: ZDIFFSTORE with a regular set - listpack (1 ms) [ok]: ZDIFF subtracting set from itself - listpack (0 ms) [ok]: ZDIFF algorithm 1 - listpack (2 ms) -[ok]: ZDIFF algorithm 2 - listpack (1 ms) -[ok]: ZDIFF fuzzing - listpack (3769 ms) +[ok]: ZDIFF algorithm 2 - listpack (2 ms) +[ok]: ZDIFF fuzzing - listpack (5027 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]: Basic ZMPOP_MIN/ZMPOP_MAX with a single key - listpack (1 ms) [ok]: ZMPOP_MIN/ZMPOP_MAX with count - listpack (2 ms) -[ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - listpack (24 ms) -[ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - listpack (25 ms) -[ok]: BZPOPMIN/BZPOPMAX second sorted set has members - listpack (27 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - listpack (28 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - listpack (28 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - listpack (27 ms) +[ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - listpack (13 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 (13 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 (14 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 (27 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX - listpack RESP3 (32 ms) -[ok]: Check encoding - skiplist (1 ms) +[ok]: BZPOPMIN/BZPOPMAX - listpack RESP3 (13 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX - listpack RESP3 (15 ms) +[ok]: Check encoding - skiplist (0 ms) [ok]: ZSET basic ZADD and score update - skiplist (1 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 ZADD - skiplist (1 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 (0 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 (0 ms) +[ok]: ZADD XX returns the number of elements actually added - skiplist (0 ms) +[ok]: ZADD XX updates existing elements score - skiplist (1 ms) [ok]: ZADD GT updates existing elements when new scores are greater - skiplist (1 ms) [ok]: ZADD LT updates existing elements when new scores are lower - skiplist (1 ms) [ok]: ZADD GT XX updates existing elements when new scores are greater and skips new elements - skiplist (1 ms) [ok]: ZADD LT XX updates existing elements when new scores are lower and skips new elements - skiplist (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 (2 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 XX and NX are not compatible - skiplist (1 ms) +[ok]: ZADD NX with non existing key - skiplist (0 ms) +[ok]: ZADD NX only add new elements without updating old ones - skiplist (1 ms) +[ok]: ZADD GT and NX are not compatible - skiplist (1 ms) +[ok]: ZADD LT and NX are not compatible - skiplist (0 ms) +[ok]: ZADD LT and GT are not compatible - skiplist (1 ms) [ok]: ZADD INCR LT/GT replies with nill if score not updated - skiplist (1 ms) -[ok]: ZADD INCR LT/GT with inf - skiplist (3 ms) +[ok]: ZADD INCR LT/GT with inf - skiplist (2 ms) [ok]: ZADD INCR works like ZINCRBY - skiplist (1 ms) -[ok]: ZADD INCR works with a single score-element pair - skiplist (0 ms) -[ok]: ZADD CH option changes return value to all changed elements - skiplist (1 ms) +[ok]: ZADD INCR works with a single score-element pair - skiplist (1 ms) +[ok]: ZADD CH option changes return value to all changed elements - skiplist (0 ms) [ok]: ZINCRBY calls leading to NaN result in error - skiplist (1 ms) -[ok]: ZINCRBY against invalid incr value - skiplist (0 ms) -[ok]: ZADD - Variadic version base case - skiplist (1 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 (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 (1 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 (1 ms) -[ok]: ZCARD basics - skiplist (1 ms) +[ok]: ZCARD basics - skiplist (0 ms) [ok]: ZREM removes key after last element is removed - skiplist (1 ms) -[ok]: ZREM variadic version - skiplist (0 ms) -[ok]: ZREM variadic version -- remove elements after key deletion - skiplist (0 ms) -[ok]: ZRANGE basics - skiplist (3 ms) +[ok]: ZREM variadic version - skiplist (1 ms) +[ok]: ZREM variadic version -- remove elements after key deletion - skiplist (1 ms) +[ok]: ZRANGE basics - skiplist (2 ms) [ok]: ZREVRANGE basics - skiplist (3 ms) -[ok]: ZRANK/ZREVRANK basics - skiplist (3 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 - can create a new sorted set - skiplist (1 ms) [ok]: ZINCRBY - increment and decrement - skiplist (1 ms) [ok]: ZINCRBY return value - skiplist (1 ms) -[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - skiplist (6 ms) -[ok]: ZRANGEBYSCORE with WITHSCORES - skiplist (1 ms) -[ok]: ZRANGEBYSCORE with LIMIT - skiplist (7 ms) +[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - skiplist (5 ms) +[ok]: ZRANGEBYSCORE with WITHSCORES - skiplist (2 ms) +[ok]: ZRANGEBYSCORE with LIMIT - skiplist (6 ms) [ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - skiplist (1 ms) [ok]: ZRANGEBYSCORE with non-value min or max - skiplist (1 ms) -[ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - skiplist (4 ms) +[ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - skiplist (3 ms) [ok]: ZLEXCOUNT advanced - skiplist (2 ms) [ok]: ZRANGEBYLEX with LIMIT - skiplist (6 ms) [ok]: ZRANGEBYLEX with invalid lex range specifiers - skiplist (1 ms) -[ok]: ZREMRANGEBYSCORE basics - skiplist (15 ms) +[ok]: ZREMRANGEBYSCORE basics - skiplist (11 ms) [ok]: ZREMRANGEBYSCORE with non-value min or max - skiplist (1 ms) -[ok]: ZREMRANGEBYRANK basics - skiplist (9 ms) -[ok]: ZREMRANGEBYLEX basics - skiplist (21 ms) -[ok]: ZUNIONSTORE against non-existing key doesn't set destination - skiplist (1 ms) +[ok]: ZREMRANGEBYRANK basics - skiplist (5 ms) +[ok]: ZREMRANGEBYLEX basics - skiplist (12 ms) +[ok]: ZUNIONSTORE against non-existing key doesn't set destination - skiplist (0 ms) [ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF against non-existing key - skiplist (1 ms) [ok]: ZUNIONSTORE with empty set - skiplist (1 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - skiplist (2 ms) -[ok]: ZUNIONSTORE basics - skiplist (1 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - skiplist (2 ms) -[ok]: ZUNIONSTORE with weights - skiplist (1 ms) -[ok]: ZUNION with weights - skiplist (0 ms) +[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - skiplist (1 ms) +[ok]: ZUNIONSTORE basics - skiplist (2 ms) +[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - skiplist (1 ms) +[ok]: ZUNIONSTORE with weights - skiplist (0 ms) +[ok]: ZUNION with weights - skiplist (1 ms) [ok]: ZUNIONSTORE with a regular set and weights - skiplist (1 ms) -[ok]: ZUNIONSTORE with AGGREGATE MIN - skiplist (0 ms) +[ok]: ZUNIONSTORE with AGGREGATE MIN - skiplist (1 ms) [ok]: ZUNION/ZINTER with AGGREGATE MIN - skiplist (0 ms) [ok]: ZUNIONSTORE with AGGREGATE MAX - skiplist (1 ms) -[ok]: ZUNION/ZINTER with AGGREGATE MAX - skiplist (0 ms) -[ok]: ZINTERSTORE basics - skiplist (1 ms) -[ok]: ZINTER basics - skiplist (0 ms) +[ok]: ZUNION/ZINTER with AGGREGATE MAX - skiplist (1 ms) +[ok]: ZINTERSTORE basics - skiplist (0 ms) +[ok]: ZINTER basics - skiplist (1 ms) [ok]: ZINTERCARD with illegal arguments (1 ms) -[ok]: ZINTERCARD basics - skiplist (1 ms) +[ok]: ZINTERCARD basics - skiplist (0 ms) [ok]: ZINTER RESP3 - skiplist (1 ms) -[ok]: ZINTERSTORE with weights - skiplist (0 ms) -[ok]: ZINTER with weights - skiplist (1 ms) +[ok]: ZINTERSTORE with weights - skiplist (1 ms) +[ok]: ZINTER with weights - skiplist (0 ms) [ok]: ZINTERSTORE with a regular set and weights - skiplist (1 ms) -[ok]: ZINTERSTORE with AGGREGATE MIN - skiplist (0 ms) +[ok]: ZINTERSTORE with AGGREGATE MIN - skiplist (1 ms) [ok]: ZINTERSTORE with AGGREGATE MAX - skiplist (1 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 (3 ms) +[ok]: ZUNIONSTORE with NaN weights - skiplist (0 ms) +[ok]: ZINTERSTORE with +inf/-inf scores - skiplist (1 ms) [ok]: ZINTERSTORE with NaN weights - skiplist (0 ms) [ok]: ZDIFFSTORE basics - skiplist (1 ms) [ok]: ZDIFF basics - skiplist (0 ms) @@ -3306,146 +3335,146 @@ [ok]: ZDIFF subtracting set from itself - skiplist (1 ms) [ok]: ZDIFF algorithm 1 - skiplist (1 ms) [ok]: ZDIFF algorithm 2 - skiplist (2 ms) -[ok]: ZDIFF fuzzing - skiplist (3658 ms) -[ok]: ZPOPMIN with the count 0 returns an empty array (0 ms) +[ok]: ZDIFF fuzzing - skiplist (3491 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 (0 ms) -[ok]: Basic ZPOPMIN/ZPOPMAX with a single key - skiplist (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 (3 ms) [ok]: ZPOPMIN/ZPOPMAX with count - skiplist (1 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 (12 ms) -[ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - skiplist (18 ms) -[ok]: BZPOPMIN/BZPOPMAX second sorted set has members - skiplist (19 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - skiplist (18 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - skiplist (20 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - skiplist (21 ms) -[ok]: Basic ZPOPMIN/ZPOPMAX - skiplist RESP3 (1 ms) -[ok]: ZPOPMIN/ZPOPMAX with count - skiplist RESP3 (1 ms) +[ok]: Basic ZMPOP_MIN/ZMPOP_MAX with a single key - skiplist (3 ms) +[ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist (2 ms) +[ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - skiplist (29 ms) +[ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - skiplist (32 ms) +[ok]: BZPOPMIN/BZPOPMAX second sorted set has members - skiplist (33 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - skiplist (34 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - skiplist (34 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - skiplist (32 ms) +[ok]: Basic ZPOPMIN/ZPOPMAX - skiplist RESP3 (2 ms) +[ok]: ZPOPMIN/ZPOPMAX with count - skiplist RESP3 (2 ms) [ok]: Basic ZMPOP_MIN/ZMPOP_MAX - skiplist RESP3 (2 ms) -[ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist RESP3 (1 ms) -[ok]: BZPOPMIN/BZPOPMAX - skiplist RESP3 (22 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX - skiplist RESP3 (22 ms) -[ok]: ZPOP/ZMPOP against wrong type (1 ms) -[ok]: ZMPOP with illegal argument (3 ms) -[ok]: ZMPOP propagate as pop with count command to replica (131 ms) +[ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist RESP3 (2 ms) +[ok]: BZPOPMIN/BZPOPMAX - skiplist RESP3 (34 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX - skiplist RESP3 (34 ms) +[ok]: ZPOP/ZMPOP against wrong type (3 ms) +[ok]: ZMPOP with illegal argument (4 ms) +[ok]: ZMPOP propagate as pop with count command to replica (56 ms) [ok]: ZPOPMIN/ZPOPMAX readraw in RESP3 (2 ms) [ok]: BZPOPMIN/BZPOPMAX readraw in RESP3 (164 ms) [ok]: ZMPOP readraw in RESP3 (3 ms) -[ok]: BZMPOP readraw in RESP3 (198 ms) -[ok]: ZPOPMIN/ZPOPMAX readraw in RESP2 (2 ms) +[ok]: BZMPOP readraw in RESP3 (200 ms) +[ok]: ZPOPMIN/ZPOPMAX readraw in RESP2 (3 ms) [ok]: BZPOPMIN/BZPOPMAX readraw in RESP2 (167 ms) -[ok]: ZMPOP readraw in RESP2 (3 ms) -[ok]: BZMPOP readraw in RESP2 (200 ms) -[ok]: ZINTERSTORE regression with two sets, intset+hashtable (0 ms) -[ok]: ZUNIONSTORE regression, should not create NaN in scores (0 ms) -[ok]: ZINTERSTORE #516 regression, mixed sets and ziplist zsets (2 ms) -[ok]: ZUNIONSTORE result is sorted (150 ms) +[ok]: ZMPOP readraw in RESP2 (4 ms) +[ok]: BZMPOP readraw in RESP2 (199 ms) +[ok]: ZINTERSTORE regression with two sets, intset+hashtable (1 ms) +[ok]: ZUNIONSTORE regression, should not create NaN in scores (1 ms) +[ok]: ZINTERSTORE #516 regression, mixed sets and ziplist zsets (1 ms) +[ok]: ZUNIONSTORE result is sorted (151 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 from empty set (1 ms) +[ok]: ZMSCORE retrieve with missing member (0 ms) [ok]: ZMSCORE retrieve single member (1 ms) [ok]: ZMSCORE retrieve requires one or more members (1 ms) [ok]: ZSET commands don't accept the empty strings as valid score (0 ms) [ok]: zunionInterDiffGenericCommand at least 1 input key (1 ms) -[ok]: ZSCORE - listpack (44 ms) -[ok]: ZMSCORE - listpack (42 ms) -[ok]: ZSCORE after a DEBUG RELOAD - listpack (43 ms) -[ok]: ZSET sorting stresser - listpack (44 ms) -[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 128 element sorted set - listpack (2441 ms) -[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (167 ms) -[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (266 ms) -[ok]: ZSETs skiplist implementation backlink consistency test - listpack (31 ms) -[ok]: ZSETs ZRANK augmented skip list stress testing - listpack (803 ms) -[ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (21 ms) +[ok]: ZSCORE - listpack (45 ms) +[ok]: ZMSCORE - listpack (39 ms) +[ok]: ZSCORE after a DEBUG RELOAD - listpack (40 ms) +[ok]: ZSET sorting stresser - listpack (42 ms) +[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 128 element sorted set - listpack (2485 ms) +[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (182 ms) +[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (279 ms) +[ok]: ZSETs skiplist implementation backlink consistency test - listpack (33 ms) +[ok]: ZSETs ZRANK augmented skip list stress testing - listpack (689 ms) +[ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (20 ms) [ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (21 ms) [ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (23 ms) -[ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (25 ms) -Time: 1011 -[ok]: BZPOPMIN unblock but the key is expired and then block again - reprocessing command (1036 ms) +[ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (24 ms) +Time: 1010 +[ok]: BZPOPMIN unblock but the key is expired and then block again - reprocessing command (1035 ms) [ok]: BZPOPMIN with same key multiple times should work (34 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (32 ms) +[ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (33 ms) [ok]: BZPOPMIN with variadic ZADD (33 ms) -[ok]: BZPOPMIN with zero timeout should block indefinitely (1036 ms) +[ok]: BZPOPMIN with zero timeout should block indefinitely (1035 ms) [ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (33 ms) [ok]: BZMPOP_MIN with variadic ZADD (32 ms) [ok]: BZMPOP_MIN with zero timeout should block indefinitely (1038 ms) -[ok]: ZSCORE - skiplist (33 ms) -[ok]: ZMSCORE - skiplist (33 ms) -[ok]: ZSCORE after a DEBUG RELOAD - skiplist (32 ms) -[ok]: ZSET sorting stresser - skiplist (44 ms) -[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 100 element sorted set - skiplist (1617 ms) -[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (221 ms) -[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (229 ms) -[ok]: ZSETs skiplist implementation backlink consistency test - skiplist (20 ms) -[ok]: ZSETs ZRANK augmented skip list stress testing - skiplist (623 ms) +[ok]: ZSCORE - skiplist (36 ms) +[ok]: ZMSCORE - skiplist (35 ms) +[ok]: ZSCORE after a DEBUG RELOAD - skiplist (35 ms) +[ok]: ZSET sorting stresser - skiplist (45 ms) +[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 100 element sorted set - skiplist (2086 ms) +[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (191 ms) +[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (226 ms) +[ok]: ZSETs skiplist implementation backlink consistency test - skiplist (24 ms) +[ok]: ZSETs ZRANK augmented skip list stress testing - skiplist (835 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 (14 ms) Time: 1009 -[ok]: BZPOPMIN unblock but the key is expired and then block again - reprocessing command (1024 ms) +[ok]: BZPOPMIN unblock but the key is expired and then block again - reprocessing command (1023 ms) [ok]: BZPOPMIN with same key multiple times should work (34 ms) [ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (33 ms) -[ok]: BZPOPMIN with variadic ZADD (33 ms) -[ok]: BZPOPMIN with zero timeout should block indefinitely (1036 ms) +[ok]: BZPOPMIN with variadic ZADD (32 ms) +[ok]: BZPOPMIN with zero timeout should block indefinitely (1035 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]: BZMPOP_MIN with zero timeout should block indefinitely (1034 ms) [ok]: BZPOP/BZMPOP against wrong type (3 ms) -[ok]: BZMPOP with illegal argument (4 ms) +[ok]: BZMPOP with illegal argument (5 ms) [ok]: BZMPOP with multiple blocked clients (127 ms) -[ok]: BZMPOP propagate as pop with count command to replica (260 ms) +[ok]: BZMPOP propagate as pop with count command to replica (261 ms) [ok]: BZMPOP should not blocks on non key arguments - #10762 (65 ms) -[ok]: ZSET skiplist order consistency when elements are moved (852 ms) -[ok]: ZRANGESTORE basic (1 ms) -[ok]: ZRANGESTORE RESP3 (0 ms) +[ok]: ZSET skiplist order consistency when elements are moved (810 ms) +[ok]: ZRANGESTORE basic (2 ms) +[ok]: ZRANGESTORE RESP3 (1 ms) [ok]: ZRANGESTORE range (1 ms) -[ok]: ZRANGESTORE BYLEX (0 ms) -[ok]: ZRANGESTORE BYSCORE (1 ms) -[ok]: ZRANGESTORE BYSCORE LIMIT (0 ms) +[ok]: ZRANGESTORE BYLEX (1 ms) +[ok]: ZRANGESTORE BYSCORE (0 ms) +[ok]: ZRANGESTORE BYSCORE LIMIT (1 ms) [ok]: ZRANGESTORE BYSCORE REV LIMIT (0 ms) [ok]: ZRANGE BYSCORE REV LIMIT (0 ms) [ok]: ZRANGESTORE - src key missing (0 ms) -[ok]: ZRANGESTORE - src key wrong type (0 ms) -[ok]: ZRANGESTORE - empty range (1 ms) -[ok]: ZRANGESTORE BYLEX - empty range (0 ms) +[ok]: ZRANGESTORE - src key wrong type (1 ms) +[ok]: ZRANGESTORE - empty range (0 ms) +[ok]: ZRANGESTORE BYLEX - empty range (1 ms) [ok]: ZRANGESTORE BYSCORE - empty range (0 ms) [ok]: ZRANGE BYLEX (0 ms) -[ok]: ZRANGESTORE invalid syntax (1 ms) -[ok]: ZRANGESTORE with zset-max-listpack-entries 0 #10767 case (0 ms) -[ok]: ZRANGESTORE with zset-max-listpack-entries 1 dst key should use skiplist encoding (0 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 (9 ms) -[ok]: ZRANDMEMBER - skiplist (9 ms) +[ok]: ZRANDMEMBER - listpack (13 ms) +[ok]: ZRANDMEMBER - skiplist (13 ms) [ok]: ZRANDMEMBER with RESP3 (1 ms) [ok]: ZRANDMEMBER count of 0 is handled correctly (0 ms) [ok]: ZRANDMEMBER with against non existing key (0 ms) -[ok]: ZRANDMEMBER count overflow (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 (250 ms) -[ok]: ZRANDMEMBER with - listpack (269 ms) -[ok]: zset score double range (1 ms) +[ok]: ZRANDMEMBER with - skiplist (297 ms) +[ok]: ZRANDMEMBER with - listpack (311 ms) +[ok]: zset score double range (0 ms) [ok]: zunionInterDiffGenericCommand acts on SET and ZSET (14 ms) -[ok]: ZADD overflows the maximum allowed elements in a listpack - single (7 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) -[45/124 done]: unit/type/zset (25 seconds) +[ok]: ZADD overflows the maximum allowed elements in a listpack - single (6 ms) +[ok]: ZADD overflows the maximum allowed elements in a listpack - multiple (4 ms) +[ok]: ZADD overflows the maximum allowed elements in a listpack - single_multiple (2 ms) +[45/124 done]: unit/type/zset (26 seconds) Testing unit/type/string === (string) Starting server 127.0.0.1:21517 ok [ok]: SET and GET an item (1 ms) [ok]: SET and GET an empty item (1 ms) -[ok]: Very big payload in GET/SET (73 ms) -[ok]: Very big payload random access (5700 ms) -[ok]: SET 10000 numeric keys and access all them in reverse order (1185 ms) +[ok]: Very big payload in GET/SET (88 ms) +[ok]: Very big payload random access (5933 ms) +[ok]: SET 10000 numeric keys and access all them in reverse order (1603 ms) [ok]: DBSIZE should be 10000 now (0 ms) -[ok]: SETNX target key missing (0 ms) +[ok]: SETNX target key missing (1 ms) [ok]: SETNX target key exists (0 ms) [ok]: SETNX against not-expired volatile key (0 ms) -[ok]: SETNX against expired volatile key (2700 ms) +[ok]: SETNX against expired volatile key (2878 ms) [ok]: GETEX EX option (1 ms) [ok]: GETEX PX option (1 ms) [ok]: GETEX EXAT option (1 ms) @@ -3453,25 +3482,25 @@ [ok]: GETEX PERSIST option (1 ms) [ok]: GETEX no option (1 ms) [ok]: GETEX syntax errors (0 ms) -[ok]: GETEX and GET expired key or not exist (4 ms) -[ok]: GETEX no arguments (0 ms) +[ok]: GETEX and GET expired key or not exist (3 ms) +[ok]: GETEX no arguments (1 ms) [ok]: GETDEL command (1 ms) -[ok]: GETDEL propagate as DEL command to replica (152 ms) +[ok]: GETDEL propagate as DEL command to replica (119 ms) [ok]: GETEX without argument does not propagate to replica (102 ms) [ok]: MGET (1 ms) [ok]: MGET against non existing key (1 ms) -[ok]: MGET against non-string key (0 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]: MGET against non-string key (1 ms) +[ok]: GETSET (set new value) (1 ms) +[ok]: GETSET (replace old value) (0 ms) +[ok]: MSET base case (1 ms) +[ok]: MSET/MSETNX wrong number of args (1 ms) +[ok]: MSET with already existing - same key twice (0 ms) [ok]: MSETNX with already existent key (1 ms) -[ok]: MSETNX with not existing keys (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 (1 ms) [ok]: STRLEN against non-existing key (0 ms) -[ok]: STRLEN against integer-encoded value (0 ms) +[ok]: STRLEN against integer-encoded value (1 ms) [ok]: STRLEN against plain string (0 ms) [ok]: SETBIT against non-existing key (1 ms) [ok]: SETBIT against string-encoded key (1 ms) @@ -3479,119 +3508,119 @@ [ok]: SETBIT against key with wrong type (1 ms) [ok]: SETBIT with out of range bit offset (1 ms) [ok]: SETBIT with non-bit argument (1 ms) -[ok]: SETBIT fuzzing (401 ms) +[ok]: SETBIT fuzzing (461 ms) [ok]: GETBIT against non-existing key (0 ms) [ok]: GETBIT against string-encoded key (1 ms) -[ok]: GETBIT against integer-encoded key (0 ms) +[ok]: GETBIT against integer-encoded key (1 ms) [ok]: SETRANGE against non-existing key (1 ms) -[ok]: SETRANGE against string-encoded key (1 ms) +[ok]: SETRANGE against string-encoded key (0 ms) [ok]: SETRANGE against integer-encoded key (1 ms) -[ok]: SETRANGE against key with wrong type (1 ms) -[ok]: SETRANGE with out of range offset (0 ms) +[ok]: SETRANGE against key with wrong type (0 ms) +[ok]: SETRANGE with out of range offset (1 ms) [ok]: GETRANGE against non-existing key (0 ms) -[ok]: GETRANGE against wrong key type (1 ms) -[ok]: GETRANGE against string value (0 ms) -[ok]: GETRANGE against integer-encoded value (1 ms) -[ok]: GETRANGE fuzzing (739 ms) +[ok]: GETRANGE against wrong key type (0 ms) +[ok]: GETRANGE against string value (1 ms) +[ok]: GETRANGE against integer-encoded value (0 ms) +[ok]: GETRANGE fuzzing (796 ms) [ok]: Coverage: SUBSTR (1 ms) -[ok]: trim on SET with big value (87 ms) -[ok]: Extended SET can detect syntax errors (1 ms) -[ok]: Extended SET NX option (2 ms) +[ok]: trim on SET with big value (47 ms) +[ok]: Extended SET can detect syntax errors (0 ms) +[ok]: Extended SET NX option (1 ms) [ok]: Extended SET XX option (1 ms) [ok]: Extended SET GET option (1 ms) -[ok]: Extended SET GET option with no previous value (0 ms) +[ok]: Extended SET GET option with no previous value (1 ms) [ok]: Extended SET GET option with XX (0 ms) -[ok]: Extended SET GET option with XX and no previous value (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 (1 ms) -[ok]: Extended SET GET with incorrect type should result in wrong type error (1 ms) +[ok]: Extended SET GET with incorrect type should result in wrong type error (2 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 (0 ms) -[ok]: SET EXAT / PXAT Expiration time is expired (50 ms) +[ok]: Extended SET PX option (0 ms) +[ok]: Extended SET EXAT option (1 ms) +[ok]: Extended SET PXAT option (1 ms) +[ok]: SET EXAT / PXAT Expiration time is expired (70 ms) [ok]: Extended SET using multiple options at once (1 ms) -[ok]: GETRANGE with huge ranges, Github issue #1844 (0 ms) +[ok]: GETRANGE with huge ranges, Github issue #1844 (1 ms) [ok]: LCS basic (1 ms) -[ok]: LCS len (1 ms) +[ok]: LCS len (2 ms) [ok]: LCS indexes (1 ms) [ok]: LCS indexes with match len (1 ms) [ok]: LCS indexes with match len and minimum match len (1 ms) -[ok]: SETRANGE with huge offset (0 ms) -[ok]: APPEND modifies the encoding from int to raw (2 ms) -[46/124 done]: unit/type/string (11 seconds) +[ok]: SETRANGE with huge offset (1 ms) +[ok]: APPEND modifies the encoding from int to raw (3 ms) +[46/124 done]: unit/type/string (13 seconds) Testing unit/type/stream === (stream) Starting server 127.0.0.1:21519 ok [ok]: XADD wrong number of args (1 ms) -[ok]: XADD can add entries into a stream that XRANGE can fetch (1 ms) +[ok]: XADD can add entries into a stream that XRANGE can fetch (2 ms) [ok]: XADD IDs are incremental (1 ms) [ok]: XADD IDs are incremental when ms is the same as well (1 ms) -[ok]: XADD IDs correctly report an error when overflowing (0 ms) +[ok]: XADD IDs correctly report an error when overflowing (1 ms) [ok]: XADD auto-generated sequence is incremented for last ID (1 ms) -[ok]: XADD auto-generated sequence is zero for future timestamp ID (1 ms) +[ok]: XADD auto-generated sequence is zero for future timestamp ID (0 ms) [ok]: XADD auto-generated sequence can't be smaller than last ID (0 ms) -[ok]: XADD auto-generated sequence can't overflow (0 ms) +[ok]: XADD auto-generated sequence can't overflow (1 ms) [ok]: XADD 0-* should succeed (1 ms) -[ok]: XADD with MAXLEN option (156 ms) -[ok]: XADD with MAXLEN option and the '=' argument (95 ms) -[ok]: XADD with MAXLEN option and the '~' argument (66 ms) +[ok]: XADD with MAXLEN option (170 ms) +[ok]: XADD with MAXLEN option and the '=' argument (106 ms) +[ok]: XADD with MAXLEN option and the '~' argument (116 ms) [ok]: XADD with NOMKSTREAM option (1 ms) -[ok]: XADD with MINID option (70 ms) +[ok]: XADD with MINID option (84 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 (1427 ms) -[ok]: XADD with ID 0-0 (0 ms) -[ok]: XADD with LIMIT delete entries no more than limit (1 ms) +[ok]: XADD mass insertion and XLEN (1480 ms) +[ok]: XADD with ID 0-0 (1 ms) +[ok]: XADD with LIMIT delete entries no more than limit (2 ms) [ok]: XRANGE COUNT works as expected (1 ms) -[ok]: XREVRANGE COUNT works as expected (0 ms) -[ok]: XRANGE can be used to iterate the whole stream (302 ms) -[ok]: XREVRANGE returns the reverse of XRANGE (1118 ms) +[ok]: XREVRANGE COUNT works as expected (1 ms) +[ok]: XRANGE can be used to iterate the whole stream (447 ms) +[ok]: XREVRANGE returns the reverse of XRANGE (1067 ms) [ok]: XRANGE exclusive ranges (3 ms) -[ok]: XREAD with non empty stream (0 ms) -[ok]: Non blocking XREAD with empty streams (1 ms) -[ok]: XREAD with non empty second stream (1111 ms) -[ok]: Blocking XREAD waiting new data (17 ms) -[ok]: Blocking XREAD waiting old data (20 ms) -[ok]: Blocking XREAD will not reply with an empty array (76 ms) -[ok]: Blocking XREAD for stream that ran dry (issue #5299) (103 ms) -[ok]: XREAD last element from non-empty stream (2 ms) +[ok]: XREAD with non empty stream (1 ms) +[ok]: Non blocking XREAD with empty streams (0 ms) +[ok]: XREAD with non empty second stream (1148 ms) +[ok]: Blocking XREAD waiting new data (14 ms) +[ok]: Blocking XREAD waiting old data (12 ms) +[ok]: Blocking XREAD will not reply with an empty array (123 ms) +[ok]: Blocking XREAD for stream that ran dry (issue #5299) (105 ms) +[ok]: XREAD last element from non-empty stream (1 ms) [ok]: XREAD last element from empty stream (1 ms) -[ok]: XREAD last element blocking from empty stream (32 ms) +[ok]: XREAD last element blocking from empty stream (14 ms) [ok]: XREAD last element blocking from non-empty stream (1 ms) -[ok]: XREAD last element from multiple streams (2 ms) -[ok]: XREAD last element with count > 1 (1 ms) -[ok]: XREAD: XADD + DEL should not awake client (33 ms) -[ok]: XREAD: XADD + DEL + LPUSH should not awake client (34 ms) -[ok]: XREAD with same stream name multiple times should work (33 ms) -[ok]: XREAD + multiple XADD inside transaction (34 ms) -[ok]: XDEL basic test (2 ms) +[ok]: XREAD last element from multiple streams (1 ms) +[ok]: XREAD last element with count > 1 (0 ms) +[ok]: XREAD: XADD + DEL should not awake client (14 ms) +[ok]: XREAD: XADD + DEL + LPUSH should not awake client (14 ms) +[ok]: XREAD with same stream name multiple times should work (14 ms) +[ok]: XREAD + multiple XADD inside transaction (15 ms) +[ok]: XDEL basic test (1 ms) [ok]: XDEL multiply id test (2 ms) -[ok]: XDEL fuzz test (1999 ms) -[ok]: XRANGE fuzzing (4591 ms) -[ok]: XREVRANGE regression test for issue #5006 (1 ms) +[ok]: XDEL fuzz test (1744 ms) +[ok]: XRANGE fuzzing (4571 ms) +[ok]: XREVRANGE regression test for issue #5006 (2 ms) [ok]: XREAD streamID edge (no-blocking) (1 ms) -[ok]: XREAD streamID edge (blocking) (22 ms) -[ok]: XADD streamID edge (0 ms) -[ok]: XTRIM with MAXLEN option basic test (93 ms) -[ok]: XADD with LIMIT consecutive calls (8 ms) -[ok]: XTRIM with ~ is limited (8 ms) +[ok]: XREAD streamID edge (blocking) (21 ms) +[ok]: XADD streamID edge (1 ms) +[ok]: XTRIM with MAXLEN option basic test (98 ms) +[ok]: XADD with LIMIT consecutive calls (9 ms) +[ok]: XTRIM with ~ is limited (10 ms) [ok]: XTRIM without ~ is not limited (8 ms) [ok]: XTRIM without ~ and with LIMIT (8 ms) -[ok]: XTRIM with LIMIT delete entries no more than limit (1 ms) +[ok]: XTRIM with LIMIT delete entries no more than limit (2 ms) === (stream needs:debug) Starting server 127.0.0.1:21521 ok -[ok]: XADD with MAXLEN > xlen can propagate correctly (21 ms) +[ok]: XADD with MAXLEN > xlen can propagate correctly (22 ms) === (stream needs:debug) Starting server 127.0.0.1:21523 ok -[ok]: XADD with MINID > lastid can propagate correctly (20 ms) +[ok]: XADD with MINID > lastid can propagate correctly (21 ms) === (stream needs:debug) Starting server 127.0.0.1:21525 ok -[ok]: XADD with ~ MAXLEN can propagate correctly (14 ms) +[ok]: XADD with ~ MAXLEN can propagate correctly (21 ms) === (stream needs:debug) Starting server 127.0.0.1:21527 ok -[ok]: XADD with ~ MAXLEN and LIMIT can propagate correctly (20 ms) +[ok]: XADD with ~ MAXLEN and LIMIT can propagate correctly (50 ms) === (stream needs:debug) Starting server 127.0.0.1:21529 ok -[ok]: XADD with ~ MINID can propagate correctly (20 ms) +[ok]: XADD with ~ MINID can propagate correctly (13 ms) === (stream needs:debug) Starting server 127.0.0.1:21531 ok -[ok]: XADD with ~ MINID and LIMIT can propagate correctly (20 ms) +[ok]: XADD with ~ MINID and LIMIT can propagate correctly (24 ms) === (stream needs:debug) Starting server 127.0.0.1:21533 ok -[ok]: XTRIM with ~ MAXLEN can propagate correctly (20 ms) +[ok]: XTRIM with ~ MAXLEN can propagate correctly (21 ms) === (stream) Starting server 127.0.0.1:21535 ok [ok]: XADD can CREATE an empty stream (1 ms) [ok]: XSETID can set a specific ID (1 ms) @@ -3599,15 +3628,15 @@ [ok]: XSETID cannot SETID on non-existent key (0 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 errors on negstive offset (1 ms) [ok]: XSETID cannot set the maximal tombstone with larger ID (1 ms) [ok]: XSETID cannot set the offset to less than the length (1 ms) [ok]: XSETID cannot set smaller ID than current MAXDELETEDID (2 ms) === (stream) Starting server 127.0.0.1:21537 ok -[ok]: XADD advances the entries-added counter and sets the recorded-first-entry-id (2 ms) +[ok]: XADD advances the entries-added counter and sets the recorded-first-entry-id (3 ms) [ok]: XDEL/TRIM are reflected by recorded first entry (5 ms) [ok]: Maximum XDEL ID behaves correctly (3 ms) -[ok]: XADD with artial ID with maximal seq (1 ms) +[ok]: XADD with artial ID with maximal seq (0 ms) === (stream needs:debug) Starting server 127.0.0.1:21539 ok Waiting for background AOF rewrite to finish... [ok]: Empty stream can be rewrite into AOF correctly (56 ms) @@ -3615,31 +3644,31 @@ 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 (109 ms) === (stream) Starting server 127.0.0.1:21541 ok -[ok]: XGROUP HELP should not have unexpected options (0 ms) -[ok]: XINFO HELP should not have unexpected options (1 ms) +[ok]: XGROUP HELP should not have unexpected options (1 ms) +[ok]: XINFO HELP should not have unexpected options (0 ms) [47/124 done]: unit/type/stream (15 seconds) Testing unit/type/stream-cgroups === (stream) Starting server 127.0.0.1:21543 ok -[ok]: XGROUP CREATE: creation and duplicate group name detection (1 ms) -[ok]: XGROUP CREATE: with ENTRIESREAD parameter (3 ms) -[ok]: XGROUP CREATE: automatic stream creation fails without MKSTREAM (0 ms) +[ok]: XGROUP CREATE: creation and duplicate group name detection (2 ms) +[ok]: XGROUP CREATE: with ENTRIESREAD parameter (2 ms) +[ok]: XGROUP CREATE: automatic stream creation fails without MKSTREAM (1 ms) [ok]: XGROUP CREATE: automatic stream creation works with MKSTREAM (0 ms) [ok]: XREADGROUP will return only new elements (1 ms) -[ok]: XREADGROUP can read the history of the elements we own (2 ms) -[ok]: XPENDING is able to return pending items (1 ms) -[ok]: XPENDING can return single consumer items (0 ms) -[ok]: XPENDING only group (1 ms) +[ok]: XREADGROUP can read the history of the elements we own (1 ms) +[ok]: XPENDING is able to return pending items (0 ms) +[ok]: XPENDING can return single consumer items (1 ms) +[ok]: XPENDING only group (0 ms) [ok]: XPENDING with IDLE (22 ms) [ok]: XPENDING with exclusive range intervals works as expected (1 ms) -[ok]: XACK is able to remove items from the consumer/group PEL (1 ms) +[ok]: XACK is able to remove items from the consumer/group PEL (2 ms) [ok]: XACK can't remove the same item multiple times (0 ms) [ok]: XACK is able to accept multiple arguments (0 ms) -[ok]: XACK should fail if got at least one invalid ID (2 ms) +[ok]: XACK should fail if got at least one invalid ID (1 ms) [ok]: PEL NACK reassignment after XGROUP SETID event (3 ms) -[ok]: XREADGROUP will not report data on empty history. Bug #5577 (2 ms) -[ok]: XREADGROUP history reporting of deleted entries. Bug #5570 (2 ms) -[ok]: Blocking XREADGROUP will not reply with an empty array (55 ms) -[ok]: Blocking XREADGROUP: key deleted (32 ms) +[ok]: XREADGROUP will not report data on empty history. Bug #5577 (3 ms) +[ok]: XREADGROUP history reporting of deleted entries. Bug #5570 (1 ms) +[ok]: Blocking XREADGROUP will not reply with an empty array (54 ms) +[ok]: Blocking XREADGROUP: key deleted (34 ms) [ok]: Blocking XREADGROUP: key type changed with SET (32 ms) [ok]: Blocking XREADGROUP: key type changed with transaction (33 ms) [ok]: Blocking XREADGROUP: flushed DB (33 ms) @@ -3647,211 +3676,208 @@ [ok]: Blocking XREADGROUP: swapped DB, key is not a stream (33 ms) [ok]: XREAD and XREADGROUP against wrong parameter (2 ms) [ok]: Blocking XREAD: key deleted (32 ms) -[ok]: Blocking XREAD: key type changed with SET (34 ms) -[ok]: Blocking XREADGROUP for stream that ran dry (issue #5299) (90 ms) -[ok]: Blocking XREADGROUP will ignore BLOCK if ID is not > (36 ms) -[ok]: Blocking XREADGROUP for stream key that has clients blocked on list (67 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 (1113 ms) -[ok]: XGROUP DESTROY should unblock XREADGROUP with -NOGROUP (35 ms) -[ok]: RENAME can unblock XREADGROUP with data (33 ms) -[ok]: RENAME can unblock XREADGROUP with -NOGROUP (33 ms) -[ok]: XCLAIM can claim PEL items from another consumer (609 ms) -[ok]: XCLAIM without JUSTID increments delivery count (406 ms) -[ok]: XCLAIM same consumer (204 ms) -[ok]: XAUTOCLAIM can claim PEL items from another consumer (610 ms) -[ok]: XAUTOCLAIM as an iterator (205 ms) -[ok]: XAUTOCLAIM COUNT must be > 0 (1 ms) -[ok]: XCLAIM with XDEL (2 ms) -[ok]: XCLAIM with trimming (3 ms) -[ok]: XAUTOCLAIM with XDEL (2 ms) -[ok]: XAUTOCLAIM with XDEL and count (2 ms) -[ok]: XAUTOCLAIM with out of range count (1 ms) +[ok]: Blocking XREAD: key type changed with SET (33 ms) +[ok]: Blocking XREADGROUP for stream that ran dry (issue #5299) (89 ms) +[ok]: Blocking XREADGROUP will ignore BLOCK if ID is not > (37 ms) +[ok]: Blocking XREADGROUP for stream key that has clients blocked on list (68 ms) +[ok]: Blocking XREADGROUP for stream key that has clients blocked on stream - avoid endless loop (94 ms) +[ok]: Blocking XREADGROUP for stream key that has clients blocked on stream - reprocessing command (1121 ms) +[ok]: XGROUP DESTROY should unblock XREADGROUP with -NOGROUP (22 ms) +[ok]: RENAME can unblock XREADGROUP with data (30 ms) +[ok]: RENAME can unblock XREADGROUP with -NOGROUP (22 ms) +[ok]: XCLAIM can claim PEL items from another consumer (615 ms) +[ok]: XCLAIM without JUSTID increments delivery count (408 ms) +[ok]: XCLAIM same consumer (203 ms) +[ok]: XAUTOCLAIM can claim PEL items from another consumer (608 ms) +[ok]: XAUTOCLAIM as an iterator (206 ms) +[ok]: XAUTOCLAIM COUNT must be > 0 (0 ms) +[ok]: XCLAIM with XDEL (18 ms) [ok]: XCLAIM with trimming (2 ms) +[ok]: XAUTOCLAIM with XDEL (3 ms) +[ok]: XAUTOCLAIM with XDEL and count (3 ms) +[ok]: XAUTOCLAIM with out of range count (1 ms) +[ok]: XCLAIM with trimming (3 ms) [ok]: XINFO FULL output (8 ms) -[ok]: Consumer seen-time and active-time (210 ms) -[ok]: XGROUP CREATECONSUMER: create consumer if does not exist (3 ms) +[ok]: Consumer seen-time and active-time (211 ms) +[ok]: XGROUP CREATECONSUMER: create consumer if does not exist (4 ms) [ok]: XGROUP CREATECONSUMER: group must exist (1 ms) === (stream needs:debug) Starting server 127.0.0.1:21545 ok -[ok]: XREADGROUP with NOACK creates consumer (41 ms) +[ok]: XREADGROUP with NOACK creates consumer (36 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 (134 ms) -[ok]: Consumer group read counter and lag in empty streams (21 ms) -[ok]: Consumer group read counter and lag sanity (4 ms) -[ok]: Consumer group lag with XDELs (12 ms) -[ok]: Loading from legacy (Redis <= v6.2.x, rdb_ver < 10) persistence (1 ms) -[ok]: Loading from legacy (Redis <= v7.0.x, rdb_ver < 11) persistence (4 ms) +Waiting for background AOF rewrite to finish... [ok]: Consumer without PEL is present in AOF after AOFRW (139 ms) +[ok]: Consumer group read counter and lag in empty streams (4 ms) +[ok]: Consumer group read counter and lag sanity (8 ms) +[ok]: Consumer group lag with XDELs (18 ms) +[ok]: Loading from legacy (Redis <= v6.2.x, rdb_ver < 10) persistence (3 ms) +[ok]: Loading from legacy (Redis <= v7.0.x, rdb_ver < 11) persistence (1 ms) === (external:skip) Starting server 127.0.0.1:21547 ok -[ok]: Consumer group last ID propagation to slave (NOACK=0) (924 ms) +[ok]: Consumer group last ID propagation to slave (NOACK=0) (927 ms) [ok]: Consumer group last ID propagation to slave (NOACK=1) (1025 ms) === (external:skip) Starting server 127.0.0.1:21549 ok -[ok]: Replication tests of XCLAIM with deleted entries (autoclaim=0) (962 ms) -[ok]: Replication tests of XCLAIM with deleted entries (autoclaim=1) (16 ms) -[ok]: XREADGROUP ACK would propagate entries-read (7 ms) +[ok]: Replication tests of XCLAIM with deleted entries (autoclaim=0) (950 ms) +[ok]: Replication tests of XCLAIM with deleted entries (autoclaim=1) (4 ms) +[ok]: XREADGROUP ACK would propagate entries-read (4 ms) === (stream needs:debug) Starting server 127.0.0.1:21551 ok -Waiting for background AOF rewrite to finish... [ok]: Empty stream with no lastid can be rewrite into AOF correctly (58 ms) -[48/124 done]: unit/type/stream-cgroups (9 seconds) +Waiting for background AOF rewrite to finish... [ok]: Empty stream with no lastid can be rewrite into AOF correctly (56 ms) +[48/124 done]: unit/type/stream-cgroups (8 seconds) Testing unit/type/set === (set) Starting server 127.0.0.1:21553 ok -[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - listpack (3 ms) -[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - hashtable (24 ms) +[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - listpack (4 ms) +[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - hashtable (26 ms) [ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - intset (3 ms) [ok]: SMISMEMBER SMEMBERS SCARD against non set (2 ms) [ok]: SMISMEMBER SMEMBERS SCARD against non existing key (1 ms) -[ok]: SMISMEMBER requires one or more members (1 ms) +[ok]: SMISMEMBER requires one or more members (0 ms) [ok]: SADD against non set (0 ms) [ok]: SADD a non-integer against a small intset (2 ms) -[ok]: SADD a non-integer against a large intset (18 ms) +[ok]: SADD a non-integer against a large intset (22 ms) [ok]: SADD an integer larger than 64 bits (1 ms) -[ok]: SADD an integer larger than 64 bits to a large intset (17 ms) -[ok]: SADD overflows the maximum allowed integers in an intset - single (53 ms) -[ok]: SADD overflows the maximum allowed elements in a listpack - single (11 ms) -[ok]: SADD overflows the maximum allowed integers in an intset - multiple (2 ms) -[ok]: SADD overflows the maximum allowed elements in a listpack - multiple (1 ms) -[ok]: SADD overflows the maximum allowed integers in an intset - single_multiple (45 ms) +[ok]: SADD an integer larger than 64 bits to a large intset (22 ms) +[ok]: SADD overflows the maximum allowed integers in an intset - single (62 ms) +[ok]: SADD overflows the maximum allowed elements in a listpack - single (14 ms) +[ok]: SADD overflows the maximum allowed integers in an intset - multiple (3 ms) +[ok]: SADD overflows the maximum allowed elements in a listpack - multiple (3 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 (3 ms) [ok]: Variadic SADD (1 ms) -[ok]: Set encoding after DEBUG RELOAD (180 ms) -[ok]: SREM basics - $type (0 ms) -[ok]: SREM basics - $type (11 ms) -[ok]: SREM basics - intset (0 ms) +[ok]: Set encoding after DEBUG RELOAD (207 ms) +[ok]: SREM basics - $type (1 ms) +[ok]: SREM basics - $type (13 ms) +[ok]: SREM basics - intset (1 ms) [ok]: SREM with multiple arguments (1 ms) [ok]: SREM variadic version with more args needed to destroy the key (0 ms) [ok]: SINTERCARD with illegal arguments (1 ms) [ok]: SINTERCARD against non-set should throw error (1 ms) -[ok]: SINTERCARD against non-existing key (0 ms) -[ok]: Generated sets must be encoded correctly - regular (0 ms) +[ok]: SINTERCARD against non-existing key (1 ms) +[ok]: Generated sets must be encoded correctly - regular (1 ms) [ok]: SINTER with two sets - regular (0 ms) [ok]: SINTERCARD with two sets - regular (1 ms) [ok]: SINTERSTORE with two sets - regular (0 ms) [ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - regular (2 ms) -[ok]: SUNION with two sets - regular (6 ms) +[ok]: SUNION with two sets - regular (5 ms) [ok]: SUNIONSTORE with two sets - regular (6 ms) -[ok]: SINTER against three sets - regular (1 ms) -[ok]: SINTERCARD against three sets - regular (0 ms) -[ok]: SINTERSTORE with three sets - regular (1 ms) +[ok]: SINTER against three sets - regular (0 ms) +[ok]: SINTERCARD against three sets - regular (1 ms) +[ok]: SINTERSTORE with three sets - regular (0 ms) [ok]: SUNION with non existing keys - regular (5 ms) -[ok]: SDIFF with two sets - regular (0 ms) +[ok]: SDIFF with two sets - regular (1 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 (4 ms) +[ok]: SDIFFSTORE with three sets - regular (0 ms) +[ok]: SINTER/SUNION/SDIFF with three same sets - regular (5 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 (0 ms) -[ok]: SINTERSTORE with two sets - intset (1 ms) -[ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - intset (1 ms) -[ok]: SUNION with two sets - intset (5 ms) -[ok]: SUNIONSTORE with two sets - intset (6 ms) +[ok]: SINTERCARD with two sets - intset (1 ms) +[ok]: SINTERSTORE with two sets - intset (0 ms) +[ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - intset (2 ms) +[ok]: SUNION with two sets - intset (9 ms) +[ok]: SUNIONSTORE with two sets - intset (9 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 (5 ms) -[ok]: SDIFF with two sets - intset (0 ms) +[ok]: SINTERSTORE with three sets - intset (1 ms) +[ok]: SUNION with non existing keys - intset (8 ms) +[ok]: SDIFF with two sets - intset (1 ms) [ok]: SDIFF with three sets - intset (0 ms) [ok]: SDIFFSTORE with three sets - intset (0 ms) -[ok]: SINTER/SUNION/SDIFF with three same sets - intset (4 ms) +[ok]: SINTER/SUNION/SDIFF with three same sets - intset (7 ms) [ok]: SINTERSTORE with two listpack sets where result is intset (1 ms) -[ok]: SINTERSTORE with two hashtable sets where result is intset (21 ms) -[ok]: SUNION hashtable and listpack (1 ms) -[ok]: SDIFF with first set empty (0 ms) -[ok]: SDIFF with same set two times (1 ms) -[ok]: SDIFF fuzzing (3346 ms) -[ok]: SDIFF against non-set should throw error (1 ms) +[ok]: SINTERSTORE with two hashtable sets where result is intset (27 ms) +[ok]: SUNION hashtable and listpack (3 ms) +[ok]: SDIFF with first set empty (1 ms) +[ok]: SDIFF with same set two times (0 ms) +[ok]: SDIFF fuzzing (3854 ms) +[ok]: SDIFF against non-set should throw error (0 ms) [ok]: SDIFF should handle non existing key as empty (0 ms) -[ok]: SDIFFSTORE against non-set should throw error (1 ms) +[ok]: SDIFFSTORE against non-set should throw error (2 ms) [ok]: SDIFFSTORE should handle non existing key as empty (1 ms) -[ok]: SINTER against non-set should throw error (1 ms) -[ok]: SINTER should handle non existing key as empty (0 ms) +[ok]: SINTER against non-set should throw error (2 ms) +[ok]: SINTER should handle non existing key as empty (1 ms) [ok]: SINTER with same integer elements but different encoding (1 ms) -[ok]: SINTERSTORE against non-set should throw error (1 ms) -[ok]: SINTERSTORE against non existing keys should delete dstkey (0 ms) +[ok]: SINTERSTORE against non-set should throw error (2 ms) +[ok]: SINTERSTORE against non existing keys should delete dstkey (1 ms) [ok]: SUNION against non-set should throw error (1 ms) -[ok]: SUNION should handle non existing key as empty (0 ms) -[ok]: SUNIONSTORE against non-set should throw error (1 ms) +[ok]: SUNION should handle non existing key as empty (1 ms) +[ok]: SUNIONSTORE against non-set should throw error (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 (0 ms) -[ok]: SPOP with =1 - listpack (0 ms) -[ok]: SRANDMEMBER - listpack (6 ms) -[ok]: SPOP basics - intset (0 ms) +[ok]: SUNIONSTORE against non existing keys should delete dstkey (1 ms) +[ok]: SPOP basics - listpack (1 ms) +[ok]: SPOP with =1 - listpack (1 ms) +[ok]: SRANDMEMBER - listpack (10 ms) +[ok]: SPOP basics - intset (1 ms) [ok]: SPOP with =1 - intset (1 ms) -[ok]: SRANDMEMBER - intset (6 ms) -[ok]: SPOP integer from listpack set (1 ms) -[ok]: SPOP with - listpack (2 ms) -[ok]: SPOP with - intset (3 ms) -[ok]: SPOP with - hashtable (2 ms) -[ok]: SPOP using integers, testing Knuth's and Floyd's algorithm (5 ms) +[ok]: SRANDMEMBER - intset (9 ms) +[ok]: SPOP integer from listpack set (2 ms) +[ok]: SPOP with - listpack (4 ms) +[ok]: SPOP with - intset (5 ms) +[ok]: SPOP with - hashtable (4 ms) +[ok]: SPOP using integers, testing Knuth's and Floyd's algorithm (3 ms) [ok]: SPOP using integers with Knuth's algorithm (0 ms) -[ok]: SPOP new implementation: code path #1 intset (4 ms) +[ok]: SPOP new implementation: code path #1 intset (3 ms) [ok]: SPOP new implementation: code path #2 intset (3 ms) -[ok]: SPOP new implementation: code path #3 intset (4 ms) -[ok]: SPOP new implementation: code path #1 listpack (4 ms) -[ok]: SPOP new implementation: code path #2 listpack (2 ms) +[ok]: SPOP new implementation: code path #3 intset (2 ms) +[ok]: SPOP new implementation: code path #1 listpack (2 ms) +[ok]: SPOP new implementation: code path #2 listpack (3 ms) [ok]: SPOP new implementation: code path #3 listpack (3 ms) -[ok]: SPOP new implementation: code path #1 propagate as DEL or UNLINK (126 ms) -[ok]: SRANDMEMBER count of 0 is handled correctly (1 ms) +[ok]: SPOP new implementation: code path #1 propagate as DEL or UNLINK (74 ms) +[ok]: SRANDMEMBER count of 0 is handled correctly (0 ms) [ok]: SRANDMEMBER with against non existing key (0 ms) -[ok]: SRANDMEMBER count overflow (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 (46 ms) -[ok]: SRANDMEMBER histogram distribution - listpack (122 ms) -[ok]: SRANDMEMBER histogram distribution - intset (160 ms) -[ok]: SRANDMEMBER histogram distribution - hashtable (131 ms) +[ok]: SRANDMEMBER with - listpack (18 ms) +[ok]: SRANDMEMBER with - intset (24 ms) +[ok]: SRANDMEMBER with - hashtable (21 ms) +[ok]: SRANDMEMBER histogram distribution - listpack (123 ms) +[ok]: SRANDMEMBER histogram distribution - intset (84 ms) +[ok]: SRANDMEMBER histogram distribution - hashtable (84 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: 33 - avg chain length (counted): 22.68 - avg chain length (computed): 22.68 + different slots: 21 + max chain length: 32 + avg chain length (counted): 23.76 + avg chain length (computed): 23.76 Chain length distribution: - 0: 4074 (99.46%) - 11: 1 (0.02%) - 15: 1 (0.02%) - 17: 1 (0.02%) + 0: 4075 (99.49%) + 13: 2 (0.05%) 19: 1 (0.02%) 20: 3 (0.07%) - 21: 1 (0.02%) - 22: 2 (0.05%) - 23: 3 (0.07%) - 24: 2 (0.05%) - 25: 3 (0.07%) - 27: 1 (0.02%) - 29: 1 (0.02%) - 31: 1 (0.02%) - 33: 1 (0.02%) + 22: 1 (0.02%) + 23: 4 (0.10%) + 25: 2 (0.05%) + 26: 1 (0.02%) + 28: 3 (0.07%) + 29: 2 (0.05%) + 30: 1 (0.02%) + 32: 1 (0.02%) -Waiting for background save to finish... [ok]: SRANDMEMBER with a dict containing long chain (9373 ms) -[ok]: SMOVE basics - from regular set to intset (2 ms) -[ok]: SMOVE basics - from intset to regular set (1 ms) -[ok]: SMOVE non existing key (1 ms) +Waiting for background save to finish... [ok]: SRANDMEMBER with a dict containing long chain (10959 ms) +[ok]: SMOVE basics - from regular set to intset (3 ms) +[ok]: SMOVE basics - from intset to regular set (2 ms) +[ok]: SMOVE non existing key (2 ms) [ok]: SMOVE non existing src set (1 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 from regular set to non existing destination set (2 ms) +[ok]: SMOVE from intset to non existing destination set (2 ms) [ok]: SMOVE wrong src key type (0 ms) -[ok]: SMOVE wrong dst key type (0 ms) -[ok]: SMOVE with identical source and destination (1 ms) -[ok]: SMOVE only notify dstset when the addition is successful (15 ms) -[ok]: intsets implementation stress testing (1793 ms) +[ok]: SMOVE wrong dst key type (1 ms) +[ok]: SMOVE with identical source and destination (0 ms) +[ok]: SMOVE only notify dstset when the addition is successful (22 ms) +[ok]: intsets implementation stress testing (3235 ms) === () Starting server 127.0.0.1:21555 ok [ignore]: SADD, SCARD, SISMEMBER - large data: large memory flag not provided -[49/124 done]: unit/type/set (16 seconds) +[49/124 done]: unit/type/set (20 seconds) Testing unit/type/list === () Starting server 127.0.0.1:21557 ok [ok]: packed node check compression with insert and pop (4 ms) [ok]: packed node check compression combined with trim (2 ms) -[ok]: packed node check compression with lset (1 ms) -[ok]: plain node check compression with insert and pop (362 ms) +[ok]: packed node check compression with lset (2 ms) +[ok]: plain node check compression with insert and pop (358 ms) [ok]: plain node check compression combined with trim (133 ms) -[ok]: plain node check compression with lset (179 ms) +[ok]: plain node check compression with lset (175 ms) === () Starting server 127.0.0.1:21559 ok [ok]: Test LPUSH and LPOP on plain nodes (5 ms) [ok]: Test LINDEX and LINSERT on plain nodes (2 ms) @@ -3859,20 +3885,20 @@ [ok]: Test LREM on plain nodes (2 ms) [ok]: Test LPOS on plain nodes (2 ms) [ok]: Test LMOVE on plain nodes (3 ms) -[ok]: Test LSET with packed / plain combinations (191 ms) -[ok]: Test LSET with packed is split in the middle (3 ms) -[ok]: Test LSET with packed consist only one item (176 ms) +[ok]: Test LSET with packed / plain combinations (183 ms) +[ok]: Test LSET with packed is split in the middle (4 ms) +[ok]: Test LSET with packed consist only one item (180 ms) [ok]: Crash due to delete entry from a compress quicklist node (3 ms) [ok]: Crash due to split quicklist node wrongly (1 ms) [ok]: Test LPUSH and LPOP on plain nodes (3 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 (1 ms) +[ok]: Test LPOS on plain nodes (2 ms) [ok]: Test LMOVE on plain nodes (3 ms) -[ok]: Test LSET with packed / plain combinations (181 ms) -[ok]: Test LSET with packed is split in the middle (3 ms) -[ok]: Test LSET with packed consist only one item (177 ms) +[ok]: Test LSET with packed / plain combinations (192 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 (3 ms) [ok]: Crash due to split quicklist node wrongly (2 ms) === () Starting server 127.0.0.1:21561 ok @@ -3886,27 +3912,27 @@ [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:21563 ok -[ok]: LPOS basic usage - quicklist (43 ms) -[ok]: LPOS RANK (positive, negative and zero rank) option (2 ms) +[ok]: LPOS basic usage - quicklist (44 ms) +[ok]: LPOS RANK (positive, negative and zero rank) option (3 ms) [ok]: LPOS COUNT option (1 ms) [ok]: LPOS COUNT + RANK option (1 ms) [ok]: LPOS non existing key (0 ms) [ok]: LPOS no match (1 ms) -[ok]: LPOS MAXLEN (1 ms) -[ok]: LPOS when RANK is greater than matches (1 ms) -[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - quicklist (90 ms) -[ok]: LPOP/RPOP with wrong number of arguments (0 ms) -[ok]: RPOP/LPOP with the optional count argument - quicklist (43 ms) +[ok]: LPOS MAXLEN (2 ms) +[ok]: LPOS when RANK is greater than matches (0 ms) +[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - quicklist (88 ms) +[ok]: LPOP/RPOP with wrong number of arguments (1 ms) +[ok]: RPOP/LPOP with the optional count argument - quicklist (47 ms) [ok]: LPOS basic usage - listpack (1 ms) -[ok]: LPOS RANK (positive, negative and zero rank) option (2 ms) +[ok]: LPOS RANK (positive, negative and zero rank) option (1 ms) [ok]: LPOS COUNT option (0 ms) -[ok]: LPOS COUNT + RANK option (0 ms) +[ok]: LPOS COUNT + RANK option (1 ms) [ok]: LPOS non existing key (0 ms) [ok]: LPOS no match (1 ms) [ok]: LPOS MAXLEN (1 ms) [ok]: LPOS when RANK is greater than matches (0 ms) -[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - listpack (4 ms) -[ok]: LPOP/RPOP with wrong number of arguments (1 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 (1 ms) [ok]: LPOP/RPOP with the count 0 returns an empty array in RESP3 (1 ms) [ok]: LPOP/RPOP against non existing key in RESP3 (1 ms) @@ -3916,149 +3942,149 @@ [ok]: LPOP/RPOP with against non existing key in RESP2 (0 ms) [ok]: Variadic RPUSH/LPUSH (1 ms) [ok]: DEL a list (1 ms) -[ok]: BLPOP: single existing list - quicklist (76 ms) +[ok]: BLPOP: single existing list - quicklist (75 ms) [ok]: BLPOP: multiple existing lists - quicklist (120 ms) [ok]: BLPOP: second list has an entry - quicklist (75 ms) -[ok]: BLMPOP_LEFT: single existing list - quicklist (77 ms) +[ok]: BLMPOP_LEFT: single existing list - quicklist (81 ms) [ok]: BLMPOP_LEFT: multiple existing lists - quicklist (120 ms) -[ok]: BLMPOP_LEFT: second list has an entry - quicklist (75 ms) +[ok]: BLMPOP_LEFT: second list has an entry - quicklist (79 ms) [ok]: BRPOPLPUSH - quicklist (76 ms) -[ok]: BLMOVE left left - quicklist (75 ms) +[ok]: BLMOVE left left - quicklist (76 ms) [ok]: BLMOVE left right - quicklist (75 ms) [ok]: BLMOVE right left - quicklist (76 ms) -[ok]: BLMOVE right right - quicklist (75 ms) -[ok]: BLPOP: single existing list - listpack (33 ms) -[ok]: BLPOP: multiple existing lists - listpack (34 ms) -[ok]: BLPOP: second list has an entry - listpack (33 ms) -[ok]: BLMPOP_LEFT: single existing list - listpack (33 ms) -[ok]: BLMPOP_LEFT: multiple existing lists - listpack (34 ms) -[ok]: BLMPOP_LEFT: second list has an entry - listpack (32 ms) -[ok]: BRPOPLPUSH - listpack (33 ms) -[ok]: BLMOVE left left - listpack (33 ms) -[ok]: BLMOVE left right - listpack (33 ms) -[ok]: BLMOVE right left - listpack (33 ms) -[ok]: BLMOVE right right - listpack (33 ms) -[ok]: BLPOP, LPUSH + DEL should not awake blocked client (33 ms) -[ok]: BLPOP, LPUSH + DEL + SET should not awake blocked client (33 ms) -[ok]: BLMPOP_LEFT, LPUSH + DEL should not awake blocked client (33 ms) -[ok]: BLMPOP_LEFT, LPUSH + DEL + SET should not awake blocked client (33 ms) -[ok]: BLPOP with same key multiple times should work (issue #801) (33 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BLPOP (32 ms) -[ok]: BLPOP with variadic LPUSH (32 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BLMPOP_LEFT (32 ms) -[ok]: BLMPOP_LEFT with variadic LPUSH (35 ms) -[ok]: BRPOPLPUSH with zero timeout should block indefinitely (32 ms) -[ok]: BLMOVE left left with zero timeout should block indefinitely (33 ms) -[ok]: BLMOVE left right with zero timeout should block indefinitely (32 ms) -[ok]: BLMOVE right left with zero timeout should block indefinitely (33 ms) -[ok]: BLMOVE right right with zero timeout should block indefinitely (32 ms) -[ok]: BLMOVE (left, left) with a client BLPOPing the target list (64 ms) -[ok]: BLMOVE (left, right) with a client BLPOPing the target list (63 ms) -[ok]: BLMOVE (right, left) with a client BLPOPing the target list (63 ms) -[ok]: BLMOVE (right, right) with a client BLPOPing the target list (63 ms) -[ok]: BRPOPLPUSH with wrong source type (31 ms) -[ok]: BRPOPLPUSH with wrong destination type (64 ms) -[ok]: BRPOPLPUSH maintains order of elements after failure (33 ms) -[ok]: BRPOPLPUSH with multiple blocked clients (64 ms) -[ok]: BLMPOP with multiple blocked clients (125 ms) +[ok]: BLMOVE right right - quicklist (76 ms) +[ok]: BLPOP: single existing list - listpack (34 ms) +[ok]: BLPOP: multiple existing lists - listpack (36 ms) +[ok]: BLPOP: second list has an entry - listpack (30 ms) +[ok]: BLMPOP_LEFT: single existing list - listpack (24 ms) +[ok]: BLMPOP_LEFT: multiple existing lists - listpack (19 ms) +[ok]: BLMPOP_LEFT: second list has an entry - listpack (17 ms) +[ok]: BRPOPLPUSH - listpack (15 ms) +[ok]: BLMOVE left left - listpack (14 ms) +[ok]: BLMOVE left right - listpack (14 ms) +[ok]: BLMOVE right left - listpack (14 ms) +[ok]: BLMOVE right right - listpack (14 ms) +[ok]: BLPOP, LPUSH + DEL should not awake blocked client (14 ms) +[ok]: BLPOP, LPUSH + DEL + SET should not awake blocked client (14 ms) +[ok]: BLMPOP_LEFT, LPUSH + DEL should not awake blocked client (13 ms) +[ok]: BLMPOP_LEFT, LPUSH + DEL + SET should not awake blocked client (14 ms) +[ok]: BLPOP with same key multiple times should work (issue #801) (14 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 (14 ms) +[ok]: BLMPOP_LEFT with variadic LPUSH (14 ms) +[ok]: BRPOPLPUSH with zero timeout should block indefinitely (13 ms) +[ok]: BLMOVE left left with zero timeout should block indefinitely (13 ms) +[ok]: BLMOVE left right with zero timeout should block indefinitely (13 ms) +[ok]: BLMOVE right left with zero timeout should block indefinitely (13 ms) +[ok]: BLMOVE right right with zero timeout should block indefinitely (13 ms) +[ok]: BLMOVE (left, left) with a client BLPOPing the target list (28 ms) +[ok]: BLMOVE (left, right) with a client BLPOPing the target list (31 ms) +[ok]: BLMOVE (right, left) with a client BLPOPing the target list (34 ms) +[ok]: BLMOVE (right, right) with a client BLPOPing the target list (42 ms) +[ok]: BRPOPLPUSH with wrong source type (32 ms) +[ok]: BRPOPLPUSH with wrong destination type (59 ms) +[ok]: BRPOPLPUSH maintains order of elements after failure (28 ms) +[ok]: BRPOPLPUSH with multiple blocked clients (65 ms) +[ok]: BLMPOP with multiple blocked clients (127 ms) [ok]: Linked LMOVEs (64 ms) [ok]: Circular BRPOPLPUSH (63 ms) -[ok]: Self-referential BRPOPLPUSH (32 ms) +[ok]: Self-referential BRPOPLPUSH (33 ms) [ok]: BRPOPLPUSH inside a transaction (2 ms) [ok]: PUSH resulting from BRPOPLPUSH affect WATCH (63 ms) [ok]: BRPOPLPUSH does not affect WATCH while still blocked (66 ms) -[ok]: BRPOPLPUSH timeout (1047 ms) -[ok]: SWAPDB awakes blocked client (33 ms) -[ok]: SWAPDB wants to wake blocked client, but the key already expired (262 ms) -[ok]: MULTI + LPUSH + EXPIRE + DEBUG SLEEP on blocked client, key already expired (300 ms) -[ok]: BLPOP unblock but the key is expired and then block again - reprocessing command (1043 ms) -[ok]: BLPOP when new key is moved into place (32 ms) +[ok]: BRPOPLPUSH timeout (1045 ms) +[ok]: SWAPDB awakes blocked client (34 ms) +[ok]: SWAPDB wants to wake blocked client, but the key already expired (259 ms) +[ok]: MULTI + LPUSH + EXPIRE + DEBUG SLEEP on blocked client, key already expired (290 ms) +[ok]: BLPOP unblock but the key is expired and then block again - reprocessing command (1031 ms) +[ok]: BLPOP when new key is moved into place (30 ms) [ok]: BLPOP when result key is created by SORT..STORE (33 ms) -[ok]: BLMPOP_LEFT when new key is moved into place (32 ms) +[ok]: BLMPOP_LEFT when new key is moved into place (33 ms) [ok]: BLMPOP_LEFT when result key is created by SORT..STORE (33 ms) -[ok]: BLPOP: timeout value out of range (1 ms) -[ok]: BLPOP: with single empty list argument (32 ms) +[ok]: BLPOP: timeout value out of range (0 ms) +[ok]: BLPOP: with single empty list argument (33 ms) [ok]: BLPOP: with negative timeout (31 ms) -[ok]: BLPOP: with non-integer timeout (32 ms) -[ok]: BLPOP: with zero timeout should block indefinitely (32 ms) +[ok]: BLPOP: with non-integer timeout (31 ms) +[ok]: BLPOP: with zero timeout should block indefinitely (31 ms) [ok]: BLPOP: with 0.001 timeout should not block indefinitely (53 ms) [ok]: BLPOP: second argument is not a list (31 ms) [ok]: BLPOP: timeout (1079 ms) [ok]: BLPOP: arguments are empty (34 ms) -[ok]: BRPOP: with single empty list argument (33 ms) +[ok]: BRPOP: with single empty list argument (32 ms) [ok]: BRPOP: with negative timeout (31 ms) [ok]: BRPOP: with non-integer timeout (32 ms) [ok]: BRPOP: with zero timeout should block indefinitely (32 ms) [ok]: BRPOP: with 0.001 timeout should not block indefinitely (42 ms) [ok]: BRPOP: second argument is not a list (32 ms) -[ok]: BRPOP: timeout (1078 ms) -[ok]: BRPOP: arguments are empty (34 ms) -[ok]: BLMPOP_LEFT: with single empty list argument (32 ms) -[ok]: BLMPOP_LEFT: with negative timeout (31 ms) -[ok]: BLMPOP_LEFT: with non-integer timeout (32 ms) -[ok]: BLMPOP_LEFT: with zero timeout should block indefinitely (32 ms) -[ok]: BLMPOP_LEFT: with 0.001 timeout should not block indefinitely (45 ms) -[ok]: BLMPOP_LEFT: second argument is not a list (32 ms) -[ok]: BLMPOP_LEFT: timeout (1074 ms) +[ok]: BRPOP: timeout (1089 ms) +[ok]: BRPOP: arguments are empty (15 ms) +[ok]: BLMPOP_LEFT: with single empty list argument (19 ms) +[ok]: BLMPOP_LEFT: with negative timeout (15 ms) +[ok]: BLMPOP_LEFT: with non-integer timeout (13 ms) +[ok]: BLMPOP_LEFT: with zero timeout should block indefinitely (14 ms) +[ok]: BLMPOP_LEFT: with 0.001 timeout should not block indefinitely (25 ms) +[ok]: BLMPOP_LEFT: second argument is not a list (14 ms) +[ok]: BLMPOP_LEFT: timeout (1098 ms) [ok]: BLMPOP_LEFT: arguments are empty (34 ms) -[ok]: BLMPOP_RIGHT: with single empty list argument (32 ms) -[ok]: BLMPOP_RIGHT: with negative timeout (30 ms) -[ok]: BLMPOP_RIGHT: with non-integer timeout (31 ms) +[ok]: BLMPOP_RIGHT: with single empty list argument (30 ms) +[ok]: BLMPOP_RIGHT: with negative timeout (32 ms) +[ok]: BLMPOP_RIGHT: with non-integer timeout (33 ms) [ok]: BLMPOP_RIGHT: with zero timeout should block indefinitely (32 ms) -[ok]: BLMPOP_RIGHT: with 0.001 timeout should not block indefinitely (42 ms) -[ok]: BLMPOP_RIGHT: second argument is not a list (32 ms) -[ok]: BLMPOP_RIGHT: timeout (1077 ms) +[ok]: BLMPOP_RIGHT: with 0.001 timeout should not block indefinitely (53 ms) +[ok]: BLMPOP_RIGHT: second argument is not a list (31 ms) +[ok]: BLMPOP_RIGHT: timeout (1076 ms) [ok]: BLMPOP_RIGHT: arguments are empty (34 ms) [ok]: BLPOP inside a transaction (2 ms) -[ok]: BLMPOP_LEFT inside a transaction (2 ms) -[ok]: BLMPOP propagate as pop with count command to replica (269 ms) -[ok]: LPUSHX, RPUSHX - generic (1 ms) -[ok]: LPUSHX, RPUSHX - quicklist (43 ms) -[ok]: LINSERT - quicklist (46 ms) -[ok]: LPUSHX, RPUSHX - listpack (2 ms) -[ok]: LINSERT - listpack (4 ms) -[ok]: LINSERT raise error on bad syntax (0 ms) +[ok]: BLMPOP_LEFT inside a transaction (1 ms) +[ok]: BLMPOP propagate as pop with count command to replica (268 ms) +[ok]: LPUSHX, RPUSHX - generic (2 ms) +[ok]: LPUSHX, RPUSHX - quicklist (44 ms) +[ok]: LINSERT - quicklist (55 ms) +[ok]: LPUSHX, RPUSHX - listpack (3 ms) +[ok]: LINSERT - listpack (6 ms) +[ok]: LINSERT raise error on bad syntax (1 ms) [ok]: LINSERT against non-list value error (1 ms) -[ok]: LINSERT against non existing key (0 ms) -[ok]: LINDEX consistency test - listpack (110 ms) -[ok]: LINDEX random access - listpack (57 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - listpack (88 ms) -[ok]: LINDEX consistency test - listpack (156 ms) -[ok]: LINDEX random access - listpack (68 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - listpack (130 ms) -[ok]: LINDEX consistency test - quicklist (48 ms) -[ok]: LINDEX random access - quicklist (33 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (63 ms) -[ok]: LINDEX consistency test - quicklist (91 ms) -[ok]: LINDEX random access - quicklist (64 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (127 ms) +[ok]: LINSERT against non existing key (1 ms) +[ok]: LINDEX consistency test - listpack (98 ms) +[ok]: LINDEX random access - listpack (49 ms) +[ok]: Check if list is still ok after a DEBUG RELOAD - listpack (96 ms) +[ok]: LINDEX consistency test - listpack (137 ms) +[ok]: LINDEX random access - listpack (113 ms) +[ok]: Check if list is still ok after a DEBUG RELOAD - listpack (224 ms) +[ok]: LINDEX consistency test - quicklist (64 ms) +[ok]: LINDEX random access - quicklist (72 ms) +[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (123 ms) +[ok]: LINDEX consistency test - quicklist (253 ms) +[ok]: LINDEX random access - quicklist (145 ms) +[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (310 ms) [ok]: LLEN against non-list value error (1 ms) [ok]: LLEN against non existing key (0 ms) -[ok]: LINDEX against non-list value error (1 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]: LPUSH against non-list value error (1 ms) [ok]: RPUSH against non-list value error (0 ms) [ok]: RPOPLPUSH base case - quicklist (48 ms) -[ok]: LMOVE left left base case - quicklist (47 ms) -[ok]: LMOVE left right base case - quicklist (48 ms) -[ok]: LMOVE right left base case - quicklist (43 ms) -[ok]: LMOVE right right base case - quicklist (43 ms) -[ok]: RPOPLPUSH with the same list as src and dst - quicklist (44 ms) +[ok]: LMOVE left left base case - quicklist (46 ms) +[ok]: LMOVE left right base case - quicklist (44 ms) +[ok]: LMOVE right left base case - quicklist (51 ms) +[ok]: LMOVE right right base case - quicklist (48 ms) +[ok]: RPOPLPUSH with the same list as src and dst - quicklist (48 ms) [ok]: LMOVE left left with the same list as src and dst - quicklist (44 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 left right with the same list as src and dst - quicklist (50 ms) +[ok]: LMOVE right left with the same list as src and dst - quicklist (46 ms) [ok]: LMOVE right right with the same list as src and dst - quicklist (44 ms) -[ok]: RPOPLPUSH with quicklist source and existing target quicklist (88 ms) -[ok]: LMOVE left left with quicklist source and existing target quicklist (88 ms) -[ok]: LMOVE left right with quicklist source and existing target quicklist (88 ms) -[ok]: LMOVE right left with quicklist source and existing target quicklist (87 ms) -[ok]: LMOVE right right with quicklist source and existing target quicklist (87 ms) -[ok]: RPOPLPUSH with quicklist source and existing target listpack (48 ms) -[ok]: LMOVE left left with quicklist source and existing target listpack (44 ms) +[ok]: RPOPLPUSH with quicklist source and existing target quicklist (92 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 (91 ms) +[ok]: LMOVE right left with quicklist source and existing target quicklist (91 ms) +[ok]: LMOVE right right with quicklist source and existing target quicklist (91 ms) +[ok]: RPOPLPUSH with quicklist source and existing target listpack (53 ms) +[ok]: LMOVE left left with quicklist source and existing target listpack (47 ms) [ok]: LMOVE left right with quicklist source and existing target listpack (48 ms) [ok]: LMOVE right left with quicklist source and existing target listpack (47 ms) -[ok]: LMOVE right right with quicklist source and existing target listpack (44 ms) -[ok]: RPOPLPUSH base case - listpack (3 ms) +[ok]: LMOVE right right with quicklist source and existing target listpack (45 ms) +[ok]: RPOPLPUSH base case - listpack (2 ms) [ok]: LMOVE left left base case - listpack (2 ms) [ok]: LMOVE left right base case - listpack (2 ms) [ok]: LMOVE right left base case - listpack (2 ms) @@ -4069,118 +4095,118 @@ [ok]: LMOVE right left with the same list as src and dst - listpack (1 ms) [ok]: LMOVE right right with the same list as src and dst - listpack (2 ms) [ok]: RPOPLPUSH with listpack source and existing target quicklist (45 ms) -[ok]: LMOVE left left with listpack source and existing target quicklist (45 ms) -[ok]: LMOVE left right with listpack source and existing target quicklist (44 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 (44 ms) +[ok]: LMOVE left left with listpack source and existing target quicklist (49 ms) +[ok]: LMOVE left right with listpack source and existing target quicklist (45 ms) +[ok]: LMOVE right left with listpack source and existing target quicklist (51 ms) +[ok]: LMOVE right right with listpack source and existing target quicklist (52 ms) [ok]: RPOPLPUSH with listpack source and existing target listpack (2 ms) -[ok]: LMOVE left left with listpack source and existing target listpack (2 ms) -[ok]: LMOVE left right with listpack source and existing target listpack (3 ms) -[ok]: LMOVE right left with listpack source and existing target listpack (2 ms) -[ok]: LMOVE right right with listpack source and existing target listpack (2 ms) +[ok]: LMOVE left left with listpack source and existing target listpack (3 ms) +[ok]: LMOVE left right with listpack source and existing target listpack (4 ms) +[ok]: LMOVE right left with listpack source and existing target listpack (3 ms) +[ok]: LMOVE right right with listpack source and existing target listpack (3 ms) [ok]: RPOPLPUSH against non existing key (1 ms) -[ok]: RPOPLPUSH against non list src key (2 ms) -[ok]: RPOPLPUSH against non list dst key - quicklist (45 ms) -[ok]: RPOPLPUSH against non list dst key - listpack (2 ms) -[ok]: RPOPLPUSH against non existing src key (1 ms) -[ok]: Basic LPOP/RPOP/LMPOP - quicklist (89 ms) -[ok]: Basic LPOP/RPOP/LMPOP - listpack (3 ms) +[ok]: RPOPLPUSH against non list src key (1 ms) +[ok]: RPOPLPUSH against non list dst key - quicklist (46 ms) +[ok]: RPOPLPUSH against non list dst key - listpack (3 ms) +[ok]: RPOPLPUSH against non existing src key (0 ms) +[ok]: Basic LPOP/RPOP/LMPOP - quicklist (87 ms) +[ok]: Basic LPOP/RPOP/LMPOP - listpack (2 ms) [ok]: LPOP/RPOP/LMPOP against empty list (1 ms) -[ok]: LPOP/RPOP/LMPOP NON-BLOCK or BLOCK against non list value (3 ms) -[ok]: Mass RPOP/LPOP - listpack (82 ms) -[ok]: Mass RPOP/LPOP - listpack (118 ms) -[ok]: LMPOP with illegal argument (1 ms) -[ok]: LMPOP single existing list - quicklist (135 ms) -[ok]: LMPOP multiple existing lists - quicklist (176 ms) -[ok]: LMPOP single existing list - listpack (6 ms) -[ok]: LMPOP multiple existing lists - listpack (6 ms) -[ok]: LMPOP propagate as pop with count command to replica (141 ms) -[ok]: LRANGE basics - quicklist (45 ms) -[ok]: LRANGE inverted indexes - quicklist (43 ms) +[ok]: LPOP/RPOP/LMPOP NON-BLOCK or BLOCK against non list value (2 ms) +[ok]: Mass RPOP/LPOP - listpack (79 ms) +[ok]: Mass RPOP/LPOP - listpack (157 ms) +[ok]: LMPOP with illegal argument (3 ms) +[ok]: LMPOP single existing list - quicklist (137 ms) +[ok]: LMPOP multiple existing lists - quicklist (180 ms) +[ok]: LMPOP single existing list - listpack (7 ms) +[ok]: LMPOP multiple existing lists - listpack (7 ms) +[ok]: LMPOP propagate as pop with count command to replica (64 ms) +[ok]: LRANGE basics - quicklist (48 ms) +[ok]: LRANGE inverted indexes - quicklist (51 ms) [ok]: LRANGE out of range indexes including the full list - quicklist (43 ms) [ok]: LRANGE out of range negative end index - quicklist (44 ms) [ok]: LRANGE basics - listpack (3 ms) [ok]: LRANGE inverted indexes - listpack (2 ms) [ok]: LRANGE out of range indexes including the full list - listpack (2 ms) -[ok]: LRANGE out of range negative end index - listpack (1 ms) +[ok]: LRANGE out of range negative end index - listpack (2 ms) [ok]: LRANGE against non existing key (1 ms) [ok]: LRANGE with start > end yields an empty array for backward compatibility (1 ms) -[ok]: LTRIM basics - quicklist (529 ms) -[ok]: LTRIM out of range negative end index - quicklist (87 ms) -[ok]: LSET - quicklist (45 ms) +[ok]: LTRIM basics - quicklist (530 ms) +[ok]: LTRIM out of range negative end index - quicklist (88 ms) +[ok]: LSET - quicklist (46 ms) [ok]: LSET out of range index - quicklist (0 ms) -[ok]: LTRIM basics - listpack (19 ms) -[ok]: LTRIM out of range negative end index - listpack (3 ms) +[ok]: LTRIM basics - listpack (26 ms) +[ok]: LTRIM out of range negative end index - listpack (4 ms) [ok]: LSET - listpack (2 ms) [ok]: LSET out of range index - listpack (0 ms) -[ok]: LSET against non existing key (0 ms) -[ok]: LSET against non list value (1 ms) -[ok]: LREM remove all the occurrences - quicklist (47 ms) +[ok]: LSET against non existing key (1 ms) +[ok]: LSET against non list value (0 ms) +[ok]: LREM remove all the occurrences - quicklist (49 ms) [ok]: LREM remove the first occurrence - quicklist (1 ms) [ok]: LREM remove non existing element - quicklist (1 ms) -[ok]: LREM starting from tail with negative count - quicklist (46 ms) +[ok]: LREM starting from tail with negative count - quicklist (50 ms) [ok]: LREM starting from tail with negative count (2) - quicklist (1 ms) -[ok]: LREM deleting objects that may be int encoded - quicklist (46 ms) -[ok]: LREM remove all the occurrences - listpack (2 ms) +[ok]: LREM deleting objects that may be int encoded - quicklist (45 ms) +[ok]: LREM remove all the occurrences - listpack (3 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 (3 ms) -[ok]: LREM starting from tail with negative count (2) - listpack (0 ms) +[ok]: LREM starting from tail with negative count - listpack (5 ms) +[ok]: LREM starting from tail with negative count (2) - listpack (1 ms) [ok]: LREM deleting objects that may be int encoded - listpack (2 ms) -[ok]: Regression for bug 593 - chaining BRPOPLPUSH with other blocking cmds (63 ms) +[ok]: Regression for bug 593 - chaining BRPOPLPUSH with other blocking cmds (64 ms) [ok]: BLPOP/BLMOVE should increase dirty (35 ms) -[ok]: client unblock tests (35 ms) -[ok]: client unblock tests (35 ms) +[ok]: client unblock tests (36 ms) +[ok]: client unblock tests (36 ms) [ok]: List listpack -> quicklist encoding conversion (6 ms) -[ok]: List listpack -> quicklist encoding conversion (176 ms) -[ok]: List quicklist -> listpack encoding conversion (224 ms) -[ok]: List encoding conversion when RDB loading (4 ms) -[ok]: List invalid list-max-listpack-size config (90 ms) -[ok]: List of various encodings (95 ms) +[ok]: List listpack -> quicklist encoding conversion (180 ms) +[ok]: List quicklist -> listpack encoding conversion (240 ms) +[ok]: List encoding conversion when RDB loading (6 ms) +[ok]: List invalid list-max-listpack-size config (92 ms) +[ok]: List of various encodings (99 ms) [ok]: List of various encodings - sanitize dump (4 ms) -[ok]: Unblock fairness is kept while pipelining (63 ms) -[ok]: Unblock fairness is kept during nested unblock (94 ms) -[ok]: Blocking command accounted only once in commandstats (34 ms) +[ok]: Unblock fairness is kept while pipelining (64 ms) +[ok]: Unblock fairness is kept during nested unblock (96 ms) +[ok]: Blocking command accounted only once in commandstats (35 ms) [ok]: Blocking command accounted only once in commandstats after timeout (33 ms) -[ok]: Command being unblocked cause another command to get unblocked execution order test (191 ms) -[50/124 done]: unit/type/list (19 seconds) +[ok]: Command being unblocked cause another command to get unblocked execution order test (227 ms) +[50/124 done]: unit/type/list (20 seconds) Testing unit/type/list-3 === (list ziplist) Starting server 127.0.0.1:21565 ok -[ok]: Explicit regression for a list bug (2 ms) -[ok]: Regression for quicklist #3343 bug (131 ms) -[ok]: Check compression with recompress (48 ms) +[ok]: Explicit regression for a list bug (1 ms) +[ok]: Regression for quicklist #3343 bug (136 ms) +[ok]: Check compression with recompress (52 ms) [ok]: Crash due to wrongly recompress after lrem (220 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 (44 ms) -[ok]: Stress tester for #3343-alike bugs comp: 2 (8464 ms) -[ok]: Stress tester for #3343-alike bugs comp: 1 (8764 ms) -[ok]: Stress tester for #3343-alike bugs comp: 0 (9613 ms) -[ok]: ziplist implementation: value encoding and backlink (12738 ms) -[ok]: ziplist implementation: encoding stress testing (6995 ms) -[51/124 done]: unit/type/list-3 (48 seconds) +[ok]: LINSERT correctly recompress full quicklistNode after inserting a element after it (48 ms) +[ok]: Stress tester for #3343-alike bugs comp: 2 (8791 ms) +[ok]: Stress tester for #3343-alike bugs comp: 1 (8393 ms) +[ok]: Stress tester for #3343-alike bugs comp: 0 (8881 ms) +[ok]: ziplist implementation: value encoding and backlink (10142 ms) +[ok]: ziplist implementation: encoding stress testing (14029 ms) +[51/124 done]: unit/type/list-3 (51 seconds) Testing unit/type/list-2 === (list) Starting server 127.0.0.1:21567 ok -[ok]: LTRIM stress testing - quicklist (5440 ms) -[ok]: LTRIM stress testing - listpack (5128 ms) -[52/124 done]: unit/type/list-2 (10 seconds) +[ok]: LTRIM stress testing - quicklist (9850 ms) +[ok]: LTRIM stress testing - listpack (6486 ms) +[52/124 done]: unit/type/list-2 (16 seconds) Testing unit/type/incr === (incr) Starting server 127.0.0.1:21569 ok [ok]: INCR against non existing key (0 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 (1 ms) -[ok]: INCR against key originally set with SET (1 ms) +[ok]: INCR against key originally set with SET (0 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]: DECRBY negation overflow (0 ms) [ok]: INCR fails against a key holding a list (1 ms) [ok]: DECRBY over 32bit value with over 32bit increment, negative res (0 ms) [ok]: DECRBY against key is not exist (1 ms) [ok]: INCR uses shared objects in the 0-9999 range (1 ms) -[ok]: INCR can modify objects in-place (1 ms) +[ok]: INCR can modify objects in-place (2 ms) [ok]: INCRBYFLOAT against non existing key (1 ms) [ok]: INCRBYFLOAT against key originally set with SET (0 ms) [ok]: INCRBYFLOAT over 32bit value (1 ms) @@ -4191,91 +4217,91 @@ [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 (2 ms) -[ok]: incr operation should update encoding from raw to int (2 ms) +[ok]: string to double with null terminator (1 ms) +[ok]: No negative zero (0 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 (1 ms) -[ok]: decrby operation should update encoding from raw to int (2 ms) -[53/124 done]: unit/type/incr (1 seconds) +[ok]: incrby operation should update encoding from raw to int (2 ms) +[ok]: decrby operation should update encoding from raw to int (1 ms) +[53/124 done]: unit/type/incr (0 seconds) Testing unit/type/hash === (hash) Starting server 127.0.0.1:21571 ok -[ok]: HSET/HLEN - Small hash creation (3 ms) -[ok]: Is the small hash encoded with a listpack? (0 ms) -[ok]: HRANDFIELD - listpack (15 ms) -[ok]: HRANDFIELD - hashtable (15 ms) +[ok]: HSET/HLEN - Small hash creation (2 ms) +[ok]: Is the small hash encoded with a listpack? (1 ms) +[ok]: HRANDFIELD - listpack (17 ms) +[ok]: HRANDFIELD - hashtable (16 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 (1 ms) [ok]: HRANDFIELD with against non existing key - emptyarray (0 ms) -[ok]: HRANDFIELD with - hashtable (164 ms) -[ok]: HRANDFIELD with - listpack (107 ms) -[ok]: HSET/HLEN - Big hash creation (77 ms) +[ok]: HRANDFIELD with - hashtable (199 ms) +[ok]: HRANDFIELD with - listpack (269 ms) +[ok]: HSET/HLEN - Big hash creation (147 ms) [ok]: Is the big hash encoded with an hash table? (1 ms) -[ok]: HGET against the small hash (0 ms) -[ok]: HGET against the big hash (57 ms) +[ok]: HGET against the small hash (1 ms) +[ok]: HGET against the big hash (98 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 missing - small hash (1 ms) [ok]: HSETNX target key exists - small hash (0 ms) -[ok]: HSETNX target key missing - big hash (1 ms) -[ok]: HSETNX target key exists - big hash (0 ms) +[ok]: HSETNX target key missing - big hash (0 ms) +[ok]: HSETNX target key exists - big hash (1 ms) [ok]: HSET/HMSET wrong number of args (0 ms) -[ok]: HMSET - small hash (0 ms) -[ok]: HMSET - big hash (51 ms) +[ok]: HMSET - small hash (1 ms) +[ok]: HMSET - big hash (54 ms) [ok]: HMGET against non existing key and fields (1 ms) -[ok]: Hash commands against wrong type (4 ms) +[ok]: Hash commands against wrong type (3 ms) [ok]: HMGET - small hash (1 ms) -[ok]: HMGET - big hash (64 ms) -[ok]: HKEYS - small hash (1 ms) -[ok]: HKEYS - big hash (20 ms) +[ok]: HMGET - big hash (55 ms) +[ok]: HKEYS - small hash (7 ms) +[ok]: HKEYS - big hash (9 ms) [ok]: HVALS - small hash (0 ms) -[ok]: HVALS - big hash (3 ms) +[ok]: HVALS - big hash (1 ms) [ok]: HGETALL - small hash (0 ms) -[ok]: HGETALL - big hash (38 ms) -[ok]: HGETALL against non-existing key (1 ms) -[ok]: HDEL and return value (2 ms) +[ok]: HGETALL - big hash (22 ms) +[ok]: HGETALL against non-existing key (9 ms) +[ok]: HDEL and return value (1 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? (1 ms) [ok]: HINCRBY against non existing database key (0 ms) -[ok]: HINCRBY HINCRBYFLOAT against non-integer increment value (0 ms) +[ok]: HINCRBY HINCRBYFLOAT against non-integer increment value (1 ms) [ok]: HINCRBY against non existing hash key (1 ms) -[ok]: HINCRBY against hash key created by hincrby itself (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 (0 ms) +[ok]: HINCRBY over 32bit value (1 ms) [ok]: HINCRBY over 32bit value with over 32bit increment (1 ms) -[ok]: HINCRBY fails against hash value with spaces (left) (0 ms) -[ok]: HINCRBY fails against hash value with spaces (right) (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 (1 ms) -[ok]: HINCRBYFLOAT against hash key created by hincrby itself (0 ms) +[ok]: HINCRBYFLOAT against hash key created by hincrby itself (1 ms) [ok]: HINCRBYFLOAT against hash key originally set with HSET (1 ms) -[ok]: HINCRBYFLOAT over 32bit value (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) (1 ms) [ok]: HINCRBYFLOAT fails against hash value with spaces (right) (0 ms) [ok]: HINCRBYFLOAT fails against hash value that contains a null-terminator in the middle (0 ms) [ok]: HSTRLEN against the small hash (1 ms) -[ok]: HSTRLEN against the big hash (87 ms) +[ok]: HSTRLEN against the big hash (83 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 (1 ms) -[ok]: Hash ziplist regression test for large keys (0 ms) -[ok]: Hash fuzzing #1 - 10 fields (27 ms) -[ok]: Hash fuzzing #2 - 10 fields (44 ms) -[ok]: Hash fuzzing #1 - 512 fields (1788 ms) -[ok]: Hash fuzzing #2 - 512 fields (887 ms) -[ok]: Stress test the hash ziplist -> hashtable encoding conversion (808 ms) +[ok]: HINCRBYFLOAT over hash-max-listpack-value encoded with a listpack (2 ms) +[ok]: Hash ziplist regression test for large keys (1 ms) +[ok]: Hash fuzzing #1 - 10 fields (28 ms) +[ok]: Hash fuzzing #2 - 10 fields (19 ms) +[ok]: Hash fuzzing #1 - 512 fields (1457 ms) +[ok]: Hash fuzzing #2 - 512 fields (1014 ms) +[ok]: Stress test the hash ziplist -> hashtable encoding conversion (1194 ms) [ok]: Hash ziplist of various encodings (95 ms) -[ok]: Hash ziplist of various encodings - sanitize dump (4 ms) -[ok]: HINCRBYFLOAT does not allow NaN or Infinity (1 ms) -[54/124 done]: unit/type/hash (4 seconds) +[ok]: Hash ziplist of various encodings - sanitize dump (2 ms) +[ok]: HINCRBYFLOAT does not allow NaN or Infinity (0 ms) +[54/124 done]: unit/type/hash (6 seconds) Testing unit/cluster/update-msg === (external:skip cluster) Starting server 127.0.0.1:21573 ok === (external:skip cluster) Starting server 127.0.0.1:21575 ok @@ -4288,97 +4314,97 @@ === (external:skip cluster) Starting server 127.0.0.1:21589 ok === (external:skip cluster) Starting server 127.0.0.1:21591 ok [ok]: Cluster is up (5 ms) -[ok]: Cluster is writable (319 ms) +[ok]: Cluster is writable (281 ms) [ok]: Instance #5 is a slave (1 ms) -[ok]: Instance #5 synced with the master (1 ms) -[ok]: Killing one master node (28 ms) -[ok]: Wait for failover (3951 ms) -[ok]: Cluster should eventually be up again (255 ms) -[ok]: Cluster is writable (304 ms) +[ok]: Instance #5 synced with the master (2 ms) +[ok]: Killing one master node (33 ms) +[ok]: Wait for failover (3909 ms) +[ok]: Cluster should eventually be up again (186 ms) +[ok]: Cluster is writable (180 ms) [ok]: Instance #5 is now a master (1 ms) -[ok]: Killing the new master #5 (26 ms) -[ok]: Cluster should be down now (3407 ms) -[ok]: Restarting the old master node (1 ms) -[ok]: Instance #0 gets converted into a slave (212 ms) +[ok]: Killing the new master #5 (23 ms) +[ok]: Cluster should be down now (3521 ms) +[ok]: Restarting the old master node (2 ms) +[ok]: Instance #0 gets converted into a slave (141 ms) [ok]: Restarting the new master node (1 ms) -[ok]: Cluster is up again (5781 ms) -[55/124 done]: unit/cluster/update-msg (27 seconds) +[ok]: Cluster is up again (5749 ms) +[55/124 done]: unit/cluster/update-msg (26 seconds) Testing unit/cluster/transactions-on-replica === (external:skip cluster) Starting server 127.0.0.1:21593 ok === (external:skip cluster) Starting server 127.0.0.1:21595 ok [ok]: Cluster should start ok (1 ms) -[ok]: Can't read from replica without READONLY (2 ms) -[ok]: Can't read from replica after READWRITE (1 ms) -[ok]: Can read from replica after READONLY (1 ms) -[ok]: Can perform HSET primary and HGET from replica (2 ms) +[ok]: Can't read from replica without READONLY (3 ms) +[ok]: Can't read from replica after READWRITE (0 ms) +[ok]: Can read from replica after READONLY (0 ms) +[ok]: Can perform HSET primary and HGET from replica (4 ms) [ok]: Can MULTI-EXEC transaction of HGET operations from replica (1 ms) -[ok]: MULTI-EXEC with write operations is MOVED (0 ms) +[ok]: MULTI-EXEC with write operations is MOVED (2 ms) [ok]: write command is QUEUED, then EXEC should be MOVED after failover (2041 ms) -[ok]: read-only blocking operations from replica (33 ms) -[ok]: reply MOVED when eval from replica for update (0 ms) -[56/124 done]: unit/cluster/transactions-on-replica (14 seconds) +[ok]: read-only blocking operations from replica (35 ms) +[ok]: reply MOVED when eval from replica for update (1 ms) +[56/124 done]: unit/cluster/transactions-on-replica (13 seconds) Testing unit/cluster/slot-stats === (external:skip cluster) Starting server 127.0.0.1:21597 ok -[ok]: CLUSTER SLOT-STATS cpu-usec reset upon CONFIG RESETSTAT. (1589 ms) -[ok]: CLUSTER SLOT-STATS cpu-usec reset upon slot migration. (3437 ms) -[ok]: CLUSTER SLOT-STATS cpu-usec for non-slot specific commands. (1872 ms) -[ok]: CLUSTER SLOT-STATS cpu-usec for slot specific commands. (1717 ms) -[ok]: CLUSTER SLOT-STATS cpu-usec for blocking commands, unblocked on keyspace update. (3529 ms) -[ok]: CLUSTER SLOT-STATS cpu-usec for blocking commands, unblocked on timeout. (3028 ms) -[ok]: CLUSTER SLOT-STATS cpu-usec for transactions. (3569 ms) -[ok]: CLUSTER SLOT-STATS cpu-usec for lua-scripts, without cross-slot keys. (1839 ms) -[ok]: CLUSTER SLOT-STATS cpu-usec for lua-scripts, with cross-slot keys. (1925 ms) -[ok]: CLUSTER SLOT-STATS cpu-usec for functions, without cross-slot keys. (1623 ms) -[ok]: CLUSTER SLOT-STATS cpu-usec for functions, with cross-slot keys. (2037 ms) +[ok]: CLUSTER SLOT-STATS cpu-usec reset upon CONFIG RESETSTAT. (1730 ms) +[ok]: CLUSTER SLOT-STATS cpu-usec reset upon slot migration. (4043 ms) +[ok]: CLUSTER SLOT-STATS cpu-usec for non-slot specific commands. (2265 ms) +[ok]: CLUSTER SLOT-STATS cpu-usec for slot specific commands. (1795 ms) +[ok]: CLUSTER SLOT-STATS cpu-usec for blocking commands, unblocked on keyspace update. (4438 ms) +[ok]: CLUSTER SLOT-STATS cpu-usec for blocking commands, unblocked on timeout. (3224 ms) +[ok]: CLUSTER SLOT-STATS cpu-usec for transactions. (3806 ms) +[ok]: CLUSTER SLOT-STATS cpu-usec for lua-scripts, without cross-slot keys. (1678 ms) +[ok]: CLUSTER SLOT-STATS cpu-usec for lua-scripts, with cross-slot keys. (2121 ms) +[ok]: CLUSTER SLOT-STATS cpu-usec for functions, without cross-slot keys. (1673 ms) +[ok]: CLUSTER SLOT-STATS cpu-usec for functions, with cross-slot keys. (2129 ms) === (external:skip cluster) Starting server 127.0.0.1:21599 ok -[ok]: CLUSTER SLOT-STATS network-bytes-in, multi bulk buffer processing. (2089 ms) -[ok]: CLUSTER SLOT-STATS network-bytes-in, in-line buffer processing. (1792 ms) -[ok]: CLUSTER SLOT-STATS network-bytes-in, blocking command. (4630 ms) -[ok]: CLUSTER SLOT-STATS network-bytes-in, multi-exec transaction. (3250 ms) -[ok]: CLUSTER SLOT-STATS network-bytes-in, non slot specific command. (2408 ms) -[ok]: CLUSTER SLOT-STATS network-bytes-in, pub/sub. (4404 ms) +[ok]: CLUSTER SLOT-STATS network-bytes-in, multi bulk buffer processing. (2462 ms) +[ok]: CLUSTER SLOT-STATS network-bytes-in, in-line buffer processing. (1765 ms) +[ok]: CLUSTER SLOT-STATS network-bytes-in, blocking command. (3943 ms) +[ok]: CLUSTER SLOT-STATS network-bytes-in, multi-exec transaction. (2421 ms) +[ok]: CLUSTER SLOT-STATS network-bytes-in, non slot specific command. (1748 ms) +[ok]: CLUSTER SLOT-STATS network-bytes-in, pub/sub. (2310 ms) === (external:skip cluster) Starting server 127.0.0.1:21601 ok === (external:skip cluster) Starting server 127.0.0.1:21603 ok -[ok]: CLUSTER SLOT-STATS network-bytes-in, sharded pub/sub. (4782 ms) +[ok]: CLUSTER SLOT-STATS network-bytes-in, sharded pub/sub. (4245 ms) === (external:skip cluster) Starting server 127.0.0.1:21605 ok -[ok]: CLUSTER SLOT-STATS network-bytes-out, for non-slot specific commands. (1611 ms) -[ok]: CLUSTER SLOT-STATS network-bytes-out, for slot specific commands. (2284 ms) -[ok]: CLUSTER SLOT-STATS network-bytes-out, blocking commands. (3954 ms) +[ok]: CLUSTER SLOT-STATS network-bytes-out, for non-slot specific commands. (2201 ms) +[ok]: CLUSTER SLOT-STATS network-bytes-out, for slot specific commands. (3697 ms) +[ok]: CLUSTER SLOT-STATS network-bytes-out, blocking commands. (5436 ms) === (external:skip cluster) Starting server 127.0.0.1:21607 ok === (external:skip cluster) Starting server 127.0.0.1:21609 ok -[ok]: CLUSTER SLOT-STATS network-bytes-out, replication stream egress. (1990 ms) +[ok]: CLUSTER SLOT-STATS network-bytes-out, replication stream egress. (2407 ms) === (external:skip cluster) Starting server 127.0.0.1:21611 ok === (external:skip cluster) Starting server 127.0.0.1:21613 ok -[ok]: CLUSTER SLOT-STATS network-bytes-out, sharded pub/sub, single channel. (3770 ms) -[ok]: CLUSTER SLOT-STATS network-bytes-out, sharded pub/sub, cross-slot channels. (3862 ms) +[ok]: CLUSTER SLOT-STATS network-bytes-out, sharded pub/sub, single channel. (3876 ms) +[ok]: CLUSTER SLOT-STATS network-bytes-out, sharded pub/sub, cross-slot channels. (3916 ms) === (external:skip cluster) Starting server 127.0.0.1:21615 ok -[ok]: CLUSTER SLOT-STATS contains default value upon valkey-server startup (1742 ms) -[ok]: CLUSTER SLOT-STATS contains correct metrics upon key introduction (2166 ms) -[ok]: CLUSTER SLOT-STATS contains correct metrics upon key mutation (1798 ms) -[ok]: CLUSTER SLOT-STATS contains correct metrics upon key deletion (2104 ms) -[ok]: CLUSTER SLOT-STATS slot visibility based on slot ownership changes (3859 ms) +[ok]: CLUSTER SLOT-STATS contains default value upon valkey-server startup (1681 ms) +[ok]: CLUSTER SLOT-STATS contains correct metrics upon key introduction (2227 ms) +[ok]: CLUSTER SLOT-STATS contains correct metrics upon key mutation (1717 ms) +[ok]: CLUSTER SLOT-STATS contains correct metrics upon key deletion (2158 ms) +[ok]: CLUSTER SLOT-STATS slot visibility based on slot ownership changes (3803 ms) === (external:skip cluster) Starting server 127.0.0.1:21617 ok [ok]: CLUSTER SLOT-STATS SLOTSRANGE all slots present (0 ms) [ok]: CLUSTER SLOT-STATS SLOTSRANGE some slots missing (1 ms) === (external:skip cluster) Starting server 127.0.0.1:21619 ok -[ok]: CLUSTER SLOT-STATS ORDERBY DESC correct ordering (7569 ms) -[ok]: CLUSTER SLOT-STATS ORDERBY ASC correct ordering (7478 ms) +[ok]: CLUSTER SLOT-STATS ORDERBY DESC correct ordering (7983 ms) +[ok]: CLUSTER SLOT-STATS ORDERBY ASC correct ordering (8183 ms) [ok]: CLUSTER SLOT-STATS ORDERBY LIMIT correct response pagination, where limit is less than number of assigned slots (25 ms) [ok]: CLUSTER SLOT-STATS ORDERBY LIMIT correct response pagination, where limit is greater than number of assigned slots (6 ms) [ok]: CLUSTER SLOT-STATS ORDERBY arg sanity check. (1 ms) === (external:skip cluster) Starting server 127.0.0.1:21621 ok === (external:skip cluster) Starting server 127.0.0.1:21623 ok -[ok]: CLUSTER SLOT-STATS metrics replication for new keys (3565 ms) -[ok]: CLUSTER SLOT-STATS metrics replication for existing keys (4061 ms) -[ok]: CLUSTER SLOT-STATS metrics replication for deleting keys (4235 ms) -[57/124 done]: unit/cluster/slot-stats (162 seconds) +[ok]: CLUSTER SLOT-STATS metrics replication for new keys (3909 ms) +[ok]: CLUSTER SLOT-STATS metrics replication for existing keys (4149 ms) +[ok]: CLUSTER SLOT-STATS metrics replication for deleting keys (4466 ms) +[57/124 done]: unit/cluster/slot-stats (167 seconds) Testing unit/cluster/slot-ownership === (external:skip cluster) Starting server 127.0.0.1:21625 ok === (external:skip cluster) Starting server 127.0.0.1:21627 ok === (external:skip cluster) Starting server 127.0.0.1:21629 ok === (external:skip cluster) Starting server 127.0.0.1:21631 ok -[ok]: Verify that slot ownership transfer through gossip propagates deletes to replicas (190 ms) -[58/124 done]: unit/cluster/slot-ownership (11 seconds) +[ok]: Verify that slot ownership transfer through gossip propagates deletes to replicas (73 ms) +[58/124 done]: unit/cluster/slot-ownership (12 seconds) Testing unit/cluster/slot-migration === (external:skip cluster) Starting server 127.0.0.1:21633 ok === (external:skip cluster) Starting server 127.0.0.1:21635 ok @@ -4387,44 +4413,44 @@ === (external:skip cluster) Starting server 127.0.0.1:21641 ok === (external:skip cluster) Starting server 127.0.0.1:21643 ok [ok]: Slot migration states are replicated (9 ms) -[ok]: Migration target is auto-updated after failover in target shard (3420 ms) -[ok]: Migration source is auto-updated after failover in source shard (3344 ms) -[ok]: Replica redirects key access in migrating slots (3 ms) +[ok]: Migration target is auto-updated after failover in target shard (3410 ms) +[ok]: Migration source is auto-updated after failover in source shard (3359 ms) +[ok]: Replica redirects key access in migrating slots (2 ms) [ok]: Replica of migrating node returns ASK redirect after READONLY (3 ms) -[ok]: Replica of migrating node returns TRYAGAIN after READONLY (4 ms) +[ok]: Replica of migrating node returns TRYAGAIN after READONLY (3 ms) [ok]: Replica of importing node returns TRYAGAIN after READONLY and ASKING (4 ms) -[ok]: New replica inherits migrating slot (481 ms) -[ok]: New replica inherits importing slot (521 ms) +[ok]: New replica inherits migrating slot (426 ms) +[ok]: New replica inherits importing slot (506 ms) === (external:skip cluster) Starting server 127.0.0.1:21645 ok === (external:skip cluster) Starting server 127.0.0.1:21647 ok === (external:skip cluster) Starting server 127.0.0.1:21649 ok === (external:skip cluster) Starting server 127.0.0.1:21651 ok === (external:skip cluster) Starting server 127.0.0.1:21653 ok === (external:skip cluster) Starting server 127.0.0.1:21655 ok -[ok]: Multiple slot migration states are replicated (12 ms) -[ok]: New replica inherits multiple migrating slots (515 ms) -[ok]: Slot finalization succeeds on both primary and replicas (8 ms) +[ok]: Multiple slot migration states are replicated (13 ms) +[ok]: New replica inherits multiple migrating slots (486 ms) +[ok]: Slot finalization succeeds on both primary and replicas (7 ms) === (external:skip cluster) Starting server 127.0.0.1:21657 ok === (external:skip cluster) Starting server 127.0.0.1:21659 ok === (external:skip cluster) Starting server 127.0.0.1:21661 ok === (external:skip cluster) Starting server 127.0.0.1:21663 ok === (external:skip cluster) Starting server 127.0.0.1:21665 ok === (external:skip cluster) Starting server 127.0.0.1:21667 ok -[ok]: Slot is auto-claimed by target after source relinquishes ownership (1007 ms) +[ok]: Slot is auto-claimed by target after source relinquishes ownership (1009 ms) === (external:skip cluster) Starting server 127.0.0.1:21669 ok === (external:skip cluster) Starting server 127.0.0.1:21671 ok === (external:skip cluster) Starting server 127.0.0.1:21673 ok === (external:skip cluster) Starting server 127.0.0.1:21675 ok === (external:skip cluster) Starting server 127.0.0.1:21677 ok === (external:skip cluster) Starting server 127.0.0.1:21679 ok -[ok]: CLUSTER SETSLOT with invalid timeouts (1 ms) +[ok]: CLUSTER SETSLOT with invalid timeouts (2 ms) === (external:skip cluster) Starting server 127.0.0.1:21681 ok === (external:skip cluster) Starting server 127.0.0.1:21683 ok === (external:skip cluster) Starting server 127.0.0.1:21685 ok === (external:skip cluster) Starting server 127.0.0.1:21687 ok === (external:skip cluster) Starting server 127.0.0.1:21689 ok === (external:skip cluster) Starting server 127.0.0.1:21691 ok -[ok]: CLUSTER SETSLOT with an explicit timeout (3044 ms) +[ok]: CLUSTER SETSLOT with an explicit timeout (3036 ms) [ignore]: Not supported in tls mode === (external:skip cluster) Starting server 127.0.0.1:21693 ok === (external:skip cluster) Starting server 127.0.0.1:21695 ok @@ -4435,14 +4461,14 @@ === (external:skip cluster) Starting server 127.0.0.1:21705 ok === (external:skip cluster) Starting server 127.0.0.1:21707 ok === (external:skip cluster) Starting server 127.0.0.1:21709 ok -[ok]: Slot migration is ok when the replicas are down (130 ms) +[ok]: Slot migration is ok when the replicas are down (131 ms) [59/124 done]: unit/cluster/slot-migration (84 seconds) Testing unit/cluster/slot-migration-response === (external:skip cluster) Starting server 127.0.0.1:21711 ok === (external:skip cluster) Starting server 127.0.0.1:21713 ok -[ok]: Cluster is up (8 ms) -[ok]: Set many keys in the cluster (2535 ms) -[ok]: Test cluster responses during migration of slot x (1 ms) +[ok]: Cluster is up (1 ms) +[ok]: Set many keys in the cluster (1939 ms) +[ok]: Test cluster responses during migration of slot x (2 ms) [60/124 done]: unit/cluster/slot-migration-response (5 seconds) Testing unit/cluster/slave-stop-cond === (external:skip cluster) Starting server 127.0.0.1:21715 ok @@ -4455,16 +4481,16 @@ === (external:skip cluster) Starting server 127.0.0.1:21729 ok === (external:skip cluster) Starting server 127.0.0.1:21731 ok === (external:skip cluster) Starting server 127.0.0.1:21733 ok -[ok]: Cluster is up (4 ms) +[ok]: Cluster is up (5 ms) [ok]: The first master has actually one slave (1 ms) -[ok]: Slaves of #0 is instance #5 as expected (0 ms) +[ok]: Slaves of #0 is instance #5 as expected (1 ms) [ok]: Instance #5 synced with the master (1 ms) [ok]: Lower the slave validity factor of #5 to the value of 2 (1 ms) [ok]: Break master-slave link and prevent further reconnections (20029 ms) -[ok]: Slave #5 is reachable and alive (15 ms) -[ok]: Slave #5 should not be able to failover (10004 ms) -[ok]: Cluster should be down (246 ms) -[61/124 done]: unit/cluster/slave-stop-cond (44 seconds) +[ok]: Slave #5 is reachable and alive (18 ms) +[ok]: Slave #5 should not be able to failover (10005 ms) +[ok]: Cluster should be down (191 ms) +[61/124 done]: unit/cluster/slave-stop-cond (43 seconds) Testing unit/cluster/slave-selection === (external:skip cluster) Starting server 127.0.0.1:21735 ok === (external:skip cluster) Starting server 127.0.0.1:21737 ok @@ -4481,16 +4507,16 @@ === (external:skip cluster) Starting server 127.0.0.1:21759 ok === (external:skip cluster) Starting server 127.0.0.1:21761 ok === (external:skip cluster) Starting server 127.0.0.1:21763 ok -[ok]: Cluster is up (7 ms) -[ok]: The first master has actually two slaves (1 ms) +[ok]: Cluster is up (80 ms) +[ok]: The first master has actually two slaves (13 ms) [ok]: CLUSTER SLAVES and CLUSTER REPLICAS output is consistent (1 ms) -[ok]: Slaves of #0 are instance #5 and #10 as expected (1 ms) -[ok]: Instance #5 and #10 synced with the master (1 ms) -[ok]: Slaves are both able to receive and acknowledge writes (165 ms) -[ok]: Write data while slave #10 is paused and can't receive it (10050 ms) -[ok]: Wait for instance #5 (and not #10) to turn into a master (3877 ms) +[ok]: Slaves of #0 are instance #5 and #10 as expected (9 ms) +[ok]: Instance #5 and #10 synced with the master (9 ms) +[ok]: Slaves are both able to receive and acknowledge writes (148 ms) +[ok]: Write data while slave #10 is paused and can't receive it (10091 ms) +[ok]: Wait for instance #5 (and not #10) to turn into a master (4242 ms) [ok]: Wait for the node #10 to return alive before ending the test (1 ms) -[ok]: Cluster should eventually be up again (356 ms) +[ok]: Cluster should eventually be up again (525 ms) [ok]: Node #10 should eventually replicate node #5 (1 ms) === (external:skip cluster) Starting server 127.0.0.1:21765 ok === (external:skip cluster) Starting server 127.0.0.1:21767 ok @@ -4510,32 +4536,32 @@ === (external:skip cluster) Starting server 127.0.0.1:21795 ok === (external:skip cluster) Starting server 127.0.0.1:21797 ok === (external:skip cluster) Starting server 127.0.0.1:21799 ok -[ok]: Cluster is up (9 ms) -[ok]: The first master has actually 5 slaves (1 ms) -[ok]: Slaves of #0 are instance #3, #6, #9, #12 and #15 as expected (3 ms) -[ok]: Instance #3, #6, #9, #12 and #15 synced with the master (4 ms) -[ok]: New Master down consecutively (22568 ms) -[62/124 done]: unit/cluster/slave-selection (65 seconds) +[ok]: Cluster is up (14 ms) +[ok]: The first master has actually 5 slaves (3 ms) +[ok]: Slaves of #0 are instance #3, #6, #9, #12 and #15 as expected (2 ms) +[ok]: Instance #3, #6, #9, #12 and #15 synced with the master (2 ms) +[ok]: New Master down consecutively (23787 ms) +[62/124 done]: unit/cluster/slave-selection (73 seconds) Testing unit/cluster/sharded-pubsub === (external:skip cluster) Starting server 127.0.0.1:21801 ok === (external:skip cluster) Starting server 127.0.0.1:21803 ok [ok]: Sharded pubsub publish behavior within multi/exec (1 ms) [ok]: Sharded pubsub within multi/exec with cross slot operation (1 ms) -[ok]: Sharded pubsub publish behavior within multi/exec with read operation on primary (1 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 (1 ms) -[ok]: Sharded pubsub publish behavior within multi/exec with write operation on primary (2 ms) -[ok]: Sharded pubsub publish behavior within multi/exec with write operation on replica (1 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 (0 ms) [63/124 done]: unit/cluster/sharded-pubsub (11 seconds) Testing unit/cluster/scripting === (external:skip cluster) Starting server 127.0.0.1:21805 ok -[ok]: Eval scripts with shebangs and functions default to no cross slots (2 ms) -[ok]: Cross slot commands are allowed by default for eval scripts and with allow-cross-slot-keys flag (2 ms) -[ok]: Cross slot commands are also blocked if they disagree with pre-declared keys (1 ms) -[ok]: Cross slot commands are allowed by default if they disagree with pre-declared keys (2 ms) +[ok]: Eval scripts with shebangs and functions default to no cross slots (1 ms) +[ok]: Cross slot commands are allowed by default for eval scripts and with allow-cross-slot-keys flag (5 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 (1 ms) [ok]: Function no-cluster flag (1 ms) [ok]: Script no-cluster flag (0 ms) [ok]: Calling cluster slots in scripts is OK (1 ms) -[ok]: Calling cluster shards in scripts is OK (2 ms) +[ok]: Calling cluster shards in scripts is OK (1 ms) [64/124 done]: unit/cluster/scripting (3 seconds) Testing unit/cluster/replica-migration === (external:skip cluster) Starting server 127.0.0.1:21807 ok @@ -4546,7 +4572,7 @@ === (external:skip cluster) Starting server 127.0.0.1:21817 ok === (external:skip cluster) Starting server 127.0.0.1:21819 ok === (external:skip cluster) Starting server 127.0.0.1:21821 ok -[ok]: Migrated replica reports zero repl offset and rank, and fails to win election - shutdown (14335 ms) +[ok]: Migrated replica reports zero repl offset and rank, and fails to win election - shutdown (14488 ms) === (external:skip cluster) Starting server 127.0.0.1:21823 ok === (external:skip cluster) Starting server 127.0.0.1:21825 ok === (external:skip cluster) Starting server 127.0.0.1:21827 ok @@ -4555,7 +4581,7 @@ === (external:skip cluster) Starting server 127.0.0.1:21833 ok === (external:skip cluster) Starting server 127.0.0.1:21835 ok === (external:skip cluster) Starting server 127.0.0.1:21837 ok -[ok]: Migrated replica reports zero repl offset and rank, and fails to win election - sigstop (4181 ms) +[ok]: Migrated replica reports zero repl offset and rank, and fails to win election - sigstop (4883 ms) === (external:skip cluster) Starting server 127.0.0.1:21839 ok === (external:skip cluster) Starting server 127.0.0.1:21841 ok === (external:skip cluster) Starting server 127.0.0.1:21843 ok @@ -4564,7 +4590,7 @@ === (external:skip cluster) Starting server 127.0.0.1:21849 ok === (external:skip cluster) Starting server 127.0.0.1:21851 ok === (external:skip cluster) Starting server 127.0.0.1:21853 ok -[ok]: New non-empty replica reports zero repl offset and rank, and fails to win election - shutdown (3400 ms) +[ok]: New non-empty replica reports zero repl offset and rank, and fails to win election - shutdown (5330 ms) === (external:skip cluster) Starting server 127.0.0.1:21855 ok === (external:skip cluster) Starting server 127.0.0.1:21857 ok === (external:skip cluster) Starting server 127.0.0.1:21859 ok @@ -4573,7 +4599,7 @@ === (external:skip cluster) Starting server 127.0.0.1:21865 ok === (external:skip cluster) Starting server 127.0.0.1:21867 ok === (external:skip cluster) Starting server 127.0.0.1:21869 ok -[ok]: New non-empty replica reports zero repl offset and rank, and fails to win election - sigstop (3136 ms) +[ok]: New non-empty replica reports zero repl offset and rank, and fails to win election - sigstop (4724 ms) === (external:skip cluster) Starting server 127.0.0.1:21871 ok === (external:skip cluster) Starting server 127.0.0.1:21873 ok === (external:skip cluster) Starting server 127.0.0.1:21875 ok @@ -4582,7 +4608,7 @@ === (external:skip cluster) Starting server 127.0.0.1:21881 ok === (external:skip cluster) Starting server 127.0.0.1:21883 ok === (external:skip cluster) Starting server 127.0.0.1:21885 ok -[ok]: Sub-replica reports zero repl offset and rank, and fails to win election - shutdown (14107 ms) +[ok]: Sub-replica reports zero repl offset and rank, and fails to win election - shutdown (19941 ms) === (external:skip cluster) Starting server 127.0.0.1:21887 ok === (external:skip cluster) Starting server 127.0.0.1:21889 ok === (external:skip cluster) Starting server 127.0.0.1:21891 ok @@ -4591,7 +4617,7 @@ === (external:skip cluster) Starting server 127.0.0.1:21897 ok === (external:skip cluster) Starting server 127.0.0.1:21899 ok === (external:skip cluster) Starting server 127.0.0.1:21901 ok -[ok]: Sub-replica reports zero repl offset and rank, and fails to win election - sigstop (4616 ms) +[ok]: Sub-replica reports zero repl offset and rank, and fails to win election - sigstop (9525 ms) === (external:skip cluster) Starting server 127.0.0.1:21903 ok === (external:skip cluster) Starting server 127.0.0.1:21905 ok === (external:skip cluster) Starting server 127.0.0.1:21907 ok @@ -4600,7 +4626,7 @@ === (external:skip cluster) Starting server 127.0.0.1:21913 ok === (external:skip cluster) Starting server 127.0.0.1:21915 ok === (external:skip cluster) Starting server 127.0.0.1:21917 ok -[ok]: valkey-cli make source node ignores NOREPLICAS error when doing the last CLUSTER SETSLOT - gossip (2261 ms) +[ok]: valkey-cli make source node ignores NOREPLICAS error when doing the last CLUSTER SETSLOT - gossip (2219 ms) === (external:skip cluster) Starting server 127.0.0.1:21919 ok === (external:skip cluster) Starting server 127.0.0.1:21921 ok === (external:skip cluster) Starting server 127.0.0.1:21923 ok @@ -4609,19 +4635,19 @@ === (external:skip cluster) Starting server 127.0.0.1:21929 ok === (external:skip cluster) Starting server 127.0.0.1:21931 ok === (external:skip cluster) Starting server 127.0.0.1:21933 ok -[ok]: valkey-cli make source node ignores NOREPLICAS error when doing the last CLUSTER SETSLOT - setslot (5463 ms) -[65/124 done]: unit/cluster/replica-migration (148 seconds) +[ok]: valkey-cli make source node ignores NOREPLICAS error when doing the last CLUSTER SETSLOT - setslot (5420 ms) +[65/124 done]: unit/cluster/replica-migration (179 seconds) Testing unit/cluster/replica-in-sync === (external:skip cluster) Starting server 127.0.0.1:21935 ok === (external:skip cluster) Starting server 127.0.0.1:21937 ok -[ok]: Cluster is up (1 ms) -[ok]: Cluster is writable (115 ms) +[ok]: Cluster is up (6 ms) +[ok]: Cluster is writable (194 ms) [ok]: Fill up primary with data (2 ms) -[ok]: Add new node as replica (0 ms) +[ok]: Add new node as replica (7 ms) [ok]: Check digest and replica state (2 ms) -[ok]: Replica in loading state is hidden (8339 ms) -[ok]: Check disconnected replica not hidden from slots (224 ms) -[66/124 done]: unit/cluster/replica-in-sync (19 seconds) +[ok]: Replica in loading state is hidden (8720 ms) +[ok]: Check disconnected replica not hidden from slots (130 ms) +[66/124 done]: unit/cluster/replica-in-sync (21 seconds) Testing unit/cluster/pubsubshard === (external:skip cluster) Starting server 127.0.0.1:21939 ok === (external:skip cluster) Starting server 127.0.0.1:21941 ok @@ -4629,13 +4655,13 @@ === (external:skip cluster) Starting server 127.0.0.1:21945 ok === (external:skip cluster) Starting server 127.0.0.1:21947 ok === (external:skip cluster) Starting server 127.0.0.1:21949 ok -[ok]: Pub/Sub shard basics (146 ms) -[ok]: client can't subscribe to multiple shard channels across different slots in same call (28 ms) +[ok]: Pub/Sub shard basics (63 ms) +[ok]: client can't subscribe to multiple shard channels across different slots in same call (13 ms) [ok]: client can subscribe to multiple shard channels across different slots in separate call (1 ms) -[ok]: sunsubscribe without specifying any channel would unsubscribe all shard channels subscribed (61 ms) -[ok]: Verify Pub/Sub and Pub/Sub shard no overlap (132 ms) -[ok]: PUBSUB channels/shardchannels (122 ms) -[67/124 done]: unit/cluster/pubsubshard (12 seconds) +[ok]: sunsubscribe without specifying any channel would unsubscribe all shard channels subscribed (28 ms) +[ok]: Verify Pub/Sub and Pub/Sub shard no overlap (59 ms) +[ok]: PUBSUB channels/shardchannels (52 ms) +[67/124 done]: unit/cluster/pubsubshard (13 seconds) Testing unit/cluster/pubsubshard-slot-migration === (external:skip cluster) Starting server 127.0.0.1:21951 ok === (external:skip cluster) Starting server 127.0.0.1:21953 ok @@ -4643,14 +4669,14 @@ === (external:skip cluster) Starting server 127.0.0.1:21957 ok === (external:skip cluster) Starting server 127.0.0.1:21959 ok === (external:skip cluster) Starting server 127.0.0.1:21961 ok -[ok]: Cluster is up (2 ms) -[ok]: Migrate a slot, verify client receives sunsubscribe on primary serving the slot. (90 ms) -[ok]: Client subscribes to multiple channels, migrate a slot, verify client receives sunsubscribe on primary serving the slot. (38 ms) -[ok]: Migrate a slot, verify client receives sunsubscribe on replica serving the slot. (167 ms) -[ok]: Move a replica to another primary, verify client receives sunsubscribe on replica serving the slot. (179 ms) -[ok]: Delete a slot, verify sunsubscribe message (32 ms) -[ok]: Reset cluster, verify sunsubscribe message (73 ms) -[68/124 done]: unit/cluster/pubsubshard-slot-migration (13 seconds) +[ok]: Cluster is up (27 ms) +[ok]: Migrate a slot, verify client receives sunsubscribe on primary serving the slot. (89 ms) +[ok]: Client subscribes to multiple channels, migrate a slot, verify client receives sunsubscribe on primary serving the slot. (51 ms) +[ok]: Migrate a slot, verify client receives sunsubscribe on replica serving the slot. (179 ms) +[ok]: Move a replica to another primary, verify client receives sunsubscribe on replica serving the slot. (169 ms) +[ok]: Delete a slot, verify sunsubscribe message (51 ms) +[ok]: Reset cluster, verify sunsubscribe message (35 ms) +[68/124 done]: unit/cluster/pubsubshard-slot-migration (14 seconds) Testing unit/cluster/pubsub === (external:skip cluster) Starting server 127.0.0.1:21963 ok === (external:skip cluster) Starting server 127.0.0.1:21965 ok @@ -4662,9 +4688,9 @@ === (external:skip cluster) Starting server 127.0.0.1:21977 ok === (external:skip cluster) Starting server 127.0.0.1:21979 ok === (external:skip cluster) Starting server 127.0.0.1:21981 ok -[ok]: Test publishing to master (57 ms) -[ok]: Test publishing to slave (5 ms) -[69/124 done]: unit/cluster/pubsub (13 seconds) +[ok]: Test publishing to master (10 ms) +[ok]: Test publishing to slave (20 ms) +[69/124 done]: unit/cluster/pubsub (15 seconds) Testing unit/cluster/no-failover-option === (external:skip cluster) Starting server 127.0.0.1:21983 ok === (external:skip cluster) Starting server 127.0.0.1:21985 ok @@ -4672,14 +4698,14 @@ === (external:skip cluster) Starting server 127.0.0.1:21989 ok === (external:skip cluster) Starting server 127.0.0.1:21991 ok === (external:skip cluster) Starting server 127.0.0.1:21993 ok -[ok]: Cluster is up (48 ms) -[ok]: Instance #3 is a replica (16 ms) -[ok]: Instance #3 synced with the master (8 ms) -[ok]: The nofailover flag is propagated (169 ms) -[ok]: Killing one master node (46 ms) -[ok]: Cluster should be still down after some time (3168 ms) -[ok]: Instance #3 is still a replica (8 ms) -[ok]: Restarting the previously killed master node (9 ms) +[ok]: Cluster is up (1 ms) +[ok]: Instance #3 is a replica (1 ms) +[ok]: Instance #3 synced with the master (1 ms) +[ok]: The nofailover flag is propagated (220 ms) +[ok]: Killing one master node (53 ms) +[ok]: Cluster should be still down after some time (3225 ms) +[ok]: Instance #3 is still a replica (0 ms) +[ok]: Restarting the previously killed master node (15 ms) [70/124 done]: unit/cluster/no-failover-option (17 seconds) Testing unit/cluster/multi-slot-operations === (external:skip cluster) Starting server 127.0.0.1:21995 ok @@ -4687,10 +4713,10 @@ === (external:skip cluster) Starting server 127.0.0.1:21999 ok === (external:skip cluster) Starting server 127.0.0.1:22001 ok === (external:skip cluster) Starting server 127.0.0.1:22003 ok -[ok]: Continuous slots distribution (113 ms) -[ok]: ADDSLOTS command with several boundary conditions test suite (2 ms) -[ok]: ADDSLOTSRANGE command with several boundary conditions test suite (2 ms) -[ok]: DELSLOTSRANGE command with several boundary conditions test suite (5 ms) +[ok]: Continuous slots distribution (44 ms) +[ok]: ADDSLOTS command with several boundary conditions test suite (44 ms) +[ok]: ADDSLOTSRANGE command with several boundary conditions test suite (49 ms) +[ok]: DELSLOTSRANGE command with several boundary conditions test suite (20 ms) [71/124 done]: unit/cluster/multi-slot-operations (4 seconds) Testing unit/cluster/misc === (external:skip cluster) Starting server 127.0.0.1:22005 ok @@ -4698,8 +4724,8 @@ === (external:skip cluster) Starting server 127.0.0.1:22009 ok === (external:skip cluster) Starting server 127.0.0.1:22011 ok [ok]: Key lazy expires during key migration (15 ms) -[ok]: Coverage: Basic cluster commands (3 ms) -[72/124 done]: unit/cluster/misc (12 seconds) +[ok]: Coverage: Basic cluster commands (7 ms) +[72/124 done]: unit/cluster/misc (13 seconds) Testing unit/cluster/many-slot-migration === (external:skip cluster) Starting server 127.0.0.1:22013 ok === (external:skip cluster) Starting server 127.0.0.1:22015 ok @@ -4711,13 +4737,13 @@ === (external:skip cluster) Starting server 127.0.0.1:22027 ok === (external:skip cluster) Starting server 127.0.0.1:22029 ok === (external:skip cluster) Starting server 127.0.0.1:22031 ok -[ok]: Cluster is up (5 ms) -[ok]: Set many keys (15784 ms) -[ok]: Keys are accessible (21321 ms) -[ok]: Init migration of many slots (1620 ms) -[ok]: Fix cluster (15288 ms) -[ok]: Keys are accessible (11248 ms) -[73/124 done]: unit/cluster/many-slot-migration (69 seconds) +[ok]: Cluster is up (17 ms) +[ok]: Set many keys (27480 ms) +[ok]: Keys are accessible (24610 ms) +[ok]: Init migration of many slots (2385 ms) +[ok]: Fix cluster (31324 ms) +[ok]: Keys are accessible (27791 ms) +[73/124 done]: unit/cluster/many-slot-migration (121 seconds) Testing unit/cluster/manual-takeover === (external:skip cluster) Starting server 127.0.0.1:22033 ok === (external:skip cluster) Starting server 127.0.0.1:22035 ok @@ -4729,18 +4755,17 @@ === (external:skip cluster) Starting server 127.0.0.1:22047 ok === (external:skip cluster) Starting server 127.0.0.1:22049 ok === (external:skip cluster) Starting server 127.0.0.1:22051 ok -[ok]: Cluster is up (4 ms) -[ok]: Cluster is writable (316 ms) -[ok]: Killing majority of master nodes (83 ms) -[ok]: Cluster should eventually be down (3331 ms) -[ok]: Use takeover to bring slaves back (4 ms) -[ok]: Cluster should eventually be up again (3157 ms) -[ok]: Cluster is writable (319 ms) -[ok]: Instance #5, #6, #7 are now masters (3 ms) -[ok]: Restarting the previously killed master nodes (5 ms) -[ok]: Instance #0, #1, #2 gets converted into a slaves (119 ms) -Waiting for process 3403930 to exit... -[74/124 done]: unit/cluster/manual-takeover (21 seconds) +[ok]: Cluster is up (20 ms) +[ok]: Cluster is writable (522 ms) +[ok]: Killing majority of master nodes (193 ms) +[ok]: Cluster should eventually be down (3221 ms) +[ok]: Use takeover to bring slaves back (12 ms) +[ok]: Cluster should eventually be up again (3272 ms) +[ok]: Cluster is writable (277 ms) +[ok]: Instance #5, #6, #7 are now masters (7 ms) +[ok]: Restarting the previously killed master nodes (43 ms) +[ok]: Instance #0, #1, #2 gets converted into a slaves (164 ms) +[74/124 done]: unit/cluster/manual-takeover (23 seconds) Testing unit/cluster/manual-failover === (external:skip cluster) Starting server 127.0.0.1:22053 ok === (external:skip cluster) Starting server 127.0.0.1:22055 ok @@ -4752,17 +4777,17 @@ === (external:skip cluster) Starting server 127.0.0.1:22067 ok === (external:skip cluster) Starting server 127.0.0.1:22069 ok === (external:skip cluster) Starting server 127.0.0.1:22071 ok -[ok]: Cluster is up (5 ms) -[ok]: Cluster is writable (320 ms) +[ok]: Cluster is up (15 ms) +[ok]: Cluster is writable (392 ms) [ok]: Instance #5 is a slave (1 ms) -[ok]: Instance #5 synced with the master (1 ms) -WWWWWWWWWW[ok]: Send CLUSTER FAILOVER to #5, during load (5584 ms) -[ok]: Wait for failover (44 ms) -[ok]: Cluster should eventually be up again (5 ms) -[ok]: Cluster is writable (290 ms) -[ok]: Instance #5 is now a master (1 ms) -[ok]: Verify 50000 keys for consistency with logical content (2755 ms) -[ok]: Instance #0 gets converted into a slave (96 ms) +[ok]: Instance #5 synced with the master (5 ms) +WWWWWWWWWW[ok]: Send CLUSTER FAILOVER to #5, during load (5334 ms) +[ok]: Wait for failover (20 ms) +[ok]: Cluster should eventually be up again (7 ms) +[ok]: Cluster is writable (163 ms) +[ok]: Instance #5 is now a master (6 ms) +[ok]: Verify 50000 keys for consistency with logical content (2933 ms) +[ok]: Instance #0 gets converted into a slave (111 ms) === (external:skip cluster) Starting server 127.0.0.1:22073 ok === (external:skip cluster) Starting server 127.0.0.1:22075 ok === (external:skip cluster) Starting server 127.0.0.1:22077 ok @@ -4773,14 +4798,14 @@ === (external:skip cluster) Starting server 127.0.0.1:22087 ok === (external:skip cluster) Starting server 127.0.0.1:22089 ok === (external:skip cluster) Starting server 127.0.0.1:22091 ok -[ok]: Cluster is up (4 ms) -[ok]: Cluster is writable (312 ms) -[ok]: Instance #5 is a slave (1 ms) -[ok]: Instance #5 synced with the master (1 ms) -[ok]: Make instance #0 unreachable without killing it (1 ms) -[ok]: Send CLUSTER FAILOVER to instance #5 (0 ms) -[ok]: Instance #5 is still a slave after some time (no failover) (5010 ms) -[ok]: Wait for instance #0 to return back alive (4991 ms) +[ok]: Cluster is up (56 ms) +[ok]: Cluster is writable (780 ms) +[ok]: Instance #5 is a slave (6 ms) +[ok]: Instance #5 synced with the master (8 ms) +[ok]: Make instance #0 unreachable without killing it (0 ms) +[ok]: Send CLUSTER FAILOVER to instance #5 (8 ms) +[ok]: Instance #5 is still a slave after some time (no failover) (5008 ms) +[ok]: Wait for instance #0 to return back alive (4992 ms) === (external:skip cluster) Starting server 127.0.0.1:22093 ok === (external:skip cluster) Starting server 127.0.0.1:22095 ok === (external:skip cluster) Starting server 127.0.0.1:22097 ok @@ -4796,41 +4821,41 @@ === (external:skip cluster) Starting server 127.0.0.1:22117 ok === (external:skip cluster) Starting server 127.0.0.1:22119 ok === (external:skip cluster) Starting server 127.0.0.1:22121 ok -[ok]: Cluster is up (99 ms) -[ok]: Cluster is writable (1089 ms) -[ok]: Instance #5 is a slave (6 ms) -[ok]: Instance #5 synced with the master (7 ms) +[ok]: Cluster is up (6 ms) +[ok]: Cluster is writable (461 ms) +[ok]: Instance #5 is a slave (9 ms) +[ok]: Instance #5 synced with the master (1 ms) [ok]: Make instance #0 unreachable without killing it (0 ms) -[ok]: Send CLUSTER FAILOVER to instance #5 (7 ms) -[ok]: Instance #5 is a master after some time (64 ms) -[ok]: Wait for instance #0 to return back alive (9929 ms) -[75/124 done]: unit/cluster/manual-failover (70 seconds) +[ok]: Send CLUSTER FAILOVER to instance #5 (0 ms) +[ok]: Instance #5 is a master after some time (58 ms) +[ok]: Wait for instance #0 to return back alive (9943 ms) +[75/124 done]: unit/cluster/manual-failover (79 seconds) Testing unit/cluster/links === (external:skip cluster) Starting server 127.0.0.1:22123 ok === (external:skip cluster) Starting server 127.0.0.1:22125 ok === (external:skip cluster) Starting server 127.0.0.1:22127 ok -[ok]: Broadcast message across a cluster shard while a cluster link is down (151 ms) +[ok]: Broadcast message across a cluster shard while a cluster link is down (183 ms) === (external:skip cluster) Starting server 127.0.0.1:22129 ok === (external:skip cluster) Starting server 127.0.0.1:22131 ok === (external:skip cluster) Starting server 127.0.0.1:22133 ok -[ok]: Each node has two links with each peer (8 ms) -[ok]: Validate cluster links format (1 ms) -[ok]: Disconnect link when send buffer limit reached (8495 ms) -[ok]: Link memory increases with publishes (747 ms) -[ok]: Link memory resets after publish messages flush (115 ms) +[ok]: Each node has two links with each peer (14 ms) +[ok]: Validate cluster links format (6 ms) +[ok]: Disconnect link when send buffer limit reached (8627 ms) +[ok]: Link memory increases with publishes (626 ms) +[ok]: Link memory resets after publish messages flush (31 ms) [76/124 done]: unit/cluster/links (25 seconds) Testing unit/cluster/info === (external:skip cluster) Starting server 127.0.0.1:22135 ok === (external:skip cluster) Starting server 127.0.0.1:22137 ok -[ok]: Cluster should start ok (1 ms) -[ok]: errorstats: rejected call due to MOVED Redirection (2 ms) +[ok]: Cluster should start ok (0 ms) +[ok]: errorstats: rejected call due to MOVED Redirection (8 ms) [77/124 done]: unit/cluster/info (3 seconds) Testing unit/cluster/human-announced-nodename === (external:skip cluster) Starting server 127.0.0.1:22139 ok === (external:skip cluster) Starting server 127.0.0.1:22141 ok === (external:skip cluster) Starting server 127.0.0.1:22143 ok -[ok]: Set cluster human announced nodename and let it propagate (112 ms) -[ok]: Human nodenames are visible in log messages (3695 ms) +[ok]: Set cluster human announced nodename and let it propagate (113 ms) +[ok]: Human nodenames are visible in log messages (3286 ms) [78/124 done]: unit/cluster/human-announced-nodename (7 seconds) Testing unit/cluster/hostnames === (external:skip cluster) Starting server 127.0.0.1:22145 ok @@ -4840,36 +4865,36 @@ === (external:skip cluster) Starting server 127.0.0.1:22153 ok === (external:skip cluster) Starting server 127.0.0.1:22155 ok === (external:skip cluster) Starting server 127.0.0.1:22157 ok -[ok]: Set cluster hostnames and verify they are propagated (264 ms) -[ok]: Update hostnames and make sure they are all eventually propagated (240 ms) -[ok]: Remove hostnames and make sure they are all eventually propagated (130 ms) -[ok]: Verify cluster-preferred-endpoint-type behavior for redirects and info (187 ms) -[ok]: Verify the nodes configured with prefer hostname only show hostname for new nodes (1007 ms) -[ok]: Test restart will keep hostname information (373 ms) -[ok]: Test hostname validation (22 ms) -[79/124 done]: unit/cluster/hostnames (14 seconds) +[ok]: Set cluster hostnames and verify they are propagated (234 ms) +[ok]: Update hostnames and make sure they are all eventually propagated (141 ms) +[ok]: Remove hostnames and make sure they are all eventually propagated (144 ms) +[ok]: Verify cluster-preferred-endpoint-type behavior for redirects and info (167 ms) +[ok]: Verify the nodes configured with prefer hostname only show hostname for new nodes (1148 ms) +[ok]: Test restart will keep hostname information (604 ms) +[ok]: Test hostname validation (20 ms) +[79/124 done]: unit/cluster/hostnames (17 seconds) Testing unit/cluster/half-migrated-slot === (external:skip cluster) Starting server 127.0.0.1:22159 ok === (external:skip cluster) Starting server 127.0.0.1:22161 ok -[ok]: Cluster is up (1 ms) -[ok]: Half init migration in 'migrating' is fixable (218 ms) -[ok]: Half init migration in 'importing' is fixable (270 ms) -[ok]: Init migration and move key (338 ms) -[ok]: Move key again (52 ms) -[ok]: Half-finish migration (134 ms) -[ok]: Move key back (24 ms) -[ok]: Half-finish importing (175 ms) +[ok]: Cluster is up (7 ms) +[ok]: Half init migration in 'migrating' is fixable (140 ms) +[ok]: Half init migration in 'importing' is fixable (258 ms) +[ok]: Init migration and move key (467 ms) +[ok]: Move key again (180 ms) +[ok]: Half-finish migration (436 ms) +[ok]: Move key back (92 ms) +[ok]: Half-finish importing (320 ms) [80/124 done]: unit/cluster/half-migrated-slot (5 seconds) Testing unit/cluster/failure-marking === (external:skip cluster) Starting server 127.0.0.1:22163 ok === (external:skip cluster) Starting server 127.0.0.1:22165 ok -[ok]: Verify that single primary marks replica as failed (3206 ms) +[ok]: Verify that single primary marks replica as failed (3120 ms) === (external:skip cluster) Starting server 127.0.0.1:22167 ok === (external:skip cluster) Starting server 127.0.0.1:22169 ok === (external:skip cluster) Starting server 127.0.0.1:22171 ok -[ok]: Verify that multiple primaries mark replica as failed (3280 ms) +[ok]: Verify that multiple primaries mark replica as failed (3387 ms) [ignore]: Not supported in tls mode -[81/124 done]: unit/cluster/failure-marking (30 seconds) +[81/124 done]: unit/cluster/failure-marking (31 seconds) Testing unit/cluster/failover2 === (external:skip cluster) Starting server 127.0.0.1:22173 ok === (external:skip cluster) Starting server 127.0.0.1:22175 ok @@ -4878,16 +4903,16 @@ === (external:skip cluster) Starting server 127.0.0.1:22181 ok === (external:skip cluster) Starting server 127.0.0.1:22183 ok === (external:skip cluster) Starting server 127.0.0.1:22185 ok -[ok]: Cluster is up (40 ms) -[ok]: Cluster is writable (254 ms) -[ok]: Killing one primary node (53 ms) -[ok]: Wait for failover (6129 ms) -[ok]: Killing the new primary node (67 ms) -[ok]: Cluster should eventually be up again (296 ms) -[ok]: wait for new failover (6896 ms) -[ok]: Restarting the previously killed primary nodes (15 ms) -[ok]: Make sure there is no failover timeout (19 ms) -[82/124 done]: unit/cluster/failover2 (28 seconds) +[ok]: Cluster is up (7 ms) +[ok]: Cluster is writable (555 ms) +[ok]: Killing one primary node (91 ms) +[ok]: Wait for failover (6676 ms) +[ok]: Killing the new primary node (71 ms) +[ok]: Cluster should eventually be up again (447 ms) +[ok]: wait for new failover (6610 ms) +[ok]: Restarting the previously killed primary nodes (39 ms) +[ok]: Make sure there is no failover timeout (32 ms) +[82/124 done]: unit/cluster/failover2 (29 seconds) Testing unit/cluster/failover === (external:skip cluster) Starting server 127.0.0.1:22187 ok === (external:skip cluster) Starting server 127.0.0.1:22189 ok @@ -4899,17 +4924,17 @@ === (external:skip cluster) Starting server 127.0.0.1:22201 ok === (external:skip cluster) Starting server 127.0.0.1:22203 ok === (external:skip cluster) Starting server 127.0.0.1:22205 ok -[ok]: Cluster is up (4 ms) -[ok]: Cluster is writable (305 ms) +[ok]: Cluster is up (3 ms) +[ok]: Cluster is writable (413 ms) [ok]: Instance #5 is a slave (1 ms) -[ok]: Instance #5 synced with the master (0 ms) -[ok]: Killing one master node (30 ms) -[ok]: Wait for failover (4033 ms) -[ok]: Cluster should eventually be up again (276 ms) -[ok]: Cluster is writable (316 ms) -[ok]: Instance #5 is now a master (1 ms) -[ok]: Restarting the previously killed master node (2 ms) -[ok]: Instance #0 gets converted into a slave (226 ms) +[ok]: Instance #5 synced with the master (1 ms) +[ok]: Killing one master node (70 ms) +[ok]: Wait for failover (4028 ms) +[ok]: Cluster should eventually be up again (648 ms) +[ok]: Cluster is writable (499 ms) +[ok]: Instance #5 is now a master (11 ms) +[ok]: Restarting the previously killed master node (19 ms) +[ok]: Instance #0 gets converted into a slave (296 ms) === (external:skip cluster) Starting server 127.0.0.1:22207 ok === (external:skip cluster) Starting server 127.0.0.1:22209 ok === (external:skip cluster) Starting server 127.0.0.1:22211 ok @@ -4919,15 +4944,15 @@ === (external:skip cluster) Starting server 127.0.0.1:22219 ok === (external:skip cluster) Starting server 127.0.0.1:22221 ok === (external:skip cluster) Starting server 127.0.0.1:22223 ok -[ok]: Cluster is up (4 ms) -[ok]: Cluster is writable (248 ms) -[ok]: Killing the first primary node (30 ms) -[ok]: Wait for failover (4031 ms) -[ok]: Cluster should eventually be up again (256 ms) -[ok]: Restarting the previously killed primary node (8 ms) -[ok]: Instance #0 gets converted into a replica (184 ms) -[ok]: Make sure the replicas always get the different ranks (4 ms) -[83/124 done]: unit/cluster/failover (37 seconds) +[ok]: Cluster is up (35 ms) +[ok]: Cluster is writable (256 ms) +[ok]: Killing the first primary node (52 ms) +[ok]: Wait for failover (3773 ms) +[ok]: Cluster should eventually be up again (564 ms) +[ok]: Restarting the previously killed primary node (25 ms) +[ok]: Instance #0 gets converted into a replica (324 ms) +[ok]: Make sure the replicas always get the different ranks (44 ms) +[83/124 done]: unit/cluster/failover (41 seconds) Testing unit/cluster/faildet === (external:skip cluster) Starting server 127.0.0.1:22225 ok === (external:skip cluster) Starting server 127.0.0.1:22227 ok @@ -4939,29 +4964,30 @@ === (external:skip cluster) Starting server 127.0.0.1:22239 ok === (external:skip cluster) Starting server 127.0.0.1:22241 ok === (external:skip cluster) Starting server 127.0.0.1:22243 ok -[ok]: Cluster should start ok (5 ms) -[ok]: Killing two slave nodes (54 ms) -[ok]: Cluster should be still up (284 ms) -[ok]: Killing one master node (20 ms) -[ok]: Cluster should be down now (268 ms) -[ok]: Restarting master node (30 ms) -[ok]: Cluster should be up again (271 ms) -[84/124 done]: unit/cluster/faildet (13 seconds) +[ok]: Cluster should start ok (9 ms) +[ok]: Killing two slave nodes (130 ms) +[ok]: Cluster should be still up (555 ms) +[ok]: Killing one master node (74 ms) +[ok]: Cluster should be down now (546 ms) +[ok]: Restarting master node (74 ms) +[ok]: Cluster should be up again (553 ms) +Waiting for process 1229151 to exit... +Waiting for process 1229151 to exit... +Waiting for process 1229151 to exit... +Waiting for process 1229029 to exit... +Waiting for process 1229029 to exit... +Waiting for process 1229029 to exit... +[84/124 done]: unit/cluster/faildet (38 seconds) Testing unit/cluster/diskless-load-swapdb === (external:skip cluster) Starting server 127.0.0.1:22245 ok === (external:skip cluster) Starting server 127.0.0.1:22247 ok -[ok]: Cluster should start ok (1 ms) -[ok]: Cluster is writable (157 ms) -[ok]: Main db not affected when fail to diskless load (86056 ms) -Waiting for process 3456684 to exit... -Waiting for process 3456684 to exit... -Waiting for process 3456684 to exit... -Waiting for process 3456684 to exit... -Waiting for process 3456684 to exit... -Waiting for process 3456684 to exit... -Waiting for process 3456684 to exit... -Waiting for process 3456684 to exit... -[85/124 done]: unit/cluster/diskless-load-swapdb (107 seconds) +[ok]: Cluster should start ok (16 ms) +[ok]: Cluster is writable (265 ms) +[ok]: Main db not affected when fail to diskless load (87415 ms) +Waiting for process 1235495 to exit... +Waiting for process 1235495 to exit... +Waiting for process 1235495 to exit... +[85/124 done]: unit/cluster/diskless-load-swapdb (109 seconds) Testing unit/cluster/consistency-check === (external:skip cluster) Starting server 127.0.0.1:22249 ok === (external:skip cluster) Starting server 127.0.0.1:22251 ok @@ -4973,11 +4999,11 @@ === (external:skip cluster) Starting server 127.0.0.1:22263 ok === (external:skip cluster) Starting server 127.0.0.1:22265 ok === (external:skip cluster) Starting server 127.0.0.1:22267 ok -[ok]: Cluster should start ok (4 ms) -[ok]: Cluster is writable (310 ms) -[ok]: Slave expired keys is loaded when restarted: appendonly=no (3507 ms) -[ok]: Slave expired keys is loaded when restarted: appendonly=yes (3553 ms) -[86/124 done]: unit/cluster/consistency-check (20 seconds) +[ok]: Cluster should start ok (17 ms) +[ok]: Cluster is writable (413 ms) +[ok]: Slave expired keys is loaded when restarted: appendonly=no (3816 ms) +[ok]: Slave expired keys is loaded when restarted: appendonly=yes (3809 ms) +[86/124 done]: unit/cluster/consistency-check (24 seconds) Testing unit/cluster/cluster-slots === (external:skip cluster) Starting server 127.0.0.1:22269 ok === (external:skip cluster) Starting server 127.0.0.1:22271 ok @@ -4994,16 +5020,16 @@ === (external:skip cluster) Starting server 127.0.0.1:22293 ok === (external:skip cluster) Starting server 127.0.0.1:22295 ok === (external:skip cluster) Starting server 127.0.0.1:22297 ok -[ok]: Cluster is up (5 ms) -[ok]: Cluster is writable (236 ms) -[ok]: Instance #5 is a slave (0 ms) -[ok]: client do not break when cluster slot (2039 ms) -[ok]: client can handle keys with hash tag (111 ms) -[ok]: slot migration is valid from primary to another primary (128 ms) -[ok]: slot migration is invalid from primary to replica (157 ms) -[ok]: slot must be unbound on the owner when it is deleted (8152 ms) -[ok]: CLUSTER SLOTS from non-TLS client in TLS cluster (4068 ms) -[87/124 done]: unit/cluster/cluster-slots (90 seconds) +[ok]: Cluster is up (60 ms) +[ok]: Cluster is writable (889 ms) +[ok]: Instance #5 is a slave (6 ms) +[ok]: client do not break when cluster slot (4628 ms) +[ok]: client can handle keys with hash tag (196 ms) +[ok]: slot migration is valid from primary to another primary (224 ms) +[ok]: slot migration is invalid from primary to replica (199 ms) +[ok]: slot must be unbound on the owner when it is deleted (20470 ms) +[ok]: CLUSTER SLOTS from non-TLS client in TLS cluster (5800 ms) +[87/124 done]: unit/cluster/cluster-slots (217 seconds) Testing unit/cluster/cluster-shards === (external:skip cluster) Starting server 127.0.0.1:22299 ok === (external:skip cluster) Starting server 127.0.0.1:22301 ok @@ -5011,12 +5037,12 @@ === (external:skip cluster) Starting server 127.0.0.1:22305 ok === (external:skip cluster) Starting server 127.0.0.1:22307 ok === (external:skip cluster) Starting server 127.0.0.1:22309 ok -[ok]: Cluster should start ok (3 ms) -[ok]: Cluster shards response is ok for shard 0 (3 ms) -[ok]: Kill a node and tell the replica to immediately takeover (27 ms) -[ok]: Verify health as fail for killed node (3204 ms) -[ok]: CLUSTER SHARDS slot response is non-empty when primary node fails (2 ms) -[88/124 done]: unit/cluster/cluster-shards (15 seconds) +[ok]: Cluster should start ok (2 ms) +[ok]: Cluster shards response is ok for shard 0 (1 ms) +[ok]: Kill a node and tell the replica to immediately takeover (82 ms) +[ok]: Verify health as fail for killed node (3114 ms) +[ok]: CLUSTER SHARDS slot response is non-empty when primary node fails (1 ms) +[88/124 done]: unit/cluster/cluster-shards (16 seconds) Testing unit/cluster/cluster-response-tls === (external:skip cluster tls) Starting server 127.0.0.1:22311 ok === (external:skip cluster tls) Starting server 127.0.0.1:22313 ok @@ -5024,10 +5050,10 @@ === (external:skip cluster tls) Starting server 127.0.0.1:22317 ok === (external:skip cluster tls) Starting server 127.0.0.1:22319 ok === (external:skip cluster tls) Starting server 127.0.0.1:22321 ok -[ok]: CLUSTER SLOTS cached using EVAL over TLS -- tls-cluster yes (33 ms) -[ok]: CLUSTER SLOTS with different connection type -- tls-cluster yes (79 ms) -[ok]: CLUSTER NODES return port according to connection type -- tls-cluster yes (46 ms) -[ok]: Set many keys in the cluster -- tls-cluster yes (2537 ms) +[ok]: CLUSTER SLOTS cached using EVAL over TLS -- tls-cluster yes (28 ms) +[ok]: CLUSTER SLOTS with different connection type -- tls-cluster yes (102 ms) +[ok]: CLUSTER NODES return port according to connection type -- tls-cluster yes (94 ms) +[ok]: Set many keys in the cluster -- tls-cluster yes (3040 ms) [ok]: Test cluster responses during migration of slot x -- tls-cluster yes (8 ms) === (external:skip cluster tls) Starting server 127.0.0.1:22323 ok === (external:skip cluster tls) Starting server 127.0.0.1:22325 ok @@ -5035,12 +5061,12 @@ === (external:skip cluster tls) Starting server 127.0.0.1:22329 ok === (external:skip cluster tls) Starting server 127.0.0.1:22331 ok === (external:skip cluster tls) Starting server 127.0.0.1:22333 ok -[ok]: CLUSTER SLOTS cached using EVAL over TLS -- tls-cluster no (32 ms) -[ok]: CLUSTER SLOTS with different connection type -- tls-cluster no (70 ms) -[ok]: CLUSTER NODES return port according to connection type -- tls-cluster no (48 ms) -[ok]: Set many keys in the cluster -- tls-cluster no (1649 ms) -[ok]: Test cluster responses during migration of slot x -- tls-cluster no (3 ms) -[89/124 done]: unit/cluster/cluster-response-tls (29 seconds) +[ok]: CLUSTER SLOTS cached using EVAL over TLS -- tls-cluster no (62 ms) +[ok]: CLUSTER SLOTS with different connection type -- tls-cluster no (173 ms) +[ok]: CLUSTER NODES return port according to connection type -- tls-cluster no (121 ms) +[ok]: Set many keys in the cluster -- tls-cluster no (5053 ms) +[ok]: Test cluster responses during migration of slot x -- tls-cluster no (9 ms) +[89/124 done]: unit/cluster/cluster-response-tls (38 seconds) Testing unit/cluster/cluster-reliable-meet [ignore]: Not supported in tls mode [90/124 done]: unit/cluster/cluster-reliable-meet (0 seconds) @@ -5049,16 +5075,16 @@ === (external:skip cluster) Starting server 127.0.0.1:22337 ok === (external:skip cluster) Starting server 127.0.0.1:22339 ok === (external:skip cluster) Starting server 127.0.0.1:22341 ok -[ok]: Cluster should start ok (2 ms) -[ok]: Continuous slots distribution (6 ms) -[ok]: Discontinuous slots distribution (9 ms) +[ok]: Cluster should start ok (7 ms) +[ok]: Continuous slots distribution (5 ms) +[ok]: Discontinuous slots distribution (6 ms) [91/124 done]: unit/cluster/cluster-nodes-slots (12 seconds) Testing unit/cluster/cluster-multiple-meets [ignore]: Not supported in tls mode [92/124 done]: unit/cluster/cluster-multiple-meets (0 seconds) Testing unit/cluster/cli [ignore]: Not supported in tls mode -[93/124 done]: unit/cluster/cli (0 seconds) +[93/124 done]: unit/cluster/cli (1 seconds) Testing unit/cluster/base [ignore]: Not supported in tls mode [94/124 done]: unit/cluster/base (0 seconds) @@ -5067,703 +5093,1162 @@ === (external:skip cluster) Starting server 127.0.0.1:22345 ok === (external:skip cluster) Starting server 127.0.0.1:22347 ok === (external:skip cluster) Starting server 127.0.0.1:22349 ok -[ok]: Test change cluster-announce-port and cluster-announce-tls-port at runtime (106 ms) -[ok]: Test change cluster-announce-bus-port at runtime (227 ms) +[ok]: Test change cluster-announce-port and cluster-announce-tls-port at runtime (105 ms) +[ok]: Test change cluster-announce-bus-port at runtime (208 ms) [95/124 done]: unit/cluster/announced-endpoints (12 seconds) Testing unit/cluster/announce-client-ip === (external:skip cluster) Starting server 127.0.0.1:22353 ok === (external:skip cluster) Starting server 127.0.0.1:22355 ok === (external:skip cluster) Starting server 127.0.0.1:22357 ok === (external:skip cluster) Starting server 127.0.0.1:22359 ok -[ok]: Set cluster announced IPv4 to invalid IP (0 ms) -[ok]: Set cluster announced IPv4 and check that it propagates (125 ms) -[ok]: Clear announced client IPv4 and check that it propagates (116 ms) +[ok]: Set cluster announced IPv4 to invalid IP (1 ms) +[ok]: Set cluster announced IPv4 and check that it propagates (199 ms) +[ok]: Clear announced client IPv4 and check that it propagates (272 ms) === (external:skip cluster ipv6) Starting server 127.0.0.1:22361 ok === (external:skip cluster ipv6) Starting server 127.0.0.1:22363 ok === (external:skip cluster ipv6) Starting server 127.0.0.1:22365 ok === (external:skip cluster ipv6) Starting server 127.0.0.1:22367 ok -[ok]: Set cluster announced IPv6 to invalid IP (1 ms) -[ok]: Set cluster announced IPv6 and check that it propagates (235 ms) -[ok]: Clear announced client IPv6 and check that it propagates (115 ms) +[ok]: Set cluster announced IPv6 to invalid IP (7 ms) +[ok]: Set cluster announced IPv6 and check that it propagates (344 ms) +[ok]: Clear announced client IPv6 and check that it propagates (141 ms) === (external:skip cluster) Starting server 127.0.0.1:22369 ok -[ok]: Load cluster announced IPv4 config on server start (206 ms) +[ok]: Load cluster announced IPv4 config on server start (346 ms) === (external:skip cluster ipv6) Starting server 127.0.0.1:22371 ok -[ok]: Load cluster announced IPv6 config on server start (217 ms) -[96/124 done]: unit/cluster/announce-client-ip (28 seconds) +[ok]: Load cluster announced IPv6 config on server start (398 ms) +[96/124 done]: unit/cluster/announce-client-ip (31 seconds) Testing integration/valkey-cli === (cli) Starting server 127.0.0.1:22373 ok -[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 (102 ms) -[ok]: Interactive CLI: Multi-bulk reply (101 ms) -[ok]: Interactive CLI: Parsing quotes (709 ms) -[ok]: Interactive CLI: Subscribed mode (969 ms) -[ok]: Interactive non-TTY CLI: Subscribed mode (668 ms) -[ok]: Non-interactive TTY CLI: Status reply (47 ms) -[ok]: Non-interactive TTY CLI: Integer reply (46 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 (98 ms) -[ok]: Non-interactive TTY CLI: Read last argument from file (94 ms) -[ok]: Non-interactive TTY CLI: Escape character in JSON mode (420 ms) -[ok]: Non-interactive non-TTY CLI: Status reply (47 ms) -[ok]: Non-interactive non-TTY CLI: Integer reply (47 ms) -[ok]: Non-interactive non-TTY CLI: Bulk reply (46 ms) -[ok]: Non-interactive non-TTY CLI: Multi-bulk reply (49 ms) -[ok]: Non-interactive non-TTY CLI: Quoted input arguments (48 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 (92 ms) -[ok]: Non-interactive non-TTY CLI: Read last argument from pipe (97 ms) -[ok]: Non-interactive non-TTY CLI: Read last argument from file (94 ms) -[ok]: Non-interactive non-TTY CLI: Test command-line hinting - latest server (59 ms) -[ok]: Non-interactive non-TTY CLI: Test command-line hinting - no server (16 ms) -[ok]: Non-interactive non-TTY CLI: Test command-line hinting - old server (59 ms) -[ok]: Dumping an RDB - functions only: no (1637 ms) -[ok]: Dumping an RDB - functions only: yes (454 ms) -[ok]: Scan mode (270 ms) -[ok]: Connecting as a replica (2225 ms) -[ok]: Piping raw protocol (818 ms) -[ok]: Options -X with illegal argument (68 ms) -[ok]: DUMP RESTORE with -x option (290 ms) -[ok]: DUMP RESTORE with -X option (290 ms) -[ok]: Valid Connection Scheme: redis:// (45 ms) -[ok]: Valid Connection Scheme: valkey:// (45 ms) -[ok]: Valid Connection Scheme: rediss:// (46 ms) -[ok]: Valid Connection Scheme: valkeys:// (47 ms) -[97/124 done]: integration/valkey-cli (10 seconds) +[ok]: Interactive CLI: INFO response should be printed raw (112 ms) +[ok]: Interactive CLI: Status reply (116 ms) +[ok]: Interactive CLI: Integer reply (116 ms) +[ok]: Interactive CLI: Bulk reply (124 ms) +[ok]: Interactive CLI: Multi-bulk reply (119 ms) +[ok]: Interactive CLI: Parsing quotes (784 ms) +[ok]: Interactive CLI: Subscribed mode (1072 ms) +[ok]: Interactive non-TTY CLI: Subscribed mode (732 ms) +[ok]: Non-interactive TTY CLI: Status reply (58 ms) +[ok]: Non-interactive TTY CLI: Integer reply (91 ms) +[ok]: Non-interactive TTY CLI: Bulk reply (59 ms) +[ok]: Non-interactive TTY CLI: Multi-bulk reply (45 ms) +[ok]: Non-interactive TTY CLI: Read last argument from pipe (170 ms) +[ok]: Non-interactive TTY CLI: Read last argument from file (122 ms) +[ok]: Non-interactive TTY CLI: Escape character in JSON mode (559 ms) +[ok]: Non-interactive non-TTY CLI: Status reply (48 ms) +[ok]: Non-interactive non-TTY CLI: Integer reply (49 ms) +[ok]: Non-interactive non-TTY CLI: Bulk reply (45 ms) +[ok]: Non-interactive non-TTY CLI: Multi-bulk reply (44 ms) +[ok]: Non-interactive non-TTY CLI: Quoted input arguments (88 ms) +[ok]: Non-interactive non-TTY CLI: No accidental unquoting of input arguments (101 ms) +[ok]: Non-interactive non-TTY CLI: Invalid quoted input arguments (116 ms) +[ok]: Non-interactive non-TTY CLI: Read last argument from pipe (163 ms) +[ok]: Non-interactive non-TTY CLI: Read last argument from file (88 ms) +[ok]: Non-interactive non-TTY CLI: Test command-line hinting - latest server (48 ms) +[ok]: Non-interactive non-TTY CLI: Test command-line hinting - no server (8 ms) +[ok]: Non-interactive non-TTY CLI: Test command-line hinting - old server (28 ms) +[ok]: Dumping an RDB - functions only: no (3403 ms) +[ok]: Dumping an RDB - functions only: yes (1134 ms) +[ok]: Scan mode (796 ms) +[ok]: Connecting as a replica (2350 ms) +[ok]: Piping raw protocol (2057 ms) +[ok]: Options -X with illegal argument (152 ms) +[ok]: DUMP RESTORE with -x option (413 ms) +[ok]: DUMP RESTORE with -X option (399 ms) +[ok]: Valid Connection Scheme: redis:// (52 ms) +[ok]: Valid Connection Scheme: valkey:// (52 ms) +[ok]: Valid Connection Scheme: rediss:// (56 ms) +[ok]: Valid Connection Scheme: valkeys:// (48 ms) +[97/124 done]: integration/valkey-cli (17 seconds) Testing integration/valkey-benchmark === () Starting server 127.0.0.1:22375 ok -[ok]: benchmark: set,get (158 ms) -[ok]: benchmark: connecting using URI set,get (132 ms) -[ok]: benchmark: connecting using URI with authentication set,get (161 ms) -[ok]: benchmark: full test suite (1278 ms) -[ok]: benchmark: multi-thread set,get (604 ms) -[ok]: benchmark: pipelined full set,get (272 ms) -[ok]: benchmark: arbitrary command (100 ms) -[ok]: benchmark: keyspace length (337 ms) -[ok]: benchmark: clients idle mode should return error when reached maxclients limit (89 ms) -[ok]: benchmark: read last argument from stdin (162 ms) -[ok]: benchmark: specific tls-ciphers (443 ms) -[ok]: benchmark: tls connecting using URI with authentication set,get (94 ms) -[ok]: benchmark: specific tls-ciphersuites (326 ms) -[98/124 done]: integration/valkey-benchmark (5 seconds) +[ok]: benchmark: set,get (288 ms) +[ok]: benchmark: connecting using URI set,get (256 ms) +[ok]: benchmark: connecting using URI with authentication set,get (219 ms) +[ok]: benchmark: full test suite (4074 ms) +[ok]: benchmark: multi-thread set,get (732 ms) +[ok]: benchmark: pipelined full set,get (846 ms) +[ok]: benchmark: arbitrary command (163 ms) +[ok]: benchmark: keyspace length (893 ms) +[ok]: benchmark: clients idle mode should return error when reached maxclients limit (103 ms) +[ok]: benchmark: read last argument from stdin (233 ms) +[ok]: benchmark: specific tls-ciphers (1005 ms) +[ok]: benchmark: tls connecting using URI with authentication set,get (249 ms) +[ok]: benchmark: specific tls-ciphersuites (1002 ms) +[98/124 done]: integration/valkey-benchmark (10 seconds) Testing integration/shutdown === () Starting server 127.0.0.1:22377 ok === () Starting server 127.0.0.1:22379 ok -[ok]: Shutting down master waits for replica to catch up (sigterm) (2997 ms) +[ok]: Shutting down master waits for replica to catch up (sigterm) (3839 ms) === () Starting server 127.0.0.1:22381 ok === () Starting server 127.0.0.1:22383 ok -[ok]: Shutting down master waits for replica to catch up (shutdown) (2945 ms) +[ok]: Shutting down master waits for replica to catch up (shutdown) (3680 ms) === () Starting server 127.0.0.1:22385 ok === () Starting server 127.0.0.1:22387 ok -[ok]: Shutting down master waits for replica timeout (3038 ms) +[ok]: Shutting down master waits for replica timeout (3267 ms) === () Starting server 127.0.0.1:22389 ok === () Starting server 127.0.0.1:22391 ok -[ok]: Shutting down master waits for replica then fails (2409 ms) +[ok]: Shutting down master waits for replica then fails (2861 ms) === () Starting server 127.0.0.1:22393 ok === () Starting server 127.0.0.1:22395 ok -[ok]: Shutting down master waits for replica then aborted (763 ms) -[99/124 done]: integration/shutdown (12 seconds) +[ok]: Shutting down master waits for replica then aborted (1309 ms) +[99/124 done]: integration/shutdown (15 seconds) Testing integration/replication === (repl network external:skip) Starting server 127.0.0.1:22397 ok === () Starting server 127.0.0.1:22399 ok -[ok]: Slave enters handshake (1003 ms) -[ok]: Slave enters wait_bgsave (1 ms) -[ok]: Slave is able to detect timeout during handshake (0 ms) +[ok]: Slave enters handshake (7 ms) +[ok]: Slave enters wait_bgsave (1005 ms) +[ok]: Slave is able to detect timeout during handshake (1 ms) === (repl external:skip) Starting server 127.0.0.1:22401 ok === () Starting server 127.0.0.1:22403 ok -[ok]: Set instance A as slave of B (103 ms) -[ok]: INCRBYFLOAT replication, should not remove expire (616 ms) -[ok]: GETSET replication (4 ms) +[ok]: Set instance A as slave of B (133 ms) +[ok]: INCRBYFLOAT replication, should not remove expire (317 ms) +[ok]: GETSET replication (3 ms) [ok]: BRPOPLPUSH replication, when blocking against empty list (33 ms) -[ok]: BRPOPLPUSH replication, list exists (1038 ms) -[ok]: BLMOVE (left, left) replication, when blocking against empty list (33 ms) -[ok]: BLMOVE (left, left) replication, list exists (1038 ms) -[ok]: BLMOVE (left, right) replication, when blocking against empty list (33 ms) -[ok]: BLMOVE (left, right) replication, list exists (1038 ms) -[ok]: BLMOVE (right, left) replication, when blocking against empty list (33 ms) -[ok]: BLMOVE (right, left) replication, list exists (1036 ms) +[ok]: BRPOPLPUSH replication, list exists (1040 ms) +[ok]: BLMOVE (left, left) replication, when blocking against empty list (40 ms) +[ok]: BLMOVE (left, left) replication, list exists (1044 ms) +[ok]: BLMOVE (left, right) replication, when blocking against empty list (42 ms) +[ok]: BLMOVE (left, right) replication, list exists (1058 ms) +[ok]: BLMOVE (right, left) replication, when blocking against empty list (55 ms) +[ok]: BLMOVE (right, left) replication, list exists (1060 ms) [ok]: BLMOVE (right, right) replication, when blocking against empty list (33 ms) -[ok]: BLMOVE (right, right) replication, list exists (1035 ms) -[ok]: BLPOP followed by role change, issue #2473 (240 ms) +[ok]: BLMOVE (right, right) replication, list exists (1032 ms) +[ok]: BLPOP followed by role change, issue #2473 (284 ms) === (repl external:skip) Starting server 127.0.0.1:22405 ok === () Starting server 127.0.0.1:22407 ok -[ok]: Second server should have role master at first (3 ms) -[ok]: SLAVEOF should start with link status "down" (1 ms) -[ok]: The role should immediately be changed to "replica" (0 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 (821 ms) -[ok]: FLUSHDB / FLUSHALL should replicate (46 ms) -[ok]: ROLE in master reports master with a slave (2 ms) -[ok]: ROLE in slave reports slave in connected state (0 ms) +[ok]: Second server should have role master at first (1 ms) +[ok]: SLAVEOF should start with link status "down" (10 ms) +[ok]: The role should immediately be changed to "replica" (13 ms) +[ok]: Sync should have transferred keys from master (6 ms) +[ok]: The link status should be up (1 ms) +[ok]: SET on the master should immediately propagate (722 ms) +[ok]: FLUSHDB / FLUSHALL should replicate (237 ms) +[ok]: ROLE in master reports master with a slave (1 ms) +[ok]: ROLE in slave reports slave in connected state (1 ms) === (repl external:skip) Starting server 127.0.0.1:22409 ok === () Starting server 127.0.0.1:22411 ok === () Starting server 127.0.0.1:22413 ok === () Starting server 127.0.0.1:22415 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=disabled dual-channel-replication-enabled=no (11777 ms) +[ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=disabled dual-channel-replication-enabled=no (10449 ms) === (repl external:skip) Starting server 127.0.0.1:22417 ok === () Starting server 127.0.0.1:22419 ok === () Starting server 127.0.0.1:22421 ok === () Starting server 127.0.0.1:22423 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=swapdb dual-channel-replication-enabled=no (11397 ms) +[ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=swapdb dual-channel-replication-enabled=no (11801 ms) === (repl external:skip) Starting server 127.0.0.1:22425 ok === () Starting server 127.0.0.1:22427 ok === () Starting server 127.0.0.1:22429 ok === () Starting server 127.0.0.1:22431 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=disabled dual-channel-replication-enabled=yes (13116 ms) +[ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=disabled dual-channel-replication-enabled=yes (12849 ms) === (repl external:skip) Starting server 127.0.0.1:22433 ok === () Starting server 127.0.0.1:22435 ok === () Starting server 127.0.0.1:22437 ok === () Starting server 127.0.0.1:22439 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=swapdb dual-channel-replication-enabled=yes (12064 ms) +[ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=swapdb dual-channel-replication-enabled=yes (16772 ms) === (repl external:skip) Starting server 127.0.0.1:22441 ok === () Starting server 127.0.0.1:22443 ok -[ok]: Master stream is correctly processed while the replica has a script in -BUSY state (19670 ms) +[ok]: Master stream is correctly processed while the replica has a script in -BUSY state (42581 ms) === (repl external:skip) Starting server 127.0.0.1:22445 ok === () Starting server 127.0.0.1:22447 ok [ok]: Diskless load swapdb (different replid): new database is exposed after swapping dual-channel=yes (1 ms) === (repl external:skip) Starting server 127.0.0.1:22449 ok === () Starting server 127.0.0.1:22451 ok -[ok]: Diskless load swapdb (different replid): replica enter loading dual-channel-replication-enabled=no (469 ms) -[ok]: Diskless load swapdb (different replid): old database is exposed after replication fails dual-channel=no (0 ms) +[ok]: Diskless load swapdb (different replid): replica enter loading dual-channel-replication-enabled=no (624 ms) +[ok]: Diskless load swapdb (different replid): old database is exposed after replication fails dual-channel=no (33 ms) === (repl external:skip) Starting server 127.0.0.1:22453 ok === () Starting server 127.0.0.1:22455 ok [ok]: Diskless load swapdb (async_loading): new database is exposed after swapping (1 ms) === (repl external:skip) Starting server 127.0.0.1:22457 ok === () Starting server 127.0.0.1:22459 ok -[ok]: Diskless load swapdb (async_loading): replica enter async_loading (378 ms) -[ok]: Diskless load swapdb (async_loading): old database is exposed while async replication is in progress (881 ms) -[ok]: Busy script during async loading (1113 ms) -[ok]: Blocked commands and configs during async-loading (440 ms) -[ok]: Diskless load swapdb (async_loading): old database is exposed after async replication fails (1 ms) -Waiting for process 3537459 to exit... -Waiting for process 3537459 to exit... -Waiting for process 3537459 to exit... -Waiting for process 3537459 to exit... +[ok]: Diskless load swapdb (async_loading): replica enter async_loading (460 ms) +[ok]: Diskless load swapdb (async_loading): old database is exposed while async replication is in progress (1008 ms) +[ok]: Busy script during async loading (1344 ms) +[ok]: Blocked commands and configs during async-loading (512 ms) +[ok]: Diskless load swapdb (async_loading): old database is exposed after async replication fails (26 ms) +Waiting for process 1371639 to exit... +Waiting for process 1371639 to exit... === (repl) Starting server 127.0.0.1:22461 ok === () Starting server 127.0.0.1:22463 ok -filling took 7732 ms (TODO: use pipeline) -{3538273:S 18 Oct 2024 18:14:07.023 # Internal error in RDB reading offset 3803519, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 50 -{3538273:S 18 Oct 2024 18:14:07.065 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 65 -{3538273:S 18 Oct 2024 18:14:07.125 # Internal error in RDB reading offset 3803519, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 80 -{3538273:S 18 Oct 2024 18:14:07.213 # Internal error in RDB reading offset 10424839, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 95 -{3538273:S 18 Oct 2024 18:14:07.302 # Internal error in RDB reading offset 10424839, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 110 -{3538273:S 18 Oct 2024 18:14:07.370 # Internal error in RDB reading offset 6180201, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 125 -{3538273:S 18 Oct 2024 18:14:07.416 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 140 -{3538273:S 18 Oct 2024 18:14:07.463 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 155 -{3538273:S 18 Oct 2024 18:14:07.515 # Internal error in RDB reading offset 1774235, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 170 -{3538273:S 18 Oct 2024 18:14:07.596 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 185 -{3538273:S 18 Oct 2024 18:14:07.684 # Internal error in RDB reading offset 10424839, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 200 -{3538273:S 18 Oct 2024 18:14:07.750 # Internal error in RDB reading offset 3803519, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 215 -{3538273:S 18 Oct 2024 18:14:07.796 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 230 -{3538273:S 18 Oct 2024 18:14:07.885 # Internal error in RDB reading offset 10424839, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 245 -{3538273:S 18 Oct 2024 18:14:07.926 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 260 -{3538273:S 18 Oct 2024 18:14:08.007 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 275 -{3538273:S 18 Oct 2024 18:14:08.086 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 290 -{3538273:S 18 Oct 2024 18:14:08.171 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 305 -{3538273:S 18 Oct 2024 18:14:08.241 # Internal error in RDB reading offset 6180201, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 320 -{3538273:S 18 Oct 2024 18:14:08.329 # Internal error in RDB reading offset 10424839, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 335 -{3538273:S 18 Oct 2024 18:14:08.384 # Internal error in RDB reading offset 1774235, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 350 -{3538273:S 18 Oct 2024 18:14:08.455 # Internal error in RDB reading offset 6180201, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 365 -{3538273:S 18 Oct 2024 18:14:08.541 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 380 -{3538273:S 18 Oct 2024 18:14:08.600 # Internal error in RDB reading offset 3803519, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 395 -{3538273:S 18 Oct 2024 18:14:08.646 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 410 -{3538273:S 18 Oct 2024 18:14:08.725 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 425 -{3538273:S 18 Oct 2024 18:14:08.796 # Internal error in RDB reading offset 6180201, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 440 -{3538273:S 18 Oct 2024 18:14:08.886 # Internal error in RDB reading offset 10424839, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 455 -{3538273:S 18 Oct 2024 18:14:08.955 # Internal error in RDB reading offset 6180201, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 470 -{3538273:S 18 Oct 2024 18:14:09.030 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 485 -{3538273:S 18 Oct 2024 18:14:09.121 # Internal error in RDB reading offset 10424839, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 500 -{3538273:S 18 Oct 2024 18:14:09.185 # Internal error in RDB reading offset 3803519, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 515 -{3538273:S 18 Oct 2024 18:14:09.232 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 530 -{3538273:S 18 Oct 2024 18:14:09.273 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 545 -{3538273:S 18 Oct 2024 18:14:09.359 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 560 -{3538273:S 18 Oct 2024 18:14:09.404 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 575 -{3538273:S 18 Oct 2024 18:14:09.471 # Internal error in RDB reading offset 6180201, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 590 -{3538273:S 18 Oct 2024 18:14:09.531 # Internal error in RDB reading offset 3803519, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 605 -{3538273:S 18 Oct 2024 18:14:09.606 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 620 -{3538273:S 18 Oct 2024 18:14:09.694 # Internal error in RDB reading offset 10424839, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 635 -{3538273:S 18 Oct 2024 18:14:09.764 # Internal error in RDB reading offset 6180201, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 650 -{3538273:S 18 Oct 2024 18:14:09.820 # Internal error in RDB reading offset 1774235, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 665 -{3538273:S 18 Oct 2024 18:14:09.860 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 680 -{3538273:S 18 Oct 2024 18:14:09.935 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 695 -{3538273:S 18 Oct 2024 18:14:10.025 # Internal error in RDB reading offset 10424839, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 710 -{3538273:S 18 Oct 2024 18:14:10.113 # Internal error in RDB reading offset 10424839, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 725 -{3538273:S 18 Oct 2024 18:14:10.196 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 740 -{3538273:S 18 Oct 2024 18:14:10.267 # Internal error in RDB reading offset 6180201, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 755 -{3538273:S 18 Oct 2024 18:14:10.335 # Internal error in RDB reading offset 6180201, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 770 -{3538273:S 18 Oct 2024 18:14:10.379 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 785 -{3538273:S 18 Oct 2024 18:14:10.461 # Internal error in RDB reading offset 10424839, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 800 -{3538273:S 18 Oct 2024 18:14:10.526 # Internal error in RDB reading offset 3803519, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 815 -{3538273:S 18 Oct 2024 18:14:10.609 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 830 -{3538273:S 18 Oct 2024 18:14:10.671 # Internal error in RDB reading offset 3803519, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 845 -{3538273:S 18 Oct 2024 18:14:10.727 # Internal error in RDB reading offset 1774235, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 860 -{3538273:S 18 Oct 2024 18:14:10.780 # Internal error in RDB reading offset 1774235, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 875 -{3538273:S 18 Oct 2024 18:14:10.821 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 890 -{3538273:S 18 Oct 2024 18:14:10.885 # Internal error in RDB reading offset 3803519, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 905 -{3538273:S 18 Oct 2024 18:14:10.960 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 920 -{3538273:S 18 Oct 2024 18:14:11.015 # Internal error in RDB reading offset 1774235, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 935 -{3538273:S 18 Oct 2024 18:14:11.080 # Internal error in RDB reading offset 3803519, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 950 -{3538273:S 18 Oct 2024 18:14:11.152 # Internal error in RDB reading offset 6180201, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 965 -{3538273:S 18 Oct 2024 18:14:11.231 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 980 -{3538273:S 18 Oct 2024 18:14:11.277 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 995 -{3538273:S 18 Oct 2024 18:14:11.345 # Internal error in RDB reading offset 3803519, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1010 -{3538273:S 18 Oct 2024 18:14:11.407 # Internal error in RDB reading offset 3803519, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1025 -{3538273:S 18 Oct 2024 18:14:11.462 # Internal error in RDB reading offset 1774235, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1040 -{3538273:S 18 Oct 2024 18:14:11.507 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1055 -{3538273:S 18 Oct 2024 18:14:11.578 # Internal error in RDB reading offset 6180201, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1070 -{3538273:S 18 Oct 2024 18:14:11.663 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1085 -{3538273:S 18 Oct 2024 18:14:11.728 # Internal error in RDB reading offset 3803519, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1100 -{3538273:S 18 Oct 2024 18:14:11.800 # Internal error in RDB reading offset 6180201, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1115 -{3538273:S 18 Oct 2024 18:14:11.888 # Internal error in RDB reading offset 10424839, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1130 -{3538273:S 18 Oct 2024 18:14:11.935 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1145 -{3538273:S 18 Oct 2024 18:14:12.025 # Internal error in RDB reading offset 10424839, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1160 -{3538273:S 18 Oct 2024 18:14:12.083 # Internal error in RDB reading offset 3803519, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1175 -{3538273:S 18 Oct 2024 18:14:12.125 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1190 -{3538273:S 18 Oct 2024 18:14:12.195 # Internal error in RDB reading offset 6180201, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1205 -{3538273:S 18 Oct 2024 18:14:12.276 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1220 -{3538273:S 18 Oct 2024 18:14:12.324 # Internal error in RDB reading offset 1774235, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1235 -{3538273:S 18 Oct 2024 18:14:12.412 # Internal error in RDB reading offset 10424839, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1250 -{3538273:S 18 Oct 2024 18:14:12.496 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1265 -{3538273:S 18 Oct 2024 18:14:12.555 # Internal error in RDB reading offset 3803519, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1280 -{3538273:S 18 Oct 2024 18:14:12.604 # Internal error in RDB reading offset 1774235, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1295 -{3538273:S 18 Oct 2024 18:14:12.653 # Internal error in RDB reading offset 1774235, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1310 -{3538273:S 18 Oct 2024 18:14:12.742 # Internal error in RDB reading offset 10424839, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1325 -{3538273:S 18 Oct 2024 18:14:12.803 # Internal error in RDB reading offset 3803519, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1340 -{3538273:S 18 Oct 2024 18:14:12.882 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1355 -{3538273:S 18 Oct 2024 18:14:12.928 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1370 -{3538273:S 18 Oct 2024 18:14:12.993 # Internal error in RDB reading offset 3803519, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1385 -{3538273:S 18 Oct 2024 18:14:13.053 # Internal error in RDB reading offset 3803519, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1400 -{3538273:S 18 Oct 2024 18:14:13.099 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1415 -{3538273:S 18 Oct 2024 18:14:13.174 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1430 -{3538273:S 18 Oct 2024 18:14:13.223 # Internal error in RDB reading offset 1774235, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1445 -{3538273:S 18 Oct 2024 18:14:13.271 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1460 -{3538273:S 18 Oct 2024 18:14:13.352 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1475 -{3538273:S 18 Oct 2024 18:14:13.425 # Internal error in RDB reading offset 6180201, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1490 -{3538273:S 18 Oct 2024 18:14:13.508 # Internal error in RDB reading offset 7597764, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1505 -{3538273:S 18 Oct 2024 18:14:13.577 # Internal error in RDB reading offset 6180201, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1520 -{3538273:S 18 Oct 2024 18:14:13.623 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1535 -test took 6674 ms -[ok]: diskless loading short read (14852 ms) +filling took 2847 ms (TODO: use pipeline) +{1374500:S 19 Oct 2024 21:22:08.783 # Internal error in RDB reading offset 12177932, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 50 +{1374500:S 19 Oct 2024 21:22:08.863 # Internal error in RDB reading offset 6134637, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 65 +{1374500:S 19 Oct 2024 21:22:08.991 # Internal error in RDB reading offset 7720213, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 80 +{1374500:S 19 Oct 2024 21:22:09.091 # Internal error in RDB reading offset 3490555, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 95 +{1374500:S 19 Oct 2024 21:22:09.194 # Internal error in RDB reading offset 7720213, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 110 +{1374500:S 19 Oct 2024 21:22:09.271 # Internal error in RDB reading offset 3490555, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 125 +{1374500:S 19 Oct 2024 21:22:09.362 # Internal error in RDB reading offset 6134637, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 140 +{1374500:S 19 Oct 2024 21:22:09.458 # Internal error in RDB reading offset 7720213, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 155 +{1374500:S 19 Oct 2024 21:22:09.543 # Internal error in RDB reading offset 1899723, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 170 +{1374500:S 19 Oct 2024 21:22:09.650 # Internal error in RDB reading offset 6134637, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 185 +{1374500:S 19 Oct 2024 21:22:09.767 # Internal error in RDB reading offset 6134637, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 200 +{1374500:S 19 Oct 2024 21:22:09.839 # Internal error in RDB reading offset 3490555, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 215 +{1374500:S 19 Oct 2024 21:22:09.939 # Internal error in RDB reading offset 3490555, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 230 +{1374500:S 19 Oct 2024 21:22:10.047 # Internal error in RDB reading offset 7720213, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 245 +{1374500:S 19 Oct 2024 21:22:10.130 # Internal error in RDB reading offset 1899723, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 260 +{1374500:S 19 Oct 2024 21:22:10.234 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 275 +{1374500:S 19 Oct 2024 21:22:10.348 # Internal error in RDB reading offset 3490555, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 290 +{1374500:S 19 Oct 2024 21:22:10.446 # Internal error in RDB reading offset 7720213, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 305 +{1374500:S 19 Oct 2024 21:22:10.598 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 320 +{1374500:S 19 Oct 2024 21:22:10.713 # Internal error in RDB reading offset 7720213, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 335 +{1374500:S 19 Oct 2024 21:22:10.814 # Internal error in RDB reading offset 1899723, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 350 +{1374500:S 19 Oct 2024 21:22:10.955 # Internal error in RDB reading offset 12177932, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 365 +{1374500:S 19 Oct 2024 21:22:11.082 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 380 +{1374500:S 19 Oct 2024 21:22:11.202 # Internal error in RDB reading offset 7720213, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 395 +{1374500:S 19 Oct 2024 21:22:11.295 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 410 +{1374500:S 19 Oct 2024 21:22:11.350 # Internal error in RDB reading offset 1899723, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 425 +{1374500:S 19 Oct 2024 21:22:11.441 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 440 +{1374500:S 19 Oct 2024 21:22:11.523 # Internal error in RDB reading offset 3490555, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 455 +{1374500:S 19 Oct 2024 21:22:11.628 # Internal error in RDB reading offset 7720213, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 470 +{1374500:S 19 Oct 2024 21:22:11.762 # Internal error in RDB reading offset 3490555, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 485 +{1374500:S 19 Oct 2024 21:22:11.866 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 500 +{1374500:S 19 Oct 2024 21:22:11.962 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 515 +{1374500:S 19 Oct 2024 21:22:12.074 # Internal error in RDB reading offset 3490555, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 530 +{1374500:S 19 Oct 2024 21:22:12.166 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 545 +{1374500:S 19 Oct 2024 21:22:12.247 # Internal error in RDB reading offset 1899723, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 560 +{1374500:S 19 Oct 2024 21:22:12.346 # Internal error in RDB reading offset 6134637, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 575 +{1374500:S 19 Oct 2024 21:22:12.458 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 590 +{1374500:S 19 Oct 2024 21:22:12.582 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 605 +{1374500:S 19 Oct 2024 21:22:12.676 # Internal error in RDB reading offset 7720213, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 620 +{1374500:S 19 Oct 2024 21:22:12.774 # Internal error in RDB reading offset 7720213, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 635 +{1374500:S 19 Oct 2024 21:22:12.902 # Internal error in RDB reading offset 6134637, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 650 +{1374500:S 19 Oct 2024 21:22:13.004 # Internal error in RDB reading offset 7720213, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 665 +{1374500:S 19 Oct 2024 21:22:13.491 * PRIMARY <-> REPLICA sync: Finished with success} 683 +{1374500:S 19 Oct 2024 21:22:14.230 # Internal error in RDB reading offset 10449698, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 709 +{1374500:S 19 Oct 2024 21:22:14.377 # Internal error in RDB reading offset 10449698, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 724 +{1374500:S 19 Oct 2024 21:22:14.480 # Internal error in RDB reading offset 3490558, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 739 +{1374500:S 19 Oct 2024 21:22:14.529 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 754 +{1374500:S 19 Oct 2024 21:22:14.623 # Internal error in RDB reading offset 1899726, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 769 +{1374500:S 19 Oct 2024 21:22:14.759 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 784 +{1374500:S 19 Oct 2024 21:22:14.878 # Internal error in RDB reading offset 7720216, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 799 +{1374500:S 19 Oct 2024 21:22:14.979 # Internal error in RDB reading offset 7720216, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 814 +{1374500:S 19 Oct 2024 21:22:15.077 # Internal error in RDB reading offset 7720216, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 829 +{1374500:S 19 Oct 2024 21:22:15.246 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 844 +{1374500:S 19 Oct 2024 21:22:15.390 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 859 +{1374500:S 19 Oct 2024 21:22:15.498 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 874 +{1374500:S 19 Oct 2024 21:22:15.574 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 889 +{1374500:S 19 Oct 2024 21:22:15.670 # Internal error in RDB reading offset 3490558, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 905 +{1374500:S 19 Oct 2024 21:22:15.779 # Internal error in RDB reading offset 3490558, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 920 +{1374500:S 19 Oct 2024 21:22:15.846 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 935 +{1374500:S 19 Oct 2024 21:22:15.942 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 950 +{1374500:S 19 Oct 2024 21:22:16.006 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 965 +{1374500:S 19 Oct 2024 21:22:16.142 # Internal error in RDB reading offset 6134640, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 980 +{1374500:S 19 Oct 2024 21:22:16.250 # Internal error in RDB reading offset 3490558, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 995 +{1374500:S 19 Oct 2024 21:22:16.355 # Internal error in RDB reading offset 10449698, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1010 +{1374500:S 19 Oct 2024 21:22:16.559 # Internal error in RDB reading offset 20598987, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1025 +{1374500:S 19 Oct 2024 21:22:16.659 # Internal error in RDB reading offset 3490558, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1040 +{1374500:S 19 Oct 2024 21:22:16.742 # Internal error in RDB reading offset 3490558, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1055 +{1374500:S 19 Oct 2024 21:22:16.842 # Internal error in RDB reading offset 1899726, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1070 +{1374500:S 19 Oct 2024 21:22:16.975 # Internal error in RDB reading offset 3490558, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1085 +{1374500:S 19 Oct 2024 21:22:17.070 # Internal error in RDB reading offset 1899726, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1100 +{1374500:S 19 Oct 2024 21:22:17.178 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1115 +{1374500:S 19 Oct 2024 21:22:17.270 # Internal error in RDB reading offset 3490558, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1130 +{1374500:S 19 Oct 2024 21:22:17.358 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1145 +{1374500:S 19 Oct 2024 21:22:17.474 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1160 +{1374500:S 19 Oct 2024 21:22:17.626 # Internal error in RDB reading offset 7720216, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1175 +{1374500:S 19 Oct 2024 21:22:17.762 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1190 +{1374500:S 19 Oct 2024 21:22:17.854 # Internal error in RDB reading offset 3490558, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1205 +{1374500:S 19 Oct 2024 21:22:17.954 # Internal error in RDB reading offset 1899726, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1220 +{1374500:S 19 Oct 2024 21:22:18.070 # Internal error in RDB reading offset 7720216, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1235 +{1374500:S 19 Oct 2024 21:22:18.163 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1250 +{1374500:S 19 Oct 2024 21:22:18.243 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1265 +{1374500:S 19 Oct 2024 21:22:18.314 # Internal error in RDB reading offset 1899726, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1280 +{1374500:S 19 Oct 2024 21:22:18.382 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1295 +{1374500:S 19 Oct 2024 21:22:18.451 # Internal error in RDB reading offset 1899726, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1310 +{1374500:S 19 Oct 2024 21:22:18.531 # Internal error in RDB reading offset 3490558, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1325 +{1374500:S 19 Oct 2024 21:22:18.626 # Internal error in RDB reading offset 7720216, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1340 +{1374500:S 19 Oct 2024 21:22:18.706 # Internal error in RDB reading offset 3490558, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1355 +{1374500:S 19 Oct 2024 21:22:18.822 # Internal error in RDB reading offset 10449698, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1370 +{1374500:S 19 Oct 2024 21:22:18.926 # Internal error in RDB reading offset 6134640, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1385 +{1374500:S 19 Oct 2024 21:22:19.058 # Internal error in RDB reading offset 7720216, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1400 +{1374500:S 19 Oct 2024 21:22:19.134 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1415 +{1374500:S 19 Oct 2024 21:22:19.258 # Internal error in RDB reading offset 7720216, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1430 +{1374500:S 19 Oct 2024 21:22:19.378 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1445 +{1374500:S 19 Oct 2024 21:22:19.490 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1460 +{1374500:S 19 Oct 2024 21:22:19.618 # Internal error in RDB reading offset 7720216, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1475 +{1374500:S 19 Oct 2024 21:22:19.750 # Internal error in RDB reading offset 10449698, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1490 +{1374500:S 19 Oct 2024 21:22:19.858 # Internal error in RDB reading offset 6134640, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1505 +{1374500:S 19 Oct 2024 21:22:19.942 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1520 +{1374500:S 19 Oct 2024 21:22:20.046 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1535 +{1374500:S 19 Oct 2024 21:22:20.146 # Internal error in RDB reading offset 1899726, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1550 +test took 11508 ms +[ok]: diskless loading short read (16436 ms) === (repl external:skip) Starting server 127.0.0.1:22465 ok === () Starting server 127.0.0.1:22467 ok === () Starting server 127.0.0.1:22469 ok -[ok]: diskless no replicas drop during rdb pipe (7119 ms) + +===== Start of server log (pid 1378229) ===== + +### Starting server for test diskless no replicas drop during rdb pipe in tests/integration/replication.tcl +1378229:C 19 Oct 2024 21:22:22.562 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +1378229:C 19 Oct 2024 21:22:22.578 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +1378229:C 19 Oct 2024 21:22:22.578 * Valkey version=8.0.1, bits=64, commit=00000000, modified=0, pid=1378229, just started +1378229:C 19 Oct 2024 21:22:22.578 * Configuration loaded +1378229:M 19 Oct 2024 21:22:22.578 * Increased maximum number of open files to 10032 (it was originally set to 1024). +1378229:M 19 Oct 2024 21:22:22.578 * monotonic clock: POSIX clock_gettime +1378229:M 19 Oct 2024 21:22:22.579 # Failed to write PID file: Permission denied + .+^+. + .+#########+. + .+########+########+. Valkey 8.0.1 (00000000/0) 64 bit + .+########+' '+########+. + .########+' .+. '+########. Running in standalone mode + |####+' .+#######+. '+####| Port: 22470 + |###| .+###############+. |###| PID: 1378229 + |###| |#####*'' ''*#####| |###| + |###| |####' .-. '####| |###| + |###| |###( (@@@) )###| |###| https://valkey.io + |###| |####. '-' .####| |###| + |###| |#####*. .*#####| |###| + |###| '+#####| |#####+' |###| + |####+. +##| |#+' .+####| + '#######+ |##| .+########' + '+###| |##| .+########+' + '| |####+########+' + +#########+' + '+v+' + +1378229:M 19 Oct 2024 21:22:22.581 * Server initialized +1378229:M 19 Oct 2024 21:22:22.581 * Ready to accept connections tcp +1378229:M 19 Oct 2024 21:22:22.581 * Ready to accept connections unix +1378229:M 19 Oct 2024 21:22:22.581 * Ready to accept connections tls +1378229:M 19 Oct 2024 21:22:22.730 - Accepted 127.0.0.1:33949 +1378229:M 19 Oct 2024 21:22:22.753 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +1378229:M 19 Oct 2024 21:22:22.788 - Accepted 127.0.0.1:38389 +1378229:S 19 Oct 2024 21:22:22.834 * Before turning into a replica, using my own primary parameters to synthesize a cached primary: I may be able to synchronize with the new primary with just a partial transfer. +1378229:S 19 Oct 2024 21:22:22.834 * Connecting to PRIMARY 127.0.0.1:22465 +1378229:S 19 Oct 2024 21:22:22.834 * PRIMARY <-> REPLICA sync started +1378229:S 19 Oct 2024 21:22:22.834 * REPLICAOF 127.0.0.1:22465 enabled (user request from 'id=4 addr=127.0.0.1:38389 laddr=127.0.0.1:22469 fd=11 name= age=0 idle=0 flags=N db=9 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=0 argv-mem=23 multi-mem=0 rbs=16384 rbp=16384 obl=0 oll=0 omem=0 tot-mem=17327 events=r cmd=replicaof user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=68 tot-net-out=5 tot-cmds=1') +1378229:S 19 Oct 2024 21:22:22.853 * Non blocking connect for SYNC fired the event. +1378229:S 19 Oct 2024 21:22:22.870 * Primary replied to PING, replication can continue... +1378229:S 19 Oct 2024 21:22:22.870 * Trying a partial resynchronization (request fffdc0396038a04c43fc2231f9fe2e607ee8d86e:1). +1378229:S 19 Oct 2024 21:22:23.902 * Full resync from primary: 757b8f707c34c397a8ba47e0040c6a9022bad62b:0 +1378229:S 19 Oct 2024 21:22:23.934 * PRIMARY <-> REPLICA sync: receiving streamed RDB from primary with EOF to disk +1378229:S 19 Oct 2024 21:23:17.234 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +1378229:signal-handler (1729322597) Received SIGTERM scheduling shutdown... +1378229:S 19 Oct 2024 21:23:17.330 * User requested shutdown... +1378229:S 19 Oct 2024 21:23:17.330 * Removing the pid file. +1378229:S 19 Oct 2024 21:23:17.330 * Removing the unix socket file. +1378229:S 19 Oct 2024 21:23:17.330 # Valkey is now ready to exit, bye bye... +===== End of server log (pid 1378229) ===== + + +===== Start of server stderr log (pid 1378229) ===== + + +===== End of server stderr log (pid 1378229) ===== + + +===== Start of server log (pid 1378155) ===== + +### Starting server for test diskless no replicas drop during rdb pipe in tests/integration/replication.tcl +1378155:C 19 Oct 2024 21:22:22.240 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +1378155:C 19 Oct 2024 21:22:22.256 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +1378155:C 19 Oct 2024 21:22:22.256 * Valkey version=8.0.1, bits=64, commit=00000000, modified=0, pid=1378155, just started +1378155:C 19 Oct 2024 21:22:22.256 * Configuration loaded +1378155:M 19 Oct 2024 21:22:22.256 * Increased maximum number of open files to 10032 (it was originally set to 1024). +1378155:M 19 Oct 2024 21:22:22.256 * monotonic clock: POSIX clock_gettime +1378155:M 19 Oct 2024 21:22:22.257 # Failed to write PID file: Permission denied + .+^+. + .+#########+. + .+########+########+. Valkey 8.0.1 (00000000/0) 64 bit + .+########+' '+########+. + .########+' .+. '+########. Running in standalone mode + |####+' .+#######+. '+####| Port: 22468 + |###| .+###############+. |###| PID: 1378155 + |###| |#####*'' ''*#####| |###| + |###| |####' .-. '####| |###| + |###| |###( (@@@) )###| |###| https://valkey.io + |###| |####. '-' .####| |###| + |###| |#####*. .*#####| |###| + |###| '+#####| |#####+' |###| + |####+. +##| |#+' .+####| + '#######+ |##| .+########' + '+###| |##| .+########+' + '| |####+########+' + +#########+' + '+v+' + +1378155:M 19 Oct 2024 21:22:22.259 * Server initialized +1378155:M 19 Oct 2024 21:22:22.259 * Ready to accept connections tcp +1378155:M 19 Oct 2024 21:22:22.259 * Ready to accept connections unix +1378155:M 19 Oct 2024 21:22:22.259 * Ready to accept connections tls +1378155:M 19 Oct 2024 21:22:22.375 - Accepted 127.0.0.1:45933 +1378155:M 19 Oct 2024 21:22:22.406 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +1378155:M 19 Oct 2024 21:22:22.454 - Accepted 127.0.0.1:46131 +1378155:S 19 Oct 2024 21:22:22.830 * Before turning into a replica, using my own primary parameters to synthesize a cached primary: I may be able to synchronize with the new primary with just a partial transfer. +1378155:S 19 Oct 2024 21:22:22.830 * Connecting to PRIMARY 127.0.0.1:22465 +1378155:S 19 Oct 2024 21:22:22.830 * PRIMARY <-> REPLICA sync started +1378155:S 19 Oct 2024 21:22:22.830 * REPLICAOF 127.0.0.1:22465 enabled (user request from 'id=4 addr=127.0.0.1:46131 laddr=127.0.0.1:22467 fd=11 name= age=0 idle=0 flags=N db=9 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=0 argv-mem=23 multi-mem=0 rbs=1024 rbp=5 obl=0 oll=0 omem=0 tot-mem=1967 events=r cmd=replicaof user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=185 tot-net-out=15 tot-cmds=3') +1378155:S 19 Oct 2024 21:22:22.855 * Non blocking connect for SYNC fired the event. +1378155:S 19 Oct 2024 21:22:22.864 * Primary replied to PING, replication can continue... +1378155:S 19 Oct 2024 21:22:22.870 * Trying a partial resynchronization (request 5444a57c0ed87410a08c98411c337fb530659b0b:1). +1378155:S 19 Oct 2024 21:22:23.902 * Full resync from primary: 757b8f707c34c397a8ba47e0040c6a9022bad62b:0 +1378155:S 19 Oct 2024 21:22:23.933 * PRIMARY <-> REPLICA sync: receiving streamed RDB from primary with EOF to parser +1378155:S 19 Oct 2024 21:22:23.933 * PRIMARY <-> REPLICA sync: Loading DB in memory +1378155:S 19 Oct 2024 21:22:23.933 * Loading RDB produced by Valkey version 8.0.1 +1378155:S 19 Oct 2024 21:22:23.933 * RDB age 0 seconds +1378155:S 19 Oct 2024 21:22:23.933 * RDB memory usage when created 197.55 Mb +1378155:signal-handler (1729322597) Received shutdown signal during loading, scheduling shutdown. +1378155:S 19 Oct 2024 21:23:17.838 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +1378155:S 19 Oct 2024 21:23:17.838 * User requested shutdown... +1378155:S 19 Oct 2024 21:23:17.838 * Removing the pid file. +1378155:S 19 Oct 2024 21:23:17.838 * Removing the unix socket file. +1378155:S 19 Oct 2024 21:23:17.838 # Valkey is now ready to exit, bye bye... +===== End of server log (pid 1378155) ===== + + +===== Start of server stderr log (pid 1378155) ===== + + +===== End of server stderr log (pid 1378155) ===== + +[err]: diskless no replicas drop during rdb pipe in tests/integration/replication.tcl +rdb child didn't terminate === () Starting server 127.0.0.1:22471 ok === () Starting server 127.0.0.1:22473 ok -[ok]: diskless slow replicas drop during rdb pipe (3111 ms) +[ok]: diskless slow replicas drop during rdb pipe (5784 ms) === () Starting server 127.0.0.1:22475 ok === () Starting server 127.0.0.1:22477 ok -[ok]: diskless fast replicas drop during rdb pipe (6389 ms) + +===== Start of server log (pid 1387158) ===== + +### Starting server for test diskless fast replicas drop during rdb pipe in tests/integration/replication.tcl +1387158:C 19 Oct 2024 21:23:24.231 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +1387158:C 19 Oct 2024 21:23:24.250 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +1387158:C 19 Oct 2024 21:23:24.250 * Valkey version=8.0.1, bits=64, commit=00000000, modified=0, pid=1387158, just started +1387158:C 19 Oct 2024 21:23:24.250 * Configuration loaded +1387158:M 19 Oct 2024 21:23:24.250 * Increased maximum number of open files to 10032 (it was originally set to 1024). +1387158:M 19 Oct 2024 21:23:24.250 * monotonic clock: POSIX clock_gettime +1387158:M 19 Oct 2024 21:23:24.251 # Failed to write PID file: Permission denied + .+^+. + .+#########+. + .+########+########+. Valkey 8.0.1 (00000000/0) 64 bit + .+########+' '+########+. + .########+' .+. '+########. Running in standalone mode + |####+' .+#######+. '+####| Port: 22478 + |###| .+###############+. |###| PID: 1387158 + |###| |#####*'' ''*#####| |###| + |###| |####' .-. '####| |###| + |###| |###( (@@@) )###| |###| https://valkey.io + |###| |####. '-' .####| |###| + |###| |#####*. .*#####| |###| + |###| '+#####| |#####+' |###| + |####+. +##| |#+' .+####| + '#######+ |##| .+########' + '+###| |##| .+########+' + '| |####+########+' + +#########+' + '+v+' + +1387158:M 19 Oct 2024 21:23:24.253 * Server initialized +1387158:M 19 Oct 2024 21:23:24.253 * Ready to accept connections tcp +1387158:M 19 Oct 2024 21:23:24.253 * Ready to accept connections unix +1387158:M 19 Oct 2024 21:23:24.253 * Ready to accept connections tls +1387158:M 19 Oct 2024 21:23:24.395 - Accepted 127.0.0.1:45791 +1387158:M 19 Oct 2024 21:23:24.422 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +1387158:M 19 Oct 2024 21:23:24.463 - Accepted 127.0.0.1:40409 +1387158:S 19 Oct 2024 21:23:24.526 * Before turning into a replica, using my own primary parameters to synthesize a cached primary: I may be able to synchronize with the new primary with just a partial transfer. +1387158:S 19 Oct 2024 21:23:24.526 * Connecting to PRIMARY 127.0.0.1:22465 +1387158:S 19 Oct 2024 21:23:24.526 * PRIMARY <-> REPLICA sync started +1387158:S 19 Oct 2024 21:23:24.526 * REPLICAOF 127.0.0.1:22465 enabled (user request from 'id=4 addr=127.0.0.1:40409 laddr=127.0.0.1:22477 fd=11 name= age=0 idle=0 flags=N db=9 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=0 argv-mem=23 multi-mem=0 rbs=16384 rbp=16384 obl=0 oll=0 omem=0 tot-mem=17327 events=r cmd=replicaof user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=68 tot-net-out=5 tot-cmds=1') +1387158:S 19 Oct 2024 21:23:24.545 * Non blocking connect for SYNC fired the event. +1387158:S 19 Oct 2024 21:23:24.553 * Primary replied to PING, replication can continue... +1387158:S 19 Oct 2024 21:23:24.554 * Trying a partial resynchronization (request 764e651ed9d325ca2dcdfe3d37ab80b03e5e50d3:1). +1387158:S 19 Oct 2024 21:23:25.014 * Full resync from primary: 757b8f707c34c397a8ba47e0040c6a9022bad62b:176 +1387158:S 19 Oct 2024 21:23:25.051 * PRIMARY <-> REPLICA sync: receiving streamed RDB from primary with EOF to disk +1387158:signal-handler (1729322605) Received SIGTERM scheduling shutdown... +1387158:S 19 Oct 2024 21:23:25.694 * User requested shutdown... +1387158:S 19 Oct 2024 21:23:25.694 * Removing the pid file. +1387158:S 19 Oct 2024 21:23:25.694 * Removing the unix socket file. +1387158:S 19 Oct 2024 21:23:25.694 # Valkey is now ready to exit, bye bye... +===== End of server log (pid 1387158) ===== + + +===== Start of server stderr log (pid 1387158) ===== + + +===== End of server stderr log (pid 1387158) ===== + + +===== Start of server log (pid 1387131) ===== + +### Starting server for test diskless fast replicas drop during rdb pipe in tests/integration/replication.tcl +1387131:C 19 Oct 2024 21:23:23.865 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +1387131:C 19 Oct 2024 21:23:23.882 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +1387131:C 19 Oct 2024 21:23:23.882 * Valkey version=8.0.1, bits=64, commit=00000000, modified=0, pid=1387131, just started +1387131:C 19 Oct 2024 21:23:23.882 * Configuration loaded +1387131:M 19 Oct 2024 21:23:23.882 * Increased maximum number of open files to 10032 (it was originally set to 1024). +1387131:M 19 Oct 2024 21:23:23.882 * monotonic clock: POSIX clock_gettime +1387131:M 19 Oct 2024 21:23:23.883 # Failed to write PID file: Permission denied + .+^+. + .+#########+. + .+########+########+. Valkey 8.0.1 (00000000/0) 64 bit + .+########+' '+########+. + .########+' .+. '+########. Running in standalone mode + |####+' .+#######+. '+####| Port: 22476 + |###| .+###############+. |###| PID: 1387131 + |###| |#####*'' ''*#####| |###| + |###| |####' .-. '####| |###| + |###| |###( (@@@) )###| |###| https://valkey.io + |###| |####. '-' .####| |###| + |###| |#####*. .*#####| |###| + |###| '+#####| |#####+' |###| + |####+. +##| |#+' .+####| + '#######+ |##| .+########' + '+###| |##| .+########+' + '| |####+########+' + +#########+' + '+v+' + +1387131:M 19 Oct 2024 21:23:23.885 * Server initialized +1387131:M 19 Oct 2024 21:23:23.885 * Ready to accept connections tcp +1387131:M 19 Oct 2024 21:23:23.885 * Ready to accept connections unix +1387131:M 19 Oct 2024 21:23:23.885 * Ready to accept connections tls +1387131:M 19 Oct 2024 21:23:24.043 - Accepted 127.0.0.1:32771 +1387131:M 19 Oct 2024 21:23:24.063 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +1387131:M 19 Oct 2024 21:23:24.116 - Accepted 127.0.0.1:38419 +1387131:S 19 Oct 2024 21:23:24.522 * Before turning into a replica, using my own primary parameters to synthesize a cached primary: I may be able to synchronize with the new primary with just a partial transfer. +1387131:S 19 Oct 2024 21:23:24.522 * Connecting to PRIMARY 127.0.0.1:22465 +1387131:S 19 Oct 2024 21:23:24.522 * PRIMARY <-> REPLICA sync started +1387131:S 19 Oct 2024 21:23:24.522 * REPLICAOF 127.0.0.1:22465 enabled (user request from 'id=4 addr=127.0.0.1:38419 laddr=127.0.0.1:22475 fd=11 name= age=0 idle=0 flags=N db=9 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=0 argv-mem=23 multi-mem=0 rbs=1024 rbp=5 obl=0 oll=0 omem=0 tot-mem=1967 events=r cmd=replicaof user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=185 tot-net-out=15 tot-cmds=3') +1387131:S 19 Oct 2024 21:23:24.539 * Non blocking connect for SYNC fired the event. +1387131:S 19 Oct 2024 21:23:24.546 * Primary replied to PING, replication can continue... +1387131:S 19 Oct 2024 21:23:24.550 * Trying a partial resynchronization (request c4a3ddeea82367aad42bf01a65ec623259c36e4f:1). +1387131:S 19 Oct 2024 21:23:25.014 * Full resync from primary: 757b8f707c34c397a8ba47e0040c6a9022bad62b:176 +1387131:S 19 Oct 2024 21:23:25.050 * PRIMARY <-> REPLICA sync: receiving streamed RDB from primary with EOF to parser +1387131:S 19 Oct 2024 21:23:25.050 * PRIMARY <-> REPLICA sync: Loading DB in memory +1387131:S 19 Oct 2024 21:23:25.050 * Loading RDB produced by Valkey version 8.0.1 +1387131:S 19 Oct 2024 21:23:25.050 * RDB age 0 seconds +1387131:S 19 Oct 2024 21:23:25.050 * RDB memory usage when created 197.64 Mb +1387131:signal-handler (1729322658) Received shutdown signal during loading, scheduling shutdown. +1387131:S 19 Oct 2024 21:24:18.182 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +1387131:S 19 Oct 2024 21:24:18.182 * User requested shutdown... +1387131:S 19 Oct 2024 21:24:18.182 * Removing the pid file. +1387131:S 19 Oct 2024 21:24:18.182 * Removing the unix socket file. +1387131:S 19 Oct 2024 21:24:18.182 # Valkey is now ready to exit, bye bye... +===== End of server log (pid 1387131) ===== + + +===== Start of server stderr log (pid 1387131) ===== + + +===== End of server stderr log (pid 1387131) ===== + +[err]: diskless fast replicas drop during rdb pipe in tests/integration/replication.tcl +rdb child didn't terminate === () Starting server 127.0.0.1:22479 ok === () Starting server 127.0.0.1:22481 ok -[ok]: diskless all replicas drop during rdb pipe (2006 ms) +[ok]: diskless all replicas drop during rdb pipe (2804 ms) === () Starting server 127.0.0.1:22483 ok === () Starting server 127.0.0.1:22485 ok -[ok]: diskless timeout replicas drop during rdb pipe (7299 ms) + +===== Start of server log (pid 1377985) ===== +[ok]: diskless timeout replicas drop during rdb pipe (10221 ms) + +### Starting server for test +1377985:C 19 Oct 2024 21:22:21.597 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +1377985:C 19 Oct 2024 21:22:21.622 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +1377985:C 19 Oct 2024 21:22:21.622 * Valkey version=8.0.1, bits=64, commit=00000000, modified=0, pid=1377985, just started +1377985:C 19 Oct 2024 21:22:21.622 * Configuration loaded +1377985:M 19 Oct 2024 21:22:21.622 * Increased maximum number of open files to 10032 (it was originally set to 1024). +1377985:M 19 Oct 2024 21:22:21.622 * monotonic clock: POSIX clock_gettime +1377985:M 19 Oct 2024 21:22:21.623 # Failed to write PID file: Permission denied + .+^+. + .+#########+. + .+########+########+. Valkey 8.0.1 (00000000/0) 64 bit + .+########+' '+########+. + .########+' .+. '+########. Running in standalone mode + |####+' .+#######+. '+####| Port: 22466 + |###| .+###############+. |###| PID: 1377985 + |###| |#####*'' ''*#####| |###| + |###| |####' .-. '####| |###| + |###| |###( (@@@) )###| |###| https://valkey.io + |###| |####. '-' .####| |###| + |###| |#####*. .*#####| |###| + |###| '+#####| |#####+' |###| + |####+. +##| |#+' .+####| + '#######+ |##| .+########' + '+###| |##| .+########+' + '| |####+########+' + +#########+' + '+v+' + +1377985:M 19 Oct 2024 21:22:21.625 * Server initialized +1377985:M 19 Oct 2024 21:22:21.625 * Ready to accept connections tcp +1377985:M 19 Oct 2024 21:22:21.625 * Ready to accept connections unix +1377985:M 19 Oct 2024 21:22:21.625 * Ready to accept connections tls +1377985:M 19 Oct 2024 21:22:21.779 - Accepted 127.0.0.1:40021 +1377985:M 19 Oct 2024 21:22:21.810 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +1377985:M 19 Oct 2024 21:22:21.850 - Accepted 127.0.0.1:37943 +### Starting test diskless no replicas drop during rdb pipe in tests/integration/replication.tcl +1377985:M 19 Oct 2024 21:22:22.831 - Accepted 127.0.0.1:36468 +1377985:M 19 Oct 2024 21:22:22.835 - Accepted 127.0.0.1:36474 +1377985:M 19 Oct 2024 21:22:22.870 * Replica 127.0.0.1:22467 asks for synchronization +1377985:M 19 Oct 2024 21:22:22.870 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for '5444a57c0ed87410a08c98411c337fb530659b0b', my replication IDs are '4fe2ccf42e7fa992c620388c2f05227bb01ec7d6' and '0000000000000000000000000000000000000000') +1377985:M 19 Oct 2024 21:22:22.870 * Replication backlog created, my new replication IDs are '757b8f707c34c397a8ba47e0040c6a9022bad62b' and '0000000000000000000000000000000000000000' +1377985:M 19 Oct 2024 21:22:22.870 * Delay next BGSAVE for diskless SYNC +1377985:M 19 Oct 2024 21:22:22.870 * Replica 127.0.0.1:22469 asks for synchronization +1377985:M 19 Oct 2024 21:22:22.870 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for 'fffdc0396038a04c43fc2231f9fe2e607ee8d86e', my replication IDs are '757b8f707c34c397a8ba47e0040c6a9022bad62b' and '0000000000000000000000000000000000000000') +1377985:M 19 Oct 2024 21:22:22.870 * Delay next BGSAVE for diskless SYNC +1377985:M 19 Oct 2024 21:22:23.898 * Starting BGSAVE for SYNC with target: replicas sockets using: normal sync +1377985:M 19 Oct 2024 21:22:23.907 * Background RDB transfer started by pid 1378720 to pipe through parent process +1378720:C 19 Oct 2024 21:22:23.932 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +1378720:C 19 Oct 2024 21:22:26.882 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +1377985:M 19 Oct 2024 21:22:27.010 - DB 9: 20001 keys (0 volatile) in 32768 slots HT. +1378720:C 19 Oct 2024 21:22:31.083 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +1377985:M 19 Oct 2024 21:22:32.198 - DB 9: 20001 keys (0 volatile) in 32768 slots HT. +1378720:C 19 Oct 2024 21:22:34.711 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +1377985:M 19 Oct 2024 21:22:37.394 - DB 9: 20001 keys (0 volatile) in 32768 slots HT. +1378720:C 19 Oct 2024 21:22:38.073 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +1378720:C 19 Oct 2024 21:22:41.485 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +1377985:M 19 Oct 2024 21:22:42.582 - DB 9: 20001 keys (0 volatile) in 32768 slots HT. +1378720:C 19 Oct 2024 21:22:44.871 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1377985:M 19 Oct 2024 21:22:47.778 - DB 9: 20001 keys (0 volatile) in 32768 slots HT. +1378720:C 19 Oct 2024 21:22:48.211 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1378720:C 19 Oct 2024 21:22:50.967 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1377985:M 19 Oct 2024 21:22:52.970 - DB 9: 20001 keys (0 volatile) in 32768 slots HT. +1378720:C 19 Oct 2024 21:22:54.562 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1378720:C 19 Oct 2024 21:22:58.047 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1377985:M 19 Oct 2024 21:22:58.162 - DB 9: 20001 keys (0 volatile) in 32768 slots HT. +1378720:C 19 Oct 2024 21:23:00.732 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1378720:C 19 Oct 2024 21:23:03.308 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1377985:M 19 Oct 2024 21:23:03.338 - DB 9: 20001 keys (0 volatile) in 32768 slots HT. +1378720:C 19 Oct 2024 21:23:06.303 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1377985:M 19 Oct 2024 21:23:08.514 - DB 9: 20001 keys (0 volatile) in 32768 slots HT. +1378720:C 19 Oct 2024 21:23:09.762 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1378720:C 19 Oct 2024 21:23:13.111 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1377985:M 19 Oct 2024 21:23:13.710 - DB 9: 20001 keys (0 volatile) in 32768 slots HT. +1378720:C 19 Oct 2024 21:23:16.839 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1377985:M 19 Oct 2024 21:23:17.338 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +1377985:M 19 Oct 2024 21:23:17.338 * Connection with replica client id #6 lost. +1377985:M 19 Oct 2024 21:23:17.891 - Reading from client: Connection reset by peer +1377985:M 19 Oct 2024 21:23:17.891 * Connection with replica client id #5 lost. +1377985:M 19 Oct 2024 21:23:17.891 # Diskless rdb transfer, last replica dropped, killing fork child. +1378720:signal-handler (1729322597) Received SIGUSR1 in child, exiting now. +1377985:M 19 Oct 2024 21:23:17.962 # Background RDB transfer terminated by signal 10 +### Starting test diskless slow replicas drop during rdb pipe in tests/integration/replication.tcl +1377985:M 19 Oct 2024 21:23:18.731 - Accepted 127.0.0.1:51960 +1377985:M 19 Oct 2024 21:23:18.746 - Accepted 127.0.0.1:51974 +1377985:M 19 Oct 2024 21:23:18.774 * Replica 127.0.0.1:22471 asks for synchronization +1377985:M 19 Oct 2024 21:23:18.774 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for 'a293a11331c43b02456660a90f4e542843b3a710', my replication IDs are '757b8f707c34c397a8ba47e0040c6a9022bad62b' and '0000000000000000000000000000000000000000') +1377985:M 19 Oct 2024 21:23:18.774 * Delay next BGSAVE for diskless SYNC +1377985:M 19 Oct 2024 21:23:18.774 * Replica 127.0.0.1:22473 asks for synchronization +1377985:M 19 Oct 2024 21:23:18.774 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for 'b7432125f6252571a875ebf932c34dbf6342e89b', my replication IDs are '757b8f707c34c397a8ba47e0040c6a9022bad62b' and '0000000000000000000000000000000000000000') +1377985:M 19 Oct 2024 21:23:18.774 * Delay next BGSAVE for diskless SYNC +1377985:M 19 Oct 2024 21:23:18.894 - DB 9: 20001 keys (0 volatile) in 32768 slots HT. +1377985:M 19 Oct 2024 21:23:18.894 * Starting BGSAVE for SYNC with target: replicas sockets using: normal sync +1377985:M 19 Oct 2024 21:23:18.907 * Background RDB transfer started by pid 1386784 to pipe through parent process +1386784:C 19 Oct 2024 21:23:18.936 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +1377985:M 19 Oct 2024 21:23:19.774 - Reading from client: Connection reset by peer +1377985:M 19 Oct 2024 21:23:19.774 * Connection with replica client id #7 lost. +1386784:C 19 Oct 2024 21:23:20.734 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +1377985:M 19 Oct 2024 21:23:20.734 * Diskless rdb transfer, done reading from pipe, 1 replicas still up. +1377985:M 19 Oct 2024 21:23:20.746 * Background RDB transfer terminated with success +1377985:M 19 Oct 2024 21:23:20.746 * Streamed RDB transfer with replica 127.0.0.1:22473 succeeded (socket). Waiting for REPLCONF ACK from replica to enable streaming +1377985:M 19 Oct 2024 21:23:20.746 * Synchronization with replica 127.0.0.1:22473 succeeded +1377985:M 19 Oct 2024 21:23:23.590 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +1377985:M 19 Oct 2024 21:23:23.590 * Connection with replica client id #8 lost. +### Starting test diskless fast replicas drop during rdb pipe in tests/integration/replication.tcl +1377985:M 19 Oct 2024 21:23:24.522 - Accepted 127.0.0.1:51978 +1377985:M 19 Oct 2024 21:23:24.527 - Accepted 127.0.0.1:51990 +1377985:M 19 Oct 2024 21:23:24.553 * Replica 127.0.0.1:22475 asks for synchronization +1377985:M 19 Oct 2024 21:23:24.553 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for 'c4a3ddeea82367aad42bf01a65ec623259c36e4f', my replication IDs are '757b8f707c34c397a8ba47e0040c6a9022bad62b' and '0000000000000000000000000000000000000000') +1377985:M 19 Oct 2024 21:23:24.553 * Delay next BGSAVE for diskless SYNC +1377985:M 19 Oct 2024 21:23:24.554 * Replica 127.0.0.1:22477 asks for synchronization +1377985:M 19 Oct 2024 21:23:24.554 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for '764e651ed9d325ca2dcdfe3d37ab80b03e5e50d3', my replication IDs are '757b8f707c34c397a8ba47e0040c6a9022bad62b' and '0000000000000000000000000000000000000000') +1377985:M 19 Oct 2024 21:23:24.554 * Delay next BGSAVE for diskless SYNC +1377985:M 19 Oct 2024 21:23:25.010 - DB 9: 20002 keys (0 volatile) in 32768 slots HT. +1377985:M 19 Oct 2024 21:23:25.010 * Starting BGSAVE for SYNC with target: replicas sockets using: normal sync +1377985:M 19 Oct 2024 21:23:25.019 * Background RDB transfer started by pid 1387239 to pipe through parent process +1387239:C 19 Oct 2024 21:23:25.049 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +1377985:M 19 Oct 2024 21:23:25.702 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +1377985:M 19 Oct 2024 21:23:25.702 * Connection with replica client id #10 lost. +1387239:C 19 Oct 2024 21:23:26.226 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +1387239:C 19 Oct 2024 21:23:29.250 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +1377985:M 19 Oct 2024 21:23:30.226 - DB 9: 20003 keys (0 volatile) in 32768 slots HT. +1387239:C 19 Oct 2024 21:23:32.570 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1377985:M 19 Oct 2024 21:23:35.419 - DB 9: 20003 keys (0 volatile) in 32768 slots HT. +1387239:C 19 Oct 2024 21:23:36.163 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1387239:C 19 Oct 2024 21:23:39.263 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1377985:M 19 Oct 2024 21:23:40.606 - DB 9: 20003 keys (0 volatile) in 32768 slots HT. +1387239:C 19 Oct 2024 21:23:42.784 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1377985:M 19 Oct 2024 21:23:45.786 - DB 9: 20003 keys (0 volatile) in 32768 slots HT. +1387239:C 19 Oct 2024 21:23:46.104 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1387239:C 19 Oct 2024 21:23:49.811 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1377985:M 19 Oct 2024 21:23:50.978 - DB 9: 20003 keys (0 volatile) in 32768 slots HT. +1387239:C 19 Oct 2024 21:23:53.158 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1377985:M 19 Oct 2024 21:23:56.170 - DB 9: 20003 keys (0 volatile) in 32768 slots HT. +1387239:C 19 Oct 2024 21:23:56.808 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1387239:C 19 Oct 2024 21:24:00.030 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1377985:M 19 Oct 2024 21:24:01.370 - DB 9: 20003 keys (0 volatile) in 32768 slots HT. +1387239:C 19 Oct 2024 21:24:03.247 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1377985:M 19 Oct 2024 21:24:06.546 - DB 9: 20003 keys (0 volatile) in 32768 slots HT. +1387239:C 19 Oct 2024 21:24:06.934 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1387239:C 19 Oct 2024 21:24:09.877 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1377985:M 19 Oct 2024 21:24:11.742 - DB 9: 20003 keys (0 volatile) in 32768 slots HT. +1387239:C 19 Oct 2024 21:24:13.555 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1387239:C 19 Oct 2024 21:24:16.565 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB +1377985:M 19 Oct 2024 21:24:16.938 - DB 9: 20003 keys (0 volatile) in 32768 slots HT. +1377985:M 19 Oct 2024 21:24:18.222 - Reading from client: Connection reset by peer +1377985:M 19 Oct 2024 21:24:18.222 * Connection with replica client id #9 lost. +1377985:M 19 Oct 2024 21:24:18.222 # Diskless rdb transfer, last replica dropped, killing fork child. +1387239:signal-handler (1729322658) Received SIGUSR1 in child, exiting now. +### Starting test diskless all replicas drop during rdb pipe in tests/integration/replication.tcl +1377985:M 19 Oct 2024 21:24:18.290 # Background RDB transfer terminated by signal 10 +1377985:M 19 Oct 2024 21:24:19.023 - Accepted 127.0.0.1:49242 +1377985:M 19 Oct 2024 21:24:19.032 - Accepted 127.0.0.1:49254 +1377985:M 19 Oct 2024 21:24:19.062 * Replica 127.0.0.1:22479 asks for synchronization +1377985:M 19 Oct 2024 21:24:19.062 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for '417171eefd48c36df284c06831a13230472dee8c', my replication IDs are '757b8f707c34c397a8ba47e0040c6a9022bad62b' and '0000000000000000000000000000000000000000') +1377985:M 19 Oct 2024 21:24:19.062 * Delay next BGSAVE for diskless SYNC +1377985:M 19 Oct 2024 21:24:19.062 * Replica 127.0.0.1:22481 asks for synchronization +1377985:M 19 Oct 2024 21:24:19.062 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for 'f506e936a3efce7b650104bdaa43db2373c8f870', my replication IDs are '757b8f707c34c397a8ba47e0040c6a9022bad62b' and '0000000000000000000000000000000000000000') +1377985:M 19 Oct 2024 21:24:19.062 * Delay next BGSAVE for diskless SYNC +1377985:M 19 Oct 2024 21:24:20.058 * Starting BGSAVE for SYNC with target: replicas sockets using: normal sync +1377985:M 19 Oct 2024 21:24:20.071 * Background RDB transfer started by pid 1390889 to pipe through parent process +1390889:C 19 Oct 2024 21:24:20.099 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +1377985:M 19 Oct 2024 21:24:20.730 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +1377985:M 19 Oct 2024 21:24:20.730 * Connection with replica client id #12 lost. +1377985:M 19 Oct 2024 21:24:20.854 - Reading from client: Connection reset by peer +1377985:M 19 Oct 2024 21:24:20.854 * Connection with replica client id #11 lost. +1377985:M 19 Oct 2024 21:24:20.854 # Diskless rdb transfer, last replica dropped, killing fork child. +1390889:signal-handler (1729322660) Received SIGUSR1 in child, exiting now. +1377985:M 19 Oct 2024 21:24:20.898 # Background RDB transfer terminated by signal 10 +### Starting test diskless timeout replicas drop during rdb pipe in tests/integration/replication.tcl +1377985:M 19 Oct 2024 21:24:21.758 - Accepted 127.0.0.1:49264 +1377985:M 19 Oct 2024 21:24:21.762 - Accepted 127.0.0.1:49278 +1377985:M 19 Oct 2024 21:24:21.802 * Replica 127.0.0.1:22483 asks for synchronization +1377985:M 19 Oct 2024 21:24:21.802 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for '90a6bb60e90378d638cbe55d92a36daaab61a750', my replication IDs are '757b8f707c34c397a8ba47e0040c6a9022bad62b' and '0000000000000000000000000000000000000000') +1377985:M 19 Oct 2024 21:24:21.802 * Delay next BGSAVE for diskless SYNC +1377985:M 19 Oct 2024 21:24:21.810 * Replica 127.0.0.1:22485 asks for synchronization +1377985:M 19 Oct 2024 21:24:21.810 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for 'bfb27c4362802be3acee757e0ae9a1b96def6f04', my replication IDs are '757b8f707c34c397a8ba47e0040c6a9022bad62b' and '0000000000000000000000000000000000000000') +1377985:M 19 Oct 2024 21:24:21.810 * Delay next BGSAVE for diskless SYNC +1377985:M 19 Oct 2024 21:24:22.146 - DB 9: 20004 keys (0 volatile) in 32768 slots HT. +1377985:M 19 Oct 2024 21:24:22.146 * Starting BGSAVE for SYNC with target: replicas sockets using: normal sync +1377985:M 19 Oct 2024 21:24:22.163 * Background RDB transfer started by pid 1391108 to pipe through parent process +1391108:C 19 Oct 2024 21:24:22.184 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +1377985:M 19 Oct 2024 21:24:25.282 # Disconnecting timedout replica (full sync): 127.0.0.1:22483 +1377985:M 19 Oct 2024 21:24:25.282 * Connection with replica 127.0.0.1:22483 lost. +1391108:C 19 Oct 2024 21:24:25.299 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +1391108:C 19 Oct 2024 21:24:26.671 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +1377985:M 19 Oct 2024 21:24:26.672 * Diskless rdb transfer, done reading from pipe, 1 replicas still up. +1377985:M 19 Oct 2024 21:24:26.710 * Background RDB transfer terminated with success +1377985:M 19 Oct 2024 21:24:26.710 * Streamed RDB transfer with replica 127.0.0.1:22485 succeeded (socket). Waiting for REPLCONF ACK from replica to enable streaming +1377985:M 19 Oct 2024 21:24:26.710 * Synchronization with replica 127.0.0.1:22485 succeeded +1377985:M 19 Oct 2024 21:24:27.334 - DB 9: 20005 keys (0 volatile) in 32768 slots HT. +1377985:M 19 Oct 2024 21:24:28.922 - Accepted 127.0.0.1:59938 +1377985:M 19 Oct 2024 21:24:28.978 * Replica 127.0.0.1:22483 asks for synchronization +1377985:M 19 Oct 2024 21:24:28.978 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for '90a6bb60e90378d638cbe55d92a36daaab61a750', my replication IDs are '757b8f707c34c397a8ba47e0040c6a9022bad62b' and '0000000000000000000000000000000000000000') +1377985:M 19 Oct 2024 21:24:28.978 * Delay next BGSAVE for diskless SYNC +1377985:M 19 Oct 2024 21:24:31.002 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +1377985:M 19 Oct 2024 21:24:31.002 * Connection with replica client id #14 lost. +1377985:M 19 Oct 2024 21:24:31.227 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +1377985:M 19 Oct 2024 21:24:31.227 * Connection with replica client id #15 lost. +===== End of server log (pid 1377985) ===== + + +===== Start of server stderr log (pid 1377985) ===== + + +===== End of server stderr log (pid 1377985) ===== + === (repl) Starting server 127.0.0.1:22487 ok === () Starting server 127.0.0.1:22489 ok -[ok]: diskless replication child being killed is collected (1688 ms) +[ok]: diskless replication child being killed is collected (2412 ms) === (repl) Starting server 127.0.0.1:22491 ok === () Starting server 127.0.0.1:22493 ok -[ok]: replication child dies when parent is killed - diskless: yes dual-channel-replication-enabled: yes (1375 ms) +[ok]: replication child dies when parent is killed - diskless: yes dual-channel-replication-enabled: yes (4139 ms) === (repl) Starting server 127.0.0.1:22495 ok === () Starting server 127.0.0.1:22497 ok -[ok]: replication child dies when parent is killed - diskless: no dual-channel-replication-enabled: no (1674 ms) +[ok]: replication child dies when parent is killed - diskless: no dual-channel-replication-enabled: no (5167 ms) === (repl) Starting server 127.0.0.1:22499 ok === () Starting server 127.0.0.1:22501 ok -[ok]: diskless replication read pipe cleanup (959 ms) +[ok]: diskless replication read pipe cleanup (1643 ms) === (repl) Starting server 127.0.0.1:22503 ok === () Starting server 127.0.0.1:22505 ok === () Starting server 127.0.0.1:22507 ok -[ok]: replicaof right after disconnection (1980 ms) +[ok]: replicaof right after disconnection (2761 ms) === (repl) Starting server 127.0.0.1:22509 ok === () Starting server 127.0.0.1:22511 ok === () Starting server 127.0.0.1:22513 ok -[ok]: Kill rdb child process if its dumping RDB is not useful (1355 ms) +[ok]: Kill rdb child process if its dumping RDB is not useful (2088 ms) === (repl external:skip) Starting server 127.0.0.1:22515 ok === () Starting server 127.0.0.1:22517 ok === () Starting server 127.0.0.1:22519 ok === () Starting server 127.0.0.1:22521 ok -[ok]: Don't disconnect with replicas before loading transferred RDB when full sync with dual-channel-replication yes (3 ms) -[ok]: Discard cache master before loading transferred RDB when full sync with dual-channel-replication yes (109 ms) +[ok]: Don't disconnect with replicas before loading transferred RDB when full sync with dual-channel-replication yes (8 ms) +[ok]: Discard cache master before loading transferred RDB when full sync with dual-channel-replication yes (128 ms) === (repl external:skip) Starting server 127.0.0.1:22523 ok === () Starting server 127.0.0.1:22525 ok === () Starting server 127.0.0.1:22527 ok === () Starting server 127.0.0.1:22529 ok -[ok]: Don't disconnect with replicas before loading transferred RDB when full sync with dual-channel-replication no (3 ms) -[ok]: Discard cache master before loading transferred RDB when full sync with dual-channel-replication no (109 ms) +[ok]: Don't disconnect with replicas before loading transferred RDB when full sync with dual-channel-replication no (5 ms) +[ok]: Discard cache master before loading transferred RDB when full sync with dual-channel-replication no (121 ms) === (repl) Starting server 127.0.0.1:22531 ok === () Starting server 127.0.0.1:22533 ok -[ok]: replica can handle EINTR if use diskless load (853 ms) +[ok]: replica can handle EINTR if use diskless load (1267 ms) === (repl external:skip) Starting server 127.0.0.1:22535 ok -SYNC _addReplyToBufferOrList: REDIS0011ú -valkey-ver8.0.1ú -redis-bitsÀ@úctimeÂ\Ngúused-memÂÀýúrepl-stream-dbÀúrepl-id(d10332398a6b0f1130dc24fde845e037c188ed03ú repl-offsetÀúaof-baseÀÿ˸ânef±° -[ok]: replica do not write the reply to the replication link - SYNC (_addReplyToBufferOrList) (54 ms) -SYNC addReplyDeferredLen: I/O error reading reply +SYNC _addReplyToBufferOrList: I/O error reading reply -Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - SYNC (addReplyDeferredLen) (129 ms) +Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - SYNC (_addReplyToBufferOrList) (182 ms) +SYNC addReplyDeferredLen: REDIS0011ú +valkey-ver8.0.1ú +redis-bitsÀ@úctimeÂÈ^gúused-memÂ0™úrepl-stream-dbÀúrepl-id(715d6c44357a77f4e815aeae817e21cb0daf5f54ú repl-offsetÀúaof-baseÀÿÜÏíÓ^ÿ| +[ok]: replica do not write the reply to the replication link - SYNC (addReplyDeferredLen) (79 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) +[ok]: replica do not write the reply to the replication link - PSYNC (_addReplyToBufferOrList) (103 ms) PSYNC addReplyDeferredLen: I/O error reading reply -Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - PSYNC (addReplyDeferredLen) (88 ms) -[ok]: PSYNC with wrong offset should throw error (3 ms) +Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - PSYNC (addReplyDeferredLen) (120 ms) +[ok]: PSYNC with wrong offset should throw error (16 ms) === (repl external:skip) Starting server 127.0.0.1:22537 ok === () Starting server 127.0.0.1:22539 ok -[ok]: Test replication with lazy expire (859 ms) +[ok]: Test replication with lazy expire (783 ms) === (repl external:skip) Starting server 127.0.0.1:22541 ok === () Starting server 127.0.0.1:22543 ok -[ok]: Replica keep the old data if RDB file save fails in disk-based replication (144 ms) -[100/124 done]: integration/replication (163 seconds) +[ok]: Replica keep the old data if RDB file save fails in disk-based replication (248 ms) +[100/124 done]: integration/replication (321 seconds) Testing integration/replication-psync === (repl) Starting server 127.0.0.1:22545 ok === () Starting server 127.0.0.1:22547 ok -[ok]: Slave should be able to synchronize with the master (103 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, disabled, dual-channel: yes, reconnect: 0) (20 ms) +[ok]: Slave should be able to synchronize with the master (208 ms) +[ok]: Detect write load to master (1008 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, disabled, dual-channel: yes, reconnect: 0) (76 ms) === (repl) Starting server 127.0.0.1:22549 ok === () Starting server 127.0.0.1:22551 ok -[ok]: Slave should be able to synchronize with the master (103 ms) -[ok]: Detect write load to master (1002 ms) -[ok]: Test replication partial resync: ok psync (diskless: no, disabled, dual-channel: yes, reconnect: 1) (6255 ms) +[ok]: Slave should be able to synchronize with the master (229 ms) +[ok]: Detect write load to master (1006 ms) +[ok]: Test replication partial resync: ok psync (diskless: no, disabled, dual-channel: yes, reconnect: 1) (6283 ms) === (repl) Starting server 127.0.0.1:22553 ok === () Starting server 127.0.0.1:22555 ok -[ok]: Slave should be able to synchronize with the master (102 ms) -[ok]: Detect write load to master (1005 ms) -[ok]: Test replication partial resync: no backlog (diskless: no, disabled, dual-channel: yes, reconnect: 1) (7735 ms) +[ok]: Slave should be able to synchronize with the master (208 ms) +[ok]: Detect write load to master (1008 ms) +[ok]: Test replication partial resync: no backlog (diskless: no, disabled, dual-channel: yes, reconnect: 1) (7924 ms) === (repl) Starting server 127.0.0.1:22557 ok === () Starting server 127.0.0.1:22559 ok -[ok]: Slave should be able to synchronize with the master (103 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: ok after delay (diskless: no, disabled, dual-channel: yes, reconnect: 1) (9368 ms) +[ok]: Slave should be able to synchronize with the master (220 ms) +[ok]: Detect write load to master (1008 ms) +[ok]: Test replication partial resync: ok after delay (diskless: no, disabled, dual-channel: yes, reconnect: 1) (9317 ms) === (repl) Starting server 127.0.0.1:22561 ok === () Starting server 127.0.0.1:22563 ok [ok]: Slave should be able to synchronize with the master (102 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: backlog expired (diskless: no, disabled, dual-channel: yes, reconnect: 1) (9388 ms) +[ok]: Detect write load to master (2005 ms) +[ok]: Test replication partial resync: backlog expired (diskless: no, disabled, dual-channel: yes, reconnect: 1) (9304 ms) === (repl) Starting server 127.0.0.1:22565 ok === () Starting server 127.0.0.1:22567 ok -[ok]: Slave should be able to synchronize with the master (103 ms) -[ok]: Detect write load to master (1005 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, disabled, dual-channel: no, reconnect: 0) (58 ms) +[ok]: Slave should be able to synchronize with the master (212 ms) +[ok]: Detect write load to master (1008 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, disabled, dual-channel: no, reconnect: 0) (88 ms) === (repl) Starting server 127.0.0.1:22569 ok === () Starting server 127.0.0.1:22571 ok -[ok]: Slave should be able to synchronize with the master (104 ms) -[ok]: Detect write load to master (1005 ms) -[ok]: Test replication partial resync: ok psync (diskless: no, disabled, dual-channel: no, reconnect: 1) (6274 ms) +[ok]: Slave should be able to synchronize with the master (140 ms) +[ok]: Detect write load to master (1004 ms) +[ok]: Test replication partial resync: ok psync (diskless: no, disabled, dual-channel: no, reconnect: 1) (6380 ms) === (repl) Starting server 127.0.0.1:22573 ok === () Starting server 127.0.0.1:22575 ok -[ok]: Slave should be able to synchronize with the master (104 ms) -[ok]: Detect write load to master (1005 ms) -[ok]: Test replication partial resync: no backlog (diskless: no, disabled, dual-channel: no, reconnect: 1) (7870 ms) +[ok]: Slave should be able to synchronize with the master (220 ms) +[ok]: Detect write load to master (1012 ms) +[ok]: Test replication partial resync: no backlog (diskless: no, disabled, dual-channel: no, reconnect: 1) (7725 ms) === (repl) Starting server 127.0.0.1:22577 ok === () Starting server 127.0.0.1:22579 ok -[ok]: Slave should be able to synchronize with the master (203 ms) -[ok]: Detect write load to master (1009 ms) -[ok]: Test replication partial resync: ok after delay (diskless: no, disabled, dual-channel: no, reconnect: 1) (9312 ms) +[ok]: Slave should be able to synchronize with the master (206 ms) +[ok]: Detect write load to master (1010 ms) +[ok]: Test replication partial resync: ok after delay (diskless: no, disabled, dual-channel: no, reconnect: 1) (9268 ms) === (repl) Starting server 127.0.0.1:22581 ok === () Starting server 127.0.0.1:22583 ok -[ok]: Slave should be able to synchronize with the master (103 ms) -[ok]: Detect write load to master (1001 ms) -[ok]: Test replication partial resync: backlog expired (diskless: no, disabled, dual-channel: no, reconnect: 1) (9376 ms) +[ok]: Slave should be able to synchronize with the master (228 ms) +[ok]: Detect write load to master (1016 ms) +[ok]: Test replication partial resync: backlog expired (diskless: no, disabled, dual-channel: no, reconnect: 1) (9343 ms) === (repl) Starting server 127.0.0.1:22585 ok === () Starting server 127.0.0.1:22587 ok -[ok]: Slave should be able to synchronize with the master (103 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, swapdb, dual-channel: yes, reconnect: 0) (35 ms) +[ok]: Slave should be able to synchronize with the master (204 ms) +[ok]: Detect write load to master (1003 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, swapdb, dual-channel: yes, reconnect: 0) (53 ms) === (repl) Starting server 127.0.0.1:22589 ok === () Starting server 127.0.0.1:22591 ok -[ok]: Slave should be able to synchronize with the master (103 ms) -[ok]: Detect write load to master (1005 ms) -[ok]: Test replication partial resync: ok psync (diskless: no, swapdb, dual-channel: yes, reconnect: 1) (6267 ms) +[ok]: Slave should be able to synchronize with the master (140 ms) +[ok]: Detect write load to master (1008 ms) +[ok]: Test replication partial resync: ok psync (diskless: no, swapdb, dual-channel: yes, reconnect: 1) (6378 ms) === (repl) Starting server 127.0.0.1:22593 ok === () Starting server 127.0.0.1:22595 ok -[ok]: Slave should be able to synchronize with the master (102 ms) -[ok]: Detect write load to master (1005 ms) -[ok]: Test replication partial resync: no backlog (diskless: no, swapdb, dual-channel: yes, reconnect: 1) (7880 ms) +[ok]: Slave should be able to synchronize with the master (111 ms) +[ok]: Detect write load to master (1004 ms) +[ok]: Test replication partial resync: no backlog (diskless: no, swapdb, dual-channel: yes, reconnect: 1) (7774 ms) === (repl) Starting server 127.0.0.1:22597 ok === () Starting server 127.0.0.1:22599 ok -[ok]: Slave should be able to synchronize with the master (103 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: ok after delay (diskless: no, swapdb, dual-channel: yes, reconnect: 1) (9417 ms) +[ok]: Slave should be able to synchronize with the master (116 ms) +[ok]: Detect write load to master (1012 ms) +[ok]: Test replication partial resync: ok after delay (diskless: no, swapdb, dual-channel: yes, reconnect: 1) (9327 ms) === (repl) Starting server 127.0.0.1:22601 ok === () Starting server 127.0.0.1:22603 ok -[ok]: Slave should be able to synchronize with the master (103 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: backlog expired (diskless: no, swapdb, dual-channel: yes, reconnect: 1) (9330 ms) +[ok]: Slave should be able to synchronize with the master (205 ms) +[ok]: Detect write load to master (1003 ms) +[ok]: Test replication partial resync: backlog expired (diskless: no, swapdb, dual-channel: yes, reconnect: 1) (9238 ms) === (repl) Starting server 127.0.0.1:22605 ok === () Starting server 127.0.0.1:22607 ok [ok]: Slave should be able to synchronize with the master (102 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, swapdb, dual-channel: no, reconnect: 0) (46 ms) +[ok]: Detect write load to master (1006 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, swapdb, dual-channel: no, reconnect: 0) (72 ms) === (repl) Starting server 127.0.0.1:22609 ok === () Starting server 127.0.0.1:22611 ok -[ok]: Slave should be able to synchronize with the master (103 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: ok psync (diskless: no, swapdb, dual-channel: no, reconnect: 1) (6262 ms) +[ok]: Slave should be able to synchronize with the master (209 ms) +[ok]: Detect write load to master (1007 ms) +[ok]: Test replication partial resync: ok psync (diskless: no, swapdb, dual-channel: no, reconnect: 1) (6243 ms) === (repl) Starting server 127.0.0.1:22613 ok === () Starting server 127.0.0.1:22615 ok -[ok]: Slave should be able to synchronize with the master (103 ms) +[ok]: Slave should be able to synchronize with the master (208 ms) [ok]: Detect write load to master (1003 ms) -[ok]: Test replication partial resync: no backlog (diskless: no, swapdb, dual-channel: no, reconnect: 1) (7865 ms) +[ok]: Test replication partial resync: no backlog (diskless: no, swapdb, dual-channel: no, reconnect: 1) (7878 ms) === (repl) Starting server 127.0.0.1:22617 ok === () Starting server 127.0.0.1:22619 ok -[ok]: Slave should be able to synchronize with the master (103 ms) +[ok]: Slave should be able to synchronize with the master (140 ms) [ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: ok after delay (diskless: no, swapdb, dual-channel: no, reconnect: 1) (9346 ms) +[ok]: Test replication partial resync: ok after delay (diskless: no, swapdb, dual-channel: no, reconnect: 1) (9293 ms) === (repl) Starting server 127.0.0.1:22621 ok === () Starting server 127.0.0.1:22623 ok -[ok]: Slave should be able to synchronize with the master (102 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: backlog expired (diskless: no, swapdb, dual-channel: no, reconnect: 1) (9343 ms) +[ok]: Slave should be able to synchronize with the master (210 ms) +[ok]: Detect write load to master (2026 ms) +[ok]: Test replication partial resync: backlog expired (diskless: no, swapdb, dual-channel: no, reconnect: 1) (9350 ms) === (repl) Starting server 127.0.0.1:22625 ok === () Starting server 127.0.0.1:22627 ok -[ok]: Slave should be able to synchronize with the master (1725 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, dual-channel: yes, reconnect: 0) (145 ms) +[ok]: Slave should be able to synchronize with the master (612 ms) +[ok]: Detect write load to master (1 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, dual-channel: yes, reconnect: 0) (56 ms) === (repl) Starting server 127.0.0.1:22629 ok === () Starting server 127.0.0.1:22631 ok -[ok]: Slave should be able to synchronize with the master (711 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: ok psync (diskless: yes, disabled, dual-channel: yes, reconnect: 1) (6313 ms) +[ok]: Slave should be able to synchronize with the master (1461 ms) +[ok]: Detect write load to master (1003 ms) +[ok]: Test replication partial resync: ok psync (diskless: yes, disabled, dual-channel: yes, reconnect: 1) (6390 ms) === (repl) Starting server 127.0.0.1:22633 ok === () Starting server 127.0.0.1:22635 ok -[ok]: Slave should be able to synchronize with the master (1725 ms) +[ok]: Slave should be able to synchronize with the master (1472 ms) [ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: no backlog (diskless: yes, disabled, dual-channel: yes, reconnect: 1) (7885 ms) +[ok]: Test replication partial resync: no backlog (diskless: yes, disabled, dual-channel: yes, reconnect: 1) (7889 ms) === (repl) Starting server 127.0.0.1:22637 ok === () Starting server 127.0.0.1:22639 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, disabled, dual-channel: yes, reconnect: 1) (9465 ms) +[ok]: Slave should be able to synchronize with the master (352 ms) +[ok]: Detect write load to master (1016 ms) +[ok]: Test replication partial resync: ok after delay (diskless: yes, disabled, dual-channel: yes, reconnect: 1) (9338 ms) === (repl) Starting server 127.0.0.1:22641 ok === () Starting server 127.0.0.1:22643 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: backlog expired (diskless: yes, disabled, dual-channel: yes, reconnect: 1) (9688 ms) +[ok]: Slave should be able to synchronize with the master (508 ms) +[ok]: Detect write load to master (1 ms) +[ok]: Test replication partial resync: backlog expired (diskless: yes, disabled, dual-channel: yes, reconnect: 1) (9303 ms) === (repl) Starting server 127.0.0.1:22645 ok === () Starting server 127.0.0.1:22647 ok -[ok]: Slave should be able to synchronize with the master (1727 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, dual-channel: no, reconnect: 0) (97 ms) +[ok]: Slave should be able to synchronize with the master (1464 ms) +[ok]: Detect write load to master (1 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, dual-channel: no, reconnect: 0) (67 ms) === (repl) Starting server 127.0.0.1:22649 ok === () Starting server 127.0.0.1:22651 ok -[ok]: Slave should be able to synchronize with the master (712 ms) +[ok]: Slave should be able to synchronize with the master (1445 ms) [ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: ok psync (diskless: yes, disabled, dual-channel: no, reconnect: 1) (6278 ms) +[ok]: Test replication partial resync: ok psync (diskless: yes, disabled, dual-channel: no, reconnect: 1) (6305 ms) === (repl) Starting server 127.0.0.1:22653 ok === () Starting server 127.0.0.1:22655 ok -[ok]: Slave should be able to synchronize with the master (1727 ms) +[ok]: Slave should be able to synchronize with the master (1436 ms) [ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: no backlog (diskless: yes, disabled, dual-channel: no, reconnect: 1) (7866 ms) +[ok]: Test replication partial resync: no backlog (diskless: yes, disabled, dual-channel: no, reconnect: 1) (8142 ms) === (repl) Starting server 127.0.0.1:22657 ok === () Starting server 127.0.0.1:22659 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, disabled, dual-channel: no, reconnect: 1) (9400 ms) +[ok]: Slave should be able to synchronize with the master (511 ms) +[ok]: Detect write load to master (1 ms) +[ok]: Test replication partial resync: ok after delay (diskless: yes, disabled, dual-channel: no, reconnect: 1) (9211 ms) === (repl) Starting server 127.0.0.1:22661 ok === () Starting server 127.0.0.1:22663 ok -[ok]: Slave should be able to synchronize with the master (711 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: backlog expired (diskless: yes, disabled, dual-channel: no, reconnect: 1) (9561 ms) +[ok]: Slave should be able to synchronize with the master (1384 ms) +[ok]: Detect write load to master (1005 ms) +[ok]: Test replication partial resync: backlog expired (diskless: yes, disabled, dual-channel: no, reconnect: 1) (9327 ms) === (repl) Starting server 127.0.0.1:22665 ok === () Starting server 127.0.0.1:22667 ok -[ok]: Slave should be able to synchronize with the master (712 ms) +[ok]: Slave should be able to synchronize with the master (1500 ms) [ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, dual-channel: yes, reconnect: 0) (41 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, dual-channel: yes, reconnect: 0) (56 ms) === (repl) Starting server 127.0.0.1:22669 ok === () Starting server 127.0.0.1:22671 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 psync (diskless: yes, swapdb, dual-channel: yes, reconnect: 1) (6327 ms) +[ok]: Slave should be able to synchronize with the master (1430 ms) +[ok]: Detect write load to master (5 ms) +[ok]: Test replication partial resync: ok psync (diskless: yes, swapdb, dual-channel: yes, reconnect: 1) (6334 ms) === (repl) Starting server 127.0.0.1:22673 ok === () Starting server 127.0.0.1:22675 ok -[ok]: Slave should be able to synchronize with the master (712 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: no backlog (diskless: yes, swapdb, dual-channel: yes, reconnect: 1) (7823 ms) +[ok]: Slave should be able to synchronize with the master (1452 ms) +[ok]: Detect write load to master (1 ms) +[ok]: Test replication partial resync: no backlog (diskless: yes, swapdb, dual-channel: yes, reconnect: 1) (7899 ms) === (repl) Starting server 127.0.0.1:22677 ok === () Starting server 127.0.0.1:22679 ok -[ok]: Slave should be able to synchronize with the master (711 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: ok after delay (diskless: yes, swapdb, dual-channel: yes, reconnect: 1) (9387 ms) +[ok]: Slave should be able to synchronize with the master (1452 ms) +[ok]: Detect write load to master (1 ms) +[ok]: Test replication partial resync: ok after delay (diskless: yes, swapdb, dual-channel: yes, reconnect: 1) (9244 ms) === (repl) Starting server 127.0.0.1:22681 ok === () Starting server 127.0.0.1:22683 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: backlog expired (diskless: yes, swapdb, dual-channel: yes, reconnect: 1) (9505 ms) +[ok]: Slave should be able to synchronize with the master (1496 ms) +[ok]: Detect write load to master (4 ms) +[ok]: Test replication partial resync: backlog expired (diskless: yes, swapdb, dual-channel: yes, reconnect: 1) (10377 ms) === (repl) Starting server 127.0.0.1:22685 ok === () Starting server 127.0.0.1:22687 ok -[ok]: Slave should be able to synchronize with the master (1727 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, dual-channel: no, reconnect: 0) (465 ms) +[ok]: Slave should be able to synchronize with the master (1564 ms) +[ok]: Detect write load to master (4 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, dual-channel: no, reconnect: 0) (292 ms) === (repl) Starting server 127.0.0.1:22689 ok === () Starting server 127.0.0.1:22691 ok -[ok]: Slave should be able to synchronize with the master (711 ms) +[ok]: Slave should be able to synchronize with the master (1556 ms) [ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: ok psync (diskless: yes, swapdb, dual-channel: no, reconnect: 1) (6315 ms) +[ok]: Test replication partial resync: ok psync (diskless: yes, swapdb, dual-channel: no, reconnect: 1) (6194 ms) === (repl) Starting server 127.0.0.1:22693 ok === () Starting server 127.0.0.1:22695 ok -[ok]: Slave should be able to synchronize with the master (712 ms) +[ok]: Slave should be able to synchronize with the master (516 ms) [ok]: Detect write load to master (0 ms) [ok]: Test replication partial resync: no backlog (diskless: yes, swapdb, dual-channel: no, reconnect: 1) (7835 ms) === (repl) Starting server 127.0.0.1:22697 ok === () Starting server 127.0.0.1:22699 ok -[ok]: Slave should be able to synchronize with the master (712 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: ok after delay (diskless: yes, swapdb, dual-channel: no, reconnect: 1) (9335 ms) +[ok]: Slave should be able to synchronize with the master (1524 ms) +[ok]: Detect write load to master (2 ms) +[ok]: Test replication partial resync: ok after delay (diskless: yes, swapdb, dual-channel: no, reconnect: 1) (9406 ms) === (repl) Starting server 127.0.0.1:22701 ok === () Starting server 127.0.0.1:22703 ok -[ok]: Slave should be able to synchronize with the master (1728 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: backlog expired (diskless: yes, swapdb, dual-channel: no, reconnect: 1) (10568 ms) -[101/124 done]: integration/replication-psync (335 seconds) +[ok]: Slave should be able to synchronize with the master (1468 ms) +[ok]: Detect write load to master (4 ms) +[ok]: Test replication partial resync: backlog expired (diskless: yes, swapdb, dual-channel: no, reconnect: 1) (9558 ms) +[101/124 done]: integration/replication-psync (361 seconds) Testing integration/replication-buffer === (repl external:skip) Starting server 127.0.0.1:22705 ok === () Starting server 127.0.0.1:22707 ok === () Starting server 127.0.0.1:22709 ok === () Starting server 127.0.0.1:22711 ok -[ok]: All replicas share one global replication buffer dualchannel yes (110 ms) +[ok]: All replicas share one global replication buffer dualchannel yes (212 ms) [ok]: Replication buffer will become smaller when no replica uses dualchannel yes (8 ms) === (repl external:skip) Starting server 127.0.0.1:22713 ok === () Starting server 127.0.0.1:22715 ok === () Starting server 127.0.0.1:22717 ok === () Starting server 127.0.0.1:22719 ok -[ok]: All replicas share one global replication buffer dualchannel no (100 ms) -[ok]: Replication buffer will become smaller when no replica uses dualchannel no (7 ms) +[ok]: All replicas share one global replication buffer dualchannel no (184 ms) +[ok]: Replication buffer will become smaller when no replica uses dualchannel no (23 ms) === (repl external:skip) Starting server 127.0.0.1:22721 ok === () Starting server 127.0.0.1:22723 ok === () Starting server 127.0.0.1:22725 ok -[ok]: Replication backlog size can outgrow the backlog limit config dualchannel yes (1783 ms) -[ok]: Replica could use replication buffer (beyond backlog config) for partial resynchronization dualchannel yes (2059 ms) -[ok]: Replication backlog memory will become smaller if disconnecting with replica dualchannel yes (488 ms) +[ok]: Replication backlog size can outgrow the backlog limit config dualchannel yes (7023 ms) +[ok]: Replica could use replication buffer (beyond backlog config) for partial resynchronization dualchannel yes (6313 ms) +[ok]: Replication backlog memory will become smaller if disconnecting with replica dualchannel yes (446 ms) === (repl external:skip) Starting server 127.0.0.1:22727 ok === () Starting server 127.0.0.1:22729 ok === () Starting server 127.0.0.1:22731 ok -[ok]: Replication backlog size can outgrow the backlog limit config dualchannel no (1749 ms) -[ok]: Replica could use replication buffer (beyond backlog config) for partial resynchronization dualchannel no (2011 ms) -[ok]: Replication backlog memory will become smaller if disconnecting with replica dualchannel no (387 ms) +[ok]: Replication backlog size can outgrow the backlog limit config dualchannel no (6041 ms) +[ok]: Replica could use replication buffer (beyond backlog config) for partial resynchronization dualchannel no (6058 ms) +[ok]: Replication backlog memory will become smaller if disconnecting with replica dualchannel no (367 ms) === (repl external:skip) Starting server 127.0.0.1:22733 ok === () Starting server 127.0.0.1:22735 ok -[ok]: Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size. dualchannel yes (4306 ms) +[ok]: Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size. dualchannel yes (4524 ms) === (repl external:skip) Starting server 127.0.0.1:22737 ok === () Starting server 127.0.0.1:22739 ok -[ok]: The update of replBufBlock's repl_offset is ok - Regression test for #11666 (33 ms) -[ok]: Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending. dualchannel yes (1262 ms) +[ok]: The update of replBufBlock's repl_offset is ok - Regression test for #11666 (29 ms) +[ok]: Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending. dualchannel yes (1435 ms) === (repl external:skip) Starting server 127.0.0.1:22741 ok === () Starting server 127.0.0.1:22743 ok -[ok]: Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size. dualchannel no (4204 ms) +[ok]: Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size. dualchannel no (4537 ms) === (repl external:skip) Starting server 127.0.0.1:22745 ok === () Starting server 127.0.0.1:22747 ok -[ok]: The update of replBufBlock's repl_offset is ok - Regression test for #11666 (33 ms) -[ok]: Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending. dualchannel no (2275 ms) -[102/124 done]: integration/replication-buffer (30 seconds) +[ok]: The update of replBufBlock's repl_offset is ok - Regression test for #11666 (35 ms) +[ok]: Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending. dualchannel no (2599 ms) +[102/124 done]: integration/replication-buffer (52 seconds) Testing integration/replication-4 === (repl network external:skip singledb:skip) Starting server 127.0.0.1:22749 ok === () Starting server 127.0.0.1:22751 ok -[ok]: First server should have role slave after SLAVEOF (2 ms) -[ok]: Test replication with parallel clients writing in different DBs (5152 ms) +[ok]: First server should have role slave after SLAVEOF (11 ms) +[ok]: Test replication with parallel clients writing in different DBs (5129 ms) === (repl external:skip) Starting server 127.0.0.1:22753 ok === () Starting server 127.0.0.1:22755 ok -[ok]: First server should have role slave after SLAVEOF (102 ms) +[ok]: First server should have role slave after SLAVEOF (113 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 (1 ms) -[ok]: With not enough good slaves, read in Lua script is still accepted (1 ms) -[ok]: With min-slaves-to-write: master not writable with lagged slave (2656 ms) +[ok]: With min-slaves-to-write (2,3): master should not be writable (0 ms) +[ok]: With min-slaves-to-write function without no-write flag (3 ms) +[ok]: With not enough good slaves, read in Lua script is still accepted (0 ms) +[ok]: With min-slaves-to-write: master not writable with lagged slave (3522 ms) === (repl external:skip) Starting server 127.0.0.1:22757 ok === () Starting server 127.0.0.1:22759 ok -[ok]: First server should have role slave after SLAVEOF (103 ms) +[ok]: First server should have role slave after SLAVEOF (116 ms) Replication of an expired key does not delete the expired key test attempts: 1 -[ok]: Replication of an expired key does not delete the expired key (2379 ms) +[ok]: Replication of an expired key does not delete the expired key (2436 ms) === (repl external:skip) Starting server 127.0.0.1:22761 ok === () Starting server 127.0.0.1:22763 ok -[ok]: First server should have role slave after SLAVEOF (2 ms) -[ok]: Replication: commands with many arguments (issue #1221) (8573 ms) -[ok]: spopwithcount rewrite srem command (126 ms) -[ok]: Replication of SPOP command -- alsoPropagate() API (670 ms) +[ok]: First server should have role slave after SLAVEOF (23 ms) +[ok]: Replication: commands with many arguments (issue #1221) (20714 ms) +[ok]: spopwithcount rewrite srem command (102 ms) +[ok]: Replication of SPOP command -- alsoPropagate() API (1894 ms) === (repl external:skip) Starting server 127.0.0.1:22765 ok === () Starting server 127.0.0.1:22767 ok [ok]: First server should have role slave after SLAVEOF (104 ms) -[ok]: Data divergence can happen under default conditions (760 ms) -[ok]: Data divergence is allowed on writable replicas (4 ms) -[103/124 done]: integration/replication-4 (24 seconds) +[ok]: Data divergence can happen under default conditions (768 ms) +[ok]: Data divergence is allowed on writable replicas (44 ms) +[103/124 done]: integration/replication-4 (40 seconds) Testing integration/replication-3 === (repl external:skip) Starting server 127.0.0.1:22769 ok === () Starting server 127.0.0.1:22771 ok -[ok]: First server should have role slave after SLAVEOF (103 ms) -[ok]: MASTER and SLAVE consistency with expire (4831 ms) -[ok]: Master can replicate command longer than client-query-buffer-limit on replica (198 ms) -[ok]: Slave is able to evict keys created in writable slaves (6006 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 (105 ms) -[104/124 done]: integration/replication-3 (12 seconds) +[ok]: First server should have role slave after SLAVEOF (128 ms) +[ok]: MASTER and SLAVE consistency with expire (8580 ms) +[ok]: Master can replicate command longer than client-query-buffer-limit on replica (46 ms) +[ok]: Slave is able to evict keys created in writable slaves (6013 ms) +[ok]: Writable replica doesn't return expired keys (116 ms) +[ok]: PFCOUNT updates cache on readonly replica (40 ms) +[ok]: PFCOUNT doesn't use expired key on readonly replica (36 ms) +[104/124 done]: integration/replication-3 (17 seconds) Testing integration/replication-2 === (repl external:skip) Starting server 127.0.0.1:22773 ok === () Starting server 127.0.0.1:22775 ok -[ok]: First server should have role slave after SLAVEOF (103 ms) -[ok]: If min-slaves-to-write is honored, write is accepted (609 ms) -[ok]: No write if min-slaves-to-write is < attached slaves (1 ms) +[ok]: First server should have role slave after SLAVEOF (217 ms) +[ok]: If min-slaves-to-write is honored, write is accepted (206 ms) +[ok]: No write if min-slaves-to-write is < attached slaves (0 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 (3265 ms) -[ok]: min-slaves-to-write is ignored by slaves (2 ms) -[ok]: MASTER and SLAVE dataset should be identical after complex ops (6607 ms) -[105/124 done]: integration/replication-2 (11 seconds) +[ok]: No write if min-slaves-max-lag is > of the slave lag (3526 ms) +[ok]: min-slaves-to-write is ignored by slaves (1 ms) +[ok]: MASTER and SLAVE dataset should be identical after complex ops (20199 ms) +[105/124 done]: integration/replication-2 (25 seconds) Testing integration/replica-redirect === (needs:repl external:skip) Starting server 127.0.0.1:22777 ok === () Starting server 127.0.0.1:22779 ok -[ok]: write command inside MULTI is QUEUED, EXEC should be REDIRECT (134 ms) -[ok]: write command inside MULTI is REDIRECT, EXEC should be EXECABORT (31 ms) -[ok]: replica allow read command by default (0 ms) -[ok]: replica reply READONLY error for write command by default (1 ms) -[ok]: replica redirect read and write command after CLIENT CAPA REDIRECT (0 ms) -[ok]: non-data access commands are not redirected (0 ms) -[ok]: replica allow read command in READONLY mode (0 ms) -[ok]: client paused during failover-in-progress (366 ms) -[106/124 done]: integration/replica-redirect (1 seconds) +[ok]: write command inside MULTI is QUEUED, EXEC should be REDIRECT (139 ms) +[ok]: write command inside MULTI is REDIRECT, EXEC should be EXECABORT (21 ms) +[ok]: replica allow read command by default (1 ms) +[ok]: replica reply READONLY error for write command by default (0 ms) +[ok]: replica redirect read and write command after CLIENT CAPA REDIRECT (1 ms) +[ok]: non-data access commands are not redirected (1 ms) +[ok]: replica allow read command in READONLY mode (1 ms) +[ok]: client paused during failover-in-progress (436 ms) +[106/124 done]: integration/replica-redirect (2 seconds) Testing integration/rdb === () Starting server 127.0.0.1:22781 ok [ok]: test old version rdb file (1 ms) === () Starting server 127.0.0.1:22783 ok -[ok]: RDB encoding loading test (12 ms) +[ok]: RDB encoding loading test (21 ms) === () Starting server 127.0.0.1:22785 ok [ok]: Server started empty with non-existing RDB file (0 ms) === () Starting server 127.0.0.1:22787 ok [ok]: Server started empty with empty RDB file (0 ms) === () Starting server 127.0.0.1:22789 ok -[ok]: Test RDB stream encoding (176 ms) -[ok]: Test RDB stream encoding - sanitize dump (8 ms) +[ok]: Test RDB stream encoding (290 ms) +[ok]: Test RDB stream encoding - sanitize dump (12 ms) === () Starting server 127.0.0.1:22791 -[ok]: Server should not start if RDB file can't be open (1 ms) +[ok]: Server should not start if RDB file can't be open (27 ms) === () Starting server 127.0.0.1:22793 -[ok]: Server should not start if RDB is corrupted (2 ms) +[ok]: Server should not start if RDB is corrupted (23 ms) === () Starting server 127.0.0.1:22795 ok -[ok]: Test FLUSHALL aborts bgsave (348 ms) -[ok]: bgsave resets the change counter (106 ms) +[ok]: Test FLUSHALL aborts bgsave (821 ms) +[ok]: bgsave resets the change counter (107 ms) === () Starting server 127.0.0.1:22797 ok -[ok]: client freed during loading (1070 ms) +[ok]: client freed during loading (2689 ms) === () Starting server 127.0.0.1:22799 ok -[ok]: Test RDB load info (761 ms) +[ok]: Test RDB load info (1499 ms) === () Starting server 127.0.0.1:22801 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: 438272 +COW info before copy-on-write: 417792 current_save_keys_processed info : 1 -[ok]: Test child sending info (1873 ms) +[ok]: Test child sending info (6066 ms) === () Starting server 127.0.0.1:22803 ok [ok]: script won't load anymore if it's in rdb (0 ms) === () Starting server 127.0.0.1:22805 ok Waiting for background save to finish... Waiting for background save to finish... -Waiting for background save to finish... [ok]: failed bgsave prevents writes (268 ms) -[107/124 done]: integration/rdb (8 seconds) +Waiting for background save to finish... [ok]: failed bgsave prevents writes (378 ms) +[107/124 done]: integration/rdb (18 seconds) Testing integration/psync2 === (psync2 external:skip) Starting server 127.0.0.1:22807 ok === () Starting server 127.0.0.1:22809 ok @@ -5771,558 +6256,911 @@ === () Starting server 127.0.0.1:22813 ok === () Starting server 127.0.0.1:22815 ok [ok]: PSYNC2: --- CYCLE 1 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #2 as master (1 ms) -[ok]: PSYNC2: Set #4 to replicate from #2 (1 ms) -[ok]: PSYNC2: Set #0 to replicate from #1 (1 ms) -[ok]: PSYNC2: Set #1 to replicate from #2 (1 ms) -[ok]: PSYNC2: Set #3 to replicate from #2 (1 ms) -[ok]: PSYNC2: cluster is consistent after failover (2 ms) +[ok]: PSYNC2: [NEW LAYOUT] Set #1 as master (7 ms) +[ok]: PSYNC2: Set #0 to replicate from #2 (4 ms) +[ok]: PSYNC2: Set #4 to replicate from #2 (11 ms) +[ok]: PSYNC2: Set #2 to replicate from #1 (11 ms) +[ok]: PSYNC2: Set #3 to replicate from #1 (3 ms) +[ok]: PSYNC2: cluster is consistent after failover (8 ms) [ok]: PSYNC2: generate load while killing replication links (5000 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 47592) (5 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (2 ms) +[ok]: PSYNC2: cluster is consistent after load (x = 8610) (1 ms) +[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (6 ms) [ok]: PSYNC2: --- CYCLE 2 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #3 as master (1 ms) -[ok]: PSYNC2: Set #4 to replicate from #1 (1 ms) -[ok]: PSYNC2: Set #0 to replicate from #3 (1 ms) -[ok]: PSYNC2: Set #1 to replicate from #0 (0 ms) -[ok]: PSYNC2: Set #2 to replicate from #3 (1 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 = 96145) (4 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (1 ms) -[ok]: PSYNC2: --- CYCLE 3 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #2 as master (1 ms) -[ok]: PSYNC2: Set #4 to replicate from #0 (1 ms) +[ok]: PSYNC2: [NEW LAYOUT] Set #1 as master (7 ms) [ok]: PSYNC2: Set #0 to replicate from #2 (0 ms) -[ok]: PSYNC2: Set #1 to replicate from #2 (0 ms) -[ok]: PSYNC2: Set #3 to replicate from #0 (1 ms) +[ok]: PSYNC2: Set #4 to replicate from #1 (0 ms) +[ok]: PSYNC2: Set #2 to replicate from #3 (0 ms) +[ok]: PSYNC2: Set #3 to replicate from #1 (1 ms) +[ok]: PSYNC2: cluster is consistent after failover (1 ms) +[ok]: PSYNC2: generate load while killing replication links (5002 ms) +[ok]: PSYNC2: cluster is consistent after load (x = 17682) (16 ms) +[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (5 ms) +[ok]: PSYNC2: --- CYCLE 3 --- (0 ms) +[ok]: PSYNC2: [NEW LAYOUT] Set #4 as master (0 ms) +[ok]: PSYNC2: Set #0 to replicate from #2 (6 ms) +[ok]: PSYNC2: Set #1 to replicate from #2 (12 ms) +[ok]: PSYNC2: Set #2 to replicate from #4 (4 ms) +[ok]: PSYNC2: Set #3 to replicate from #4 (10 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 = 144468) (4 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (1 ms) +[ok]: PSYNC2: cluster is consistent after load (x = 27968) (1 ms) +[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (6 ms) [ok]: PSYNC2: --- CYCLE 4 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #0 as master (0 ms) -[ok]: PSYNC2: Set #4 to replicate from #0 (1 ms) -[ok]: PSYNC2: Set #1 to replicate from #0 (0 ms) -[ok]: PSYNC2: Set #2 to replicate from #0 (1 ms) -[ok]: PSYNC2: Set #3 to replicate from #2 (1 ms) -[ok]: PSYNC2: cluster is consistent after failover (2 ms) +[ok]: PSYNC2: [NEW LAYOUT] Set #1 as master (1 ms) +[ok]: PSYNC2: Set #0 to replicate from #3 (9 ms) +[ok]: PSYNC2: Set #4 to replicate from #1 (6 ms) +[ok]: PSYNC2: Set #2 to replicate from #4 (5 ms) +[ok]: PSYNC2: Set #3 to replicate from #1 (7 ms) +[ok]: PSYNC2: cluster is consistent after failover (5 ms) [ok]: PSYNC2: generate load while killing replication links (5000 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 193763) (12 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (4 ms) +[ok]: PSYNC2: cluster is consistent after load (x = 38390) (1 ms) +[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (5 ms) [ok]: PSYNC2: --- CYCLE 5 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #4 as master (1 ms) -[ok]: PSYNC2: Set #0 to replicate from #3 (1 ms) -[ok]: PSYNC2: Set #1 to replicate from #0 (0 ms) -[ok]: PSYNC2: Set #2 to replicate from #1 (0 ms) -[ok]: PSYNC2: Set #3 to replicate from #4 (1 ms) -[ok]: PSYNC2: cluster is consistent after failover (1 ms) +[ok]: PSYNC2: [NEW LAYOUT] Set #3 as master (7 ms) +[ok]: PSYNC2: Set #4 to replicate from #1 (10 ms) +[ok]: PSYNC2: Set #0 to replicate from #3 (9 ms) +[ok]: PSYNC2: Set #1 to replicate from #3 (9 ms) +[ok]: PSYNC2: Set #2 to replicate from #3 (4 ms) +[ok]: PSYNC2: cluster is consistent after failover (16 ms) [ok]: PSYNC2: generate load while killing replication links (5000 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 228167) (4 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (3 ms) -[ok]: PSYNC2: Bring the master back again for next test (5 ms) -[ok]: PSYNC2: Partial resync after restart using RDB aux fields (218 ms) -[108/124 done]: integration/psync2 (47 seconds) +[ok]: PSYNC2: cluster is consistent after load (x = 45351) (8 ms) +[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (8 ms) +[ok]: PSYNC2: Bring the master back again for next test (17 ms) +[ok]: PSYNC2: Partial resync after restart using RDB aux fields (387 ms) +[108/124 done]: integration/psync2 (45 seconds) Testing integration/psync2-reg === (psync2 external:skip) Starting server 127.0.0.1:22817 ok === () Starting server 127.0.0.1:22819 ok === () Starting server 127.0.0.1:22821 ok -[ok]: PSYNC2 #3899 regression: setup (1033 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) +[ok]: PSYNC2 #3899 regression: setup (1044 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (4 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (5 ms) [ok]: PSYNC2 #3899 regression: kill first replica (1 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (1 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (8 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (3 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (1 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (7 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (3 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (4 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (5 ms) [ok]: PSYNC2 #3899 regression: kill first replica (0 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 (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (2 ms) [ok]: PSYNC2 #3899 regression: kill first replica (1 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (1 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 (1 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (1 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (4 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (4 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (7 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: verify consistency (20 ms) -[109/124 done]: integration/psync2-reg (22 seconds) +[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) +[ok]: PSYNC2 #3899 regression: verify consistency (34 ms) +[109/124 done]: integration/psync2-reg (23 seconds) Testing integration/psync2-pingoff === (psync2 external:skip) Starting server 127.0.0.1:22823 ok === () Starting server 127.0.0.1:22825 ok -[ok]: PSYNC2 pingoff: setup (1006 ms) -[ok]: PSYNC2 pingoff: write and wait replication (2 ms) -[ok]: PSYNC2 pingoff: pause replica and promote it (5003 ms) -[ok]: Make the old master a replica of the new one and check conditions (1008 ms) +[ok]: PSYNC2 pingoff: setup (1036 ms) +[ok]: PSYNC2 pingoff: write and wait replication (1 ms) +[ok]: PSYNC2 pingoff: pause replica and promote it (5007 ms) +[ok]: Make the old master a replica of the new one and check conditions (1013 ms) === (psync2 external:skip) Starting server 127.0.0.1:22827 ok === () Starting server 127.0.0.1:22829 ok === () Starting server 127.0.0.1:22831 ok === () Starting server 127.0.0.1:22833 ok === () Starting server 127.0.0.1:22835 ok -[ok]: test various edge cases of repl topology changes with missing pings at the end (4201 ms) +[ok]: test various edge cases of repl topology changes with missing pings at the end (5702 ms) === (psync2 external:skip) Starting server 127.0.0.1:22837 ok === () Starting server 127.0.0.1:22839 ok === () Starting server 127.0.0.1:22841 ok -[ok]: Chained replicas disconnect when replica re-connect with the same master (2936 ms) -[110/124 done]: integration/psync2-pingoff (18 seconds) +[ok]: Chained replicas disconnect when replica re-connect with the same master (2977 ms) +[110/124 done]: integration/psync2-pingoff (22 seconds) Testing integration/psync2-master-restart === (psync2 external:skip) Starting server 127.0.0.1:22843 ok === () Starting server 127.0.0.1:22845 ok === () Starting server 127.0.0.1:22847 ok -[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields when offset is 0 (1179 ms) -[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with data (1166 ms) -[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with expire (2395 ms) -[ok]: PSYNC2: Full resync after Master restart when too many key expired (1967 ms) -[111/124 done]: integration/psync2-master-restart (8 seconds) +[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields when offset is 0 (1294 ms) +[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with data (1353 ms) +[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with expire (3003 ms) +[ok]: PSYNC2: Full resync after Master restart when too many key expired (2927 ms) +[111/124 done]: integration/psync2-master-restart (12 seconds) Testing integration/logging === () Starting server 127.0.0.1:22849 ok -{3631961:M 18 Oct 2024 18:23:32.257 # valkey 8.0.1 crashed by signal: 6, si_code: 0} 40 -[ok]: Crash report generated on SIGABRT (104 ms) +{1515496:M 19 Oct 2024 21:35:17.906 # valkey 8.0.1 crashed by signal: 6, si_code: 0} 40 +[ok]: Crash report generated on SIGABRT (141 ms) === () Starting server 127.0.0.1:22851 ok -{3631988:M 18 Oct 2024 18:23:32.470 # valkey 8.0.1 crashed by signal: 11, si_code: 2} 40 -[ok]: Crash report generated on DEBUG SEGFAULT (11 ms) +{1515728:M 19 Oct 2024 21:35:18.332 # valkey 8.0.1 crashed by signal: 11, si_code: 2} 40 +[ok]: Crash report generated on DEBUG SEGFAULT (30 ms) === () Starting server 127.0.0.1:22853 ok {Received SIGALRM} 38 -[ok]: Stacktraces generated on SIGALRM (110 ms) -[112/124 done]: integration/logging (1 seconds) +[ok]: Stacktraces generated on SIGALRM (137 ms) +[112/124 done]: integration/logging (2 seconds) Testing integration/failover === (failover external:skip) Starting server 127.0.0.1:22855 ok === () Starting server 127.0.0.1:22857 ok === () Starting server 127.0.0.1:22859 ok [ok]: failover command fails without connected replica (1 ms) -[ok]: setup replication for following tests (104 ms) -[ok]: failover command fails with invalid host (1 ms) +[ok]: setup replication for following tests (226 ms) +[ok]: failover command fails with invalid host (0 ms) [ok]: failover command fails with invalid port (0 ms) -[ok]: failover command fails with just force and timeout (1 ms) +[ok]: failover command fails with just force and timeout (0 ms) [ok]: failover command fails when sent to a replica (0 ms) [ok]: failover command fails with force without timeout (1 ms) -[ok]: failover command to specific replica works (2006 ms) -[ok]: failover command to any replica works (587 ms) -[ok]: failover to a replica with force works (487 ms) -[ok]: failover with timeout aborts if replica never catches up (598 ms) -[ok]: failovers can be aborted (79 ms) -[ok]: failover aborts if target rejects sync request (515 ms) -[113/124 done]: integration/failover (7 seconds) +[ok]: failover command to specific replica works (1736 ms) +[ok]: failover command to any replica works (524 ms) +[ok]: failover to a replica with force works (536 ms) +[ok]: failover with timeout aborts if replica never catches up (620 ms) +[ok]: failovers can be aborted (89 ms) +[ok]: failover aborts if target rejects sync request (590 ms) +[113/124 done]: integration/failover (6 seconds) Testing integration/dual-channel-replication === (dual-channel-replication external:skip) Starting server 127.0.0.1:22861 ok === () Starting server 127.0.0.1:22863 ok -[ok]: Test dual-channel-replication-enabled replica enters handshake (1005 ms) -[ok]: Test dual-channel-replication-enabled enters wait_bgsave (1 ms) -[ok]: Test dual-channel-replication-enabled replica is able to sync (913 ms) +[ok]: Test dual-channel-replication-enabled replica enters handshake (17 ms) +[ok]: Test dual-channel-replication-enabled enters wait_bgsave (1015 ms) +[ok]: Test dual-channel-replication-enabled replica is able to sync (841 ms) === (dual-channel-replication external:skip) Starting server 127.0.0.1:22865 ok === () Starting server 127.0.0.1:22867 ok -[ok]: Primary memory usage does not increase during dual-channel-replication sync (396 ms) -[ok]: Steady state after dual channel sync (1006 ms) -[ok]: Dual channel replication sync doesn't impair subsequent normal syncs (408 ms) +[ok]: Primary memory usage does not increase during dual-channel-replication sync (4240 ms) +[ok]: Steady state after dual channel sync (1009 ms) +[ok]: Dual channel replication sync doesn't impair subsequent normal syncs (2920 ms) === (dual-channel-replication external:skip) Starting server 127.0.0.1:22869 ok === () Starting server 127.0.0.1:22871 ok -[ok]: Toggle dual-channel-replication-enabled: yes start (570 ms) -[ok]: Online toggle dual-channel-replication-enabled on primary, starting with 'yes' (2153 ms) -[ok]: Online toggle dual-channel-replication-enabled on replica, starting with 'yes' (11208 ms) -[ok]: Toggle dual-channel-replication-enabled: no start (11019 ms) -[ok]: Online toggle dual-channel-replication-enabled on primary, starting with 'no' (2188 ms) -[ok]: Online toggle dual-channel-replication-enabled on replica, starting with 'no' (2164 ms) +[ok]: Toggle dual-channel-replication-enabled: yes start (1152 ms) +[ok]: Online toggle dual-channel-replication-enabled on primary, starting with 'yes' (2274 ms) +[ok]: Online toggle dual-channel-replication-enabled on replica, starting with 'yes' (11338 ms) +[ok]: Toggle dual-channel-replication-enabled: no start (11790 ms) +[ok]: Online toggle dual-channel-replication-enabled on primary, starting with 'no' (2238 ms) +[ok]: Online toggle dual-channel-replication-enabled on replica, starting with 'no' (2399 ms) === (dual-channel-replication external:skip) Starting server 127.0.0.1:22873 ok === () Starting server 127.0.0.1:22875 ok === () Starting server 127.0.0.1:22877 ok -[ok]: dual-channel-replication with multiple replicas (4567 ms) -[ok]: Test diverse replica sync: dual-channel on/off (5085 ms) -[ok]: Test replica's buffer limit reached (1470 ms) -[ok]: dual-channel-replication fails when primary diskless disabled (1008 ms) +[ok]: dual-channel-replication with multiple replicas (5219 ms) +[ok]: Test diverse replica sync: dual-channel on/off (5250 ms) +[ok]: Test replica's buffer limit reached (3006 ms) +[ok]: dual-channel-replication fails when primary diskless disabled (1020 ms) === (dual-channel-replication external:skip) Starting server 127.0.0.1:22879 ok === () Starting server 127.0.0.1:22881 ok -[ok]: Test dual-channel-replication sync- psync established after rdb load (180 ms) +[ok]: Test dual-channel-replication sync- psync established after rdb load (296 ms) === (dual-channel-replication external:skip) Starting server 127.0.0.1:22883 ok === () Starting server 127.0.0.1:22885 ok -[ok]: dual-channel-replication: Primary COB growth with inactive replica (3474 ms) +[ok]: dual-channel-replication: Primary COB growth with inactive replica (39846 ms) === (dual-channel-replication external:skip) Starting server 127.0.0.1:22887 ok === () Starting server 127.0.0.1:22889 ok === () Starting server 127.0.0.1:22891 ok -[ok]: Test dual-channel: primary tracking replica backlog refcount - start with empty backlog (191 ms) -[ok]: Test dual-channel: primary tracking replica backlog refcount - start with backlog (666 ms) +[ok]: Test dual-channel: primary tracking replica backlog refcount - start with empty backlog (3783 ms) +[err]: Test dual-channel: primary tracking replica backlog refcount - start with backlog in tests/integration/dual-channel-replication.tcl +Replica is not in sync after 70 seconds + +===== Start of server log (pid 1539231) ===== + +### Starting server for test +1539231:C 19 Oct 2024 21:37:22.570 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +1539231:C 19 Oct 2024 21:37:22.584 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +1539231:C 19 Oct 2024 21:37:22.584 * Valkey version=8.0.1, bits=64, commit=00000000, modified=0, pid=1539231, just started +1539231:C 19 Oct 2024 21:37:22.584 * Configuration loaded +1539231:M 19 Oct 2024 21:37:22.584 * Increased maximum number of open files to 10032 (it was originally set to 1024). +1539231:M 19 Oct 2024 21:37:22.584 * monotonic clock: POSIX clock_gettime +1539231:M 19 Oct 2024 21:37:22.585 # Failed to write PID file: Permission denied + .+^+. + .+#########+. + .+########+########+. Valkey 8.0.1 (00000000/0) 64 bit + .+########+' '+########+. + .########+' .+. '+########. Running in standalone mode + |####+' .+#######+. '+####| Port: 22892 + |###| .+###############+. |###| PID: 1539231 + |###| |#####*'' ''*#####| |###| + |###| |####' .-. '####| |###| + |###| |###( (@@@) )###| |###| https://valkey.io + |###| |####. '-' .####| |###| + |###| |#####*. .*#####| |###| + |###| '+#####| |#####+' |###| + |####+. +##| |#+' .+####| + '#######+ |##| .+########' + '+###| |##| .+########+' + '| |####+########+' + +#########+' + '+v+' + +1539231:M 19 Oct 2024 21:37:22.587 * Server initialized +1539231:M 19 Oct 2024 21:37:22.587 * Ready to accept connections tcp +1539231:M 19 Oct 2024 21:37:22.587 * Ready to accept connections unix +1539231:M 19 Oct 2024 21:37:22.587 * Ready to accept connections tls +1539231:M 19 Oct 2024 21:37:22.747 - Accepted 127.0.0.1:42289 +1539231:M 19 Oct 2024 21:37:22.764 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +1539231:M 19 Oct 2024 21:37:22.847 - Accepted 127.0.0.1:33317 +### Starting test Test dual-channel: primary tracking replica backlog refcount - start with empty backlog in tests/integration/dual-channel-replication.tcl +1539231:M 19 Oct 2024 21:37:23.024 - Accepted 127.0.0.1:47606 +1539231:M 19 Oct 2024 21:37:23.046 * Replica 127.0.0.1:22887 asks for synchronization +1539231:M 19 Oct 2024 21:37:23.046 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for 'c38c5d3ee91e3de8ed331618571f660ec97bd41e', my replication IDs are '94330fab0989ae6bcece168bac98d8f021e83d15' and '0000000000000000000000000000000000000000') +1539231:M 19 Oct 2024 21:37:23.046 * Replica 127.0.0.1:22887 is capable of dual channel synchronization, and partial sync isn't possible. Full sync will continue with dedicated RDB channel. +1539231:M 19 Oct 2024 21:37:23.047 - Accepted 127.0.0.1:47616 +1539231:M 19 Oct 2024 21:37:23.060 * Replica 127.0.0.1:22887 asks for synchronization +1539231:M 19 Oct 2024 21:37:23.060 * Replication backlog created, my new replication IDs are '6e552371439941f0a02b5c89cd74a0c5b7527eda' and '0000000000000000000000000000000000000000' +1539231:M 19 Oct 2024 21:37:23.060 * Starting BGSAVE for SYNC with target: replicas sockets using: dual-channel +1539231:M 19 Oct 2024 21:37:23.060 * Sending to replica 127.0.0.1:22887 RDB end offset 0 and client-id 6 +1539231:M 19 Oct 2024 21:37:23.060 . Add rdb replica 127.0.0.1:22887 to waiting psync, with cid 6, no repl-backlog to track +1539231:M 19 Oct 2024 21:37:23.061 * Background RDB transfer started by pid 1539261 to direct socket to replica +1539231:M 19 Oct 2024 21:37:23.070 - Accepted 127.0.0.1:36201 +1539261:C 19 Oct 2024 21:37:23.082 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +1539231:M 19 Oct 2024 21:37:23.091 . Attach replica rdb client 6 to repl buf block +1539231:M 19 Oct 2024 21:37:23.314 * Replica 127.0.0.1:22887 asks for synchronization +1539231:M 19 Oct 2024 21:37:23.314 . Remove psync waiting replica 127.0.0.1:22887 with cid 6, repl buffer block ref count decreased +1539231:M 19 Oct 2024 21:37:23.314 . [PSYNC] Replica request offset: 1 +1539231:M 19 Oct 2024 21:37:23.314 . [PSYNC] Backlog size: 1000000 +1539231:M 19 Oct 2024 21:37:23.314 . [PSYNC] First byte: 1 +1539231:M 19 Oct 2024 21:37:23.314 . [PSYNC] History len: 312952 +1539231:M 19 Oct 2024 21:37:23.314 . [PSYNC] Skipping: 0 +1539231:M 19 Oct 2024 21:37:23.314 * Partial resynchronization request from 127.0.0.1:22887 accepted. Sending 312952 bytes of backlog starting from offset 1. +1539261:C 19 Oct 2024 21:37:26.394 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB +1539231:M 19 Oct 2024 21:37:26.414 * Background RDB transfer terminated with success +1539231:M 19 Oct 2024 21:37:26.414 * Streamed RDB transfer with replica 127.0.0.1:22887 succeeded (socket). Waiting for REPLCONF ACK from replica to enable streaming +1539231:M 19 Oct 2024 21:37:26.414 * RDB transfer completed, rdb only replica (127.0.0.1:22887) should be disconnected asap +1539231:M 19 Oct 2024 21:37:26.414 * Replica 127.0.0.1:22887 rdb channel disconnected. +1539231:M 19 Oct 2024 21:37:26.690 * Synchronization with replica 127.0.0.1:22887 succeeded +1539231:M 19 Oct 2024 21:37:26.802 - Error writing to client: Connection reset by peer +1539231:M 19 Oct 2024 21:37:26.802 * Connection with replica client id #5 lost. +### Starting test Test dual-channel: primary tracking replica backlog refcount - start with backlog in tests/integration/dual-channel-replication.tcl +1539231:M 19 Oct 2024 21:37:26.818 - Accepted 127.0.0.1:50228 +1539231:M 19 Oct 2024 21:37:26.886 * Replica 127.0.0.1:22889 asks for synchronization +1539231:M 19 Oct 2024 21:37:26.886 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for '348b6d185823c452b2360c6d6eb9ebc591d8b74c', my replication IDs are '6e552371439941f0a02b5c89cd74a0c5b7527eda' and '0000000000000000000000000000000000000000') +1539231:M 19 Oct 2024 21:37:26.886 * Replica 127.0.0.1:22889 is capable of dual channel synchronization, and partial sync isn't possible. Full sync will continue with dedicated RDB channel. +1539231:M 19 Oct 2024 21:37:26.902 - Accepted 127.0.0.1:50240 +1539231:M 19 Oct 2024 21:37:26.942 * Replica 127.0.0.1:22889 asks for synchronization +1539231:M 19 Oct 2024 21:37:26.942 * Starting BGSAVE for SYNC with target: replicas sockets using: dual-channel +1539231:M 19 Oct 2024 21:37:26.942 * Sending to replica 127.0.0.1:22889 RDB end offset 3729470 and client-id 9 +1539231:M 19 Oct 2024 21:37:26.942 . Add rdb replica 127.0.0.1:22889 to waiting psync, with cid 9, tracking repl-backlog tail +1539231:M 19 Oct 2024 21:37:26.943 * Background RDB transfer started by pid 1539745 to direct socket to replica +1539745:C 19 Oct 2024 21:37:26.954 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +1539231:M 19 Oct 2024 21:37:27.010 * Replica 127.0.0.1:22889 asks for synchronization +1539231:M 19 Oct 2024 21:37:27.010 . Remove psync waiting replica 127.0.0.1:22889 with cid 9, repl buffer block ref count decreased +1539231:M 19 Oct 2024 21:37:27.010 . [PSYNC] Replica request offset: 3729471 +1539231:M 19 Oct 2024 21:37:27.010 . [PSYNC] Backlog size: 1000000 +1539231:M 19 Oct 2024 21:37:27.010 . [PSYNC] First byte: 2800281 +1539231:M 19 Oct 2024 21:37:27.010 . [PSYNC] History len: 1005420 +1539231:M 19 Oct 2024 21:37:27.010 . [PSYNC] Skipping: 929190 +1539231:M 19 Oct 2024 21:37:27.010 * Partial resynchronization request from 127.0.0.1:22889 accepted. Sending 76230 bytes of backlog starting from offset 3729471. +1539231:M 19 Oct 2024 21:37:27.779 - DB 9: 72716 keys (0 volatile) in 65536 slots HT. +1539231:M 19 Oct 2024 21:37:27.779 . Total: 2 clients connected (2 replicas), 9951056 (9.49M) bytes in use +1539745:C 19 Oct 2024 21:37:30.866 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB +1539231:M 19 Oct 2024 21:37:32.910 - DB 9: 164535 keys (0 volatile) in 65536 slots HT. +1539231:M 19 Oct 2024 21:37:32.910 . Total: 2 clients connected (2 replicas), 19221792 (18.33M) bytes in use +1539745:C 19 Oct 2024 21:37:34.606 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB +1539231:M 19 Oct 2024 21:37:38.034 - DB 9: 259532 keys (0 volatile) in 65536 slots HT. +1539231:M 19 Oct 2024 21:37:38.034 . Total: 2 clients connected (2 replicas), 28819072 (27.48M) bytes in use +1539745:C 19 Oct 2024 21:37:38.074 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB +1539745:C 19 Oct 2024 21:37:41.730 - Fork CoW for RDB: current 7 MB, peak 7 MB, average 2 MB +1539231:M 19 Oct 2024 21:37:43.443 - DB 9: 320284 keys (0 volatile) in 524288 slots HT. +1539231:M 19 Oct 2024 21:37:43.443 . Total: 2 clients connected (2 replicas), 38640816 (36.85M) bytes in use +1539231:M 19 Oct 2024 21:37:44.022 - Error writing to client: Connection reset by peer +1539745:C 19 Oct 2024 21:37:45.626 - Fork CoW for RDB: current 7 MB, peak 7 MB, average 3 MB +1539231:M 19 Oct 2024 21:37:48.622 - DB 9: 326988 keys (0 volatile) in 524288 slots HT. +1539231:M 19 Oct 2024 21:37:48.622 . Total: 1 clients connected (2 replicas), 37825728 (36.07M) bytes in use +1539745:C 19 Oct 2024 21:37:49.402 - Fork CoW for RDB: current 7 MB, peak 7 MB, average 3 MB +1539745:C 19 Oct 2024 21:37:52.818 - Fork CoW for RDB: current 7 MB, peak 7 MB, average 4 MB +1539231:M 19 Oct 2024 21:37:53.814 - DB 9: 326988 keys (0 volatile) in 524288 slots HT. +1539231:M 19 Oct 2024 21:37:53.814 . Total: 1 clients connected (2 replicas), 37825728 (36.07M) bytes in use +1539745:C 19 Oct 2024 21:37:56.670 - Fork CoW for RDB: current 7 MB, peak 7 MB, average 4 MB +1539231:M 19 Oct 2024 21:37:59.010 - DB 9: 326988 keys (0 volatile) in 524288 slots HT. +1539231:M 19 Oct 2024 21:37:59.010 . Total: 1 clients connected (2 replicas), 37825728 (36.07M) bytes in use +1539745:C 19 Oct 2024 21:37:59.670 - Fork CoW for RDB: current 7 MB, peak 7 MB, average 4 MB +1539745:C 19 Oct 2024 21:38:02.363 - Fork CoW for RDB: current 7 MB, peak 7 MB, average 5 MB +1539231:M 19 Oct 2024 21:38:04.202 - DB 9: 326988 keys (0 volatile) in 524288 slots HT. +1539231:M 19 Oct 2024 21:38:04.202 . Total: 1 clients connected (2 replicas), 37825728 (36.07M) bytes in use +1539745:C 19 Oct 2024 21:38:05.762 - Fork CoW for RDB: current 7 MB, peak 7 MB, average 5 MB +1539745:C 19 Oct 2024 21:38:09.238 - Fork CoW for RDB: current 7 MB, peak 7 MB, average 5 MB +1539231:M 19 Oct 2024 21:38:09.374 - DB 9: 326988 keys (0 volatile) in 524288 slots HT. +1539231:M 19 Oct 2024 21:38:09.374 . Total: 1 clients connected (2 replicas), 37825728 (36.07M) bytes in use +1539745:C 19 Oct 2024 21:38:12.826 - Fork CoW for RDB: current 7 MB, peak 7 MB, average 5 MB +1539231:M 19 Oct 2024 21:38:14.570 - DB 9: 326988 keys (0 volatile) in 524288 slots HT. +1539231:M 19 Oct 2024 21:38:14.570 . Total: 1 clients connected (2 replicas), 37825728 (36.07M) bytes in use +1539745:C 19 Oct 2024 21:38:15.830 - Fork CoW for RDB: current 7 MB, peak 7 MB, average 5 MB +1539745:C 19 Oct 2024 21:38:19.518 - Fork CoW for RDB: current 7 MB, peak 7 MB, average 5 MB +1539231:M 19 Oct 2024 21:38:19.774 - DB 9: 326988 keys (0 volatile) in 524288 slots HT. +1539231:M 19 Oct 2024 21:38:19.774 . Total: 1 clients connected (2 replicas), 37825728 (36.07M) bytes in use +1539745:C 19 Oct 2024 21:38:23.206 - Fork CoW for RDB: current 7 MB, peak 7 MB, average 5 MB +1539231:M 19 Oct 2024 21:38:24.966 - DB 9: 326988 keys (0 volatile) in 524288 slots HT. +1539231:M 19 Oct 2024 21:38:24.966 . Total: 1 clients connected (2 replicas), 37825728 (36.07M) bytes in use +1539745:C 19 Oct 2024 21:38:26.146 - Fork CoW for RDB: current 7 MB, peak 7 MB, average 5 MB +1539745:C 19 Oct 2024 21:38:29.446 - Fork CoW for RDB: current 7 MB, peak 7 MB, average 5 MB +1539231:M 19 Oct 2024 21:38:30.154 - DB 9: 326988 keys (0 volatile) in 524288 slots HT. +1539231:M 19 Oct 2024 21:38:30.154 . Total: 1 clients connected (2 replicas), 37825728 (36.07M) bytes in use +1539745:C 19 Oct 2024 21:38:32.938 - Fork CoW for RDB: current 7 MB, peak 7 MB, average 6 MB +1539231:M 19 Oct 2024 21:38:35.342 - DB 9: 326988 keys (0 volatile) in 524288 slots HT. +1539231:M 19 Oct 2024 21:38:35.342 . Total: 1 clients connected (2 replicas), 37825728 (36.07M) bytes in use +1539745:C 19 Oct 2024 21:38:35.664 - Fork CoW for RDB: current 7 MB, peak 7 MB, average 6 MB +1539745:C 19 Oct 2024 21:38:39.578 - Fork CoW for RDB: current 7 MB, peak 7 MB, average 6 MB +1539231:M 19 Oct 2024 21:38:40.530 - DB 9: 326988 keys (0 volatile) in 524288 slots HT. +1539231:M 19 Oct 2024 21:38:40.530 . Total: 1 clients connected (2 replicas), 37825728 (36.07M) bytes in use +===== End of server log (pid 1539231) ===== + + +===== Start of server stderr log (pid 1539231) ===== + + +===== End of server stderr log (pid 1539231) ===== + +Waiting for process 1539231 to exit... +Waiting for process 1539231 to exit... +Waiting for process 1539231 to exit... + +===== Start of server log (pid 1539156) ===== + +### Starting server for test +1539156:C 19 Oct 2024 21:37:22.241 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +1539156:C 19 Oct 2024 21:37:22.268 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +1539156:C 19 Oct 2024 21:37:22.268 * Valkey version=8.0.1, bits=64, commit=00000000, modified=0, pid=1539156, just started +1539156:C 19 Oct 2024 21:37:22.268 * Configuration loaded +1539156:M 19 Oct 2024 21:37:22.268 * Increased maximum number of open files to 10032 (it was originally set to 1024). +1539156:M 19 Oct 2024 21:37:22.268 * monotonic clock: POSIX clock_gettime +1539156:M 19 Oct 2024 21:37:22.268 # Failed to write PID file: Permission denied + .+^+. + .+#########+. + .+########+########+. Valkey 8.0.1 (00000000/0) 64 bit + .+########+' '+########+. + .########+' .+. '+########. Running in standalone mode + |####+' .+#######+. '+####| Port: 22890 + |###| .+###############+. |###| PID: 1539156 + |###| |#####*'' ''*#####| |###| + |###| |####' .-. '####| |###| + |###| |###( (@@@) )###| |###| https://valkey.io + |###| |####. '-' .####| |###| + |###| |#####*. .*#####| |###| + |###| '+#####| |#####+' |###| + |####+. +##| |#+' .+####| + '#######+ |##| .+########' + '+###| |##| .+########+' + '| |####+########+' + +#########+' + '+v+' + +1539156:M 19 Oct 2024 21:37:22.271 * Server initialized +1539156:M 19 Oct 2024 21:37:22.271 * Ready to accept connections tcp +1539156:M 19 Oct 2024 21:37:22.271 * Ready to accept connections unix +1539156:M 19 Oct 2024 21:37:22.271 * Ready to accept connections tls +1539156:M 19 Oct 2024 21:37:22.411 - Accepted 127.0.0.1:40543 +1539156:M 19 Oct 2024 21:37:22.432 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +1539156:M 19 Oct 2024 21:37:22.482 - Accepted 127.0.0.1:44319 +### Starting test Test dual-channel: primary tracking replica backlog refcount - start with empty backlog in tests/integration/dual-channel-replication.tcl +### Starting test Test dual-channel: primary tracking replica backlog refcount - start with backlog in tests/integration/dual-channel-replication.tcl +1539156:S 19 Oct 2024 21:37:26.806 * Before turning into a replica, using my own primary parameters to synthesize a cached primary: I may be able to synchronize with the new primary with just a partial transfer. +1539156:S 19 Oct 2024 21:37:26.806 * Connecting to PRIMARY 127.0.0.1:22891 +1539156:S 19 Oct 2024 21:37:26.806 * PRIMARY <-> REPLICA sync started +1539156:S 19 Oct 2024 21:37:26.806 * REPLICAOF 127.0.0.1:22891 enabled (user request from 'id=4 addr=127.0.0.1:44319 laddr=127.0.0.1:22889 fd=11 name= age=4 idle=0 flags=N db=9 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=0 argv-mem=23 multi-mem=0 rbs=1024 rbp=5 obl=0 oll=0 omem=0 tot-mem=1967 events=r cmd=replicaof user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=288 tot-net-out=25 tot-cmds=5') +1539156:S 19 Oct 2024 21:37:26.851 * Non blocking connect for SYNC fired the event. +1539156:S 19 Oct 2024 21:37:26.866 * Primary replied to PING, replication can continue... +1539156:S 19 Oct 2024 21:37:26.878 * Trying a partial resynchronization (request 348b6d185823c452b2360c6d6eb9ebc591d8b74c:1). +1539156:S 19 Oct 2024 21:37:26.890 * PSYNC is not possible, initialize RDB channel. +1539156:S 19 Oct 2024 21:37:26.938 . Received first reply from primary using rdb connection. +1539156:S 19 Oct 2024 21:37:26.962 * Process is about to stop. +1539156:S 19 Oct 2024 21:37:27.007 * Process has been continued. +1539156:S 19 Oct 2024 21:37:27.007 * Trying a partial resynchronization using main channel (request 6e552371439941f0a02b5c89cd74a0c5b7527eda:3729471). +1539156:S 19 Oct 2024 21:37:27.014 * Primary <-> REPLICA sync: Primary accepted a Partial Resynchronization, RDB load in background. +1539156:S 19 Oct 2024 21:37:27.458 . Total: 1 clients connected (0 replicas), 1599016 (1.52M) bytes in use +1539156:S 19 Oct 2024 21:37:28.486 * PRIMARY <-> REPLICA sync: receiving streamed RDB from primary with EOF to disk +1539156:S 19 Oct 2024 21:37:32.590 . Total: 1 clients connected (0 replicas), 7506472 (7.16M) bytes in use +1539156:S 19 Oct 2024 21:37:37.714 . Total: 1 clients connected (0 replicas), 13598536 (12.97M) bytes in use +1539156:S 19 Oct 2024 21:37:42.874 . Total: 1 clients connected (0 replicas), 17065064 (16.27M) bytes in use +1539156:S 19 Oct 2024 21:37:48.054 . Total: 1 clients connected (0 replicas), 18131688 (17.29M) bytes in use +1539156:S 19 Oct 2024 21:37:53.222 . Total: 1 clients connected (0 replicas), 18131688 (17.29M) bytes in use +1539156:S 19 Oct 2024 21:37:58.395 . Total: 1 clients connected (0 replicas), 18131688 (17.29M) bytes in use +1539156:S 19 Oct 2024 21:38:03.576 . Total: 1 clients connected (0 replicas), 18131688 (17.29M) bytes in use +1539156:S 19 Oct 2024 21:38:08.726 . Total: 1 clients connected (0 replicas), 18131688 (17.29M) bytes in use +1539156:S 19 Oct 2024 21:38:13.918 . Total: 1 clients connected (0 replicas), 18131688 (17.29M) bytes in use +1539156:S 19 Oct 2024 21:38:19.099 . Total: 1 clients connected (0 replicas), 18131688 (17.29M) bytes in use +1539156:S 19 Oct 2024 21:38:24.294 . Total: 1 clients connected (0 replicas), 18131688 (17.29M) bytes in use +1539156:S 19 Oct 2024 21:38:29.478 . Total: 1 clients connected (0 replicas), 18131688 (17.29M) bytes in use +1539156:S 19 Oct 2024 21:38:34.655 . Total: 1 clients connected (0 replicas), 18131688 (17.29M) bytes in use +1539156:S 19 Oct 2024 21:38:39.838 . Total: 1 clients connected (0 replicas), 18131688 (17.29M) bytes in use +1539156:S 19 Oct 2024 21:38:45.030 . Total: 1 clients connected (0 replicas), 18131688 (17.29M) bytes in use +1539156:S 19 Oct 2024 21:38:50.226 . Total: 1 clients connected (0 replicas), 18131688 (17.29M) bytes in use +1539156:S 19 Oct 2024 21:38:51.443 # I/O error trying to sync with PRIMARY: error:0A000126:SSL routines::unexpected eof while reading +1539156:S 19 Oct 2024 21:38:51.443 * Aborting dual channel sync +1539156:S 19 Oct 2024 21:38:51.443 * Reconnecting to PRIMARY 127.0.0.1:22891 after failure +1539156:S 19 Oct 2024 21:38:51.443 * PRIMARY <-> REPLICA sync started +1539156:S 19 Oct 2024 21:38:51.443 # Error condition on socket for SYNC: (null) +===== End of server log (pid 1539156) ===== + + +===== Start of server stderr log (pid 1539156) ===== + + +===== End of server stderr log (pid 1539156) ===== + + +===== Start of server log (pid 1539126) ===== + +### Starting server for test +1539126:C 19 Oct 2024 21:37:21.821 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +1539126:C 19 Oct 2024 21:37:21.842 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +1539126:C 19 Oct 2024 21:37:21.842 * Valkey version=8.0.1, bits=64, commit=00000000, modified=0, pid=1539126, just started +1539126:C 19 Oct 2024 21:37:21.842 * Configuration loaded +1539126:M 19 Oct 2024 21:37:21.842 * Increased maximum number of open files to 10032 (it was originally set to 1024). +1539126:M 19 Oct 2024 21:37:21.842 * monotonic clock: POSIX clock_gettime +1539126:M 19 Oct 2024 21:37:21.843 # Failed to write PID file: Permission denied + .+^+. + .+#########+. + .+########+########+. Valkey 8.0.1 (00000000/0) 64 bit + .+########+' '+########+. + .########+' .+. '+########. Running in standalone mode + |####+' .+#######+. '+####| Port: 22888 + |###| .+###############+. |###| PID: 1539126 + |###| |#####*'' ''*#####| |###| + |###| |####' .-. '####| |###| + |###| |###( (@@@) )###| |###| https://valkey.io + |###| |####. '-' .####| |###| + |###| |#####*. .*#####| |###| + |###| '+#####| |#####+' |###| + |####+. +##| |#+' .+####| + '#######+ |##| .+########' + '+###| |##| .+########+' + '| |####+########+' + +#########+' + '+v+' + +1539126:M 19 Oct 2024 21:37:21.845 * Server initialized +1539126:M 19 Oct 2024 21:37:21.845 * Ready to accept connections tcp +1539126:M 19 Oct 2024 21:37:21.845 * Ready to accept connections unix +1539126:M 19 Oct 2024 21:37:21.845 * Ready to accept connections tls +1539126:M 19 Oct 2024 21:37:21.995 - Accepted 127.0.0.1:39467 +1539126:M 19 Oct 2024 21:37:22.022 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +1539126:M 19 Oct 2024 21:37:22.103 - Accepted 127.0.0.1:36473 +### Starting test Test dual-channel: primary tracking replica backlog refcount - start with empty backlog in tests/integration/dual-channel-replication.tcl +1539126:S 19 Oct 2024 21:37:23.024 * Before turning into a replica, using my own primary parameters to synthesize a cached primary: I may be able to synchronize with the new primary with just a partial transfer. +1539126:S 19 Oct 2024 21:37:23.024 * Connecting to PRIMARY 127.0.0.1:22891 +1539126:S 19 Oct 2024 21:37:23.024 * PRIMARY <-> REPLICA sync started +1539126:S 19 Oct 2024 21:37:23.024 * REPLICAOF 127.0.0.1:22891 enabled (user request from 'id=4 addr=127.0.0.1:36473 laddr=127.0.0.1:22887 fd=11 name= age=1 idle=0 flags=N db=9 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=0 argv-mem=23 multi-mem=0 rbs=1024 rbp=5 obl=0 oll=0 omem=0 tot-mem=1967 events=r cmd=replicaof user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=288 tot-net-out=25 tot-cmds=5') +1539126:S 19 Oct 2024 21:37:23.038 * Non blocking connect for SYNC fired the event. +1539126:S 19 Oct 2024 21:37:23.046 * Primary replied to PING, replication can continue... +1539126:S 19 Oct 2024 21:37:23.046 * Trying a partial resynchronization (request c38c5d3ee91e3de8ed331618571f660ec97bd41e:1). +1539126:S 19 Oct 2024 21:37:23.046 * PSYNC is not possible, initialize RDB channel. +1539126:S 19 Oct 2024 21:37:23.059 . Received first reply from primary using rdb connection. +1539126:S 19 Oct 2024 21:37:23.066 * Process is about to stop. +1539126:S 19 Oct 2024 21:37:23.314 * Process has been continued. +1539126:S 19 Oct 2024 21:37:23.314 * Trying a partial resynchronization using main channel (request 6e552371439941f0a02b5c89cd74a0c5b7527eda:1). +1539126:S 19 Oct 2024 21:37:23.318 * Primary <-> REPLICA sync: Primary accepted a Partial Resynchronization, RDB load in background. +1539126:S 19 Oct 2024 21:37:24.950 * PRIMARY <-> REPLICA sync: receiving streamed RDB from primary with EOF to disk +1539126:S 19 Oct 2024 21:37:26.394 * Discarding previously cached primary state. +1539126:S 19 Oct 2024 21:37:26.394 * PRIMARY <-> REPLICA sync: Flushing old data +1539126:S 19 Oct 2024 21:37:26.394 * PRIMARY <-> REPLICA sync: Loading DB in memory +1539126:S 19 Oct 2024 21:37:26.394 * Loading RDB produced by Valkey version 8.0.1 +1539126:S 19 Oct 2024 21:37:26.394 * RDB age 3 seconds +1539126:S 19 Oct 2024 21:37:26.394 * RDB memory usage when created 1.18 Mb +1539126:S 19 Oct 2024 21:37:26.394 * Done loading RDB, keys loaded: 1024, keys expired: 0. +1539126:S 19 Oct 2024 21:37:26.688 * Successfully streamed replication data into memory +1539126:S 19 Oct 2024 21:37:26.688 * PRIMARY <-> REPLICA sync: Finished with success +1539126:M 19 Oct 2024 21:37:26.798 * Connection with primary lost. +1539126:M 19 Oct 2024 21:37:26.798 * Caching the disconnected primary state. +1539126:M 19 Oct 2024 21:37:26.798 * Discarding previously cached primary state. +1539126:M 19 Oct 2024 21:37:26.798 * Setting secondary replication ID to 6e552371439941f0a02b5c89cd74a0c5b7527eda, valid up to offset: 3376967. New replication ID is d35e0f3e2416ae558a81522e2d0313f50c63f94e +1539126:M 19 Oct 2024 21:37:26.798 * PRIMARY MODE enabled (user request from 'id=4 addr=127.0.0.1:36473 laddr=127.0.0.1:22887 fd=11 name= age=4 idle=0 flags=N db=9 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=0 argv-mem=14 multi-mem=0 rbs=2048 rbp=1024 obl=0 oll=0 omem=0 tot-mem=2982 events=r cmd=replicaof user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=338 tot-net-out=6420 tot-cmds=7') +### Starting test Test dual-channel: primary tracking replica backlog refcount - start with backlog in tests/integration/dual-channel-replication.tcl +1539126:M 19 Oct 2024 21:37:27.214 - DB 9: 54169 keys (0 volatile) in 65536 slots HT. +1539126:M 19 Oct 2024 21:37:27.214 . Total: 1 clients connected (0 replicas), 7077200 (6.75M) bytes in use +1539126:M 19 Oct 2024 21:37:32.383 - DB 9: 54169 keys (0 volatile) in 65536 slots HT. +1539126:M 19 Oct 2024 21:37:32.383 . Total: 1 clients connected (0 replicas), 7076176 (6.75M) bytes in use +1539126:M 19 Oct 2024 21:37:37.543 - DB 9: 54169 keys (0 volatile) in 65536 slots HT. +1539126:M 19 Oct 2024 21:37:37.543 . Total: 1 clients connected (0 replicas), 7076176 (6.75M) bytes in use +1539126:M 19 Oct 2024 21:37:42.722 - DB 9: 54169 keys (0 volatile) in 65536 slots HT. +1539126:M 19 Oct 2024 21:37:42.722 . Total: 1 clients connected (0 replicas), 7076176 (6.75M) bytes in use +1539126:M 19 Oct 2024 21:37:47.914 - DB 9: 54169 keys (0 volatile) in 65536 slots HT. +1539126:M 19 Oct 2024 21:37:47.914 . Total: 1 clients connected (0 replicas), 7076176 (6.75M) bytes in use +1539126:M 19 Oct 2024 21:37:53.098 - DB 9: 54169 keys (0 volatile) in 65536 slots HT. +1539126:M 19 Oct 2024 21:37:53.098 . Total: 1 clients connected (0 replicas), 7076176 (6.75M) bytes in use +1539126:M 19 Oct 2024 21:37:58.286 - DB 9: 54169 keys (0 volatile) in 65536 slots HT. +1539126:M 19 Oct 2024 21:37:58.286 . Total: 1 clients connected (0 replicas), 7076176 (6.75M) bytes in use +1539126:M 19 Oct 2024 21:38:03.486 - DB 9: 54169 keys (0 volatile) in 65536 slots HT. +1539126:M 19 Oct 2024 21:38:03.486 . Total: 1 clients connected (0 replicas), 7076176 (6.75M) bytes in use +1539126:M 19 Oct 2024 21:38:08.682 - DB 9: 54169 keys (0 volatile) in 65536 slots HT. +1539126:M 19 Oct 2024 21:38:08.682 . Total: 1 clients connected (0 replicas), 7076176 (6.75M) bytes in use +1539126:M 19 Oct 2024 21:38:13.878 - DB 9: 54169 keys (0 volatile) in 65536 slots HT. +1539126:M 19 Oct 2024 21:38:13.878 . Total: 1 clients connected (0 replicas), 7076176 (6.75M) bytes in use +1539126:M 19 Oct 2024 21:38:19.058 - DB 9: 54169 keys (0 volatile) in 65536 slots HT. +1539126:M 19 Oct 2024 21:38:19.058 . Total: 1 clients connected (0 replicas), 7076176 (6.75M) bytes in use +1539126:M 19 Oct 2024 21:38:24.254 - DB 9: 54169 keys (0 volatile) in 65536 slots HT. +1539126:M 19 Oct 2024 21:38:24.254 . Total: 1 clients connected (0 replicas), 7076176 (6.75M) bytes in use +1539126:M 19 Oct 2024 21:38:29.426 - DB 9: 54169 keys (0 volatile) in 65536 slots HT. +1539126:M 19 Oct 2024 21:38:29.426 . Total: 1 clients connected (0 replicas), 7076176 (6.75M) bytes in use +1539126:M 19 Oct 2024 21:38:34.618 - DB 9: 54169 keys (0 volatile) in 65536 slots HT. +1539126:M 19 Oct 2024 21:38:34.618 . Total: 1 clients connected (0 replicas), 7076176 (6.75M) bytes in use +1539126:M 19 Oct 2024 21:38:39.814 - DB 9: 54169 keys (0 volatile) in 65536 slots HT. +1539126:M 19 Oct 2024 21:38:39.814 . Total: 1 clients connected (0 replicas), 7076176 (6.75M) bytes in use +1539126:M 19 Oct 2024 21:38:45.008 - DB 9: 54169 keys (0 volatile) in 65536 slots HT. +1539126:M 19 Oct 2024 21:38:45.008 . Total: 1 clients connected (0 replicas), 7076176 (6.75M) bytes in use +1539126:M 19 Oct 2024 21:38:50.178 - DB 9: 54169 keys (0 volatile) in 65536 slots HT. +1539126:M 19 Oct 2024 21:38:50.178 . Total: 1 clients connected (0 replicas), 7076176 (6.75M) bytes in use +===== End of server log (pid 1539126) ===== + + +===== Start of server stderr log (pid 1539126) ===== + + +===== End of server stderr log (pid 1539126) ===== + === (dual-channel-replication external:skip) Starting server 127.0.0.1:22893 ok === () Starting server 127.0.0.1:22895 ok -[ok]: Psync established after rdb load - within grace period (105 ms) +[ok]: Psync established after rdb load - within grace period (417 ms) === (dual-channel-replication external:skip) Starting server 127.0.0.1:22897 ok === () Starting server 127.0.0.1:22899 ok -[ok]: Psync established after RDB load - beyond grace period (2174 ms) -Waiting for process 3636760 to exit... -Waiting for process 3636760 to exit... +[ok]: Psync established after RDB load - beyond grace period (2808 ms) +Waiting for process 1550805 to exit... === (dual-channel-replication external:skip) Starting server 127.0.0.1:22901 ok === () Starting server 127.0.0.1:22903 ok -[ok]: Test dual-channel-replication primary gets cob overrun before established psync (381 ms) -[ok]: Test dual-channel-replication primary gets cob overrun during replica rdb load (1027 ms) +[ok]: Test dual-channel-replication primary gets cob overrun before established psync (1252 ms) +[ok]: Test dual-channel-replication primary gets cob overrun during replica rdb load (1128 ms) === (dual-channel-replication external:skip) Starting server 127.0.0.1:22905 ok === () Starting server 127.0.0.1:22907 ok === () Starting server 127.0.0.1:22909 ok -[ok]: Sync should continue if not all slaves dropped dual-channel-replication yes (11106 ms) -[ok]: Primary abort sync if all slaves dropped dual-channel-replication yes (7033 ms) +[ok]: Sync should continue if not all slaves dropped dual-channel-replication yes (44404 ms) +[ok]: Primary abort sync if all slaves dropped dual-channel-replication yes (9188 ms) === (dual-channel-replication external:skip) Starting server 127.0.0.1:22911 ok === () Starting server 127.0.0.1:22913 ok === () Starting server 127.0.0.1:22915 ok -[ok]: Sync should continue if not all slaves dropped dual-channel-replication no (12063 ms) -[ok]: Primary abort sync if all slaves dropped dual-channel-replication no (9087 ms) +[ok]: Sync should continue if not all slaves dropped dual-channel-replication no (43204 ms) +[ok]: Primary abort sync if all slaves dropped dual-channel-replication no (9132 ms) === (dual-channel-replication external:skip) Starting server 127.0.0.1:22917 ok === () Starting server 127.0.0.1:22919 ok -[ok]: Test dual-channel-replication replica main channel disconnected (6322 ms) -[ok]: Test dual channel replication slave of no one after main conn kill (2 ms) -[ok]: Test dual-channel-replication replica rdb connection disconnected (11154 ms) -[ok]: Test dual channel replication slave of no one after rdb conn kill (2 ms) -[ok]: Test dual-channel-replication primary reject set-rdb-client after client killed (11085 ms) +[ok]: Test dual-channel-replication replica main channel disconnected (8023 ms) +[ok]: Test dual channel replication slave of no one after main conn kill (1 ms) +[ok]: Test dual-channel-replication replica rdb connection disconnected (8354 ms) +[ok]: Test dual channel replication slave of no one after rdb conn kill (4 ms) +[ok]: Test dual-channel-replication primary reject set-rdb-client after client killed (7325 ms) === (dual-channel-replication external:skip) Starting server 127.0.0.1:22921 ok === () Starting server 127.0.0.1:22923 ok === () Starting server 127.0.0.1:22925 ok -[ok]: Test replica unable to join dual channel replication sync after started (1109 ms) +[ok]: Test replica unable to join dual channel replication sync after started (1164 ms) === (dual-channel-replication external:skip) Starting server 127.0.0.1:22927 ok === () Starting server 127.0.0.1:22929 ok -[ok]: Replica recover rdb-connection killed (16022 ms) -[ok]: Replica recover main-connection killed (16050 ms) -[114/124 done]: integration/dual-channel-replication (190 seconds) +[ok]: Replica recover rdb-connection killed (19036 ms) +[ok]: Replica recover main-connection killed (19101 ms) +[114/124 done]: integration/dual-channel-replication (413 seconds) Testing integration/dismiss-mem === (dismiss external:skip) Starting server 127.0.0.1:22931 ok -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: dismiss all data types memory (1191 ms) +Waiting for background AOF rewrite to finish... [ok]: dismiss all data types memory (1154 ms) -Waiting for background save to finish... -Waiting for background save to finish... [ok]: dismiss client output buffer (4639 ms) +Waiting for background save to finish... [ok]: dismiss client output buffer (307 ms) -Waiting for background save to finish... [ok]: dismiss client query buffer (185 ms) +Waiting for background save to finish... +Waiting for background save to finish... [ok]: dismiss client query buffer (249 ms) === () Starting server 127.0.0.1:22933 ok -Waiting for background save to finish... [ok]: dismiss replication backlog (1316 ms) -[115/124 done]: integration/dismiss-mem (8 seconds) +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... [ok]: dismiss replication backlog (1662 ms) +[115/124 done]: integration/dismiss-mem (3 seconds) Testing integration/corrupt-dump === () Starting server 127.0.0.1:22935 ok -[ok]: corrupt payload: #7445 - with sanitize (248 ms) +[ok]: corrupt payload: #7445 - with sanitize (504 ms) === () Starting server 127.0.0.1:22937 ok -[ok]: corrupt payload: hash with valid zip list header, invalid entry len (248 ms) +[ok]: corrupt payload: hash with valid zip list header, invalid entry len (455 ms) === () Starting server 127.0.0.1:22939 ok -[ok]: corrupt payload: invalid zlbytes header (248 ms) +[ok]: corrupt payload: invalid zlbytes header (479 ms) === () Starting server 127.0.0.1:22941 ok -[ok]: corrupt payload: valid zipped hash header, dup records (249 ms) +[ok]: corrupt payload: valid zipped hash header, dup records (481 ms) === () Starting server 127.0.0.1:22943 ok -[ok]: corrupt payload: quicklist big ziplist prev len (259 ms) +[ok]: corrupt payload: quicklist big ziplist prev len (581 ms) === () Starting server 127.0.0.1:22945 ok -[ok]: corrupt payload: quicklist small ziplist prev len (258 ms) +[ok]: corrupt payload: quicklist small ziplist prev len (447 ms) === () Starting server 127.0.0.1:22947 ok -[ok]: corrupt payload: quicklist ziplist wrong count (248 ms) +[ok]: corrupt payload: quicklist ziplist wrong count (512 ms) === () Starting server 127.0.0.1:22949 ok -[ok]: corrupt payload: #3080 - quicklist (249 ms) +[ok]: corrupt payload: #3080 - quicklist (503 ms) === () Starting server 127.0.0.1:22951 ok -[ok]: corrupt payload: quicklist with empty ziplist (258 ms) +[ok]: corrupt payload: quicklist with empty ziplist (472 ms) === () Starting server 127.0.0.1:22953 ok -[ok]: corrupt payload: quicklist encoded_len is 0 (257 ms) +[ok]: corrupt payload: quicklist encoded_len is 0 (508 ms) === () Starting server 127.0.0.1:22955 ok -[ok]: corrupt payload: quicklist listpack entry start with EOF (256 ms) +[ok]: corrupt payload: quicklist listpack entry start with EOF (464 ms) === () Starting server 127.0.0.1:22957 ok -[ok]: corrupt payload: #3080 - ziplist (253 ms) +[ok]: corrupt payload: #3080 - ziplist (508 ms) === () Starting server 127.0.0.1:22959 -[ok]: corrupt payload: load corrupted rdb with no CRC - #3505 (126 ms) +[ok]: corrupt payload: load corrupted rdb with no CRC - #3505 (368 ms) === () Starting server 127.0.0.1:22961 ok -[ok]: corrupt payload: load corrupted rdb with empty keys (252 ms) +[ok]: corrupt payload: load corrupted rdb with empty keys (699 ms) === () Starting server 127.0.0.1:22963 ok -[ok]: corrupt payload: load corrupted rdb with empty keys (251 ms) +[ok]: corrupt payload: load corrupted rdb with empty keys (632 ms) === () Starting server 127.0.0.1:22965 ok -[ok]: corrupt payload: listpack invalid size header (248 ms) +[ok]: corrupt payload: listpack invalid size header (576 ms) === () Starting server 127.0.0.1:22967 ok -[ok]: corrupt payload: listpack too long entry len (210 ms) +[ok]: corrupt payload: listpack too long entry len (525 ms) === () Starting server 127.0.0.1:22969 ok -[ok]: corrupt payload: listpack very long entry len (210 ms) +[ok]: corrupt payload: listpack very long entry len (467 ms) === () Starting server 127.0.0.1:22971 ok -[ok]: corrupt payload: listpack too long entry prev len (249 ms) +[ok]: corrupt payload: listpack too long entry prev len (360 ms) === () Starting server 127.0.0.1:22973 ok -[ok]: corrupt payload: stream with duplicate consumers (259 ms) +[ok]: corrupt payload: stream with duplicate consumers (476 ms) === () Starting server 127.0.0.1:22975 ok -[ok]: corrupt payload: hash ziplist with duplicate records (259 ms) +[ok]: corrupt payload: hash ziplist with duplicate records (452 ms) === () Starting server 127.0.0.1:22977 ok -[ok]: corrupt payload: hash listpack with duplicate records (258 ms) +[ok]: corrupt payload: hash listpack with duplicate records (460 ms) === () Starting server 127.0.0.1:22979 ok -[ok]: corrupt payload: hash listpack with duplicate records - convert (210 ms) +[ok]: corrupt payload: hash listpack with duplicate records - convert (468 ms) === () Starting server 127.0.0.1:22981 ok -[ok]: corrupt payload: hash ziplist uneven record count (259 ms) +[ok]: corrupt payload: hash ziplist uneven record count (463 ms) === () Starting server 127.0.0.1:22983 ok -[ok]: corrupt payload: hash duplicate records (258 ms) +[ok]: corrupt payload: hash duplicate records (639 ms) === () Starting server 127.0.0.1:22985 ok -[ok]: corrupt payload: hash empty zipmap (248 ms) +[ok]: corrupt payload: hash empty zipmap (487 ms) === () Starting server 127.0.0.1:22987 ok -[ok]: corrupt payload: fuzzer findings - NPD in streamIteratorGetID (210 ms) +[ok]: corrupt payload: fuzzer findings - NPD in streamIteratorGetID (543 ms) === () Starting server 127.0.0.1:22989 ok -[ok]: corrupt payload: fuzzer findings - listpack NPD on invalid stream (210 ms) +[ok]: corrupt payload: fuzzer findings - listpack NPD on invalid stream (400 ms) === () Starting server 127.0.0.1:22991 ok -[ok]: corrupt payload: fuzzer findings - NPD in quicklistIndex (247 ms) +[ok]: corrupt payload: fuzzer findings - NPD in quicklistIndex (447 ms) === () Starting server 127.0.0.1:22993 ok -[ok]: corrupt payload: fuzzer findings - encoded entry header reach outside the allocation (260 ms) +[ok]: corrupt payload: fuzzer findings - encoded entry header reach outside the allocation (325 ms) === () Starting server 127.0.0.1:22995 ok -[ok]: corrupt payload: fuzzer findings - invalid ziplist encoding (249 ms) +[ok]: corrupt payload: fuzzer findings - invalid ziplist encoding (557 ms) === () Starting server 127.0.0.1:22997 ok -[ok]: corrupt payload: fuzzer findings - hash crash (248 ms) +[ok]: corrupt payload: fuzzer findings - hash crash (477 ms) === () Starting server 127.0.0.1:22999 ok -[ok]: corrupt payload: fuzzer findings - uneven entry count in hash (250 ms) +[ok]: corrupt payload: fuzzer findings - uneven entry count in hash (439 ms) === () Starting server 127.0.0.1:23001 ok -[ok]: corrupt payload: fuzzer findings - invalid read in lzf_decompress (258 ms) +[ok]: corrupt payload: fuzzer findings - invalid read in lzf_decompress (501 ms) === () Starting server 127.0.0.1:23003 ok -[ok]: corrupt payload: fuzzer findings - leak in rdbloading due to dup entry in set (259 ms) +[ok]: corrupt payload: fuzzer findings - leak in rdbloading due to dup entry in set (367 ms) === () Starting server 127.0.0.1:23005 ok -[ok]: corrupt payload: fuzzer findings - empty intset (259 ms) +[ok]: corrupt payload: fuzzer findings - empty intset (496 ms) === () Starting server 127.0.0.1:23007 ok -[ok]: corrupt payload: fuzzer findings - zset ziplist entry lensize is 0 (249 ms) +[ok]: corrupt payload: fuzzer findings - zset ziplist entry lensize is 0 (599 ms) === () Starting server 127.0.0.1:23009 ok -[ok]: corrupt payload: fuzzer findings - valgrind ziplist prevlen reaches outside the ziplist (249 ms) +[ok]: corrupt payload: fuzzer findings - valgrind ziplist prevlen reaches outside the ziplist (500 ms) === () Starting server 127.0.0.1:23011 ok -[ok]: corrupt payload: fuzzer findings - valgrind - bad rdbLoadDoubleValue (259 ms) +[ok]: corrupt payload: fuzzer findings - valgrind - bad rdbLoadDoubleValue (500 ms) === () Starting server 127.0.0.1:23013 ok -[ok]: corrupt payload: fuzzer findings - valgrind ziplist prev too big (250 ms) +[ok]: corrupt payload: fuzzer findings - valgrind ziplist prev too big (483 ms) === () Starting server 127.0.0.1:23015 ok -[ok]: corrupt payload: fuzzer findings - lzf decompression fails, avoid valgrind invalid read (259 ms) +[ok]: corrupt payload: fuzzer findings - lzf decompression fails, avoid valgrind invalid read (478 ms) === () Starting server 127.0.0.1:23017 ok -[ok]: corrupt payload: fuzzer findings - stream bad lp_count (260 ms) +[ok]: corrupt payload: fuzzer findings - stream bad lp_count (506 ms) === () Starting server 127.0.0.1:23019 ok -[ok]: corrupt payload: fuzzer findings - stream bad lp_count - unsanitized (209 ms) +[ok]: corrupt payload: fuzzer findings - stream bad lp_count - unsanitized (544 ms) === () Starting server 127.0.0.1:23021 ok -[ok]: corrupt payload: fuzzer findings - stream integrity check issue (258 ms) +[ok]: corrupt payload: fuzzer findings - stream integrity check issue (504 ms) === () Starting server 127.0.0.1:23023 ok -[ok]: corrupt payload: fuzzer findings - infinite loop (211 ms) +[ok]: corrupt payload: fuzzer findings - infinite loop (475 ms) === () Starting server 127.0.0.1:23025 ok -[ok]: corrupt payload: fuzzer findings - hash ziplist too long entry len (254 ms) +[ok]: corrupt payload: fuzzer findings - hash ziplist too long entry len (500 ms) === () Starting server 127.0.0.1:23027 ok -[ok]: corrupt payload: OOM in rdbGenericLoadStringObject (259 ms) +[ok]: corrupt payload: OOM in rdbGenericLoadStringObject (588 ms) === () Starting server 127.0.0.1:23029 ok -[ok]: corrupt payload: fuzzer findings - OOM in dictExpand (258 ms) +[ok]: corrupt payload: fuzzer findings - OOM in dictExpand (496 ms) === () Starting server 127.0.0.1:23031 ok -[ok]: corrupt payload: fuzzer findings - zset ziplist invalid tail offset (250 ms) +[ok]: corrupt payload: fuzzer findings - zset ziplist invalid tail offset (596 ms) === () Starting server 127.0.0.1:23033 ok -[ok]: corrupt payload: fuzzer findings - negative reply length (211 ms) +[ok]: corrupt payload: fuzzer findings - negative reply length (461 ms) === () Starting server 127.0.0.1:23035 ok -[ok]: corrupt payload: fuzzer findings - valgrind negative malloc (254 ms) +[ok]: corrupt payload: fuzzer findings - valgrind negative malloc (600 ms) === () Starting server 127.0.0.1:23037 ok -[ok]: corrupt payload: fuzzer findings - valgrind invalid read (248 ms) +[ok]: corrupt payload: fuzzer findings - valgrind invalid read (540 ms) === () Starting server 127.0.0.1:23039 ok -[ok]: corrupt payload: fuzzer findings - empty hash ziplist (261 ms) +[ok]: corrupt payload: fuzzer findings - empty hash ziplist (475 ms) === () Starting server 127.0.0.1:23041 ok -[ok]: corrupt payload: fuzzer findings - stream with no records (212 ms) +[ok]: corrupt payload: fuzzer findings - stream with no records (477 ms) === () Starting server 127.0.0.1:23043 ok -[ok]: corrupt payload: fuzzer findings - quicklist ziplist tail followed by extra data which start with 0xff (250 ms) +[ok]: corrupt payload: fuzzer findings - quicklist ziplist tail followed by extra data which start with 0xff (480 ms) === () Starting server 127.0.0.1:23045 ok -[ok]: corrupt payload: fuzzer findings - dict init to huge size (259 ms) +[ok]: corrupt payload: fuzzer findings - dict init to huge size (492 ms) === () Starting server 127.0.0.1:23047 ok -[ok]: corrupt payload: fuzzer findings - huge string (253 ms) +[ok]: corrupt payload: fuzzer findings - huge string (479 ms) === () Starting server 127.0.0.1:23049 ok -[ok]: corrupt payload: fuzzer findings - stream PEL without consumer (258 ms) +[ok]: corrupt payload: fuzzer findings - stream PEL without consumer (492 ms) === () Starting server 127.0.0.1:23051 ok -[ok]: corrupt payload: fuzzer findings - stream listpack valgrind issue (210 ms) +[ok]: corrupt payload: fuzzer findings - stream listpack valgrind issue (444 ms) === () Starting server 127.0.0.1:23053 ok -[ok]: corrupt payload: fuzzer findings - stream with bad lpFirst (259 ms) +[ok]: corrupt payload: fuzzer findings - stream with bad lpFirst (536 ms) === () Starting server 127.0.0.1:23055 ok -[ok]: corrupt payload: fuzzer findings - stream listpack lpPrev valgrind issue (198 ms) +[ok]: corrupt payload: fuzzer findings - stream listpack lpPrev valgrind issue (524 ms) === () Starting server 127.0.0.1:23057 ok -[ok]: corrupt payload: fuzzer findings - stream with non-integer entry id (260 ms) +[ok]: corrupt payload: fuzzer findings - stream with non-integer entry id (470 ms) === () Starting server 127.0.0.1:23059 ok -[ok]: corrupt payload: fuzzer findings - empty quicklist (249 ms) +[ok]: corrupt payload: fuzzer findings - empty quicklist (506 ms) === () Starting server 127.0.0.1:23061 ok -[ok]: corrupt payload: fuzzer findings - empty zset (251 ms) +[ok]: corrupt payload: fuzzer findings - empty zset (461 ms) === () Starting server 127.0.0.1:23063 ok -[ok]: corrupt payload: fuzzer findings - hash with len of 0 (260 ms) +[ok]: corrupt payload: fuzzer findings - hash with len of 0 (516 ms) === () Starting server 127.0.0.1:23065 ok -[ok]: corrupt payload: fuzzer findings - hash listpack first element too long entry len (251 ms) +[ok]: corrupt payload: fuzzer findings - hash listpack first element too long entry len (487 ms) === () Starting server 127.0.0.1:23067 ok -[ok]: corrupt payload: fuzzer findings - stream double free listpack when insert dup node to rax returns 0 (258 ms) +[ok]: corrupt payload: fuzzer findings - stream double free listpack when insert dup node to rax returns 0 (512 ms) === () Starting server 127.0.0.1:23069 ok -[ok]: corrupt payload: fuzzer findings - LCS OOM (256 ms) +[ok]: corrupt payload: fuzzer findings - LCS OOM (488 ms) === () Starting server 127.0.0.1:23071 ok -[ok]: corrupt payload: fuzzer findings - gcc asan reports false leak on assert (210 ms) +[ok]: corrupt payload: fuzzer findings - gcc asan reports false leak on assert (516 ms) === () Starting server 127.0.0.1:23073 ok -[ok]: corrupt payload: fuzzer findings - lpFind invalid access (207 ms) +[ok]: corrupt payload: fuzzer findings - lpFind invalid access (459 ms) === () Starting server 127.0.0.1:23075 ok -[ok]: corrupt payload: fuzzer findings - invalid access in ziplist tail prevlen decoding (259 ms) +[ok]: corrupt payload: fuzzer findings - invalid access in ziplist tail prevlen decoding (516 ms) === () Starting server 127.0.0.1:23077 ok -[ok]: corrupt payload: fuzzer findings - zset zslInsert with a NAN score (259 ms) +[ok]: corrupt payload: fuzzer findings - zset zslInsert with a NAN score (487 ms) === () Starting server 127.0.0.1:23079 ok -[ok]: corrupt payload: fuzzer findings - streamLastValidID panic (258 ms) +[ok]: corrupt payload: fuzzer findings - streamLastValidID panic (472 ms) === () Starting server 127.0.0.1:23081 ok -[ok]: corrupt payload: fuzzer findings - valgrind fishy value warning (259 ms) +[ok]: corrupt payload: fuzzer findings - valgrind fishy value warning (471 ms) === () Starting server 127.0.0.1:23083 ok -[ok]: corrupt payload: fuzzer findings - empty set listpack (259 ms) +[ok]: corrupt payload: fuzzer findings - empty set listpack (611 ms) === () Starting server 127.0.0.1:23085 ok -[ok]: corrupt payload: fuzzer findings - set with duplicate elements causes sdiff to hang (249 ms) -[116/124 done]: integration/corrupt-dump (18 seconds) +[ok]: corrupt payload: fuzzer findings - set with duplicate elements causes sdiff to hang (520 ms) +[116/124 done]: integration/corrupt-dump (38 seconds) Testing integration/corrupt-dump-fuzzer === () Starting server 127.0.0.1:23087 ok -Done 12 cycles in 10 seconds. -RESTORE: successful: 12, rejected: 0 -Total commands sent in traffic: 14482, crashes during traffic: 2 (0 by signal). -[ok]: Fuzzer corrupt restore payloads - sanitize_dump: no (9418 ms) +Done 24 cycles in 10 seconds. +RESTORE: successful: 16, rejected: 8 +Total commands sent in traffic: 5974, crashes during traffic: 6 (0 by signal). +[ok]: Fuzzer corrupt restore payloads - sanitize_dump: no (10492 ms) === () Starting server 127.0.0.1:23089 ok -Done 19 cycles in 10 seconds. -RESTORE: successful: 10, rejected: 9 -Total commands sent in traffic: 14672, crashes during traffic: 0 (0 by signal). -[ok]: Fuzzer corrupt restore payloads - sanitize_dump: yes (9940 ms) -[117/124 done]: integration/corrupt-dump-fuzzer (20 seconds) +Done 29 cycles in 10 seconds. +RESTORE: successful: 10, rejected: 19 +Total commands sent in traffic: 7802, crashes during traffic: 0 (0 by signal). +[ok]: Fuzzer corrupt restore payloads - sanitize_dump: yes (10056 ms) +[117/124 done]: integration/corrupt-dump-fuzzer (21 seconds) Testing integration/convert-zipmap-hash-on-load === () Starting server 127.0.0.1:23091 ok -[ok]: RDB load zipmap hash: converts to listpack (2 ms) +[ok]: RDB load zipmap hash: converts to listpack (1 ms) === () Starting server 127.0.0.1:23093 ok -[ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-entries is exceeded (2 ms) +[ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-entries is exceeded (4 ms) === () Starting server 127.0.0.1:23095 ok [ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-value is exceeded (1 ms) -[118/124 done]: integration/convert-zipmap-hash-on-load (0 seconds) +[118/124 done]: integration/convert-zipmap-hash-on-load (1 seconds) Testing integration/convert-ziplist-zset-on-load === () Starting server 127.0.0.1:23097 ok [ok]: RDB load ziplist zset: converts to listpack when RDB loading (1 ms) === () Starting server 127.0.0.1:23099 ok [ok]: RDB load ziplist zset: converts to skiplist when zset-max-ziplist-entries is exceeded (1 ms) -[119/124 done]: integration/convert-ziplist-zset-on-load (1 seconds) +[119/124 done]: integration/convert-ziplist-zset-on-load (2 seconds) Testing integration/convert-ziplist-hash-on-load === () Starting server 127.0.0.1:23101 ok -[ok]: RDB load ziplist hash: converts to listpack when RDB loading (2 ms) +[ok]: RDB load ziplist hash: converts to listpack when RDB loading (1 ms) === () Starting server 127.0.0.1:23103 ok -[ok]: RDB load ziplist hash: converts to hash table when hash-max-ziplist-entries is exceeded (1 ms) -[120/124 done]: integration/convert-ziplist-hash-on-load (0 seconds) +[ok]: RDB load ziplist hash: converts to hash table when hash-max-ziplist-entries is exceeded (4 ms) +[120/124 done]: integration/convert-ziplist-hash-on-load (1 seconds) Testing integration/block-repl === (repl external:skip) Starting server 127.0.0.1:23105 ok === () Starting server 127.0.0.1:23107 ok -[ok]: First server should have role slave after SLAVEOF (1005 ms) -[ok]: Test replication with blocking lists and sorted sets operations (25010 ms) +[ok]: First server should have role slave after SLAVEOF (1008 ms) +[ok]: Test replication with blocking lists and sorted sets operations (25042 ms) [121/124 done]: integration/block-repl (27 seconds) Testing integration/aof === () Starting server 127.0.0.1:23109 ok -[ok]: Unfinished MULTI: Server should start if load-truncated is yes (1 ms) +[ok]: Unfinished MULTI: Server should start if load-truncated is yes (8 ms) === () Starting server 127.0.0.1:23111 ok -[ok]: Short read: Server should start if load-truncated is yes (1 ms) -[ok]: Truncated AOF loaded: we expect foo to be equal to 5 (24 ms) +[ok]: Short read: Server should start if load-truncated is yes (12 ms) +[ok]: Truncated AOF loaded: we expect foo to be equal to 5 (27 ms) [ok]: Append a new command after loading an incomplete AOF (0 ms) === () Starting server 127.0.0.1:23113 ok -[ok]: Short read + command: Server should start (2 ms) -[ok]: Truncated AOF loaded: we expect foo to be equal to 6 now (31 ms) +[ok]: Short read + command: Server should start (15 ms) +[ok]: Truncated AOF loaded: we expect foo to be equal to 6 now (19 ms) === () Starting server 127.0.0.1:23115 -[ok]: Bad format: Server should have logged an error (2 ms) +[ok]: Bad format: Server should have logged an error (16 ms) === () Starting server 127.0.0.1:23117 -[ok]: Unfinished MULTI: Server should have logged an error (2 ms) +[ok]: Unfinished MULTI: Server should have logged an error (19 ms) === () Starting server 127.0.0.1:23119 -[ok]: Short read: Server should have logged an error (2 ms) -[ok]: Short read: Utility should confirm the AOF is not valid (20 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 (17 ms) +[ok]: Short read: Server should have logged an error (13 ms) +[ok]: Short read: Utility should confirm the AOF is not valid (448 ms) +[ok]: Short read: Utility should show the abnormal line num in AOF (23 ms) +[ok]: Short read: Utility should be able to fix the AOF (29 ms) === () Starting server 127.0.0.1:23121 ok -[ok]: Fixed AOF: Server should have been started (1 ms) -[ok]: Fixed AOF: Keyspace should contain values that were parseable (30 ms) +[ok]: Fixed AOF: Server should have been started (8 ms) +[ok]: Fixed AOF: Keyspace should contain values that were parseable (21 ms) === () Starting server 127.0.0.1:23123 ok -[ok]: AOF+SPOP: Server should have been started (2 ms) -[ok]: AOF+SPOP: Set should have 1 member (30 ms) +[ok]: AOF+SPOP: Server should have been started (16 ms) +[ok]: AOF+SPOP: Set should have 1 member (16 ms) === () Starting server 127.0.0.1:23125 ok -[ok]: AOF+SPOP: Server should have been started (1 ms) -[ok]: AOF+SPOP: Set should have 1 member (31 ms) +[ok]: AOF+SPOP: Server should have been started (16 ms) +[ok]: AOF+SPOP: Set should have 1 member (28 ms) === () Starting server 127.0.0.1:23127 ok -[ok]: AOF+EXPIRE: Server should have been started (1 ms) -[ok]: AOF+EXPIRE: List should be empty (31 ms) +[ok]: AOF+EXPIRE: Server should have been started (11 ms) +[ok]: AOF+EXPIRE: List should be empty (23 ms) === () Starting server 127.0.0.1:23129 ok -[ok]: Server should not try to convert DEL into EXPIREAT for EXPIRE -1 (1 ms) +[ok]: Server should not try to convert DEL into EXPIREAT for EXPIRE -1 (0 ms) === () Starting server 127.0.0.1:23131 ok -[ok]: AOF fsync always barrier issue (5569 ms) +[ok]: AOF fsync always barrier issue (6008 ms) === () Starting server 127.0.0.1:23133 ok -[ok]: GETEX should not append to AOF (2 ms) +[ok]: GETEX should not append to AOF (1 ms) === () Starting server 127.0.0.1:23135 -[ok]: Unknown command: Server should have logged an error (3 ms) +[ok]: Unknown command: Server should have logged an error (16 ms) === () Starting server 127.0.0.1:23137 ok -[ok]: AOF+LMPOP/BLMPOP: pop elements from the list (161 ms) +[ok]: AOF+LMPOP/BLMPOP: pop elements from the list (144 ms) === () Starting server 127.0.0.1:23139 ok -[ok]: AOF+LMPOP/BLMPOP: after pop elements from the list (31 ms) +[ok]: AOF+LMPOP/BLMPOP: after pop elements from the list (24 ms) === () Starting server 127.0.0.1:23141 ok -[ok]: AOF+ZMPOP/BZMPOP: pop elements from the zset (161 ms) +[ok]: AOF+ZMPOP/BZMPOP: pop elements from the zset (140 ms) === () Starting server 127.0.0.1:23143 ok -[ok]: AOF+ZMPOP/BZMPOP: after pop elements from the zset (31 ms) +[ok]: AOF+ZMPOP/BZMPOP: after pop elements from the zset (40 ms) === () Starting server 127.0.0.1:23145 ok -Waiting for background AOF rewrite to finish... [ok]: Generate timestamp annotations in AOF (352 ms) +Waiting for background AOF rewrite to finish... [ok]: Generate timestamp annotations in AOF (585 ms) === () Starting server 127.0.0.1:23147 ok -[ok]: Successfully load AOF which has timestamp annotations inside (31 ms) +[ok]: Successfully load AOF which has timestamp annotations inside (20 ms) === () Starting server 127.0.0.1:23149 ok === () Starting server 127.0.0.1:23151 ok === () Starting server 127.0.0.1:23153 ok -[ok]: Truncate AOF to specific timestamp (831 ms) +[ok]: Truncate AOF to specific timestamp (1478 ms) === () Starting server 127.0.0.1:23155 ok -[ok]: EVAL timeout with slow verbatim Lua script from AOF (1174 ms) +[ok]: EVAL timeout with slow verbatim Lua script from AOF (2236 ms) === () Starting server 127.0.0.1:23157 ok -[ok]: EVAL can process writes from AOF in read-only replicas (263 ms) -[ok]: Test valkey-check-aof for old style resp AOF (17 ms) -[ok]: Test valkey-check-aof for old style resp AOF - has data in the same format as manifest (17 ms) -[ok]: Test valkey-check-aof for old style rdb-preamble AOF (19 ms) -[ok]: Test valkey-check-aof for Multi Part AOF with resp AOF base (17 ms) -[ok]: Test valkey-check-aof for Multi Part AOF with rdb-preamble AOF base (20 ms) -[ok]: Test valkey-check-aof for Multi Part AOF contains a format error (17 ms) -[ok]: Test valkey-check-aof only truncates the last file for Multi Part AOF in fix mode (35 ms) -[ok]: Test valkey-check-aof only truncates the last file for Multi Part AOF in truncate-to-timestamp mode (17 ms) +[ok]: EVAL can process writes from AOF in read-only replicas (468 ms) +[ok]: Test valkey-check-aof for old style resp AOF (23 ms) +[ok]: Test valkey-check-aof for old style resp AOF - has data in the same format as manifest (22 ms) +[ok]: Test valkey-check-aof for old style rdb-preamble AOF (27 ms) +[ok]: Test valkey-check-aof for Multi Part AOF with resp AOF base (57 ms) +[ok]: Test valkey-check-aof for Multi Part AOF with rdb-preamble AOF base (28 ms) +[ok]: Test valkey-check-aof for Multi Part AOF contains a format error (19 ms) +[ok]: Test valkey-check-aof only truncates the last file for Multi Part AOF in fix mode (54 ms) +[ok]: Test valkey-check-aof only truncates the last file for Multi Part AOF in truncate-to-timestamp mode (12 ms) === () Starting server 127.0.0.1:23159 ok -[ok]: FLUSHDB / FLUSHALL should persist in AOF (5 ms) +[ok]: FLUSHDB / FLUSHALL should persist in AOF (9 ms) === () Starting server 127.0.0.1:23161 ok -[ok]: Turning appendonly on and off within a transaction (4 ms) +[ok]: Turning appendonly on and off within a transaction (12 ms) === () Starting server 127.0.0.1:23163 ok -[ok]: Test cluster slots / cluster shards in aof won't crash (260 ms) -[122/124 done]: integration/aof (14 seconds) +[ok]: Test cluster slots / cluster shards in aof won't crash (452 ms) +[122/124 done]: integration/aof (22 seconds) Testing integration/aof-race === () Starting server 127.0.0.1:23165 ok === () Starting server 127.0.0.1:23167 ok [123/124 done]: integration/aof-race (1 seconds) Testing integration/aof-multi-part === () Starting server 127.0.0.1:23169 -[ok]: Multi Part AOF can't load data when some file missing (125 ms) +[ok]: Multi Part AOF can't load data when some file missing (209 ms) === () Starting server 127.0.0.1:23171 -[ok]: Multi Part AOF can't load data when the sequence not increase monotonically (123 ms) +[ok]: Multi Part AOF can't load data when the sequence not increase monotonically (288 ms) === () Starting server 127.0.0.1:23173 -[ok]: Multi Part AOF can't load data when there are blank lines in the manifest file (123 ms) +[ok]: Multi Part AOF can't load data when there are blank lines in the manifest file (316 ms) === () Starting server 127.0.0.1:23175 -[ok]: Multi Part AOF can't load data when there is a duplicate base file (124 ms) +[ok]: Multi Part AOF can't load data when there is a duplicate base file (324 ms) === () Starting server 127.0.0.1:23177 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (type unknown) (123 ms) +[ok]: Multi Part AOF can't load data when the manifest format is wrong (type unknown) (321 ms) === () Starting server 127.0.0.1:23179 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (missing key) (124 ms) +[ok]: Multi Part AOF can't load data when the manifest format is wrong (missing key) (356 ms) === () Starting server 127.0.0.1:23181 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (line too short) (124 ms) +[ok]: Multi Part AOF can't load data when the manifest format is wrong (line too short) (391 ms) === () Starting server 127.0.0.1:23183 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (line too long) (124 ms) +[ok]: Multi Part AOF can't load data when the manifest format is wrong (line too long) (327 ms) === () Starting server 127.0.0.1:23185 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (odd parameter) (123 ms) +[ok]: Multi Part AOF can't load data when the manifest format is wrong (odd parameter) (332 ms) === () Starting server 127.0.0.1:23187 -[ok]: Multi Part AOF can't load data when the manifest file is empty (123 ms) +[ok]: Multi Part AOF can't load data when the manifest file is empty (335 ms) === () Starting server 127.0.0.1:23189 ok -[ok]: Multi Part AOF can start when no aof and no manifest (250 ms) +[ok]: Multi Part AOF can start when no aof and no manifest (579 ms) === () Starting server 127.0.0.1:23191 ok -[ok]: Multi Part AOF can start when we have en empty AOF dir (262 ms) +[ok]: Multi Part AOF can start when we have en empty AOF dir (476 ms) === () Starting server 127.0.0.1:23193 ok -[ok]: Multi Part AOF can load data discontinuously increasing sequence (257 ms) +[ok]: Multi Part AOF can load data discontinuously increasing sequence (552 ms) === () Starting server 127.0.0.1:23195 ok -[ok]: Multi Part AOF can load data when manifest add new k-v (257 ms) +[ok]: Multi Part AOF can load data when manifest add new k-v (487 ms) === () Starting server 127.0.0.1:23197 ok -[ok]: Multi Part AOF can load data when some AOFs are empty (257 ms) +[ok]: Multi Part AOF can load data when some AOFs are empty (491 ms) === () Starting server 127.0.0.1:23199 ok -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can load data from old version valkey (rdb preamble no) (359 ms) +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can load data from old version valkey (rdb preamble no) (619 ms) === () Starting server 127.0.0.1:23201 ok -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can load data from old version valkey (rdb preamble yes) (361 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can load data from old version valkey (rdb preamble yes) (583 ms) === () Starting server 127.0.0.1:23203 ok -[ok]: Multi Part AOF can continue the upgrade from the interrupted upgrade state (259 ms) +[ok]: Multi Part AOF can continue the upgrade from the interrupted upgrade state (464 ms) === () Starting server 127.0.0.1:23205 ok -[ok]: Multi Part AOF can be loaded correctly when both server dir and aof dir contain old AOF (261 ms) +[ok]: Multi Part AOF can be loaded correctly when both server dir and aof dir contain old AOF (520 ms) === () Starting server 127.0.0.1:23207 -[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 (128 ms) +[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 (347 ms) === () Starting server 127.0.0.1:23209 ok === () Starting server 127.0.0.1:23211 ok -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can upgrade when when two servers share the same server dir (server1) (85 ms) +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can upgrade when when two servers share the same server dir (server1) (92 ms) -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can upgrade when when two servers share the same server dir (server2) (89 ms) -[ok]: Multi Part AOF can upgrade when when two servers share the same server dir (768 ms) +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can upgrade when when two servers share the same server dir (server2) (96 ms) +[ok]: Multi Part AOF can upgrade when when two servers share the same server dir (1215 ms) === () Starting server 127.0.0.1:23213 ok -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can handle appendfilename contains whitespaces (358 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can handle appendfilename contains whitespaces (557 ms) === () Starting server 127.0.0.1:23215 ok -[ok]: Multi Part AOF can create BASE (RDB format) when server starts from empty (259 ms) +[ok]: Multi Part AOF can create BASE (RDB format) when server starts from empty (480 ms) === () Starting server 127.0.0.1:23217 ok -[ok]: Multi Part AOF can create BASE (AOF format) when server starts from empty (261 ms) +[ok]: Multi Part AOF can create BASE (AOF format) when server starts from empty (505 ms) === () Starting server 127.0.0.1:23219 ok Waiting for background AOF rewrite to finish... @@ -6344,14 +7182,13 @@ 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]: Changing aof-use-rdb-preamble during rewrite process (1380 ms) +Waiting for background AOF rewrite to finish... [ok]: Changing aof-use-rdb-preamble during rewrite process (1535 ms) === (Multi Part AOF) Starting server 127.0.0.1:23221 ok -[ok]: Make sure aof manifest appendonly.aof.manifest not in aof directory (0 ms) + +Waiting for background AOF rewrite to finish... [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 (454 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF enable will create manifest file (492 ms) Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... @@ -6359,24 +7196,23 @@ 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 (1121 ms) - Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF multiple rewrite failures will open multiple INCR AOFs (1444 ms) + 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 (696 ms) + Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite doesn't open new aof when AOF turn off (524 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF enable/disable auto gc (225 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 (210 ms) - -Waiting for background AOF rewrite to finish... [ok]: AOF can produce consecutive sequence number after reload (87 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF can produce consecutive sequence number after reload (207 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 (315 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF enable during BGSAVE will not write data util AOFRW finish (426 ms) Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... @@ -6384,145 +7220,153 @@ 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 (595 ms) +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 (915 ms) === () Starting server 127.0.0.1:23223 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 (2258 ms) -[124/124 done]: integration/aof-multi-part (13 seconds) +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 (3432 ms) +[124/124 done]: integration/aof-multi-part (21 seconds) The End Execution time of different units: - 29 seconds - unit/wait - 2 seconds - unit/violations - 3 seconds - unit/tracking + 31 seconds - unit/wait + 1 seconds - unit/violations + 4 seconds - unit/tracking 1 seconds - unit/tls - 10 seconds - unit/sort + 8 seconds - unit/sort 2 seconds - unit/slowlog 1 seconds - unit/shutdown - 39 seconds - unit/scripting - 27 seconds - unit/scan + 40 seconds - unit/scripting + 25 seconds - unit/scan 1 seconds - unit/replybufsize 1 seconds - unit/quit 6 seconds - unit/querybuf 2 seconds - unit/pubsubshard 2 seconds - unit/pubsub - 1 seconds - unit/protocol - 1 seconds - unit/printver + 2 seconds - unit/protocol + 0 seconds - unit/printver 2 seconds - unit/pause 12 seconds - unit/other 1 seconds - unit/oom-score-adj - 14 seconds - unit/obuf-limits + 15 seconds - unit/obuf-limits 2 seconds - unit/networking 6 seconds - unit/multi 5 seconds - unit/memefficiency - 84 seconds - unit/maxmemory + 82 seconds - unit/maxmemory 1 seconds - unit/limits 1 seconds - unit/lazyfree 6 seconds - unit/latency-monitor 2 seconds - unit/keyspace 12 seconds - unit/introspection 7 seconds - unit/introspection-2 - 3 seconds - unit/info - 1 seconds - unit/info-command - 63 seconds - unit/hyperloglog - 29 seconds - unit/geo - 6 seconds - unit/functions - 17 seconds - unit/expire - 26 seconds - unit/dump - 7 seconds - unit/client-eviction + 4 seconds - unit/info + 0 seconds - unit/info-command + 59 seconds - unit/hyperloglog + 25 seconds - unit/geo + 7 seconds - unit/functions + 16 seconds - unit/expire + 30 seconds - unit/dump + 9 seconds - unit/client-eviction 3 seconds - unit/bitops - 2 seconds - unit/bitfield - 4 seconds - unit/auth - 25 seconds - unit/aofrw + 3 seconds - unit/bitfield + 3 seconds - unit/auth + 26 seconds - unit/aofrw 3 seconds - unit/acl 1 seconds - unit/acl-v2 - 25 seconds - unit/type/zset - 11 seconds - unit/type/string + 26 seconds - unit/type/zset + 13 seconds - unit/type/string 15 seconds - unit/type/stream - 9 seconds - unit/type/stream-cgroups - 16 seconds - unit/type/set - 19 seconds - unit/type/list - 48 seconds - unit/type/list-3 - 10 seconds - unit/type/list-2 - 1 seconds - unit/type/incr - 4 seconds - unit/type/hash - 27 seconds - unit/cluster/update-msg - 14 seconds - unit/cluster/transactions-on-replica - 162 seconds - unit/cluster/slot-stats - 11 seconds - unit/cluster/slot-ownership + 8 seconds - unit/type/stream-cgroups + 20 seconds - unit/type/set + 20 seconds - unit/type/list + 51 seconds - unit/type/list-3 + 16 seconds - unit/type/list-2 + 0 seconds - unit/type/incr + 6 seconds - unit/type/hash + 26 seconds - unit/cluster/update-msg + 13 seconds - unit/cluster/transactions-on-replica + 167 seconds - unit/cluster/slot-stats + 12 seconds - unit/cluster/slot-ownership 84 seconds - unit/cluster/slot-migration 5 seconds - unit/cluster/slot-migration-response - 44 seconds - unit/cluster/slave-stop-cond - 65 seconds - unit/cluster/slave-selection + 43 seconds - unit/cluster/slave-stop-cond + 73 seconds - unit/cluster/slave-selection 11 seconds - unit/cluster/sharded-pubsub 3 seconds - unit/cluster/scripting - 148 seconds - unit/cluster/replica-migration - 19 seconds - unit/cluster/replica-in-sync - 12 seconds - unit/cluster/pubsubshard - 13 seconds - unit/cluster/pubsubshard-slot-migration - 13 seconds - unit/cluster/pubsub + 179 seconds - unit/cluster/replica-migration + 21 seconds - unit/cluster/replica-in-sync + 13 seconds - unit/cluster/pubsubshard + 14 seconds - unit/cluster/pubsubshard-slot-migration + 15 seconds - unit/cluster/pubsub 17 seconds - unit/cluster/no-failover-option 4 seconds - unit/cluster/multi-slot-operations - 12 seconds - unit/cluster/misc - 69 seconds - unit/cluster/many-slot-migration - 21 seconds - unit/cluster/manual-takeover - 70 seconds - unit/cluster/manual-failover + 13 seconds - unit/cluster/misc + 121 seconds - unit/cluster/many-slot-migration + 23 seconds - unit/cluster/manual-takeover + 79 seconds - unit/cluster/manual-failover 25 seconds - unit/cluster/links 3 seconds - unit/cluster/info 7 seconds - unit/cluster/human-announced-nodename - 14 seconds - unit/cluster/hostnames + 17 seconds - unit/cluster/hostnames 5 seconds - unit/cluster/half-migrated-slot - 30 seconds - unit/cluster/failure-marking - 28 seconds - unit/cluster/failover2 - 37 seconds - unit/cluster/failover - 13 seconds - unit/cluster/faildet - 107 seconds - unit/cluster/diskless-load-swapdb - 20 seconds - unit/cluster/consistency-check - 90 seconds - unit/cluster/cluster-slots - 15 seconds - unit/cluster/cluster-shards - 29 seconds - unit/cluster/cluster-response-tls + 31 seconds - unit/cluster/failure-marking + 29 seconds - unit/cluster/failover2 + 41 seconds - unit/cluster/failover + 38 seconds - unit/cluster/faildet + 109 seconds - unit/cluster/diskless-load-swapdb + 24 seconds - unit/cluster/consistency-check + 217 seconds - unit/cluster/cluster-slots + 16 seconds - unit/cluster/cluster-shards + 38 seconds - unit/cluster/cluster-response-tls 0 seconds - unit/cluster/cluster-reliable-meet 12 seconds - unit/cluster/cluster-nodes-slots 0 seconds - unit/cluster/cluster-multiple-meets - 0 seconds - unit/cluster/cli + 1 seconds - unit/cluster/cli 0 seconds - unit/cluster/base 12 seconds - unit/cluster/announced-endpoints - 28 seconds - unit/cluster/announce-client-ip - 10 seconds - integration/valkey-cli - 5 seconds - integration/valkey-benchmark - 12 seconds - integration/shutdown - 163 seconds - integration/replication - 335 seconds - integration/replication-psync - 30 seconds - integration/replication-buffer - 24 seconds - integration/replication-4 - 12 seconds - integration/replication-3 - 11 seconds - integration/replication-2 - 1 seconds - integration/replica-redirect - 8 seconds - integration/rdb - 47 seconds - integration/psync2 - 22 seconds - integration/psync2-reg - 18 seconds - integration/psync2-pingoff - 8 seconds - integration/psync2-master-restart - 1 seconds - integration/logging - 7 seconds - integration/failover - 190 seconds - integration/dual-channel-replication - 8 seconds - integration/dismiss-mem - 18 seconds - integration/corrupt-dump - 20 seconds - integration/corrupt-dump-fuzzer - 0 seconds - integration/convert-zipmap-hash-on-load - 1 seconds - integration/convert-ziplist-zset-on-load - 0 seconds - integration/convert-ziplist-hash-on-load + 31 seconds - unit/cluster/announce-client-ip + 17 seconds - integration/valkey-cli + 10 seconds - integration/valkey-benchmark + 15 seconds - integration/shutdown + 321 seconds - integration/replication + 361 seconds - integration/replication-psync + 52 seconds - integration/replication-buffer + 40 seconds - integration/replication-4 + 17 seconds - integration/replication-3 + 25 seconds - integration/replication-2 + 2 seconds - integration/replica-redirect + 18 seconds - integration/rdb + 45 seconds - integration/psync2 + 23 seconds - integration/psync2-reg + 22 seconds - integration/psync2-pingoff + 12 seconds - integration/psync2-master-restart + 2 seconds - integration/logging + 6 seconds - integration/failover + 413 seconds - integration/dual-channel-replication + 3 seconds - integration/dismiss-mem + 38 seconds - integration/corrupt-dump + 21 seconds - integration/corrupt-dump-fuzzer + 1 seconds - integration/convert-zipmap-hash-on-load + 2 seconds - integration/convert-ziplist-zset-on-load + 1 seconds - integration/convert-ziplist-hash-on-load 27 seconds - integration/block-repl - 14 seconds - integration/aof + 22 seconds - integration/aof 1 seconds - integration/aof-race - 13 seconds - integration/aof-multi-part + 21 seconds - integration/aof-multi-part -\o/ All tests passed without errors! +!!! WARNING The following tests failed: +*** [err]: diskless no replicas drop during rdb pipe in tests/integration/replication.tcl +rdb child didn't terminate +*** [err]: diskless fast replicas drop during rdb pipe in tests/integration/replication.tcl +rdb child didn't terminate +*** [err]: Test dual-channel: primary tracking replica backlog refcount - start with backlog in tests/integration/dual-channel-replication.tcl +Replica is not in sync after 70 seconds Cleanup: may take some time... OK timeout 30m ./runtest-cluster --tls || true Starting valkey #0 at port 30000 @@ -6546,333 +7390,335 @@ Starting valkey #18 at port 30036 Starting valkey #19 at port 30038 Testing unit: 03-failover-loop.tcl -18:28:33> (init) Restart killed instances: OK -18:28:33> Cluster nodes are reachable: OK -18:28:34> Cluster nodes hard reset: OK -18:28:34> Cluster Join and auto-discovery test: OK -18:28:36> Before slots allocation, all nodes report cluster failure: OK -18:28:36> Create a 5 nodes cluster: OK -18:28:40> Cluster is up: OK +21:44:39> (init) Restart killed instances: OK +21:44:39> Cluster nodes are reachable: OK +21:44:39> Cluster nodes hard reset: OK +21:44:40> Cluster Join and auto-discovery test: OK +21:44:42> Before slots allocation, all nodes report cluster failure: OK +21:44:42> Create a 5 nodes cluster: OK +21:44:46> Cluster is up: OK --- Iteration 19 --- -18:28:40> Cluster is writable before failover: OK -18:28:40> Terminating node #8: OK -18:28:41> Cluster should eventually be up again: OK -18:28:41> Cluster is writable again: OK -18:28:41> Restarting node #8: OK -18:28:41> Instance #8 is now a slave: OK -18:28:41> We can read back the value we set before: OK +21:44:46> Cluster is writable before failover: OK +21:44:46> Terminating node #9: OK +21:44:47> Cluster should eventually be up again: OK +21:44:47> Cluster is writable again: OK +21:44:47> Restarting node #9: OK +21:44:47> Instance #9 is now a slave: OK +21:44:47> We can read back the value we set before: OK --- Iteration 18 --- -18:28:41> Wait for slave of #3 to sync: OK -18:28:41> Cluster is writable before failover: OK -18:28:41> Terminating node #3: OK -18:28:42> Wait failover by #8 with old epoch 4: OK -18:28:47> Cluster should eventually be up again: OK -18:28:47> Cluster is writable again: OK -18:28:48> Restarting node #3: OK -18:28:48> Instance #3 is now a slave: OK -18:28:48> We can read back the value we set before: OK +21:44:47> Wait for slave of #2 to sync: OK +21:44:47> Cluster is writable before failover: OK +21:44:47> Terminating node #2: OK +21:44:48> Wait failover by #7 with old epoch 3: OK +21:44:52> Cluster should eventually be up again: OK +21:44:52> Cluster is writable again: OK +21:44:53> Restarting node #2: OK +21:44:54> Instance #2 is now a slave: OK +21:44:54> We can read back the value we set before: OK --- Iteration 17 --- -18:28:48> Wait for slave of #1 to sync: OK -18:28:48> Cluster is writable before failover: OK -18:28:48> Terminating node #1: OK -18:28:49> Wait failover by #6 with old epoch 2: OK -18:28:54> Cluster should eventually be up again: OK -18:28:54> Cluster is writable again: OK -18:28:54> Restarting node #1: OK -18:28:54> Instance #1 is now a slave: OK -18:28:54> We can read back the value we set before: OK +21:44:55> Wait for slave of #7 to sync: OK +21:44:55> Cluster is writable before failover: OK +21:44:55> Terminating node #7: OK +21:44:56> Wait failover by #2 with old epoch 21: OK +21:45:01> Cluster should eventually be up again: OK +21:45:01> Cluster is writable again: OK +21:45:02> Restarting node #7: OK +21:45:03> Instance #7 is now a slave: OK +21:45:03> We can read back the value we set before: OK --- Iteration 16 --- -18:28:54> Cluster is writable before failover: OK -18:28:54> Terminating node #3: OK -18:28:54> Cluster should eventually be up again: OK -18:28:54> Cluster is writable again: OK -18:28:54> Restarting node #3: OK -18:28:55> Instance #3 is now a slave: OK -18:28:55> We can read back the value we set before: OK +21:45:03> Cluster is writable before failover: OK +21:45:03> Terminating node #8: OK +21:45:03> Cluster should eventually be up again: OK +21:45:03> Cluster is writable again: OK +21:45:03> Restarting node #8: OK +21:45:04> Instance #8 is now a slave: OK +21:45:04> We can read back the value we set before: OK --- Iteration 15 --- -18:28:55> Cluster is writable before failover: OK -18:28:55> Terminating node #1: OK -18:28:55> Cluster should eventually be up again: OK -18:28:55> Cluster is writable again: OK -18:28:55> Restarting node #1: OK -18:28:55> Instance #1 is now a slave: OK -18:28:55> We can read back the value we set before: OK +21:45:04> Wait for slave of #4 to sync: OK +21:45:04> Cluster is writable before failover: OK +21:45:04> Terminating node #4: OK +21:45:05> Wait failover by #9 with old epoch 5: OK +21:45:10> Cluster should eventually be up again: OK +21:45:10> Cluster is writable again: OK +21:45:11> Restarting node #4: OK +21:45:11> Instance #4 is now a slave: OK +21:45:11> We can read back the value we set before: OK --- Iteration 14 --- -18:28:55> Cluster is writable before failover: OK -18:28:55> Terminating node #3: OK -18:28:55> Cluster should eventually be up again: OK -18:28:56> Cluster is writable again: OK -18:28:56> Restarting node #3: OK -18:28:56> Instance #3 is now a slave: OK -18:28:56> We can read back the value we set before: OK +21:45:11> Cluster is writable before failover: OK +21:45:11> Terminating node #4: OK +21:45:11> Cluster should eventually be up again: OK +21:45:12> Cluster is writable again: OK +21:45:12> Restarting node #4: OK +21:45:12> Instance #4 is now a slave: OK +21:45:12> We can read back the value we set before: OK --- Iteration 13 --- -18:28:56> Wait for slave of #8 to sync: OK -18:28:56> Cluster is writable before failover: OK -18:28:56> Terminating node #8: OK -18:28:57> Wait failover by #3 with old epoch 21: OK -18:29:02> Cluster should eventually be up again: OK -18:29:03> Cluster is writable again: OK -18:29:03> Restarting node #8: OK -18:29:03> Instance #8 is now a slave: OK -18:29:03> We can read back the value we set before: OK +21:45:13> Wait for slave of #2 to sync: OK +21:45:13> Cluster is writable before failover: OK +21:45:13> Terminating node #2: OK +21:45:14> Wait failover by #7 with old epoch 22: OK +21:45:20> Cluster should eventually be up again: OK +21:45:20> Cluster is writable again: OK +21:45:20> Restarting node #2: OK +21:45:21> Instance #2 is now a slave: OK +21:45:21> We can read back the value we set before: OK --- Iteration 12 --- -18:29:03> Cluster is writable before failover: OK -18:29:03> Terminating node #5: OK -18:29:03> Cluster should eventually be up again: OK -18:29:03> Cluster is writable again: OK -18:29:03> Restarting node #5: OK -18:29:04> Instance #5 is now a slave: OK -18:29:04> We can read back the value we set before: OK +21:45:21> Cluster is writable before failover: OK +21:45:21> Terminating node #4: OK +21:45:21> Cluster should eventually be up again: OK +21:45:21> Cluster is writable again: OK +21:45:21> Restarting node #4: OK +21:45:22> Instance #4 is now a slave: OK +21:45:22> We can read back the value we set before: OK --- Iteration 11 --- -18:29:04> Cluster is writable before failover: OK -18:29:04> Terminating node #5: OK -18:29:04> Cluster should eventually be up again: OK -18:29:04> Cluster is writable again: OK -18:29:04> Restarting node #5: OK -18:29:04> Instance #5 is now a slave: OK -18:29:04> We can read back the value we set before: OK +21:45:22> Cluster is writable before failover: OK +21:45:22> Terminating node #2: OK +21:45:22> Cluster should eventually be up again: OK +21:45:22> Cluster is writable again: OK +21:45:22> Restarting node #2: OK +21:45:23> Instance #2 is now a slave: OK +21:45:23> We can read back the value we set before: OK --- Iteration 10 --- -18:29:04> Wait for slave of #2 to sync: OK -18:29:04> Cluster is writable before failover: OK -18:29:04> Terminating node #2: OK -18:29:05> Wait failover by #7 with old epoch 3: OK -18:29:10> Cluster should eventually be up again: OK -18:29:10> Cluster is writable again: OK -18:29:11> Restarting node #2: OK -18:29:11> Instance #2 is now a slave: OK -18:29:11> We can read back the value we set before: OK +21:45:23> Cluster is writable before failover: OK +21:45:23> Terminating node #8: OK +21:45:24> Cluster should eventually be up again: OK +21:45:24> Cluster is writable again: OK +21:45:24> Restarting node #8: OK +21:45:24> Instance #8 is now a slave: OK +21:45:24> We can read back the value we set before: OK --- Iteration 9 --- -18:29:11> Wait for slave of #0 to sync: OK -18:29:11> Cluster is writable before failover: OK -18:29:11> Terminating node #0: OK -18:29:12> Wait failover by #5 with old epoch 1: OK -18:29:17> Cluster should eventually be up again: OK -18:29:18> Cluster is writable again: OK -18:29:18> Restarting node #0: OK -18:29:18> Instance #0 is now a slave: OK -18:29:18> We can read back the value we set before: OK +21:45:24> Cluster is writable before failover: OK +21:45:24> Terminating node #2: OK +21:45:24> Cluster should eventually be up again: OK +21:45:24> Cluster is writable again: OK +21:45:25> Restarting node #2: OK +21:45:25> Instance #2 is now a slave: OK +21:45:25> We can read back the value we set before: OK --- Iteration 8 --- -18:29:18> Cluster is writable before failover: OK -18:29:18> Terminating node #2: OK -18:29:18> Cluster should eventually be up again: OK -18:29:18> Cluster is writable again: OK -18:29:18> Restarting node #2: OK -18:29:19> Instance #2 is now a slave: OK -18:29:19> We can read back the value we set before: OK +21:45:25> Cluster is writable before failover: OK +21:45:25> Terminating node #2: OK +21:45:25> Cluster should eventually be up again: OK +21:45:25> Cluster is writable again: OK +21:45:25> Restarting node #2: OK +21:45:26> Instance #2 is now a slave: OK +21:45:26> We can read back the value we set before: OK --- Iteration 7 --- -18:29:19> Wait for slave of #6 to sync: OK -18:29:19> Cluster is writable before failover: OK -18:29:19> Terminating node #6: OK -18:29:19> Wait failover by #1 with old epoch 22: OK -18:29:25> Cluster should eventually be up again: OK -18:29:25> Cluster is writable again: OK -18:29:25> Restarting node #6: OK -18:29:26> Instance #6 is now a slave: OK -18:29:26> We can read back the value we set before: OK +21:45:26> Cluster is writable before failover: OK +21:45:26> Terminating node #8: OK +21:45:27> Cluster should eventually be up again: OK +21:45:27> Cluster is writable again: OK +21:45:27> Restarting node #8: OK +21:45:27> Instance #8 is now a slave: OK +21:45:27> We can read back the value we set before: OK --- Iteration 6 --- -18:29:26> Cluster is writable before failover: OK -18:29:26> Terminating node #2: OK -18:29:26> Cluster should eventually be up again: OK -18:29:26> Cluster is writable again: OK -18:29:26> Restarting node #2: OK -18:29:26> Instance #2 is now a slave: OK -18:29:26> We can read back the value we set before: OK +21:45:28> Wait for slave of #1 to sync: OK +21:45:28> Cluster is writable before failover: OK +21:45:28> Terminating node #1: OK +21:45:28> Wait failover by #6 with old epoch 2: OK +21:45:34> Cluster should eventually be up again: OK +21:45:34> Cluster is writable again: OK +21:45:34> Restarting node #1: OK +21:45:34> Instance #1 is now a slave: OK +21:45:34> We can read back the value we set before: OK --- Iteration 5 --- -18:29:26> Cluster is writable before failover: OK -18:29:26> Terminating node #6: OK -18:29:26> Cluster should eventually be up again: OK -18:29:27> Cluster is writable again: OK -18:29:27> Restarting node #6: OK -18:29:27> Instance #6 is now a slave: OK -18:29:27> We can read back the value we set before: OK +21:45:35> Wait for slave of #6 to sync: OK +21:45:35> Cluster is writable before failover: OK +21:45:35> Terminating node #6: OK +21:45:37> Wait failover by #1 with old epoch 25: OK +21:45:41> Cluster should eventually be up again: OK +21:45:41> Cluster is writable again: OK +21:45:42> Restarting node #6: OK +21:45:42> Instance #6 is now a slave: OK +21:45:42> We can read back the value we set before: OK --- Iteration 4 --- -18:29:27> Cluster is writable before failover: OK -18:29:27> Terminating node #0: OK -18:29:27> Cluster should eventually be up again: OK -18:29:27> Cluster is writable again: OK -18:29:27> Restarting node #0: OK -18:29:27> Instance #0 is now a slave: OK -18:29:27> We can read back the value we set before: OK +21:45:43> Cluster is writable before failover: OK +21:45:43> Terminating node #8: OK +21:45:43> Cluster should eventually be up again: OK +21:45:43> Cluster is writable again: OK +21:45:43> Restarting node #8: OK +21:45:43> Instance #8 is now a slave: OK +21:45:43> We can read back the value we set before: OK --- Iteration 3 --- -18:29:28> Wait for slave of #4 to sync: OK -18:29:28> Cluster is writable before failover: OK -18:29:28> Terminating node #4: OK -18:29:28> Wait failover by #9 with old epoch 5: OK -18:29:33> Cluster should eventually be up again: OK -18:29:33> Cluster is writable again: OK -18:29:34> Restarting node #4: OK -18:29:34> Instance #4 is now a slave: OK -18:29:34> We can read back the value we set before: OK +21:45:43> Cluster is writable before failover: OK +21:45:43> Terminating node #8: OK +21:45:44> Cluster should eventually be up again: OK +21:45:44> Cluster is writable again: OK +21:45:44> Restarting node #8: OK +21:45:44> Instance #8 is now a slave: OK +21:45:44> We can read back the value we set before: OK --- Iteration 2 --- -18:29:34> Cluster is writable before failover: OK -18:29:34> Terminating node #2: OK -18:29:34> Cluster should eventually be up again: OK -18:29:34> Cluster is writable again: OK -18:29:34> Restarting node #2: OK -18:29:35> Instance #2 is now a slave: OK -18:29:35> We can read back the value we set before: OK +21:45:45> Wait for slave of #0 to sync: OK +21:45:45> Cluster is writable before failover: OK +21:45:45> Terminating node #0: OK +21:45:46> Wait failover by #5 with old epoch 1: OK +21:45:51> Cluster should eventually be up again: OK +21:45:51> Cluster is writable again: OK +21:45:51> Restarting node #0: OK +21:45:52> Instance #0 is now a slave: OK +21:45:52> We can read back the value we set before: OK --- Iteration 1 --- -18:29:35> Cluster is writable before failover: OK -18:29:35> Terminating node #2: OK -18:29:35> Cluster should eventually be up again: OK -18:29:35> Cluster is writable again: OK -18:29:35> Restarting node #2: OK -18:29:35> Instance #2 is now a slave: OK -18:29:35> We can read back the value we set before: OK -18:29:35> Post condition: current_epoch >= my_epoch everywhere: OK +21:45:52> Wait for slave of #9 to sync: OK +21:45:52> Cluster is writable before failover: OK +21:45:53> Terminating node #9: OK +21:45:54> Wait failover by #4 with old epoch 23: OK +21:45:58> Cluster should eventually be up again: OK +21:45:58> Cluster is writable again: OK +21:45:59> Restarting node #9: OK +21:46:00> Instance #9 is now a slave: OK +21:46:00> We can read back the value we set before: OK +21:46:00> Post condition: current_epoch >= my_epoch everywhere: OK Testing unit: 04-resharding.tcl -18:29:35> (init) Restart killed instances: OK -18:29:35> Cluster nodes are reachable: OK -18:29:35> Cluster nodes hard reset: OK -18:29:36> Cluster Join and auto-discovery test: OK -18:29:38> Before slots allocation, all nodes report cluster failure: OK -18:29:38> Create a 5 nodes cluster: OK -18:29:42> Cluster is up: OK -18:29:42> Enable AOF in all the instances: OK +21:46:00> (init) Restart killed instances: OK +21:46:00> Cluster nodes are reachable: OK +21:46:00> Cluster nodes hard reset: OK +21:46:02> Cluster Join and auto-discovery test: OK +21:46:04> Before slots allocation, all nodes report cluster failure: OK +21:46:04> Create a 5 nodes cluster: OK +21:46:08> Cluster is up: OK +21:46:08> Enable AOF in all the instances: OK Testing TLS cluster on start node 127.0.0.1:30000, plaintext port 30001 -18:29:42> Cluster consistency during live resharding: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...Starting resharding...WW................................................................................................W........................................................................................................................W....................................................................................................W...................................................................................................................................................W.......................................................................................................................W............................................W...............................W........................................W........................................................W.......................................................................................................................................................................W.............................................................................WWWWWWWW...Starting resharding...WW.............................................................................................W........................................................W.........................................W..............................................W...............................................................................W...............................................................................................................................................W.................................................................................................W...............................................................................................................................................................W....................................................................................................................W.................................................................................................................................................WWWWWWWWW...Starting resharding...WW............................................................W........................................................................................................................................................................W..................................................................................................W.............................................................................................................W..............................................................................................................................................W.....................................................................................................................................W......................................................................................................W...................................................................................................................W.....................................................................Starting resharding...WW...........................................................................W..........................................................................................................W...................................................................................................................................................................................W................................................................................................W...........................................................................................................W................................................................................................................................................................................W........................................................................................................................................................W.........................................................................................................W...Starting resharding...W....................................W...............................................................................................................................W....................................................................................................................................................W...............................................................................................................................W..................................................................................................................W......................................................................................................................................................W.................................................................................................................................................................W.....................................................................................................................W..............W...Starting resharding...WW............................................................W.........................................................................................................................W..................................................................................................................................................W.......................................................................................................................................................W............................................................................................................W...................................................................................................................W............................................................................................................................................W................................................................................................................................................W............................Starting resharding...W.........W......................................................................................................................................W................................................................................................................................................................W............................................................................................W...................................................................................................................................W...............................................................................................................................................W.......................................................................................................................................W...........................................................................................................................................W......................................................W...Starting resharding...WW............................................................W..................................................................................................W...........................................................................................................................................W......................................................................................................W......................................................................................................................................W..............................................................................................................W..............................................................................................................................................W.................................................................................................W..........................................................................................................OK -18:31:48> Verify 50000 keys for consistency with logical content: OK -18:32:05> Terminate and restart all the instances: OK -18:32:12> Cluster should eventually be up again: OK -18:32:14> Verify 50000 keys after the restart: OK -18:32:31> Disable AOF in all the instances: OK -18:32:31> Verify slaves consistency: OK -18:32:32> Dump sanitization was skipped for migrations: OK +21:46:08> Cluster consistency during live resharding: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...Starting resharding...W......W....................................................................................W...............................................................................W.....................................................................................W.............................................................................W...............................................................................................W....................................................................................................................................................................................................W.................................................................................................................................................................................................................................................W.........................................................................................................................W...Starting resharding...W.................................W.........................................................W..................................................................................................................W..............................................................................................W.....................................................................W................................................................................................................W...........................................................................................................................................................W................................................................................................................................................W........................................................................................................................................................................................W...Starting resharding...W..........................................................................................W.......................................................................................................................W.......................................................................................................................................................................W....................................................................................................................................................................................................................................................................................................................................................W...........................................................................................................................................................................................................................................................................................WWWWW...Starting resharding...W........................W.............................................................................................................................W.............................................................................................................................................................................W.............................................................................................................................................W.............................................................................................................................................................................................................W..........................................................................................................................................................................................................................W...........................................................................................................WWW...Starting resharding...W......W..........................................................W..................................................................................................W..............................................................................................W..............................................................................................................................................................................................W....................................................................................................................................................................................................................................................................................................W.................................................................................................................................................................................................................................W..................................WW...Starting resharding...W........................W.............................................................................................W............................................................................................................W.....................................................................................................W.............................................................................................................................................................W................................................................................................................................................................................................................................................W......................................................................................................................................................................................................................................................................................WWW...Starting resharding...W........................W............................................................................W.......................................................................................................................................................................................................................W.......................................................................................................................................................................W..................................................................................................................................W.................................................................................................................................................................................................................................................W................................................................................................................................................................WWW...Starting resharding...W...............W...................................................................................................W.................................................................W............................................................................W...............................................................................................................W...............................................................................................................W........................................................................................................W............................................................................................W........................................................................................W.................................................................................................................W...............................................................................................................................WWWWWWWWW...Starting resharding...WW...........................................................................W...................................................................................................W................................................................................................W........................................................................................W....................................................................................................................................................................................................................W...........................................................................................................................................................................................................W.............................................................................................................................................................................................................W.....................WOK +21:50:01> Verify 50000 keys for consistency with logical content: OK +21:51:38> Terminate and restart all the instances: OK +21:51:56> Cluster should eventually be up again: OK +21:51:58> Verify 50000 keys after the restart: OK +21:53:38> Disable AOF in all the instances: OK +21:53:38> Verify slaves consistency: OK +21:53:41> Dump sanitization was skipped for migrations: OK Testing unit: 07-replica-migration.tcl -18:32:32> (init) Restart killed instances: OK -18:32:32> Cluster nodes are reachable: OK -18:32:32> Cluster nodes hard reset: OK -18:32:33> Cluster Join and auto-discovery test: OK -18:32:36> Before slots allocation, all nodes report cluster failure: OK -18:32:36> Create a 5 nodes cluster: OK -18:32:40> Cluster is up: OK -18:32:40> Each master should have two replicas attached: OK -18:32:40> Killing all the slaves of master #0 and #1: OK -18:32:45> Master #0 should have at least one replica: OK -18:32:50> Master #1 should have at least one replica: OK -18:32:51> Master #2 should have at least one replica: OK -18:32:51> Master #3 should have at least one replica: OK -18:32:51> Master #4 should have at least one replica: OK -18:32:51> (init) Restart killed instances: valkey/5 valkey/6 valkey/10 valkey/11 OK -18:32:52> Cluster nodes are reachable: OK -18:32:52> Cluster nodes hard reset: OK -18:32:53> Cluster Join and auto-discovery test: OK -18:32:55> Before slots allocation, all nodes report cluster failure: OK -18:32:55> Create a 5 nodes cluster: OK -18:32:58> Cluster is up: OK -18:32:58> Kill slave #7 of master #2. Only slave left is #12 now: OK -18:32:58> Killing master node #2, #12 should failover: OK -18:32:59> Wait for failover: OK -18:33:04> Cluster should eventually be up again: OK -18:33:04> Cluster is writable: OK -18:33:05> Instance 12 is now a master without slaves: OK -18:33:05> Master #12 should get at least one migrated replica: OK +21:53:41> (init) Restart killed instances: OK +21:53:41> Cluster nodes are reachable: OK +21:53:41> Cluster nodes hard reset: OK +21:53:43> Cluster Join and auto-discovery test: OK +21:53:47> Before slots allocation, all nodes report cluster failure: OK +21:53:47> Create a 5 nodes cluster: OK +21:53:50> Cluster is up: OK +21:53:50> Each master should have two replicas attached: OK +21:53:50> Killing all the slaves of master #0 and #1: OK +21:53:55> Master #0 should have at least one replica: OK +21:54:00> Master #1 should have at least one replica: OK +21:54:00> Master #2 should have at least one replica: OK +21:54:00> Master #3 should have at least one replica: OK +21:54:00> Master #4 should have at least one replica: OK +21:54:00> (init) Restart killed instances: valkey/5 valkey/6 valkey/10 valkey/11 OK +21:54:03> Cluster nodes are reachable: OK +21:54:03> Cluster nodes hard reset: OK +21:54:06> Cluster Join and auto-discovery test: OK +21:54:08> Before slots allocation, all nodes report cluster failure: OK +21:54:08> Create a 5 nodes cluster: OK +21:54:12> Cluster is up: OK +21:54:12> Kill slave #7 of master #2. Only slave left is #12 now: OK +21:54:12> Killing master node #2, #12 should failover: OK +21:54:13> Wait for failover: OK +21:54:18> Cluster should eventually be up again: OK +21:54:19> Cluster is writable: OK +21:54:19> Instance 12 is now a master without slaves: OK +21:54:19> Master #12 should get at least one migrated replica: OK Testing unit: 12-replica-migration-2.tcl -18:33:09> (init) Restart killed instances: valkey/2 valkey/7 OK -18:33:10> Cluster nodes are reachable: OK -18:33:10> Cluster nodes hard reset: OK -18:33:10> Cluster Join and auto-discovery test: OK -18:33:13> Before slots allocation, all nodes report cluster failure: OK -18:33:13> Create a 5 nodes cluster: OK -18:33:16> Cluster is up: OK -18:33:16> Each master should have at least two replicas attached: OK -18:33:16> Set allow-replica-migration yes: OK -18:33:16> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) +21:54:24> (init) Restart killed instances: valkey/2 valkey/7 OK +21:54:25> Cluster nodes are reachable: OK +21:54:25> Cluster nodes hard reset: OK +21:54:27> Cluster Join and auto-discovery test: OK +21:54:30> Before slots allocation, all nodes report cluster failure: OK +21:54:30> Create a 5 nodes cluster: OK +21:54:34> Cluster is up: OK +21:54:34> Each master should have at least two replicas attached: OK +21:54:34> Set allow-replica-migration yes: OK +21:54:34> 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:30002 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30004 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### -Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30006 -#################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 816 slots from 127.0.0.1:30000 to 127.0.0.1:30008 ################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################ OK -18:33:52> Master #0 who lost all slots should turn into a replica without replicas: OK -18:33:52> Resharding back some slot to master #0: >>> Performing Cluster Check (using node 127.0.0.1:30000) +21:57:14> Master #0 who lost all slots should turn into a replica without replicas: OK +21:57:14> 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 -18:34:03> Master #0 should re-acquire one or more replicas: OK +21:57:25> Master #0 should re-acquire one or more replicas: OK Testing unit: 12.1-replica-migration-3.tcl -18:34:03> (init) Restart killed instances: OK -18:34:03> Cluster nodes are reachable: OK -18:34:03> Cluster nodes hard reset: OK -18:34:03> Cluster Join and auto-discovery test: OK -18:34:05> Before slots allocation, all nodes report cluster failure: OK -18:34:05> Create a 5 nodes cluster: OK -18:34:09> Cluster is up: OK -18:34:09> Each master should have at least two replicas attached: OK -18:34:09> Set allow-replica-migration no: OK -18:34:09> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) +21:57:25> (init) Restart killed instances: OK +21:57:25> Cluster nodes are reachable: OK +21:57:25> Cluster nodes hard reset: OK +21:57:28> Cluster Join and auto-discovery test: OK +21:57:30> Before slots allocation, all nodes report cluster failure: OK +21:57:30> Create a 5 nodes cluster: OK +21:57:34> Cluster is up: OK +21:57:34> Each master should have at least two replicas attached: OK +21:57:34> Set allow-replica-migration no: OK +21:57:34> 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:30004 +#################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30006 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 816 slots from 127.0.0.1:30000 to 127.0.0.1:30008 ################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################ OK -18:34:45> Wait cluster to be stable: OK -18:34:46> Master #0 still should have its replicas: OK -18:34:46> Each master should have at least two replicas attached: OK +22:00:05> Wait cluster to be stable: OK +22:00:06> Master #0 still should have its replicas: OK +22:00:06> Each master should have at least two replicas attached: OK Testing unit: 28-cluster-shards.tcl -18:34:46> (init) Restart killed instances: OK -18:34:46> Cluster nodes are reachable: OK -18:34:46> Cluster nodes hard reset: OK -18:34:47> Cluster Join and auto-discovery test: OK -18:34:49> Before slots allocation, all nodes report cluster failure: OK -18:34:49> Create a 8 nodes cluster with 4 shards: OK -18:34:49> Cluster should start ok: OK -18:34:53> Set cluster hostnames and verify they are propagated: OK -18:34:55> Verify information about the shards: OK -18:34:57> Verify no slot shard: OK -18:34:57> Kill a node and tell the replica to immediately takeover: OK -18:34:57> Verify health as fail for killed node: OK -18:35:02> Restarting primary node: OK -18:35:02> Instance #0 gets converted into a replica: OK -18:35:02> Test the replica reports a loading state while it's loading: OK -18:35:05> Regression test for a crash when calling SHARDS during handshake: OK -18:35:05> Cluster is up: OK -18:35:09> Shard ids are unique: OK -18:35:09> CLUSTER MYSHARDID reports same id for both primary and replica: OK -18:35:09> New replica receives primary's shard id: OK -18:35:09> CLUSTER MYSHARDID reports same shard id after shard restart: OK -18:35:11> CLUSTER MYSHARDID reports same shard id after cluster restart: OK +22:00:06> (init) Restart killed instances: OK +22:00:06> Cluster nodes are reachable: OK +22:00:06> Cluster nodes hard reset: OK +22:00:08> Cluster Join and auto-discovery test: OK +22:00:11> Before slots allocation, all nodes report cluster failure: OK +22:00:11> Create a 8 nodes cluster with 4 shards: OK +22:00:11> Cluster should start ok: OK +22:00:15> Set cluster hostnames and verify they are propagated: OK +22:00:17> Verify information about the shards: OK +22:00:20> Verify no slot shard: OK +22:00:20> Kill a node and tell the replica to immediately takeover: OK +22:00:21> Verify health as fail for killed node: OK +22:00:24> Restarting primary node: OK +22:00:25> Instance #0 gets converted into a replica: OK +22:00:25> Test the replica reports a loading state while it's loading: OK +22:00:27> Regression test for a crash when calling SHARDS during handshake: OK +22:00:28> Cluster is up: OK +22:00:31> Shard ids are unique: OK +22:00:31> CLUSTER MYSHARDID reports same id for both primary and replica: OK +22:00:31> New replica receives primary's shard id: OK +22:00:31> CLUSTER MYSHARDID reports same shard id after shard restart: OK +22:00:35> CLUSTER MYSHARDID reports same shard id after cluster restart: OK Cleaning up... -killing stale instance 3700336 -killing stale instance 3700614 -killing stale instance 3701505 -killing stale instance 3701592 -killing stale instance 3702028 -killing stale instance 3702059 -killing stale instance 3702078 -killing stale instance 3702102 -killing stale instance 3702135 -killing stale instance 3702161 -killing stale instance 3709840 -killing stale instance 3709927 -killing stale instance 3726058 -killing stale instance 3726126 -killing stale instance 3726220 -killing stale instance 3726453 -killing stale instance 3726761 -killing stale instance 3727047 -killing stale instance 3727194 -killing stale instance 3727262 +killing stale instance 1653827 +killing stale instance 1653853 +killing stale instance 1653919 +killing stale instance 1653945 +killing stale instance 1653962 +killing stale instance 1653995 +killing stale instance 1654022 +killing stale instance 1654045 +killing stale instance 1654074 +killing stale instance 1654117 +killing stale instance 1661690 +killing stale instance 1661876 +killing stale instance 1695971 +killing stale instance 1696027 +killing stale instance 1696070 +killing stale instance 1696133 +killing stale instance 1696192 +killing stale instance 1696230 +killing stale instance 1696285 +killing stale instance 1696401 GOOD! No errors. ./runtest-sentinel || true Starting sentinel #0 at port 20000 @@ -6886,248 +7732,248 @@ Starting valkey #3 at port 30003 Starting valkey #4 at port 30004 Testing unit: 00-base.tcl -18:35:19> (start-init) Flush config and compare rewrite config file lines: OK -18:35:19> (init) Restart killed instances: OK -18:35:19> (init) Remove old primary entry from sentinels: OK -18:35:19> (init) Create a primary-replicas cluster of 5 instances: OK -18:35:19> (init) Sentinels can start monitoring a primary: OK -18:35:19> (init) Sentinels can talk with the primary: OK -18:35:19> (init) Sentinels are able to auto-discover other sentinels: OK -18:35:21> (init) Sentinels are able to auto-discover replicas: OK -18:35:21> Sentinel command flag infrastructure works correctly: OK -18:35:21> SENTINEL HELP output the sentinel subcommand help: OK -18:35:21> SENTINEL MYID return the sentinel instance ID: OK -18:35:21> SENTINEL INFO CACHE returns the cached info: OK -18:35:21> SENTINEL PENDING-SCRIPTS returns the information about pending scripts: OK -18:35:21> SENTINEL PRIMARIES returns a list of monitored primaries: OK -18:35:21> SENTINEL SENTINELS returns a list of sentinel instances: OK -18:35:21> SENTINEL SLAVES returns a list of the monitored replicas: OK -18:35:21> SENTINEL SIMULATE-FAILURE HELP list supported flags: OK -18:35:21> Basic failover works if the primary is down: OK -18:35:25> New primary 127.0.0.1:30004 role matches: OK -18:35:25> All the other slaves now point to the new primary: OK -18:35:25> The old primary eventually gets reconfigured as a slave: OK -18:35:36> ODOWN is not possible without N (quorum) Sentinels reports: OK -18:35:38> Failover is not possible without majority agreement: OK -18:35:38> Failover works if we configure for absolute agreement: OK -18:35:44> New primary 127.0.0.1:30001 role matches: OK -18:35:44> SENTINEL RESET can resets the primary: OK -18:35:44> SENTINEL IS-PRIMARY-DOWN-BY-ADDR checks if the primary is down: OK +22:00:54> (start-init) Flush config and compare rewrite config file lines: OK +22:00:54> (init) Restart killed instances: OK +22:00:54> (init) Remove old primary entry from sentinels: OK +22:00:54> (init) Create a primary-replicas cluster of 5 instances: OK +22:00:54> (init) Sentinels can start monitoring a primary: OK +22:00:54> (init) Sentinels can talk with the primary: OK +22:00:54> (init) Sentinels are able to auto-discover other sentinels: OK +22:00:56> (init) Sentinels are able to auto-discover replicas: OK +22:00:56> Sentinel command flag infrastructure works correctly: OK +22:00:56> SENTINEL HELP output the sentinel subcommand help: OK +22:00:56> SENTINEL MYID return the sentinel instance ID: OK +22:00:56> SENTINEL INFO CACHE returns the cached info: OK +22:00:56> SENTINEL PENDING-SCRIPTS returns the information about pending scripts: OK +22:00:56> SENTINEL PRIMARIES returns a list of monitored primaries: OK +22:00:56> SENTINEL SENTINELS returns a list of sentinel instances: OK +22:00:56> SENTINEL SLAVES returns a list of the monitored replicas: OK +22:00:56> SENTINEL SIMULATE-FAILURE HELP list supported flags: OK +22:00:56> Basic failover works if the primary is down: OK +22:01:00> New primary 127.0.0.1:30004 role matches: OK +22:01:00> All the other slaves now point to the new primary: OK +22:01:00> The old primary eventually gets reconfigured as a slave: OK +22:01:11> ODOWN is not possible without N (quorum) Sentinels reports: OK +22:01:13> Failover is not possible without majority agreement: OK +22:01:16> Failover works if we configure for absolute agreement: OK +22:01:20> New primary 127.0.0.1:30001 role matches: OK +22:01:20> SENTINEL RESET can resets the primary: OK +22:01:20> SENTINEL IS-PRIMARY-DOWN-BY-ADDR checks if the primary is down: OK Testing unit: 01-conf-update.tcl -18:35:44> (init) Restart killed instances: OK -18:35:44> (init) Remove old primary entry from sentinels: OK -18:35:44> (init) Create a primary-replicas cluster of 5 instances: OK -18:35:44> (init) Sentinels can start monitoring a primary: OK -18:35:44> (init) Sentinels can talk with the primary: OK -18:35:44> (init) Sentinels are able to auto-discover other sentinels: OK -18:35:46> (init) Sentinels are able to auto-discover replicas: OK -18:35:46> We can failover with Sentinel 1 crashed: OK -18:35:50> After Sentinel 1 is restarted, its config gets updated: OK -18:35:50> New primary 127.0.0.1:30001 role matches: OK -18:35:50> Update log level: OK +22:01:20> (init) Restart killed instances: OK +22:01:20> (init) Remove old primary entry from sentinels: OK +22:01:20> (init) Create a primary-replicas cluster of 5 instances: OK +22:01:20> (init) Sentinels can start monitoring a primary: OK +22:01:20> (init) Sentinels can talk with the primary: OK +22:01:20> (init) Sentinels are able to auto-discover other sentinels: OK +22:01:22> (init) Sentinels are able to auto-discover replicas: OK +22:01:22> We can failover with Sentinel 1 crashed: OK +22:01:27> After Sentinel 1 is restarted, its config gets updated: OK +22:01:27> New primary 127.0.0.1:30004 role matches: OK +22:01:27> Update log level: OK Testing unit: 02-replicas-reconf.tcl -18:35:50> (init) Restart killed instances: OK -18:35:50> (init) Remove old primary entry from sentinels: OK -18:35:50> (init) Create a primary-replicas cluster of 5 instances: OK -18:35:50> (init) Sentinels can start monitoring a primary: OK -18:35:50> (init) Sentinels can talk with the primary: OK -18:35:50> (init) Sentinels are able to auto-discover other sentinels: OK -18:35:52> (init) Sentinels are able to auto-discover replicas: OK -18:35:52> Check that slaves replicate from current primary: OK -18:35:52> Crash the primary and force a failover: OK -18:35:57> Check that slaves replicate from current primary: OK -18:35:57> Kill a slave instance: OK -18:35:57> Crash the primary and force a failover: OK -18:36:01> Check that slaves replicate from current primary: OK -18:36:02> Wait for failover to end: OK -18:36:02> Restart killed slave and test replication of slaves again...: OK -18:36:02> Check that slaves replicate from current primary: OK +22:01:27> (init) Restart killed instances: OK +22:01:27> (init) Remove old primary entry from sentinels: OK +22:01:27> (init) Create a primary-replicas cluster of 5 instances: OK +22:01:27> (init) Sentinels can start monitoring a primary: OK +22:01:27> (init) Sentinels can talk with the primary: OK +22:01:27> (init) Sentinels are able to auto-discover other sentinels: OK +22:01:29> (init) Sentinels are able to auto-discover replicas: OK +22:01:29> Check that slaves replicate from current primary: OK +22:01:30> Crash the primary and force a failover: OK +22:01:34> Check that slaves replicate from current primary: OK +22:01:45> Kill a slave instance: OK +22:01:45> Crash the primary and force a failover: OK +22:01:49> Check that slaves replicate from current primary: OK +22:01:50> Wait for failover to end: OK +22:01:50> Restart killed slave and test replication of slaves again...: OK +22:01:50> Check that slaves replicate from current primary: OK Testing unit: 03-runtime-reconf.tcl -18:36:12> (init) Restart killed instances: OK -18:36:12> (init) Remove old primary entry from sentinels: OK -18:36:12> (init) Create a primary-replicas cluster of 5 instances: OK -18:36:12> (init) Sentinels can start monitoring a primary: OK -18:36:12> (init) Sentinels can talk with the primary: OK -18:36:12> (init) Sentinels are able to auto-discover other sentinels: OK -18:36:12> (init) Sentinels are able to auto-discover replicas: OK -18:36:12> Sentinels (re)connection following SENTINEL SET myprimary auth-pass: OK -18:36:14> Sentinels (re)connection following primary ACL change: OK -18:36:16> Set parameters in normal case: OK -18:36:16> Set parameters in normal case with bad format: OK -18:36:16> Sentinel Set with other error situations: OK +22:02:00> (init) Restart killed instances: OK +22:02:00> (init) Remove old primary entry from sentinels: OK +22:02:00> (init) Create a primary-replicas cluster of 5 instances: OK +22:02:00> (init) Sentinels can start monitoring a primary: OK +22:02:01> (init) Sentinels can talk with the primary: OK +22:02:01> (init) Sentinels are able to auto-discover other sentinels: OK +22:02:01> (init) Sentinels are able to auto-discover replicas: OK +22:02:01> Sentinels (re)connection following SENTINEL SET myprimary auth-pass: OK +22:02:02> Sentinels (re)connection following primary ACL change: OK +22:02:05> Set parameters in normal case: OK +22:02:05> Set parameters in normal case with bad format: OK +22:02:05> Sentinel Set with other error situations: OK Testing unit: 04-slave-selection.tcl Testing unit: 05-manual.tcl -18:36:16> (init) Restart killed instances: OK -18:36:16> (init) Remove old primary entry from sentinels: OK -18:36:16> (init) Create a primary-replicas cluster of 5 instances: OK -18:36:16> (init) Sentinels can start monitoring a primary: OK -18:36:17> (init) Sentinels can talk with the primary: OK -18:36:17> (init) Sentinels are able to auto-discover other sentinels: OK -18:36:19> (init) Sentinels are able to auto-discover replicas: OK -18:36:19> Manual failover works: OK -18:36:20> New primary 127.0.0.1:30004 role matches: OK -18:36:20> All the other slaves now point to the new primary: OK -18:36:20> The old primary eventually gets reconfigured as a slave: OK -18:36:24> (init) Restart killed instances: OK -18:36:24> (init) Remove old primary entry from sentinels: OK -18:36:24> (init) Create a primary-replicas cluster of 5 instances: OK -18:36:24> (init) Sentinels can start monitoring a primary: OK -18:36:24> (init) Sentinels can talk with the primary: OK -18:36:24> (init) Sentinels are able to auto-discover other sentinels: OK -18:36:25> (init) Sentinels are able to auto-discover replicas: OK -18:36:25> SENTINEL SIMULATE-FAILURE crash-after-election works: OK -18:36:25> (init) Restart killed instances: OK -18:36:25> (init) Remove old primary entry from sentinels: OK -18:36:25> (init) Create a primary-replicas cluster of 5 instances: OK -18:36:25> (init) Sentinels can start monitoring a primary: OK -18:36:25> (init) Sentinels can talk with the primary: OK -18:36:25> (init) Sentinels are able to auto-discover other sentinels: OK -18:36:27> (init) Sentinels are able to auto-discover replicas: OK -18:36:27> SENTINEL SIMULATE-FAILURE crash-after-promotion works: OK +22:02:05> (init) Restart killed instances: OK +22:02:05> (init) Remove old primary entry from sentinels: OK +22:02:05> (init) Create a primary-replicas cluster of 5 instances: OK +22:02:05> (init) Sentinels can start monitoring a primary: OK +22:02:05> (init) Sentinels can talk with the primary: OK +22:02:05> (init) Sentinels are able to auto-discover other sentinels: OK +22:02:07> (init) Sentinels are able to auto-discover replicas: OK +22:02:07> Manual failover works: OK +22:02:08> New primary 127.0.0.1:30001 role matches: OK +22:02:08> All the other slaves now point to the new primary: OK +22:02:08> The old primary eventually gets reconfigured as a slave: OK +22:02:12> (init) Restart killed instances: OK +22:02:12> (init) Remove old primary entry from sentinels: OK +22:02:12> (init) Create a primary-replicas cluster of 5 instances: OK +22:02:12> (init) Sentinels can start monitoring a primary: OK +22:02:12> (init) Sentinels can talk with the primary: OK +22:02:12> (init) Sentinels are able to auto-discover other sentinels: OK +22:02:13> (init) Sentinels are able to auto-discover replicas: OK +22:02:13> SENTINEL SIMULATE-FAILURE crash-after-election works: OK +22:02:14> (init) Restart killed instances: OK +22:02:14> (init) Remove old primary entry from sentinels: OK +22:02:14> (init) Create a primary-replicas cluster of 5 instances: OK +22:02:14> (init) Sentinels can start monitoring a primary: OK +22:02:14> (init) Sentinels can talk with the primary: OK +22:02:14> (init) Sentinels are able to auto-discover other sentinels: OK +22:02:16> (init) Sentinels are able to auto-discover replicas: OK +22:02:16> SENTINEL SIMULATE-FAILURE crash-after-promotion works: OK Testing unit: 06-ckquorum.tcl -18:36:28> (init) Restart killed instances: OK -18:36:28> (init) Remove old primary entry from sentinels: OK -18:36:28> (init) Create a primary-replicas cluster of 5 instances: OK -18:36:28> (init) Sentinels can start monitoring a primary: OK -18:36:29> (init) Sentinels can talk with the primary: OK -18:36:29> (init) Sentinels are able to auto-discover other sentinels: OK -18:36:31> (init) Sentinels are able to auto-discover replicas: OK -18:36:31> CKQUORUM reports OK and the right amount of Sentinels: OK -18:36:31> CKQUORUM detects quorum cannot be reached: OK -18:36:31> CKQUORUM detects failover authorization cannot be reached: OK +22:02:17> (init) Restart killed instances: OK +22:02:17> (init) Remove old primary entry from sentinels: OK +22:02:17> (init) Create a primary-replicas cluster of 5 instances: OK +22:02:17> (init) Sentinels can start monitoring a primary: OK +22:02:17> (init) Sentinels can talk with the primary: OK +22:02:17> (init) Sentinels are able to auto-discover other sentinels: OK +22:02:19> (init) Sentinels are able to auto-discover replicas: OK +22:02:19> CKQUORUM reports OK and the right amount of Sentinels: OK +22:02:19> CKQUORUM detects quorum cannot be reached: OK +22:02:19> CKQUORUM detects failover authorization cannot be reached: OK Testing unit: 07-down-conditions.tcl -18:36:33> (init) Restart killed instances: OK -18:36:33> (init) Remove old primary entry from sentinels: OK -18:36:33> (init) Create a primary-replicas cluster of 5 instances: OK -18:36:33> (init) Sentinels can start monitoring a primary: OK -18:36:33> (init) Sentinels can talk with the primary: OK -18:36:33> (init) Sentinels are able to auto-discover other sentinels: OK -18:36:35> (init) Sentinels are able to auto-discover replicas: OK -18:36:35> Crash the majority of Sentinels to prevent failovers for this unit: OK -18:36:36> SDOWN is triggered by non-responding but not crashed instance: OK -18:36:38> SDOWN is triggered by crashed instance: OK -18:36:41> SDOWN is triggered by primaries advertising as slaves: OK -18:36:45> SDOWN is triggered by misconfigured instance replying with errors: OK -18:36:55> SDOWN is triggered if we rename PING to PONG: OK +22:02:22> (init) Restart killed instances: OK +22:02:22> (init) Remove old primary entry from sentinels: OK +22:02:22> (init) Create a primary-replicas cluster of 5 instances: OK +22:02:22> (init) Sentinels can start monitoring a primary: OK +22:02:22> (init) Sentinels can talk with the primary: OK +22:02:22> (init) Sentinels are able to auto-discover other sentinels: OK +22:02:24> (init) Sentinels are able to auto-discover replicas: OK +22:02:24> Crash the majority of Sentinels to prevent failovers for this unit: OK +22:02:25> SDOWN is triggered by non-responding but not crashed instance: OK +22:02:27> SDOWN is triggered by crashed instance: OK +22:02:30> SDOWN is triggered by primaries advertising as slaves: OK +22:02:34> SDOWN is triggered by misconfigured instance replying with errors: OK +22:02:44> SDOWN is triggered if we rename PING to PONG: OK Testing unit: 08-hostname-conf.tcl -18:36:57> (pre-init) Configure instances and sentinel for hostname use: sentinel/0 sentinel/1 sentinel/2 OK -18:36:58> (init) Restart killed instances: OK -18:36:58> (init) Remove old primary entry from sentinels: OK -18:36:58> (init) Create a primary-replicas cluster of 5 instances: OK -18:36:58> (init) Sentinels can start monitoring a primary: OK -18:36:58> (init) Sentinels can talk with the primary: OK -18:36:58> (init) Sentinels are able to auto-discover other sentinels: OK -18:37:00> (init) Sentinels are able to auto-discover replicas: OK -18:37:00> Sentinel announces hostnames: OK -18:37:00> (post-cleanup) Configure instances and sentinel for IPs: OK +22:02:46> (pre-init) Configure instances and sentinel for hostname use: sentinel/0 sentinel/1 sentinel/2 OK +22:02:47> (init) Restart killed instances: OK +22:02:47> (init) Remove old primary entry from sentinels: OK +22:02:47> (init) Create a primary-replicas cluster of 5 instances: OK +22:02:47> (init) Sentinels can start monitoring a primary: OK +22:02:47> (init) Sentinels can talk with the primary: OK +22:02:47> (init) Sentinels are able to auto-discover other sentinels: OK +22:02:49> (init) Sentinels are able to auto-discover replicas: OK +22:02:49> Sentinel announces hostnames: OK +22:02:49> (post-cleanup) Configure instances and sentinel for IPs: OK Testing unit: 09-acl-support.tcl -18:37:00> (init) Restart killed instances: OK -18:37:00> (init) Remove old primary entry from sentinels: OK -18:37:00> (init) Create a primary-replicas cluster of 5 instances: OK -18:37:00> (init) Sentinels can start monitoring a primary: OK -18:37:01> (init) Sentinels can talk with the primary: OK -18:37:01> (init) Sentinels are able to auto-discover other sentinels: OK -18:37:02> (init) Sentinels are able to auto-discover replicas: OK -18:37:02> (post-init) Set up ACL configuration: OK -18:37:03> SENTINEL CONFIG SET handles on-the-fly credentials reconfiguration: OK -18:37:07> (post-cleanup) Tear down ACL configuration: OK +22:02:49> (init) Restart killed instances: OK +22:02:49> (init) Remove old primary entry from sentinels: OK +22:02:49> (init) Create a primary-replicas cluster of 5 instances: OK +22:02:49> (init) Sentinels can start monitoring a primary: OK +22:02:49> (init) Sentinels can talk with the primary: OK +22:02:49> (init) Sentinels are able to auto-discover other sentinels: OK +22:02:51> (init) Sentinels are able to auto-discover replicas: OK +22:02:51> (post-init) Set up ACL configuration: OK +22:02:51> SENTINEL CONFIG SET handles on-the-fly credentials reconfiguration: OK +22:02:54> (post-cleanup) Tear down ACL configuration: OK Testing unit: 10-replica-priority.tcl -18:37:07> (init) Restart killed instances: OK -18:37:07> (init) Remove old primary entry from sentinels: OK -18:37:07> (init) Create a primary-replicas cluster of 5 instances: OK -18:37:07> (init) Sentinels can start monitoring a primary: OK -18:37:07> (init) Sentinels can talk with the primary: OK -18:37:07> (init) Sentinels are able to auto-discover other sentinels: OK -18:37:09> (init) Sentinels are able to auto-discover replicas: OK -18:37:09> Check acceptable replica-priority values: OK -18:37:09> Set replica-announced=yes on all replicas: OK -18:37:09> Check sentinel replies with 4 replicas: OK -18:37:09> Set replica-announced=no on 2 replicas: OK -18:37:09> Check sentinel replies with 2 replicas: OK -18:37:09> Set replica-announced=yes on all replicas: OK -18:37:09> Check sentinel replies with 4 replicas: OK +22:02:55> (init) Restart killed instances: OK +22:02:55> (init) Remove old primary entry from sentinels: OK +22:02:55> (init) Create a primary-replicas cluster of 5 instances: OK +22:02:55> (init) Sentinels can start monitoring a primary: OK +22:02:55> (init) Sentinels can talk with the primary: OK +22:02:55> (init) Sentinels are able to auto-discover other sentinels: OK +22:02:57> (init) Sentinels are able to auto-discover replicas: OK +22:02:57> Check acceptable replica-priority values: OK +22:02:57> Set replica-announced=yes on all replicas: OK +22:02:57> Check sentinel replies with 4 replicas: OK +22:02:57> Set replica-announced=no on 2 replicas: OK +22:02:57> Check sentinel replies with 2 replicas: OK +22:02:57> Set replica-announced=yes on all replicas: OK +22:02:57> Check sentinel replies with 4 replicas: OK Testing unit: 11-port-0.tcl -18:37:09> (init) Restart killed instances: OK -18:37:09> (init) Remove old primary entry from sentinels: OK -18:37:09> (init) Create a primary-replicas cluster of 5 instances: OK -18:37:09> (init) Sentinels can start monitoring a primary: OK -18:37:10> (init) Sentinels can talk with the primary: OK -18:37:10> (init) Sentinels are able to auto-discover other sentinels: OK -18:37:10> (init) Sentinels are able to auto-discover replicas: OK -18:37:10> Start/Stop sentinel on same port with a different runID should not change the total number of sentinels: OK +22:02:57> (init) Restart killed instances: OK +22:02:57> (init) Remove old primary entry from sentinels: OK +22:02:57> (init) Create a primary-replicas cluster of 5 instances: OK +22:02:57> (init) Sentinels can start monitoring a primary: OK +22:02:57> (init) Sentinels can talk with the primary: OK +22:02:57> (init) Sentinels are able to auto-discover other sentinels: OK +22:02:57> (init) Sentinels are able to auto-discover replicas: OK +22:02:57> Start/Stop sentinel on same port with a different runID should not change the total number of sentinels: OK Testing unit: 12-primary-reboot.tcl -18:37:11> (init) Restart killed instances: sentinel/4 OK -18:37:11> (init) Remove old primary entry from sentinels: OK -18:37:11> (init) Create a primary-replicas cluster of 5 instances: OK -18:37:11> (init) Sentinels can start monitoring a primary: OK -18:37:11> (init) Sentinels can talk with the primary: OK -18:37:11> (init) Sentinels are able to auto-discover other sentinels: OK -18:37:13> (init) Sentinels are able to auto-discover replicas: OK -18:37:13> Primary reboot in very short time: OK -18:37:21> New primary 127.0.0.1:30004 role matches: OK -18:37:21> All the other slaves now point to the new primary: OK -18:37:21> The old primary eventually gets reconfigured as a slave: OK +22:02:59> (init) Restart killed instances: sentinel/4 OK +22:02:59> (init) Remove old primary entry from sentinels: OK +22:02:59> (init) Create a primary-replicas cluster of 5 instances: OK +22:02:59> (init) Sentinels can start monitoring a primary: OK +22:02:59> (init) Sentinels can talk with the primary: OK +22:02:59> (init) Sentinels are able to auto-discover other sentinels: OK +22:03:01> (init) Sentinels are able to auto-discover replicas: OK +22:03:01> Primary reboot in very short time: OK +22:03:09> New primary 127.0.0.1:30001 role matches: OK +22:03:09> All the other slaves now point to the new primary: OK +22:03:09> The old primary eventually gets reconfigured as a slave: OK Testing unit: 13-info-command.tcl -18:37:56> (init) Restart killed instances: OK -18:37:56> (init) Remove old primary entry from sentinels: OK -18:37:56> (init) Create a primary-replicas cluster of 5 instances: OK -18:37:56> (init) Sentinels can start monitoring a primary: OK -18:37:56> (init) Sentinels can talk with the primary: OK -18:37:56> (init) Sentinels are able to auto-discover other sentinels: OK -18:37:58> (init) Sentinels are able to auto-discover replicas: OK -18:37:58> info command with at most one argument: OK -18:37:58> info command with one sub-section: OK -18:37:58> info command with multiple sub-sections: OK +22:03:43> (init) Restart killed instances: OK +22:03:43> (init) Remove old primary entry from sentinels: OK +22:03:43> (init) Create a primary-replicas cluster of 5 instances: OK +22:03:43> (init) Sentinels can start monitoring a primary: OK +22:03:44> (init) Sentinels can talk with the primary: OK +22:03:44> (init) Sentinels are able to auto-discover other sentinels: OK +22:03:45> (init) Sentinels are able to auto-discover replicas: OK +22:03:46> info command with at most one argument: OK +22:03:46> info command with one sub-section: OK +22:03:46> info command with multiple sub-sections: OK Testing unit: 14-debug-command.tcl -18:37:58> (init) Restart killed instances: OK -18:37:58> (init) Remove old primary entry from sentinels: OK -18:37:58> (init) Create a primary-replicas cluster of 5 instances: OK -18:37:58> (init) Sentinels can start monitoring a primary: OK -18:37:58> (init) Sentinels can talk with the primary: OK -18:37:58> (init) Sentinels are able to auto-discover other sentinels: OK -18:38:00> (init) Sentinels are able to auto-discover replicas: OK -18:38:00> Sentinel debug test with arguments and without argument: OK +22:03:46> (init) Restart killed instances: OK +22:03:46> (init) Remove old primary entry from sentinels: OK +22:03:46> (init) Create a primary-replicas cluster of 5 instances: OK +22:03:46> (init) Sentinels can start monitoring a primary: OK +22:03:46> (init) Sentinels can talk with the primary: OK +22:03:46> (init) Sentinels are able to auto-discover other sentinels: OK +22:03:48> (init) Sentinels are able to auto-discover replicas: OK +22:03:48> Sentinel debug test with arguments and without argument: OK Testing unit: 15-sentinel-deprecated-commands.tcl -18:38:00> (init) Restart killed instances: OK -18:38:00> (init) Remove old primary entry from sentinels: OK -18:38:00> (init) Create a primary-replicas cluster of 5 instances: OK -18:38:00> (init) Sentinels can start monitoring a primary: OK -18:38:00> (init) Sentinels can talk with the primary: OK -18:38:00> (init) Sentinels are able to auto-discover other sentinels: OK -18:38:02> (init) Sentinels are able to auto-discover replicas: OK -18:38:02> SENTINEL MASTERS returns a list of monitored masters (SENTINEL MASTERS as a deprecated command): OK -18:38:02> SENTINEL SLAVES returns a list of the monitored slaves (SENTINEL SLAVES as a deprecated command): OK -18:38:02> SENTINEL MASTER returns the information list of the monitored master (SENTINEL MASTER as a deprecated command): OK -18:38:02> SENTINEL IS-MASTER-DOWN-BY-ADDR checks if the primary is down (SENTINEL IS-MASTER-DOWN-BY-ADDR as a deprecated command): OK +22:03:48> (init) Restart killed instances: OK +22:03:48> (init) Remove old primary entry from sentinels: OK +22:03:48> (init) Create a primary-replicas cluster of 5 instances: OK +22:03:48> (init) Sentinels can start monitoring a primary: OK +22:03:48> (init) Sentinels can talk with the primary: OK +22:03:48> (init) Sentinels are able to auto-discover other sentinels: OK +22:03:50> (init) Sentinels are able to auto-discover replicas: OK +22:03:50> SENTINEL MASTERS returns a list of monitored masters (SENTINEL MASTERS as a deprecated command): OK +22:03:50> SENTINEL SLAVES returns a list of the monitored slaves (SENTINEL SLAVES as a deprecated command): OK +22:03:50> SENTINEL MASTER returns the information list of the monitored master (SENTINEL MASTER as a deprecated command): OK +22:03:50> SENTINEL IS-MASTER-DOWN-BY-ADDR checks if the primary is down (SENTINEL IS-MASTER-DOWN-BY-ADDR as a deprecated command): OK Testing unit: 16-config-set-config-get.tcl -18:38:02> (init) Restart killed instances: OK -18:38:02> (init) Remove old primary entry from sentinels: OK -18:38:02> (init) Create a primary-replicas cluster of 5 instances: OK -18:38:02> (init) Sentinels can start monitoring a primary: OK -18:38:03> (init) Sentinels can talk with the primary: OK -18:38:03> (init) Sentinels are able to auto-discover other sentinels: OK -18:38:05> (init) Sentinels are able to auto-discover replicas: OK -18:38:05> SENTINEL CONFIG SET and SENTINEL CONFIG GET handles multiple variables: OK -18:38:05> SENTINEL CONFIG GET for duplicate and unknown variables: OK -18:38:05> SENTINEL CONFIG GET for patterns: OK -18:38:05> SENTINEL CONFIG SET duplicate variables: OK -18:38:05> SENTINEL CONFIG SET, one option does not exist: OK -18:38:05> SENTINEL CONFIG SET, one option with wrong value: OK -18:38:05> SENTINEL CONFIG SET, wrong number of arguments: OK +22:03:50> (init) Restart killed instances: OK +22:03:50> (init) Remove old primary entry from sentinels: OK +22:03:50> (init) Create a primary-replicas cluster of 5 instances: OK +22:03:50> (init) Sentinels can start monitoring a primary: OK +22:03:50> (init) Sentinels can talk with the primary: OK +22:03:50> (init) Sentinels are able to auto-discover other sentinels: OK +22:03:52> (init) Sentinels are able to auto-discover replicas: OK +22:03:52> SENTINEL CONFIG SET and SENTINEL CONFIG GET handles multiple variables: OK +22:03:52> SENTINEL CONFIG GET for duplicate and unknown variables: OK +22:03:52> SENTINEL CONFIG GET for patterns: OK +22:03:52> SENTINEL CONFIG SET duplicate variables: OK +22:03:52> SENTINEL CONFIG SET, one option does not exist: OK +22:03:52> SENTINEL CONFIG SET, one option with wrong value: OK +22:03:52> SENTINEL CONFIG SET, wrong number of arguments: OK Cleaning up... -killing stale instance 3728274 -killing stale instance 3728293 -killing stale instance 3739778 -killing stale instance 3746428 -killing stale instance 3748833 -killing stale instance 3751101 -killing stale instance 3752821 -killing stale instance 3754536 -killing stale instance 3754546 -killing stale instance 3754556 -killing stale instance 3755011 -killing stale instance 3755025 -killing stale instance 3755141 +killing stale instance 1697757 +killing stale instance 1697765 +killing stale instance 1697772 +killing stale instance 1700968 +killing stale instance 1701714 +killing stale instance 1702931 +killing stale instance 1703913 +killing stale instance 1707649 +killing stale instance 1707674 +killing stale instance 1707697 +killing stale instance 1709676 +killing stale instance 1709760 +killing stale instance 1710046 GOOD! No errors. # Clean up after gen-test-certs.sh rm -rf tests/tls || true @@ -7168,16 +8014,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/valkey-tools/usr/bin/valkey-check-aof debian/valkey-tools/usr/bin/valkey-check-rdb debian/valkey-tools/usr/bin/valkey-benchmark debian/valkey-tools/usr/bin/valkey-cli 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/valkey-tools/usr/bin/valkey-check-aof debian/valkey-tools/usr/bin/valkey-check-rdb debian/valkey-tools/usr/bin/valkey-benchmark debian/valkey-tools/usr/bin/valkey-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/valkey-tools/usr/bin/valkey-check-rdb debian/valkey-tools/usr/bin/valkey-benchmark debian/valkey-tools/usr/bin/valkey-check-aof debian/valkey-tools/usr/bin/valkey-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/valkey-tools/usr/bin/valkey-check-rdb debian/valkey-tools/usr/bin/valkey-benchmark debian/valkey-tools/usr/bin/valkey-check-aof debian/valkey-tools/usr/bin/valkey-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 'valkey-tools-dbgsym' in '../valkey-tools-dbgsym_8.0.1+dfsg1-1_arm64.deb'. -dpkg-deb: building package 'valkey-tools' in '../valkey-tools_8.0.1+dfsg1-1_arm64.deb'. dpkg-deb: building package 'valkey-server' in '../valkey-server_8.0.1+dfsg1-1_arm64.deb'. +dpkg-deb: building package 'valkey-tools' in '../valkey-tools_8.0.1+dfsg1-1_arm64.deb'. dpkg-deb: building package 'valkey-sentinel' in '../valkey-sentinel_8.0.1+dfsg1-1_arm64.deb'. +dpkg-deb: building package 'valkey-tools-dbgsym' in '../valkey-tools-dbgsym_8.0.1+dfsg1-1_arm64.deb'. dpkg-genbuildinfo --build=binary -O../valkey_8.0.1+dfsg1-1_arm64.buildinfo dpkg-genchanges --build=binary -O../valkey_8.0.1+dfsg1-1_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -7185,12 +8031,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/834988/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/834988/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/3178976 and its subdirectories -I: Current time: Fri Oct 18 18:38:32 -12 2024 -I: pbuilder-time-stamp: 1729319912 +I: removing directory /srv/workspace/pbuilder/834988 and its subdirectories +I: Current time: Sat Oct 19 22:04:54 +14 2024 +I: pbuilder-time-stamp: 1729325094