Diff of the two buildlogs: -- --- b1/build.log 2025-07-25 01:28:18.609417776 +0000 +++ b2/build.log 2025-07-25 02:25:09.397477314 +0000 @@ -1,7 +1,6 @@ -W: cgroups are not available on the host, not using them. I: pbuilder: network access will be disabled during build -I: Current time: Wed Aug 26 19:04:08 -12 2026 -I: pbuilder-time-stamp: 1787814248 +I: Current time: Fri Jul 25 15:28:21 +14 2025 +I: pbuilder-time-stamp: 1753406901 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -32,51 +31,84 @@ dpkg-source: info: applying 0007-Add-Redis-ver.-REDIS_VERSION-to-LOLWUT-8-output-as-a.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/808866/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/2275226/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 Jul 25 01:28 /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/2275226/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/2275226/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]="37" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - 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='808866' - PS1='# ' - PS2='> ' + INVOCATION_ID=21c29f94be7f4602bf55723bdbe3f9bd + 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=2275226 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.8q7V1qgb/pbuilderrc_c12i --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.8q7V1qgb/b1 --logfile b1/build.log redis_8.0.2-3.dsc' - SUDO_GID='109' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/sbin/chroot' - 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.8q7V1qgb/pbuilderrc_mn0n --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.8q7V1qgb/b2 --logfile b2/build.log redis_8.0.2-3.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 codethink03-arm64 6.1.0-37-cloud-arm64 #1 SMP Debian 6.1.140-1 (2025-05-22) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-37-cloud-arm64 #1 SMP Debian 6.1.140-1 (2025-05-22) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 May 12 2025 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/808866/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 May 12 19:25 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/2275226/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: 58 http://deb.debian.org/debian trixie/main arm64 tcl8.6 arm64 8.6.16+dfsg-1 [121 kB] Get: 59 http://deb.debian.org/debian trixie/main arm64 tcl arm64 8.6.16 [4096 B] Get: 60 http://deb.debian.org/debian trixie/main arm64 tcl-tls arm64 1.8.0-2 [61.1 kB] -Fetched 22.0 MB in 1s (33.0 MB/s) +Fetched 22.0 MB in 0s (89.6 MB/s) Preconfiguring packages ... Selecting previously unselected package tzdata. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19964 files and directories currently installed.) @@ -399,8 +431,8 @@ Setting up tzdata (2025b-4) ... Current default time zone: 'Etc/UTC' -Local time is now: Thu Aug 27 07:04:26 UTC 2026. -Universal Time is now: Thu Aug 27 07:04:26 UTC 2026. +Local time is now: Fri Jul 25 01:29:04 UTC 2025. +Universal Time is now: Fri Jul 25 01:29:04 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libjemalloc-dev (5.3.0-3) ... @@ -463,7 +495,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/redis-8.0.2/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../redis_8.0.2-3_source.changes +I: user script /srv/workspace/pbuilder/2275226/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/2275226/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/redis-8.0.2/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../redis_8.0.2-3_source.changes dpkg-buildpackage: info: source package redis dpkg-buildpackage: info: source version 5:8.0.2-3 dpkg-buildpackage: info: source distribution unstable @@ -567,69 +603,69 @@ (echo "-Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf" > .make-ldflags) MAKE hiredis cd hiredis && make static USE_SSL=1 -MAKE linenoise make[5]: Entering directory '/build/reproducible-path/redis-8.0.2/deps/hiredis' +MAKE linenoise cd linenoise && make -MAKE lua +cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 make[5]: Entering directory '/build/reproducible-path/redis-8.0.2/deps/linenoise' cc -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -Wdate-time -D_FORTIFY_SOURCE=2 -c linenoise.c +cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 +MAKE lua cd lua/src && make all CFLAGS="-Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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" +cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 make[5]: Entering directory '/build/reproducible-path/redis-8.0.2/deps/lua/src' cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lcode.o lcode.c -cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldebug.o ldebug.c MAKE hdr_histogram +cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic sds.c +cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 fpconv cd hdr_histogram && make -cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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/redis-8.0.2=. -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 -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldo.o ldo.c -cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldebug.o ldebug.c make[5]: Entering directory '/build/reproducible-path/redis-8.0.2/deps/hdr_histogram' cc -std=c99 -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 fpconv cd fpconv && make -cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldump.o ldump.c -cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic sds.c +cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 make[5]: Entering directory '/build/reproducible-path/redis-8.0.2/deps/fpconv' cc -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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/redis-8.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic sockcompat.c +cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 ar rcs libfpconv.a fpconv_dtoa.o make[5]: Leaving directory '/build/reproducible-path/redis-8.0.2/deps/fpconv' MAKE fast_float cd fast_float && make libfast_float make[5]: Entering directory '/build/reproducible-path/redis-8.0.2/deps/fast_float' -cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 +g++ -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-8.0.2/deps/fast_float=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++11 -DFASTFLOAT_ALLOWS_LEADING_PLUS -c fast_float_strtod.cpp +cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 +ar rcs libhiredis_ssl.a ssl.o +cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lfunc.o lfunc.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lgc.o lgc.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 -g++ -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-8.0.2/deps/fast_float=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++11 -DFASTFLOAT_ALLOWS_LEADING_PLUS -c fast_float_strtod.cpp cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 -ar rcs libhdrhistogram.a hdr_histogram.o -make[5]: Leaving directory '/build/reproducible-path/redis-8.0.2/deps/hdr_histogram' cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lparser.o lparser.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lstate.o lstate.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 -make[5]: Leaving directory '/build/reproducible-path/redis-8.0.2/deps/linenoise' -cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 +ar rcs libhdrhistogram.a hdr_histogram.o +make[5]: Leaving directory '/build/reproducible-path/redis-8.0.2/deps/hdr_histogram' cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ltable.o ltable.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lvm.o lvm.c +ar rcs libhiredis.a alloc.o net.o hiredis.o sds.o async.o read.o sockcompat.o cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 +make[5]: Leaving directory '/build/reproducible-path/redis-8.0.2/deps/hiredis' cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o strbuf.o strbuf.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 +make[5]: Leaving directory '/build/reproducible-path/redis-8.0.2/deps/linenoise' cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldblib.o ldblib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -I/usr/include/liblzf -funwind-tables -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lmathlib.o lmathlib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 -ar rcs libhiredis_ssl.a ssl.o -make[5]: Leaving directory '/build/reproducible-path/redis-8.0.2/deps/hiredis' cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redis-8.0.2=. -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 @@ -763,10 +799,10 @@ cc -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -rdynamic -o redis-server threads_mngr.o adlist.o quicklist.o ae.o anet.o dict.o ebuckets.o eventnotifier.o iothread.o mstr.o kvstore.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o cluster_legacy.o crc16.o endianconv.o slowlog.o eval.o bio.o rio.o rand.o memtest.o syscheck.o crcspeed.o crccombine.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o lolwut.o lolwut5.o lolwut6.o lolwut8.o acl.o tracking.o socket.o tls.o sha256.o timeout.o setcpuaffinity.o monotonic.o mt19937-64.o resp_parser.o call_reply.o script_lua.o script.o functions.o function_lua.o commands.o strl.o connection.o unix.o logreqres.o hnsw.o vset.o ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a ../deps/hdr_histogram/libhdrhistogram.a ../deps/fpconv/libfpconv.a ../deps/fast_float/libfast_float.a -ljemalloc -lm -lstdc++ -ldl -pthread -lrt -lsystemd ../deps/hiredis/libhiredis_ssl.a -lssl -lcrypto cc -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -rdynamic -o redis-cli anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o ae.o redisassert.o crcspeed.o crccombine.o crc64.o siphash.o crc16.o monotonic.o cli_common.o mt19937-64.o strl.o cli_commands.o ../deps/hiredis/libhiredis.a ../deps/linenoise/linenoise.o ../deps/hdr_histogram/libhdrhistogram.a -ljemalloc -lm -lstdc++ -ldl -pthread -lrt -lsystemd ../deps/hiredis/libhiredis_ssl.a -lssl -lcrypto install --strip-program=true redis-server redis-sentinel -install: WARNING: ignoring --strip-program option as -s option was not specified -install --strip-program=true redis-server redis-check-rdb -install: WARNING: ignoring --strip-program option as -s option was not specified -install --strip-program=true redis-server redis-check-aof +install: install --strip-program=true redis-server redis-check-rdb +WARNING: ignoring --strip-program option as -s option was not specified +install: install --strip-program=true redis-server redis-check-aof +WARNING: ignoring --strip-program option as -s option was not specified install: WARNING: ignoring --strip-program option as -s option was not specified Hint: It's a good idea to run 'make test' ;) @@ -785,44 +821,44 @@ Certificate request self-signature ok subject=O=Redis Test, CN=Generic-cert Generating DH parameters, 2048 bit long safe prime -.............+........................................................................................................................................................................................................................................................+..............+............................................................................................................................................+.......................+....................................................................................................................................................................+....................................................................................................................................................................................................................+...................................................................+.+.........................................................................................................................................................................................................................+.+........................+.........................................................................................................................................................................................................................................................................+...........................................................................................................+..........................................................................................................................................................................................................................................+.............................................................................................................................+.........+............................................................................................................................+....+..............................+.......................................................................................................+.......................................+....................................+............................................+...........................................................+.................................................................+................................................+............+.......................+..+..................................................................................................................................................................+...............................................................................................................+......................................................................................................................+............+............................................................................................................................................................................................................................................+..............................................+.......+.......................................................................................................................................................................................................................................................................................................................+...............................................................+..............................................................................................+........................................................................................................................+.............................................................................+.....................................................................+........+......................................................................+...................................................................................................................................................+...........+.......................+....................................................................................................................................................................................................+.............................................................+....................................+.......................+.......................................................................................................................................................................+....................................................................................................................+..................................................................................................................................................+......+................................+...............................................................+................................................................................................+.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................+................................................................................................................................................................................................................................................................................................................................................................................................................................................................+.................................................................................................................................+.+.........................................+.........................................................+.........................................+............+......................................+...+...............................................................................................................................................................................+....................................................................................................................................................+........+...............................................................................................................................................+..............................................+.........................................................................................................................................................................+.....................................+.........+.....................................................................+..............+...................................................................+......................................................................+.................+...................................................................+..............................................+...............................................................................................................................................................................................................+...........+..................+..................................................+................................................................................................................................+...............................................................................................................................................................................................+............................................................................................................................................................+......+...........................................................................................................................................+..............................................................................................................+......................................................................................................................................................................+........+.......................................................................................................................................................+..............................................................................................................................+.......................................................................................................................................................................................................................................+..................+................................................................................................................................................................................................+.............................................................................................................................................................................................................................................................................................................................................................+........................................................................................+.................................................................................................................................................................................................................+...............................................................+................................................................................................+..................................................................................+........................................................................................................................................................................................................................................................................................+...........+.............................................................................+...........................................................................................................+..........+..............................................................+........................+..............................................................................................................+.................................................................+.......................................................+................................................................................................................................................................................+........................+................................................................................................................................................................................................................+......................................................................+........................................................................................................+...........................................+.......................................................................................................................+..........................................................................................................+................................................................................................................................+...................................................................................................................................................................................................................................................+................................+....+..................+.....................................................................................................................................................+.............................................................+........................................................................................................................................................................+...........+..................................................................................................................................................................................................................................................................................................................................................................................................................................................+............................................................................................+.........................................................................................................................................................................+....................................................+..................+...........................................................................................................................................................................................................................+.................................+........+....................................................................................................................................+......+.............................................................................................................................+................................................................................................................+.............................................+..................+..........+......................................................................................................................................................+..............................................................................................................................................................................................+......................................................................................................................................................+.............................................................+...................................................................................+........+.........................................................................................+...................................................................................................................................................................+................................+............................................................................................................................................................................................................................................................................................................................................................................................................+..........................+.............................................................................+...+...........+..............................................................................................................................................................................................................................................................................................................................................................................................................+.........................................................................................+..........................................................................................+............+..............................................................................................................................................................................................................................................................................................................+.....................+..............................................................................................................................................................................................................................................................................................................+.......+.........+................+............................+........+...............................................................+.......................+.......................................................................................................................................................................+...............................................................................................................................+............................................................................................................................................................................................................................................+..+.........................................................+...............+...................................+.................+.+........................................................................................................................................................................................................................................................+.............................................+......................+......................................................................................+............................................................................................................................................................................................................................................................................................................................+.......................................................................................+................................................................................................................................+.............................................................................................................+.....................................+........................+...............................................................................+.....................................................................................................................................................................................................................................................................................................................................................................................................................................+..........................+.............................................................................................................................................................................................+.........................................+...................................................................................................+................................................................................................................................................................................................................................+....+......................................+...............................................................................................................................................................................................................................................................................................................................................+....................+............................................................................................................................................................................................................................................................................................................................+...........................................................................................................................................................................................................................................................................................................................................................+......................................................................................................................................................+..............................................................................................................................................................+..+...................................................................................................................................................................................................................................+.......................................+...........+.....................................................................................................................................................................+.............................................................................................+..........................................+...............................................................................................................................................................+................+..............................................................................+....................................................................................................................................................+............................+..............................+.....+.................................+................................................................................................................................................+..+.........+..+..........+..........................................................+......................................................................................................................................................................................+................................................................................................................+....................................................................................................................................................+............................................................................................................+...................................................................................................+................................................................................................+..............................................................+.........................................................................................................................................................................................................................................................................................+...................................................................+...........................................................................................................+........................................................................................................................+..........................................................................................+..............................+..........................................................+.....................+.+.....................................................................+...........................................................................................+....................................+......................................................................................................................................+..............................................................................................................+.......................................................................................+....+...........................................................................................+......................................+...................+................................................+.........................................................................................+........................................................+......................................................................................+..+..............................................................................................................................................................................+....................................................................+.........................................................................................+........................................................................+.......................................................................................................................................................................................................................................................................................................................................................................+.............................................................................+.............................................+...............................................+.......+...........................+........................................................................................................................................................................................................................+....................................+...............................................................................+...........................................................................................................................................................................................................................................................+...........................................................................................+..............................................................................................................................+...................+.....+....................................................+...+........................................++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++* +......................................+.........................................+..........................................+...................................................................................................................................................................................................................................................................................................................................................................................................................................+..............................................................................................+.........................................................................................................................................................................................................................+.................................................................................................................................................................................................................................................................+.........+..........................................................+................................................................................................................................................................................................................................................................................................................................................................................................................................................................................+.......+.......+...................................+...................+...........................................................................................................................................................................................................................................................................................................................................................................................+..................................................................................+...............................................................................................+............................................................................................................+............................................................................................................................................+..+......................................................................................................................................................................................................................................................................................................................................+..............................................................+.................................................................................................................................................................................+....................................+.............................................................................................................................................................................................................................................................+.............+.........................................................................................................................................................................................+......................++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++* # Avoid race conditions in upstream testsuite ./runtest --clients 1 --verbose --dump-logs --tls || true Cleanup: may take some time... OK Starting test server at port 21079 -[ready]: 865542 +[ready]: 2283897 Testing unit/acl-v2 === (acl external:skip) Starting server 127.0.0.1:21111 ok [ok]: Test basic multiple selectors (2 ms) [ok]: Test ACL selectors by default have no permissions (1 ms) -[ok]: Test deleting selectors (0 ms) -[ok]: Test selector syntax error reports the error in the selector context (0 ms) -[ok]: Test flexible selector definition (2 ms) +[ok]: Test deleting selectors (1 ms) +[ok]: Test selector syntax error reports the error in the selector context (2 ms) +[ok]: Test flexible selector definition (1 ms) [ok]: Test separate read permission (1 ms) [ok]: Test separate write permission (1 ms) -[ok]: Test separate read and write permissions (1 ms) -[ok]: Validate read and write permissions format - empty permission (0 ms) +[ok]: Test separate read and write permissions (3 ms) +[ok]: Validate read and write permissions format - empty permission (1 ms) [ok]: Validate read and write permissions format - empty selector (0 ms) [ok]: Validate read and write permissions format - empty pattern (1 ms) -[ok]: Validate read and write permissions format - no pattern (0 ms) -[ok]: Test separate read and write permissions on different selectors are not additive (2 ms) +[ok]: Validate read and write permissions format - no pattern (1 ms) +[ok]: Test separate read and write permissions on different selectors are not additive (1 ms) [ok]: Test SET with separate read permission (1 ms) -[ok]: Test SET with separate write permission (1 ms) -[ok]: Test SET with read and write permissions (9 ms) -[ok]: Test BITFIELD with separate read permission (1 ms) +[ok]: Test SET with separate write permission (2 ms) +[ok]: Test SET with read and write permissions (1 ms) +[ok]: Test BITFIELD with separate read permission (2 ms) [ok]: Test BITFIELD with separate write permission (1 ms) [ok]: Test BITFIELD with read and write permissions (1 ms) [ok]: Test ACL log correctly identifies the relevant item when selectors are used (2 ms) [ok]: Test ACL GETUSER response information (1 ms) -[ok]: Test ACL list idempotency (0 ms) -[ok]: Test R+W is the same as all permissions (0 ms) -[ok]: Test basic dry run functionality (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 (0 ms) [ok]: Test various commands for command permissions (0 ms) -[ok]: Test various odd commands for key permissions (4 ms) -[ok]: Existence test commands are not marked as access (1 ms) -[ok]: Intersection cardinaltiy commands are access commands (1 ms) -[ok]: Test general keyspace commands require some type of permission to execute (1 ms) -[ok]: Cardinality commands require some type of permission to execute (3 ms) +[ok]: Test various odd commands for key permissions (11 ms) +[ok]: Existence test commands are not marked as access (2 ms) +[ok]: Intersection cardinaltiy commands are access commands (2 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 (2 ms) [ok]: Test sharded channel permissions (1 ms) [ok]: Test sort with ACL permissions (2 ms) [ok]: Test DRYRUN with wrong number of arguments (1 ms) @@ -831,44 +867,44 @@ [1/96 done]: unit/acl-v2 (1 seconds) Testing unit/acl === (acl external:skip) Starting server 127.0.0.1:21115 ok -[ok]: Connections start with the default user (0 ms) -[ok]: It is possible to create new users (0 ms) -[ok]: Coverage: ACL USERS (1 ms) -[ok]: Usernames can not contain spaces or null characters (0 ms) -[ok]: New users start disabled (0 ms) -[ok]: Enabling the user allows the login (1 ms) -[ok]: Only the set of correct passwords work (0 ms) -[ok]: It is possible to remove passwords from the set of valid ones (1 ms) -[ok]: Test password hashes can be added (0 ms) -[ok]: Test password hashes validate input (0 ms) -[ok]: ACL GETUSER returns the password hash instead of the actual password (1 ms) +[ok]: Connections start with the default user (7 ms) +[ok]: It is possible to create new users (4 ms) +[ok]: Coverage: ACL USERS (4 ms) +[ok]: Usernames can not contain spaces or null characters (4 ms) +[ok]: New users start disabled (12 ms) +[ok]: Enabling the user allows the login (20 ms) +[ok]: Only the set of correct passwords work (32 ms) +[ok]: It is possible to remove passwords from the set of valid ones (12 ms) +[ok]: Test password hashes can be added (16 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]: By default users are not able to access any command (0 ms) -[ok]: By default users are not able to access any key (1 ms) -[ok]: It's possible to allow the access of a subset of keys (0 ms) -[ok]: By default, only default user is able to publish to any channel (1 ms) +[ok]: By default users are not able to access any command (1 ms) +[ok]: By default users are not able to access any 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 (0 ms) [ok]: By default, only default user is not able to publish to any shard channel (1 ms) -[ok]: By default, only default user is able to subscribe to any channel (13 ms) -[ok]: By default, only default user is able to subscribe to any shard channel (14 ms) -[ok]: By default, only default user is able to subscribe to any pattern (18 ms) -[ok]: It's possible to allow publishing to a subset of channels (0 ms) +[ok]: By default, only default user is able to subscribe to any channel (25 ms) +[ok]: By default, only default user is able to subscribe to any shard channel (24 ms) +[ok]: By default, only default user is able to subscribe to any pattern (24 ms) +[ok]: It's possible to allow publishing to a subset of channels (1 ms) [ok]: It's possible to allow publishing to a subset of shard channels (0 ms) -[ok]: Validate subset of channels is prefixed with resetchannels flag (1 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 (13 ms) -[ok]: It's possible to allow subscribing to a subset of shard channels (14 ms) -[ok]: It's possible to allow subscribing to a subset of channel patterns (13 ms) -[ok]: Subscribers are killed when revoked of channel permission (15 ms) -[ok]: Subscribers are killed when revoked of channel permission (13 ms) -[ok]: Subscribers are killed when revoked of channel permission (15 ms) -[ok]: Subscribers are killed when revoked of pattern permission (13 ms) -[ok]: Subscribers are killed when revoked of allchannels permission (15 ms) -[ok]: Subscribers are pardoned if literal permissions are retained and/or gaining allchannels (13 ms) -[ok]: blocked command gets rejected when reprocessed after permission change (15 ms) -[ok]: Users can be configured to authenticate with any password (0 ms) +[ok]: Validate subset of channels is prefixed with resetchannels flag (7 ms) +[ok]: In transaction queue publish/subscribe/psubscribe to unauthorized channel will fail (1 ms) +[ok]: It's possible to allow subscribing to a subset of channels (23 ms) +[ok]: It's possible to allow subscribing to a subset of shard channels (24 ms) +[ok]: It's possible to allow subscribing to a subset of channel patterns (24 ms) +[ok]: Subscribers are killed when revoked of channel permission (25 ms) +[ok]: Subscribers are killed when revoked of channel permission (27 ms) +[ok]: Subscribers are killed when revoked of channel permission (21 ms) +[ok]: Subscribers are killed when revoked of pattern permission (26 ms) +[ok]: Subscribers are killed when revoked of allchannels permission (22 ms) +[ok]: Subscribers are pardoned if literal permissions are retained and/or gaining allchannels (27 ms) +[ok]: blocked command gets rejected when reprocessed after permission change (28 ms) +[ok]: Users can be configured to authenticate with any password (1 ms) [ok]: ACLs can exclude single commands (0 ms) -[ok]: ACLs can include or exclude whole classes of commands (0 ms) -[ok]: ACLs can include single subcommands (0 ms) +[ok]: ACLs can include or exclude whole classes of commands (1 ms) +[ok]: ACLs can include single subcommands (8 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 (0 ms) @@ -877,86 +913,92 @@ [ok]: ACLs including of a type includes also subcommands (1 ms) [ok]: ACLs can block SELECT of all but a specific DB (1 ms) [ok]: ACLs can block all DEBUG subcommands except one (1 ms) -[ok]: ACLs set can include subcommands, if already full command exists (1 ms) +[ok]: ACLs set can include subcommands, if already full command exists (6 ms) [ok]: ACLs set can exclude subcommands, if already full command exists (3 ms) [ok]: ACL SETUSER RESET reverting to default newly created user (1 ms) -[ok]: ACL GETUSER is able to translate back command permissions (1 ms) -[ok]: ACL GETUSER provides reasonable results (15 ms) -[ok]: ACL GETUSER provides correct results (6 ms) -[ok]: ACL CAT with illegal arguments (0 ms) +[ok]: ACL GETUSER is able to translate back command permissions (8 ms) +[ok]: ACL GETUSER provides reasonable results (23 ms) +[ok]: ACL GETUSER provides correct results (10 ms) +[ok]: ACL CAT with illegal arguments (7 ms) [ok]: ACL CAT without category - list all categories (1 ms) [ok]: ACL CAT category - list all commands/subcommands that belong to category (1 ms) [ok]: ACL requires explicit permission for scripting for EVAL_RO, EVALSHA_RO and FCALL_RO (0 ms) -[ok]: ACL #5998 regression: memory leaks adding / removing subcommands (0 ms) -[ok]: ACL LOG aggregates similar errors together and assigns unique entry-id to new errors (5 ms) -[ok]: ACL LOG shows failed command executions at toplevel (2 ms) -[ok]: ACL LOG shows failed subcommand executions at toplevel (1 ms) +[ok]: ACL #5998 regression: memory leaks adding / removing subcommands (1 ms) +[ok]: ACL LOG aggregates similar errors together and assigns unique entry-id to new errors (8 ms) +[ok]: ACL LOG shows failed command executions at toplevel (1 ms) +[ok]: ACL LOG shows failed subcommand executions at toplevel (5 ms) [ok]: ACL LOG is able to test similar events (1 ms) -[ok]: ACL LOG is able to log keys access violations and key name (0 ms) -[ok]: ACL LOG is able to log channel access violations and channel name (0 ms) -[ok]: ACL LOG RESET is able to flush the entries in the log (1 ms) +[ok]: ACL LOG is able to log keys access violations and key name (1 ms) +[ok]: ACL LOG is able to log channel access violations and channel name (1 ms) +[ok]: ACL LOG RESET is able to flush the entries in the log (4 ms) [ok]: ACL LOG can distinguish the transaction context (1) (1 ms) -[ok]: ACL LOG can distinguish the transaction context (2) (14 ms) +[ok]: ACL LOG can distinguish the transaction context (2) (25 ms) [ok]: ACL can log errors in the context of Lua scripting (1 ms) -[ok]: ACL LOG can accept a numerical argument to show less entries (2 ms) -[ok]: ACL LOG can log failed auth attempts (0 ms) -[ok]: ACLLOG - zero max length is correctly handled (1 ms) -[ok]: ACL LOG entries are limited to a maximum amount (3 ms) +[ok]: ACL LOG can accept a numerical argument to show less entries (6 ms) +[ok]: ACL LOG can log failed auth attempts (1 ms) +[ok]: ACLLOG - zero max length is correctly handled (2 ms) +[ok]: ACL LOG entries are limited to a maximum amount (6 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 (13 ms) +[ok]: When default user is off, new connections are not authenticated (26 ms) [ok]: When default user has no command permission, hello command still works for other users (1 ms) [ok]: When an authentication chain is used in the HELLO cmd, the last auth cmd has precedence (1 ms) -[ok]: When a setname chain is used in the HELLO cmd, the last setname cmd has precedence (1 ms) -[ok]: When authentication fails in the HELLO cmd, the client setname should not be applied (1 ms) +[ok]: When a setname chain is used in the HELLO cmd, the last setname cmd has precedence (6 ms) +[ok]: When authentication fails in the HELLO cmd, the client setname should not be applied (0 ms) [ok]: ACL HELP should not have unexpected options (0 ms) -[ok]: Delete a user that the client doesn't use (0 ms) +[ok]: Delete a user that the client doesn't use (1 ms) [ok]: Delete a user that the client is using (1 ms) -[ok]: ACL GENPASS command failed test (13 ms) -[ok]: Default user can not be removed (0 ms) +[ok]: ACL GENPASS command failed test (21 ms) +[ok]: Default user can not be removed (1 ms) [ok]: ACL load non-existing configured ACL file (0 ms) -[ok]: ACL-Metrics user AUTH failure (4 ms) -[ok]: ACL-Metrics invalid command accesses (2 ms) -[ok]: ACL-Metrics invalid key accesses (3 ms) -[ok]: ACL-Metrics invalid channels accesses (3 ms) +[ok]: ACL-Metrics user AUTH failure (10 ms) +[ok]: ACL-Metrics invalid command accesses (3 ms) +[ok]: ACL-Metrics invalid key accesses (7 ms) +[ok]: ACL-Metrics invalid channels accesses (2 ms) === (external:skip) Starting server 127.0.0.1:21117 ok [ok]: default: load from include file, can access any channels (1 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 (0 ms) -[ok]: Bob: just execute @set and acl command (0 ms) -[ok]: ACL LOAD only disconnects affected clients (46 ms) -[ok]: ACL LOAD disconnects affected subscriber (26 ms) -[ok]: ACL LOAD disconnects clients of deleted users (41 ms) +[ok]: default: with config acl-pubsub-default resetchannels after reset, can not access any channels (6 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 (72 ms) +[ok]: ACL LOAD disconnects affected subscriber (47 ms) +[ok]: ACL LOAD disconnects clients of deleted users (73 ms) [ok]: ACL load and save (1 ms) -[ok]: ACL load and save with restricted channels (2 ms) +[ok]: ACL load and save with restricted channels (1 ms) === (repl external:skip) Starting server 127.0.0.1:21119 ok -[ok]: First server should have role slave after SLAVEOF (102 ms) +[ok]: First server should have role slave after SLAVEOF (120 ms) [ok]: ACL load on replica when connected to replica (1 ms) === (external:skip) Starting server 127.0.0.1:21121 ok -[ok]: Default user has access to all channels irrespective of flag (0 ms) +[ok]: Default user has access to all channels irrespective of flag (1 ms) [ok]: Update acl-pubsub-default, existing users shouldn't get affected (1 ms) -[ok]: Single channel is valid (0 ms) -[ok]: Single channel is not valid with allchannels (1 ms) +[ok]: Single channel is valid (6 ms) +[ok]: Single channel is not valid with allchannels (0 ms) === (external:skip) Starting server 127.0.0.1:21123 ok -[ok]: Only default user has access to all channels irrespective of flag (1 ms) +[ok]: Only default user has access to all channels irrespective of flag (16 ms) === (external:skip) Starting server 127.0.0.1:21125 ok [ok]: default: load from config file, without channel permission default user can't access any channels (0 ms) === (external:skip) Starting server 127.0.0.1:21127 ok -[ok]: default: load from config file with all channels permissions (1 ms) +[ok]: default: load from config file with all channels permissions (40 ms) === (external:skip) Starting server 127.0.0.1:21129 ok -[ok]: Test loading an ACL file with duplicate users (11 ms) -[ok]: Test loading an ACL file with duplicate default user (8 ms) -[ok]: Test loading duplicate users in config on startup (22 ms) +[ok]: Test loading an ACL file with duplicate users (32 ms) +[ok]: Test loading an ACL file with duplicate default user (32 ms) +[ok]: Test loading duplicate users in config on startup (67 ms) === (acl external:skip) Starting server 127.0.0.1:21131 ok -[ok]: ACL from config file and config rewrite (229 ms) -[2/96 done]: unit/acl (3 seconds) +[ok]: ACL from config file and config rewrite (348 ms) +[2/96 done]: unit/acl (6 seconds) Testing unit/aofrw === (aofrw external:skip logreqres:skip) Starting server 127.0.0.1:21133 ok Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite during write load: RDB preamble=yes (6869 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite during write load: RDB preamble=yes (10665 ms) Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... @@ -964,692 +1006,697 @@ 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 (10129 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite during write load: RDB preamble=no (18256 ms) === (aofrw external:skip) Starting server 127.0.0.1:21135 ok -Waiting for background AOF rewrite to finish... [ok]: Turning off AOF kills the background writing child if any (55 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 (107 ms) +Waiting for background AOF rewrite to finish... [ok]: Turning off AOF kills the background writing child if any (148 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, string data (190 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with listpack encoding, string data (61 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with listpack encoding, int data (106 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, string data (340 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 (215 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with listpack encoding, int data (114 ms) + +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, int data (1642 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 (105 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with intset encoding, string data (114 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, string data (173 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, string data (289 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with intset encoding, int data (106 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with intset encoding, int data (115 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 (212 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, int data (317 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with listpack encoding, string data (107 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with listpack encoding, string data (114 ms) -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, string data (230 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, string data (301 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with listpack encoding, int data (55 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with listpack encoding, int data (64 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, int data (223 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, int data (332 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, string data (109 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, string data (115 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, string data (184 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, string data (305 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, int data (106 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, int data (115 ms) -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, int data (219 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, int data (281 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite functions (111 ms) -[ok]: BGREWRITEAOF is delayed if BGSAVE is in progress (230 ms) -[ok]: BGREWRITEAOF is refused if already in progress (17 ms) -[3/96 done]: unit/aofrw (21 seconds) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite functions (112 ms) +[ok]: BGREWRITEAOF is delayed if BGSAVE is in progress (302 ms) +[ok]: BGREWRITEAOF is refused if already in progress (64 ms) +[3/96 done]: unit/aofrw (35 seconds) Testing unit/auth === (auth external:skip) Starting server 127.0.0.1:21137 ok -[ok]: AUTH fails if there is no password configured server side (0 ms) -[ok]: Arity check for auth command (0 ms) +[ok]: AUTH fails if there is no password configured server side (8 ms) +[ok]: Arity check for auth command (8 ms) === (auth external:skip) Starting server 127.0.0.1:21139 ok -[ok]: AUTH fails when a wrong password is given (11 ms) -[ok]: Arbitrary command gives an error when AUTH is required (1 ms) -[ok]: AUTH succeeds when the right password is given (0 ms) -[ok]: Once AUTH succeeded we can actually send commands to the server (1 ms) -[ok]: For unauthenticated clients multibulk and bulk length are limited (26 ms) -[ok]: For unauthenticated clients output buffer is limited (1192 ms) +[ok]: AUTH fails when a wrong password is given (22 ms) +[ok]: Arbitrary command gives an error when AUTH is required (8 ms) +[ok]: AUTH succeeds when the right password is given (8 ms) +[ok]: Once AUTH succeeded we can actually send commands to the server (16 ms) +[ok]: For unauthenticated clients multibulk and bulk length are limited (52 ms) +[ok]: For unauthenticated clients output buffer is limited (1457 ms) === (auth_binary_password external:skip) Starting server 127.0.0.1:21141 ok -[ok]: AUTH fails when binary password is wrong (1 ms) +[ok]: AUTH fails when binary password is wrong (7 ms) [ok]: AUTH succeeds when binary password is correct (1 ms) === (masterauth) Starting server 127.0.0.1:21143 ok -[ok]: MASTERAUTH test with binary password rdbchannel=yes (955 ms) -[ok]: MASTERAUTH test with binary password rdbchannel=no (960 ms) -[4/96 done]: unit/auth (4 seconds) +[ok]: MASTERAUTH test with binary password rdbchannel=yes (956 ms) +[ok]: MASTERAUTH test with binary password rdbchannel=no (972 ms) +[4/96 done]: unit/auth (6 seconds) Testing unit/bitfield === (bitops) Starting server 127.0.0.1:21145 ok [ok]: BITFIELD signed SET and GET basics (1 ms) -[ok]: BITFIELD unsigned SET and GET basics (0 ms) +[ok]: BITFIELD unsigned SET and GET basics (1 ms) [ok]: BITFIELD signed SET and GET together (1 ms) [ok]: BITFIELD unsigned with SET, GET and INCRBY arguments (0 ms) -[ok]: BITFIELD with only key as argument (0 ms) +[ok]: BITFIELD with only key as argument (1 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 (0 ms) -[ok]: BITFIELD signed overflow sat (0 ms) -[ok]: BITFIELD overflow detection fuzzing (355 ms) -[ok]: BITFIELD overflow wrap fuzzing (467 ms) +[ok]: BITFIELD signed overflow wrap (5 ms) +[ok]: BITFIELD signed overflow sat (1 ms) +[ok]: BITFIELD overflow detection fuzzing (633 ms) +[ok]: BITFIELD overflow wrap fuzzing (839 ms) [ok]: BITFIELD regression for #3221 (1 ms) -[ok]: BITFIELD regression for #3564 (2 ms) -[ok]: BITFIELD_RO with only key as argument (1 ms) -[ok]: BITFIELD_RO fails when write option is used (0 ms) +[ok]: BITFIELD regression for #3564 (7 ms) +[ok]: BITFIELD_RO with only key as argument (0 ms) +[ok]: BITFIELD_RO fails when write option is used (1 ms) === (repl external:skip) Starting server 127.0.0.1:21147 ok === () Starting server 127.0.0.1:21149 ok -[ok]: BITFIELD: setup slave (102 ms) -[ok]: BITFIELD: write on master, read on slave (2 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) -[5/96 done]: unit/bitfield (2 seconds) +[ok]: BITFIELD: setup slave (128 ms) +[ok]: BITFIELD: write on master, read on slave (132 ms) +[ok]: BITFIELD_RO with only key as argument on read-only replica (8 ms) +[ok]: BITFIELD_RO fails when write option is used on read-only replica (8 ms) +[5/96 done]: unit/bitfield (3 seconds) Testing unit/bitops === (bitops) Starting server 127.0.0.1:21151 ok -[ok]: BITCOUNT against wrong type (1 ms) +[ok]: BITCOUNT against wrong type (0 ms) [ok]: BITCOUNT returns 0 against non existing key (0 ms) -[ok]: BITCOUNT returns 0 with out of range indexes (1 ms) -[ok]: BITCOUNT returns 0 with negative indexes where start > end (0 ms) -[ok]: BITCOUNT against test vector #1 (0 ms) +[ok]: BITCOUNT returns 0 with out of range indexes (0 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 #3 (1 ms) +[ok]: BITCOUNT against test vector #3 (0 ms) [ok]: BITCOUNT against test vector #4 (0 ms) [ok]: BITCOUNT against test vector #5 (0 ms) -[ok]: BITCOUNT fuzzing without start/end (233 ms) -[ok]: BITCOUNT fuzzing with start/end (394 ms) -[ok]: BITCOUNT with start, end (1 ms) +[ok]: BITCOUNT fuzzing without start/end (406 ms) +[ok]: BITCOUNT fuzzing with start/end (880 ms) +[ok]: BITCOUNT with start, end (6 ms) [ok]: BITCOUNT with illegal arguments (1 ms) [ok]: BITCOUNT against non-integer value (1 ms) -[ok]: BITCOUNT regression test for github issue #582 (1 ms) -[ok]: BITCOUNT misaligned prefix (0 ms) +[ok]: BITCOUNT regression test for github issue #582 (0 ms) +[ok]: BITCOUNT misaligned prefix (1 ms) [ok]: BITCOUNT misaligned prefix + full words + remainder (0 ms) -[ok]: BITOP NOT (empty string) (1 ms) -[ok]: BITOP NOT (known string) (0 ms) -[ok]: BITOP where dest and target are the same key (1 ms) +[ok]: BITOP NOT (empty string) (4 ms) +[ok]: BITOP NOT (known string) (1 ms) +[ok]: BITOP where dest and target are the same key (0 ms) [ok]: BITOP AND|OR|XOR don't change the string with single input key (1 ms) [ok]: BITOP missing key is considered a stream of zero (1 ms) -[ok]: BITOP shorter keys are zero-padded to the key with max length (1 ms) -[ok]: BITOP and fuzzing (171 ms) -[ok]: BITOP or fuzzing (235 ms) -[ok]: BITOP xor fuzzing (245 ms) -[ok]: BITOP NOT fuzzing (40 ms) -[ok]: BITOP with integer encoded source objects (0 ms) +[ok]: BITOP shorter keys are zero-padded to the key with max length (5 ms) +[ok]: BITOP and fuzzing (399 ms) +[ok]: BITOP or fuzzing (432 ms) +[ok]: BITOP xor fuzzing (534 ms) +[ok]: BITOP NOT fuzzing (46 ms) +[ok]: BITOP with integer encoded source objects (4 ms) [ok]: BITOP with non string source key (1 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 (0 ms) +[ok]: BITPOS will illegal arguments (6 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 (0 ms) [ok]: BITPOS bit=1 with string less than 1 word works (0 ms) -[ok]: BITPOS bit=0 starting at unaligned address (1 ms) -[ok]: BITPOS bit=1 starting at unaligned address (0 ms) -[ok]: BITPOS bit=0 unaligned+full word+reminder (3 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 (8 ms) [ok]: BITPOS bit=1 unaligned+full word+reminder (3 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 (14 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 (4 ms) -[ok]: BITPOS bit=1 fuzzy testing using SETBIT (309 ms) -[ok]: BITPOS bit=0 fuzzy testing using SETBIT (318 ms) -[ok]: BITPOS/BITCOUNT fuzzy testing using SETBIT (325 ms) +[ok]: SETBIT/BITFIELD only increase dirty when the value changed (7 ms) +[ok]: BITPOS bit=1 fuzzy testing using SETBIT (565 ms) +[ok]: BITPOS bit=0 fuzzy testing using SETBIT (561 ms) +[ok]: BITPOS/BITCOUNT fuzzy testing using SETBIT (594 ms) === (bitops) Starting server 127.0.0.1:21153 ok [ignore]: BIT pos larger than UINT_MAX: large memory flag not provided [ignore]: SETBIT values larger than UINT32_MAX and lzf_compress/lzf_decompress correctly: large memory flag not provided -[6/96 done]: unit/bitops (3 seconds) +[6/96 done]: unit/bitops (6 seconds) Testing unit/client-eviction === () Starting server 127.0.0.1:21155 ok -[ok]: client evicted due to large argv (56 ms) -[ok]: client evicted due to large query buf (37 ms) -[ok]: client evicted due to percentage of maxmemory (36 ms) -[ok]: client evicted due to large multi buf (63 ms) -[ok]: client evicted due to watched key list (294 ms) -[ok]: client evicted due to pubsub subscriptions (1386 ms) +[ok]: client evicted due to large argv (180 ms) +[ok]: client evicted due to large query buf (86 ms) +[ok]: client evicted due to percentage of maxmemory (126 ms) +[ok]: client evicted due to large multi buf (164 ms) +[ok]: client evicted due to watched key list (882 ms) +[ok]: client evicted due to pubsub subscriptions (1532 ms) [ok]: client evicted due to tracking redirection (47 ms) -[ok]: client evicted due to client tracking prefixes (1350 ms) -[ok]: client evicted due to output buf (35 ms) -[ok]: client no-evict on (92 ms) -[ok]: client no-evict off (37 ms) +[ok]: client evicted due to client tracking prefixes (1960 ms) +[ok]: client evicted due to output buf (46 ms) +[ok]: client no-evict on (53 ms) +[ok]: client no-evict off (41 ms) === () Starting server 127.0.0.1:21157 ok -[ok]: avoid client eviction when client is freed by output buffer limit (140 ms) +[ok]: avoid client eviction when client is freed by output buffer limit (337 ms) === () Starting server 127.0.0.1:21159 ok -[ok]: decrease maxmemory-clients causes client eviction (628 ms) +[ok]: decrease maxmemory-clients causes client eviction (759 ms) === () Starting server 127.0.0.1:21161 ok -[ok]: evict clients only until below limit (229 ms) +[ok]: evict clients only until below limit (601 ms) === () Starting server 127.0.0.1:21163 ok -[ok]: evict clients in right order (large to small) (259 ms) +[ok]: evict clients in right order (large to small) (261 ms) === () Starting server 127.0.0.1:21165 ok -[ok]: client total memory grows during client no-evict (147 ms) -[ok]: client total memory grows during maxmemory-clients disabled (132 ms) -[7/96 done]: unit/client-eviction (6 seconds) +[ok]: client total memory grows during client no-evict (217 ms) +[ok]: client total memory grows during maxmemory-clients disabled (161 ms) +[7/96 done]: unit/client-eviction (10 seconds) Testing unit/dump === (dump) Starting server 127.0.0.1:21167 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 (1 ms) -[ok]: RESTORE can set an absolute expire (1 ms) -[ok]: RESTORE with ABSTTL in the past (1 ms) -[ok]: RESTORE can set LRU (1 ms) -[ok]: RESTORE can set LFU (21 ms) -[ok]: RESTORE returns an error of the key already exists (1 ms) -[ok]: RESTORE can overwrite an existing key with REPLACE (1 ms) -[ok]: RESTORE can detect a syntax error for unrecognized options (0 ms) -[ok]: RESTORE should not store key that are already expired, with REPLACE will propagate it as DEL or UNLINK (22 ms) -[ok]: DUMP of non existing key returns nil (0 ms) +[ok]: DUMP / RESTORE are able to serialize / unserialize a simple key (56 ms) +[ok]: RESTORE can set an arbitrary expire to the materialized key (44 ms) +[ok]: RESTORE can set an expire that overflows a 32 bit integer (48 ms) +[ok]: RESTORE can set an absolute expire (48 ms) +[ok]: RESTORE with ABSTTL in the past (48 ms) +[ok]: RESTORE can set LRU (64 ms) +[ok]: RESTORE can set LFU (88 ms) +[ok]: RESTORE returns an error of the key already exists (16 ms) +[ok]: RESTORE can overwrite an existing key with REPLACE (64 ms) +[ok]: RESTORE can detect a syntax error for unrecognized options (8 ms) +[ok]: RESTORE should not store key that are already expired, with REPLACE will propagate it as DEL or UNLINK (168 ms) +[ok]: DUMP of non existing key returns nil (8 ms) === (repl) Starting server 127.0.0.1:21169 ok -[ok]: MIGRATE is caching connections (282 ms) -[ok]: MIGRATE cached connections are released after some time (15004 ms) +[ok]: MIGRATE is caching connections (596 ms) +[ok]: MIGRATE cached connections are released after some time (15008 ms) === (repl) Starting server 127.0.0.1:21171 ok -[ok]: MIGRATE is able to migrate a key between two instances (377 ms) +[ok]: MIGRATE is able to migrate a key between two instances (476 ms) === (repl) Starting server 127.0.0.1:21173 ok -[ok]: MIGRATE is able to copy a key between two instances (377 ms) +[ok]: MIGRATE is able to copy a key between two instances (616 ms) === (repl) Starting server 127.0.0.1:21175 ok -[ok]: MIGRATE will not overwrite existing keys, unless REPLACE is used (309 ms) +[ok]: MIGRATE will not overwrite existing keys, unless REPLACE is used (600 ms) === (repl) Starting server 127.0.0.1:21177 ok -[ok]: MIGRATE propagates TTL correctly (292 ms) +[ok]: MIGRATE propagates TTL correctly (593 ms) === (repl) Starting server 127.0.0.1:21179 ok -[ok]: MIGRATE can correctly transfer large values (10184 ms) +[ok]: MIGRATE can correctly transfer large values (10411 ms) === (repl) Starting server 127.0.0.1:21181 ok -[ok]: MIGRATE can correctly transfer hashes (258 ms) +[ok]: MIGRATE can correctly transfer hashes (492 ms) === (repl) Starting server 127.0.0.1:21183 ok -[ok]: MIGRATE timeout actually works (748 ms) +[ok]: MIGRATE timeout actually works (992 ms) === (repl) Starting server 127.0.0.1:21185 ok -[ok]: MIGRATE can migrate multiple keys at once (250 ms) -[ok]: MIGRATE with multiple keys must have empty key arg (1 ms) +[ok]: MIGRATE can migrate multiple keys at once (576 ms) +[ok]: MIGRATE with multiple keys must have empty key arg (8 ms) === (repl) Starting server 127.0.0.1:21187 ok -[ok]: MIGRATE with multiple keys migrate just existing ones (261 ms) +[ok]: MIGRATE with multiple keys migrate just existing ones (508 ms) === (repl) Starting server 127.0.0.1:21189 ok -[ok]: MIGRATE with multiple keys: stress command rewriting (254 ms) +[ok]: MIGRATE with multiple keys: stress command rewriting (492 ms) === (repl) Starting server 127.0.0.1:21191 ok -[ok]: MIGRATE with multiple keys: delete just ack keys (254 ms) +[ok]: MIGRATE with multiple keys: delete just ack keys (472 ms) === (repl) Starting server 127.0.0.1:21193 ok -[ok]: MIGRATE AUTH: correct and wrong password cases (252 ms) -[8/96 done]: unit/dump (30 seconds) +[ok]: MIGRATE AUTH: correct and wrong password cases (608 ms) +[8/96 done]: unit/dump (34 seconds) Testing unit/expire === (expire) Starting server 127.0.0.1:21195 ok -[ok]: EXPIRE - set timeouts multiple times (2 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 (2 ms) -[ok]: EXPIREAT - Check for EXPIRE alike behavior (1 ms) -[ok]: SETEX - Set + Expire combo operation. Check for TTL (1 ms) -[ok]: SETEX - Check value (0 ms) -[ok]: SETEX - Overwrite old key (0 ms) -[ok]: SETEX - Wait for the key to expire (1102 ms) -[ok]: SETEX - Wrong time parameter (1 ms) -[ok]: PERSIST can undo an EXPIRE (1 ms) -[ok]: PERSIST returns 0 against non existing or non volatile keys (0 ms) +[ok]: EXPIRE - set timeouts multiple times (47 ms) +[ok]: EXPIRE - It should be still possible to read 'x' (8 ms) +[ok]: EXPIRE - After 2.1 seconds the key should no longer be here (2120 ms) +[ok]: EXPIRE - write on expire should work (40 ms) +[ok]: EXPIREAT - Check for EXPIRE alike behavior (32 ms) +[ok]: SETEX - Set + Expire combo operation. Check for TTL (16 ms) +[ok]: SETEX - Check value (8 ms) +[ok]: SETEX - Overwrite old key (16 ms) +[ok]: SETEX - Wait for the key to expire (1112 ms) +[ok]: SETEX - Wrong time parameter (8 ms) +[ok]: PERSIST can undo an EXPIRE (48 ms) +[ok]: PERSIST returns 0 against non existing or non volatile keys (16 ms) millisecond expire test attempts: 0 -[ok]: EXPIRE precision is now the millisecond (1105 ms) +[ok]: EXPIRE precision is now the millisecond (1140 ms) PSETEX sub-second expire test attempts: 0 -[ok]: PSETEX can set sub-second expires (103 ms) +[ok]: PSETEX can set sub-second expires (128 ms) PEXPIRE sub-second expire test attempts: 0 -[ok]: PEXPIRE can set sub-second expires (103 ms) +[ok]: PEXPIRE can set sub-second expires (104 ms) PEXPIREAT sub-second expire test attempts: 0 -[ok]: PEXPIREAT can set sub-second expires (205 ms) +[ok]: PEXPIREAT can set sub-second expires (204 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 -1 if key has no expire (7 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 (1 ms) -[ok]: Redis should actively expire keys incrementally (609 ms) -[ok]: Redis should lazy expire keys (1005 ms) -[ok]: EXPIRE should not resurrect keys (issue #1026) (1003 ms) -[ok]: 5 keys in, 5 keys out (1 ms) -[ok]: EXPIRE with empty string as TTL should report an error (1 ms) +[ok]: PEXPIRETIME returns absolute expiration time in milliseconds (0 ms) +[ok]: Redis should actively expire keys incrementally (519 ms) +[ok]: Redis should lazy expire keys (1007 ms) +[ok]: EXPIRE should not resurrect keys (issue #1026) (1005 ms) +[ok]: 5 keys in, 5 keys out (2 ms) +[ok]: EXPIRE with empty string as TTL should report an error (4 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 (1 ms) -[ok]: GETEX with smallest integer should report an error (1 ms) +[ok]: SET with EX with smallest integer should report an error (1 ms) +[ok]: GETEX with big integer should report an error (0 ms) +[ok]: GETEX with smallest integer should report an error (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 (1 ms) +[ok]: EXPIRE with big negative integer (0 ms) [ok]: PEXPIREAT with big integer works (1 ms) -[ok]: PEXPIREAT with big negative integer works (1 ms) +[ok]: PEXPIREAT with big negative integer works (4 ms) === (external:skip) Starting server 127.0.0.1:21197 ok -[ok]: All time-to-live(TTL) in commands are propagated as absolute timestamp in milliseconds in AOF (2027 ms) -[ok]: All TTL in commands are propagated as absolute timestamp in replication stream (135 ms) +[ok]: All time-to-live(TTL) in commands are propagated as absolute timestamp in milliseconds in AOF (2684 ms) +[ok]: All TTL in commands are propagated as absolute timestamp in replication stream (248 ms) === (needs:repl external:skip) Starting server 127.0.0.1:21199 ok -[ok]: First server should have role slave after REPLICAOF (2 ms) -[ok]: For all replicated TTL-related commands, absolute expire times are identical on primary and replica (67 ms) +[ok]: First server should have role slave after REPLICAOF (20 ms) +[ok]: For all replicated TTL-related commands, absolute expire times are identical on primary and replica (492 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: expired key which is created in writeable replicas should be deleted by active expiry (300 ms) -[ok]: SET command will remove expire (2 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 (2008 ms) -[ok]: GETEX use of PERSIST option should remove TTL (0 ms) -[ok]: GETEX use of PERSIST option should remove TTL after loadaof (1 ms) -[ok]: GETEX propagate as to replica as PERSIST, DEL, or nothing (58 ms) -[ok]: EXPIRE with NX option on a key with ttl (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]: EXPIRE with XX option on a key without ttl (1 ms) -[ok]: EXPIRE with GT option on a key with lower ttl (1 ms) -[ok]: EXPIRE with GT option on a key with higher ttl (0 ms) -[ok]: EXPIRE with GT option on a key without ttl (1 ms) -[ok]: EXPIRE with LT option on a key with higher ttl (0 ms) -[ok]: EXPIRE with LT option on a key with lower ttl (1 ms) -[ok]: EXPIRE with LT option on a key without ttl (0 ms) -[ok]: EXPIRE with LT and XX option on a key with ttl (1 ms) -[ok]: EXPIRE with LT and XX option on a key without ttl (0 ms) -[ok]: EXPIRE with conflicting options: LT GT (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 unsupported options (0 ms) -[ok]: EXPIRE with negative expiry (0 ms) -[ok]: EXPIRE with negative expiry on a non-valitale key (1 ms) -[ok]: EXPIRE with non-existed key (0 ms) -[ok]: Redis should not propagate the read command on lazy expire (90 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) +Waiting for background AOF rewrite to finish... [ok]: expired key which is created in writeable replicas should be deleted by active expiry (308 ms) +[ok]: SET command will remove expire (24 ms) +[ok]: SET - use KEEPTTL option, TTL should not be removed (24 ms) +[ok]: SET - use KEEPTTL option, TTL should not be removed after loadaof (2048 ms) +[ok]: GETEX use of PERSIST option should remove TTL (24 ms) +[ok]: GETEX use of PERSIST option should remove TTL after loadaof (40 ms) +[ok]: GETEX propagate as to replica as PERSIST, DEL, or nothing (184 ms) +[ok]: EXPIRE with NX option on a key with ttl (24 ms) +[ok]: EXPIRE with NX option on a key without ttl (24 ms) +[ok]: EXPIRE with XX option on a key with ttl (24 ms) +[ok]: EXPIRE with XX option on a key without ttl (24 ms) +[ok]: EXPIRE with GT option on a key with lower ttl (24 ms) +[ok]: EXPIRE with GT option on a key with higher ttl (24 ms) +[ok]: EXPIRE with GT option on a key without ttl (24 ms) +[ok]: EXPIRE with LT option on a key with higher ttl (24 ms) +[ok]: EXPIRE with LT option on a key with lower ttl (24 ms) +[ok]: EXPIRE with LT option on a key without ttl (24 ms) +[ok]: EXPIRE with LT and XX option on a key with ttl (24 ms) +[ok]: EXPIRE with LT and XX option on a key without ttl (24 ms) +[ok]: EXPIRE with conflicting options: LT GT (8 ms) +[ok]: EXPIRE with conflicting options: NX GT (8 ms) +[ok]: EXPIRE with conflicting options: NX LT (8 ms) +[ok]: EXPIRE with conflicting options: NX XX (8 ms) +[ok]: EXPIRE with unsupported options (8 ms) +[ok]: EXPIRE with unsupported options (8 ms) +[ok]: EXPIRE with negative expiry (24 ms) +[ok]: EXPIRE with negative expiry on a non-valitale key (24 ms) +[ok]: EXPIRE with non-existed key (32 ms) +[ok]: Redis should not propagate the read command on lazy expire (196 ms) +[ok]: SCAN: Lazy-expire should not be wrapped in MULTI/EXEC (200 ms) +[ok]: RANDOMKEY: Lazy-expire should not be wrapped in MULTI/EXEC (208 ms) === (expire external:skip cluster) Starting server 127.0.0.1:21201 ok -[ok]: expire scan should skip dictionaries with lot's of empty buckets (1233 ms) -[9/96 done]: unit/expire (16 seconds) +[ok]: expire scan should skip dictionaries with lot's of empty buckets (1289 ms) +[9/96 done]: unit/expire (20 seconds) Testing unit/functions === (scripting) Starting server 127.0.0.1:21203 ok -[ok]: FUNCTION - Basic usage (0 ms) -[ok]: FUNCTION - Load with unknown argument (0 ms) -[ok]: FUNCTION - Create an already exiting library raise error (0 ms) -[ok]: FUNCTION - Create an already exiting library raise error (case insensitive) (0 ms) -[ok]: FUNCTION - Create a library with wrong name format (0 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 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 (0 ms) -[ok]: FUNCTION - test fcall negative number of keys (0 ms) -[ok]: FUNCTION - test delete on not exiting library (0 ms) -[ok]: FUNCTION - test function kill when function is not running (1 ms) -[ok]: FUNCTION - test wrong subcommand (0 ms) -[ok]: FUNCTION - test loading from rdb (1 ms) +[ok]: FUNCTION - Basic usage (16 ms) +[ok]: FUNCTION - Load with unknown argument (8 ms) +[ok]: FUNCTION - Create an already exiting library raise error (8 ms) +[ok]: FUNCTION - Create an already exiting library raise error (case insensitive) (8 ms) +[ok]: FUNCTION - Create a library with wrong name format (8 ms) +[ok]: FUNCTION - Create library with unexisting engine (12 ms) +[ok]: FUNCTION - Test uncompiled script (8 ms) +[ok]: FUNCTION - test replace argument (16 ms) +[ok]: FUNCTION - test function case insensitive (8 ms) +[ok]: FUNCTION - test replace argument with failure keeps old libraries (16 ms) +[ok]: FUNCTION - test function delete (16 ms) +[ok]: FUNCTION - test fcall bad arguments (16 ms) +[ok]: FUNCTION - test fcall bad number of keys arguments (8 ms) +[ok]: FUNCTION - test fcall negative number of keys (8 ms) +[ok]: FUNCTION - test delete on not exiting library (8 ms) +[ok]: FUNCTION - test function kill when function is not running (8 ms) +[ok]: FUNCTION - test wrong subcommand (8 ms) +[ok]: FUNCTION - test loading from rdb (5 ms) [ok]: FUNCTION - test debug reload different options (1 ms) -[ok]: FUNCTION - test debug reload with nosave and noflush (2 ms) -[ok]: FUNCTION - test flushall and flushdb do not clean functions (6 ms) -[ok]: FUNCTION - test function dump and restore (1 ms) -[ok]: FUNCTION - test function dump and restore with flush argument (2 ms) +[ok]: FUNCTION - test debug reload with nosave and noflush (1 ms) +[ok]: FUNCTION - test flushall and flushdb do not clean functions (17 ms) +[ok]: FUNCTION - test function dump and restore (2 ms) +[ok]: FUNCTION - test function dump and restore with flush argument (1 ms) [ok]: FUNCTION - test function dump and restore with append argument (2 ms) [ok]: FUNCTION - test function dump and restore with replace argument (2 ms) [ok]: FUNCTION - test function restore with bad payload do not drop existing functions (1 ms) [ok]: FUNCTION - test function restore with wrong number of arguments (0 ms) -[ok]: FUNCTION - test fcall_ro with write command (1 ms) -[ok]: FUNCTION - test fcall_ro with read only commands (0 ms) +[ok]: FUNCTION - test fcall_ro with write command (4 ms) +[ok]: FUNCTION - test fcall_ro with read only commands (1 ms) [ok]: FUNCTION - test keys and argv (0 ms) -[ok]: FUNCTION - test command get keys on fcall (0 ms) -[ok]: FUNCTION - test command get keys on fcall_ro (1 ms) -[ok]: FUNCTION - test function kill (418 ms) -[ok]: FUNCTION - test script kill not working on function (419 ms) -[ok]: FUNCTION - test function kill not working on eval (418 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 (450 ms) +[ok]: FUNCTION - test script kill not working on function (452 ms) +[ok]: FUNCTION - test function kill not working on eval (452 ms) [ok]: FUNCTION - test function flush (3 ms) -[ok]: FUNCTION - async function flush rebuilds Lua VM without causing race condition between main and lazyfree thread (158 ms) -[ok]: FUNCTION - test function wrong argument (0 ms) +[ok]: FUNCTION - async function flush rebuilds Lua VM without causing race condition between main and lazyfree thread (250 ms) +[ok]: FUNCTION - test function wrong argument (1 ms) === (scripting repl external:skip) Starting server 127.0.0.1:21205 ok === () Starting server 127.0.0.1:21207 ok -[ok]: Connect a replica to the master instance (103 ms) -[ok]: FUNCTION - creation is replicated to replica (1 ms) -[ok]: FUNCTION - call on replica (1 ms) -[ok]: FUNCTION - restore is replicated to replica (1 ms) -[ok]: FUNCTION - delete is replicated to replica (0 ms) -[ok]: FUNCTION - flush is replicated to replica (2 ms) -[ok]: Disconnecting the replica from master instance (114 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 (0 ms) -[ok]: FUNCTION - delete on read only replica (0 ms) -[ok]: FUNCTION - function effect is replicated to replica (2 ms) -[ok]: FUNCTION - modify key space of read only replica (0 ms) +[ok]: Connect a replica to the master instance (148 ms) +[ok]: FUNCTION - creation is replicated to replica (16 ms) +[ok]: FUNCTION - call on replica (8 ms) +[ok]: FUNCTION - restore is replicated to replica (36 ms) +[ok]: FUNCTION - delete is replicated to replica (16 ms) +[ok]: FUNCTION - flush is replicated to replica (32 ms) +[ok]: Disconnecting the replica from master instance (164 ms) +[ok]: FUNCTION - test replication to replica on rdb phase (4 ms) +[ok]: FUNCTION - test replication to replica on rdb phase info command (8 ms) +[ok]: FUNCTION - create on read only replica (8 ms) +[ok]: FUNCTION - delete on read only replica (8 ms) +[ok]: FUNCTION - function effect is replicated to replica (32 ms) +[ok]: FUNCTION - modify key space of read only replica (8 ms) === () Starting server 127.0.0.1:21209 ok Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: FUNCTION can processes create, delete and flush commands in AOF when doing "debug loadaof" in read-only slaves (337 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 (543 ms) === (scripting) Starting server 127.0.0.1:21211 ok -[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) -[ok]: LIBRARIES - test registration with no argument (1 ms) -[ok]: LIBRARIES - test registration with only name (0 ms) -[ok]: LIBRARIES - test registration with to many arguments (0 ms) -[ok]: LIBRARIES - test registration with no string name (0 ms) -[ok]: LIBRARIES - test registration with wrong name format (1 ms) -[ok]: LIBRARIES - test registration with empty name (0 ms) -[ok]: LIBRARIES - math.random from function load (1 ms) -[ok]: LIBRARIES - redis.call from function load (0 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 - malicious access test (1 ms) -[ok]: LIBRARIES - delete removed all functions on library (1 ms) -[ok]: LIBRARIES - register function inside a function (0 ms) -[ok]: LIBRARIES - register library with no functions (1 ms) -[ok]: LIBRARIES - load timeout (502 ms) -[ok]: LIBRARIES - verify global protection on the load run (1 ms) +[ok]: LIBRARIES - test shared function can access default globals (16 ms) +[ok]: LIBRARIES - usage and code sharing (32 ms) +[ok]: LIBRARIES - test registration failure revert the entire load (24 ms) +[ok]: LIBRARIES - test registration function name collision (24 ms) +[ok]: LIBRARIES - test registration function name collision on same library (8 ms) +[ok]: LIBRARIES - test registration with no argument (8 ms) +[ok]: LIBRARIES - test registration with only name (8 ms) +[ok]: LIBRARIES - test registration with to many arguments (8 ms) +[ok]: LIBRARIES - test registration with no string name (8 ms) +[ok]: LIBRARIES - test registration with wrong name format (8 ms) +[ok]: LIBRARIES - test registration with empty name (8 ms) +[ok]: LIBRARIES - math.random from function load (8 ms) +[ok]: LIBRARIES - redis.call from function load (8 ms) +[ok]: LIBRARIES - redis.setresp from function load (8 ms) +[ok]: LIBRARIES - redis.set_repl from function load (8 ms) +[ok]: LIBRARIES - redis.acl_check_cmd from function load (8 ms) +[ok]: LIBRARIES - malicious access test (40 ms) +[ok]: LIBRARIES - delete removed all functions on library (16 ms) +[ok]: LIBRARIES - register function inside a function (16 ms) +[ok]: LIBRARIES - register library with no functions (16 ms) +[ok]: LIBRARIES - load timeout (512 ms) +[ok]: LIBRARIES - verify global protection on the load run (4 ms) [ok]: LIBRARIES - named arguments (1 ms) -[ok]: LIBRARIES - named arguments, bad function name (1 ms) +[ok]: LIBRARIES - named arguments, bad function name (0 ms) [ok]: LIBRARIES - named arguments, bad callback type (0 ms) -[ok]: LIBRARIES - named arguments, bad description (0 ms) -[ok]: LIBRARIES - named arguments, unknown argument (1 ms) +[ok]: LIBRARIES - named arguments, bad description (1 ms) +[ok]: LIBRARIES - named arguments, unknown argument (0 ms) [ok]: LIBRARIES - named arguments, missing function name (0 ms) -[ok]: LIBRARIES - named arguments, missing callback (1 ms) -[ok]: FUNCTION - test function restore with function name collision (4 ms) +[ok]: 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 (1 ms) +[ok]: FUNCTION - test function list with pattern (6 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 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 (4 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:21213 ok -[ok]: FUNCTION - wrong flags type named arguments (1 ms) -[ok]: FUNCTION - wrong flag type (1 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 - deny oom (1 ms) -[ok]: FUNCTION - deny oom on no-writes function (1 ms) -[ok]: FUNCTION - allow stale (3 ms) -[ok]: FUNCTION - redis version api (1 ms) -[ok]: FUNCTION - function stats (3 ms) -[ok]: FUNCTION - function stats reloaded correctly from rdb (2 ms) -[ok]: FUNCTION - function stats delete library (1 ms) -[ok]: FUNCTION - test function stats on loading failure (3 ms) -[ok]: FUNCTION - function stats cleaned after flush (1 ms) -[ok]: FUNCTION - function test empty engine (0 ms) -[ok]: FUNCTION - function test unknown metadata value (1 ms) -[ok]: FUNCTION - function test no name (0 ms) -[ok]: FUNCTION - function test multiple names (1 ms) -[ok]: FUNCTION - function test name with quotes (0 ms) -[ok]: FUNCTION - trick global protection 1 (2 ms) -[ok]: FUNCTION - test getmetatable on script load (2 ms) -[10/96 done]: unit/functions (4 seconds) +[ok]: FUNCTION - wrong flags type named arguments (8 ms) +[ok]: FUNCTION - wrong flag type (8 ms) +[ok]: FUNCTION - unknown flag (8 ms) +[ok]: FUNCTION - write script on fcall_ro (16 ms) +[ok]: FUNCTION - write script with no-writes flag (16 ms) +[ok]: FUNCTION - deny oom (32 ms) +[ok]: FUNCTION - deny oom on no-writes function (40 ms) +[ok]: FUNCTION - allow stale (68 ms) +[ok]: FUNCTION - redis version api (32 ms) +[ok]: FUNCTION - function stats (32 ms) +[ok]: FUNCTION - function stats reloaded correctly from rdb (16 ms) +[ok]: FUNCTION - function stats delete library (16 ms) +[ok]: FUNCTION - test function stats on loading failure (32 ms) +[ok]: FUNCTION - function stats cleaned after flush (16 ms) +[ok]: FUNCTION - function test empty engine (8 ms) +[ok]: FUNCTION - function test unknown metadata value (8 ms) +[ok]: FUNCTION - function test no name (8 ms) +[ok]: FUNCTION - function test multiple names (8 ms) +[ok]: FUNCTION - function test name with quotes (8 ms) +[ok]: FUNCTION - trick global protection 1 (24 ms) +[ok]: FUNCTION - test getmetatable on script load (16 ms) +[10/96 done]: unit/functions (6 seconds) Testing unit/geo === (geo) Starting server 127.0.0.1:21215 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 (2 ms) +[ok]: GEO with wrong type src key (2 ms) +[ok]: GEO with non existing src key (5 ms) +[ok]: GEO BYLONLAT with empty search (1 ms) [ok]: GEO BYMEMBER with non existing member (1 ms) [ok]: GEOADD create (0 ms) -[ok]: GEOADD update (0 ms) -[ok]: GEOADD update with CH option (1 ms) +[ok]: GEOADD update (1 ms) +[ok]: GEOADD update with CH option (0 ms) [ok]: GEOADD update with NX option (1 ms) [ok]: GEOADD update with XX option (0 ms) -[ok]: GEOADD update with CH NX option (1 ms) -[ok]: GEOADD update with CH XX option (1 ms) +[ok]: GEOADD update with CH NX option (0 ms) +[ok]: GEOADD update with CH XX option (7 ms) [ok]: GEOADD update with XX NX option will return syntax error (0 ms) -[ok]: GEOADD update with invalid option (0 ms) -[ok]: GEOADD invalid coordinates (1 ms) +[ok]: GEOADD update with invalid option (1 ms) +[ok]: GEOADD invalid coordinates (0 ms) [ok]: GEOADD multi add (0 ms) -[ok]: Check geoset values (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) (1 ms) +[ok]: GEOSEARCH simple (sorted) (0 ms) [ok]: GEOSEARCH FROMLONLAT and FROMMEMBER cannot exist at the same time (0 ms) -[ok]: GEOSEARCH FROMLONLAT and FROMMEMBER one must exist (1 ms) -[ok]: GEOSEARCH BYRADIUS and BYBOX cannot exist at the same time (0 ms) -[ok]: GEOSEARCH BYRADIUS and BYBOX one must exist (1 ms) +[ok]: GEOSEARCH FROMLONLAT and FROMMEMBER one must exist (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]: GEORADIUS withdist (sorted) (0 ms) [ok]: GEOSEARCH withdist (sorted) (0 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 COUNT (0 ms) +[ok]: GEORADIUS with multiple WITH* tokens (0 ms) +[ok]: GEORADIUS with ANY not sorted by default (1 ms) [ok]: GEORADIUS with ANY sorted by ASC (0 ms) [ok]: GEORADIUS with ANY but no COUNT (0 ms) -[ok]: GEORADIUS with COUNT but missing integer argument (1 ms) +[ok]: GEORADIUS with COUNT but missing integer argument (0 ms) [ok]: GEORADIUS with COUNT DESC (0 ms) [ok]: GEORADIUS HUGE, issue #2767 (1 ms) [ok]: GEORADIUSBYMEMBER simple (sorted) (0 ms) -[ok]: GEORADIUSBYMEMBER_RO simple (sorted) (1 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]: GEOSEARCH vs GEORADIUS (1 ms) +[ok]: GEORADIUSBYMEMBER_RO simple (sorted) (0 ms) +[ok]: GEORADIUSBYMEMBER search areas contain satisfied points in oblique direction (3 ms) +[ok]: GEORADIUSBYMEMBER crossing pole search (7 ms) +[ok]: GEOSEARCH FROMMEMBER simple (sorted) (1 ms) +[ok]: GEOSEARCH vs GEORADIUS (0 ms) [ok]: GEOSEARCH non square, long and narrow (1 ms) [ok]: GEOSEARCH corner point test (1 ms) -[ok]: GEORADIUSBYMEMBER withdist (sorted) (1 ms) +[ok]: GEORADIUSBYMEMBER withdist (sorted) (0 ms) [ok]: GEOHASH is able to return geohash strings (0 ms) [ok]: GEOHASH with only key as argument (1 ms) [ok]: GEOPOS simple (1 ms) -[ok]: GEOPOS missing element (1 ms) -[ok]: GEOPOS with only key as argument (1 ms) +[ok]: GEOPOS missing element (0 ms) +[ok]: GEOPOS with only key as argument (0 ms) [ok]: GEODIST simple & unit (1 ms) [ok]: GEODIST missing elements (1 ms) -[ok]: GEORADIUS STORE option: syntax error (2 ms) +[ok]: GEORADIUS STORE option: syntax error (0 ms) [ok]: GEOSEARCHSTORE STORE option: syntax error (0 ms) -[ok]: GEORANGE STORE option: incompatible options (1 ms) -[ok]: GEORANGE STORE option: plain usage (2 ms) -[ok]: GEORADIUSBYMEMBER STORE/STOREDIST option: plain usage (2 ms) +[ok]: GEORANGE STORE option: incompatible options (6 ms) +[ok]: GEORANGE STORE option: plain usage (0 ms) +[ok]: GEORADIUSBYMEMBER STORE/STOREDIST option: plain usage (1 ms) [ok]: GEOSEARCHSTORE STORE option: plain usage (1 ms) -[ok]: GEORANGE STOREDIST option: plain usage (1 ms) +[ok]: GEORANGE STOREDIST option: plain usage (0 ms) [ok]: GEOSEARCHSTORE STOREDIST option: plain usage (1 ms) -[ok]: GEORANGE STOREDIST option: COUNT ASC and DESC (1 ms) -[ok]: GEOSEARCH the box spans -180° or 180° (2 ms) +[ok]: GEORANGE STOREDIST option: COUNT ASC and DESC (5 ms) +[ok]: GEOSEARCH the box spans -180° or 180° (0 ms) [ok]: GEOSEARCH with small distance (1 ms) -[ok]: GEOSEARCH fuzzy test - byradius (13865 ms) -[ok]: GEOSEARCH fuzzy test - bybox (10780 ms) -[ok]: GEOSEARCH box edges fuzzy test (52 ms) -[11/96 done]: unit/geo (25 seconds) +[ok]: GEOSEARCH fuzzy test - byradius (24827 ms) +[ok]: GEOSEARCH fuzzy test - bybox (17267 ms) +[ok]: GEOSEARCH box edges fuzzy test (431 ms) +[11/96 done]: unit/geo (43 seconds) Testing unit/hyperloglog === (hll) Starting server 127.0.0.1:21217 ok -[ok]: HyperLogLog self test passes (543 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 (1 ms) +[ok]: HyperLogLog self test passes (1223 ms) +[ok]: PFADD without arguments creates an HLL value (9 ms) +[ok]: Approximated cardinality after creation is zero (1 ms) +[ok]: PFADD returns 1 when at least 1 reg was modified (0 ms) [ok]: PFADD returns 0 when no reg was modified (0 ms) -[ok]: PFADD works with empty string (regression) (1 ms) -[ok]: PFCOUNT returns approximated cardinality of set (0 ms) -[ok]: HyperLogLogs are promote from sparse to dense (658 ms) -[ok]: Change hll-sparse-max-bytes (0 ms) -[ok]: Hyperloglog promote to dense well in different hll-sparse-max-bytes (71 ms) -[ok]: HyperLogLog sparse encoding stress test (1516 ms) +[ok]: PFADD works with empty string (regression) (0 ms) +[ok]: PFCOUNT returns approximated cardinality of set (1 ms) +[ok]: HyperLogLogs are promote from sparse to dense (488 ms) +[ok]: Change hll-sparse-max-bytes (1 ms) +[ok]: Hyperloglog promote to dense well in different hll-sparse-max-bytes (65 ms) +[ok]: HyperLogLog sparse encoding stress test (1162 ms) [ok]: Corrupted sparse HyperLogLogs are detected: Additional at tail (1 ms) [ok]: Corrupted sparse HyperLogLogs are detected: Broken magic (1 ms) -[ok]: Corrupted sparse HyperLogLogs are detected: Invalid encoding (1 ms) -[ok]: Corrupted sparse HyperLogLogs doesn't cause overflow and out-of-bounds with XZERO opcode (109 ms) -[ok]: Corrupted sparse HyperLogLogs doesn't cause overflow and out-of-bounds with ZERO opcode (12370 ms) -[ok]: Corrupted dense HyperLogLogs are detected: Wrong length (3 ms) -[ok]: Fuzzing dense/sparse encoding: Redis should always detect errors (45548 ms) +[ok]: Corrupted sparse HyperLogLogs are detected: Invalid encoding (0 ms) +[ok]: Corrupted sparse HyperLogLogs doesn't cause overflow and out-of-bounds with XZERO opcode (96 ms) +[ok]: Corrupted sparse HyperLogLogs doesn't cause overflow and out-of-bounds with ZERO opcode (24355 ms) +[ok]: Corrupted dense HyperLogLogs are detected: Wrong length (8 ms) +[ok]: Fuzzing dense/sparse encoding: Redis should always detect errors (47370 ms) [ok]: PFADD, PFCOUNT, PFMERGE type checking works (1 ms) [ok]: PFMERGE results on the cardinality of union of sets (1 ms) [ok]: PFMERGE on missing source keys will create an empty destkey (1 ms) -[ok]: PFMERGE with one empty input key, create an empty destkey (0 ms) +[ok]: PFMERGE with one empty input key, create an empty destkey (6 ms) [ok]: PFMERGE with one non-empty input key, dest key is actually one of the source keys (1 ms) -[ok]: PFMERGE results with simd (1421 ms) -[ok]: PFCOUNT multiple-keys merge returns cardinality of union #1 (6072 ms) -[ok]: PFCOUNT multiple-keys merge returns cardinality of union #2 (3361 ms) -[ok]: PFDEBUG GETREG returns the HyperLogLog raw registers (886 ms) -[ok]: PFADD / PFCOUNT cache invalidation works (1 ms) -[12/96 done]: unit/hyperloglog (73 seconds) +[ok]: PFMERGE results with simd (1974 ms) +[ok]: PFCOUNT multiple-keys merge returns cardinality of union #1 (8116 ms) +[ok]: PFCOUNT multiple-keys merge returns cardinality of union #2 (3469 ms) +[ok]: PFDEBUG GETREG returns the HyperLogLog raw registers (1028 ms) +[ok]: PFADD / PFCOUNT cache invalidation works (2 ms) +[12/96 done]: unit/hyperloglog (90 seconds) Testing unit/info-command === (info and its relative command) Starting server 127.0.0.1:21219 ok -[ok]: info command with at most one sub command (1 ms) +[ok]: info command with at most one sub command (2 ms) [ok]: info command with one sub-section (1 ms) [ok]: info command with multiple sub-sections (1 ms) -[13/96 done]: unit/info-command (0 seconds) +[13/96 done]: unit/info-command (1 seconds) Testing unit/info-keysizes === () Starting server 127.0.0.1:21221 ok -[ok]: KEYSIZES - Test i'th bin counts keysizes between (2^i) and (2^(i+1)-1) as expected (4 ms) -[ok]: KEYSIZES - Histogram of values of Bytes, Kilo and Mega (294 ms) -[ok]: KEYSIZES - Test hyperloglog (18422 ms) -[ok]: KEYSIZES - Test List (114 ms) -[ok]: KEYSIZES - Test SET (112 ms) -[ok]: KEYSIZES - Test ZSET (166 ms) -[ok]: KEYSIZES - Test STRING (110 ms) -[ok]: KEYSIZES - Test HASH (listpackex) (624 ms) -[ok]: KEYSIZES - Test Hash field lazy expiration (listpackex) (99 ms) -[ok]: KEYSIZES - Test HASH (hashtable) (622 ms) -[ok]: KEYSIZES - Test Hash field lazy expiration (hashtable) (98 ms) -[ok]: KEYSIZES - Test STRING BITS (5 ms) -[ok]: KEYSIZES - Test RESTORE (2 ms) +[ok]: KEYSIZES - Test i'th bin counts keysizes between (2^i) and (2^(i+1)-1) as expected (10 ms) +[ok]: KEYSIZES - Histogram of values of Bytes, Kilo and Mega (309 ms) +[ok]: KEYSIZES - Test hyperloglog (23740 ms) +[ok]: KEYSIZES - Test List (129 ms) +[ok]: KEYSIZES - Test SET (280 ms) +[ok]: KEYSIZES - Test ZSET (128 ms) +[ok]: KEYSIZES - Test STRING (124 ms) +[ok]: KEYSIZES - Test HASH (listpackex) (707 ms) +[ok]: KEYSIZES - Test Hash field lazy expiration (listpackex) (121 ms) +[ok]: KEYSIZES - Test HASH (hashtable) (695 ms) +[ok]: KEYSIZES - Test Hash field lazy expiration (hashtable) (121 ms) +[ok]: KEYSIZES - Test STRING BITS (9 ms) +[ok]: KEYSIZES - Test RESTORE (1 ms) [ok]: KEYSIZES - Test RENAME (1 ms) -[ok]: KEYSIZES - Test MOVE (2 ms) -[ok]: KEYSIZES - Test SWAPDB (1 ms) +[ok]: KEYSIZES - Test MOVE (8 ms) +[ok]: KEYSIZES - Test SWAPDB (2 ms) [ok]: KEYSIZES - DEBUG RELOAD reset keysizes (2 ms) -[ok]: KEYSIZES - Test RDB (271 ms) +[ok]: KEYSIZES - Test RDB (457 ms) === (needs:repl external:skip) Starting server 127.0.0.1:21223 ok -[ok]: KEYSIZES - Test i'th bin counts keysizes between (2^i) and (2^(i+1)-1) as expected (replica) (61 ms) -[ok]: KEYSIZES - Histogram of values of Bytes, Kilo and Mega (replica) (334 ms) -[ok]: KEYSIZES - Test hyperloglog (replica) (21553 ms) -[ok]: KEYSIZES - Test List (replica) (126 ms) -[ok]: KEYSIZES - Test SET (replica) (69 ms) -[ok]: KEYSIZES - Test ZSET (replica) (129 ms) -[ok]: KEYSIZES - Test STRING (replica) (117 ms) -[ok]: KEYSIZES - Test HASH (listpackex) (replica) (685 ms) -[ok]: KEYSIZES - Test Hash field lazy expiration (listpackex) (replica) (115 ms) -[ok]: KEYSIZES - Test HASH (hashtable) (replica) (584 ms) -[ok]: KEYSIZES - Test Hash field lazy expiration (hashtable) (replica) (114 ms) -[ok]: KEYSIZES - Test STRING BITS (replica) (8 ms) +[ok]: KEYSIZES - Test i'th bin counts keysizes between (2^i) and (2^(i+1)-1) as expected (replica) (89 ms) +[ok]: KEYSIZES - Histogram of values of Bytes, Kilo and Mega (replica) (443 ms) +[ok]: KEYSIZES - Test hyperloglog (replica) (29867 ms) +[ok]: KEYSIZES - Test List (replica) (191 ms) +[ok]: KEYSIZES - Test SET (replica) (146 ms) +[ok]: KEYSIZES - Test ZSET (replica) (297 ms) +[ok]: KEYSIZES - Test STRING (replica) (78 ms) +[ok]: KEYSIZES - Test HASH (listpackex) (replica) (714 ms) +[ok]: KEYSIZES - Test Hash field lazy expiration (listpackex) (replica) (160 ms) +[ok]: KEYSIZES - Test HASH (hashtable) (replica) (671 ms) +[ok]: KEYSIZES - Test Hash field lazy expiration (hashtable) (replica) (140 ms) +[ok]: KEYSIZES - Test STRING BITS (replica) (12 ms) [ok]: KEYSIZES - Test RESTORE (replica) (2 ms) -[ok]: KEYSIZES - Test RENAME (replica) (2 ms) -[ok]: KEYSIZES - Test MOVE (replica) (3 ms) +[ok]: KEYSIZES - Test RENAME (replica) (9 ms) +[ok]: KEYSIZES - Test MOVE (replica) (2 ms) [ok]: KEYSIZES - Test SWAPDB (replica) (2 ms) -[ok]: KEYSIZES - DEBUG RELOAD reset keysizes (replica) (5 ms) -[ok]: KEYSIZES - Test RDB (replica) (65 ms) -[14/96 done]: unit/info-keysizes (46 seconds) +[ok]: KEYSIZES - DEBUG RELOAD reset keysizes (replica) (4 ms) +[ok]: KEYSIZES - Test RDB (replica) (394 ms) +[14/96 done]: unit/info-keysizes (61 seconds) Testing unit/info === (info external:skip) Starting server 127.0.0.1:21225 ok === () Starting server 127.0.0.1:21227 ok [ok]: latencystats: disable/enable (2 ms) [ok]: latencystats: configure percentiles (2 ms) -[ok]: latencystats: bad configure percentiles (2 ms) +[ok]: latencystats: bad configure percentiles (3 ms) [ok]: latencystats: blocking commands (15 ms) [ok]: latencystats: subcommands (1 ms) -[ok]: latencystats: measure latency (52 ms) -[ok]: errorstats: failed call authentication error (2 ms) +[ok]: latencystats: measure latency (54 ms) +[ok]: errorstats: failed call authentication error (9 ms) [ok]: errorstats: failed call within MULTI/EXEC (3 ms) -[ok]: errorstats: failed call within LUA (3 ms) +[ok]: errorstats: failed call within LUA (7 ms) [ok]: errorstats: failed call NOSCRIPT error (2 ms) -[ok]: errorstats: failed call NOGROUP error (2 ms) -[ok]: errorstats: rejected call unknown command (1 ms) -[ok]: errorstats: rejected call within MULTI/EXEC (3 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 (2 ms) -[ok]: errorstats: blocking commands (15 ms) -[ok]: errorstats: limit errors will not increase indefinitely (175 ms) +[ok]: errorstats: failed call NOGROUP error (9 ms) +[ok]: errorstats: rejected call unknown command (2 ms) +[ok]: errorstats: rejected call within MULTI/EXEC (4 ms) +[ok]: errorstats: rejected call due to wrong arity (2 ms) +[ok]: errorstats: rejected call by OOM error (13 ms) +[ok]: errorstats: rejected call by authorization error (3 ms) +[ok]: errorstats: blocking commands (14 ms) +[ok]: errorstats: limit errors will not increase indefinitely (251 ms) eventloop metrics cycle1: 1104, cycle2: 1106 -eventloop metrics el_sum1: 57031, el_sum2: 57424 -eventloop metrics cmd_sum1: 13406, cmd_sum2: 13432 -[ok]: stats: eventloop metrics (112 ms) -instantaneous metrics instantaneous_eventloop_cycles_per_sec: 8 -instantaneous metrics instantaneous_eventloop_duration_usec: 291 -[ok]: stats: instantaneous metrics (1603 ms) -[ok]: stats: debug metrics (113 ms) -[ok]: stats: client input and output buffer limit disconnections (44 ms) -[ok]: clients: pubsub clients (27 ms) -[ok]: clients: watching clients (21 ms) +eventloop metrics el_sum1: 49309, el_sum2: 49738 +eventloop metrics cmd_sum1: 11804, cmd_sum2: 11830 +[ok]: stats: eventloop metrics (115 ms) +instantaneous metrics instantaneous_eventloop_cycles_per_sec: 7 +instantaneous metrics instantaneous_eventloop_duration_usec: 286 +[ok]: stats: instantaneous metrics (1616 ms) +[ok]: stats: debug metrics (144 ms) +[ok]: stats: client input and output buffer limit disconnections (71 ms) +[ok]: clients: pubsub clients (48 ms) +[ok]: clients: watching clients (40 ms) === (info external:skip) Starting server 127.0.0.1:21229 ok -[ok]: memory: database and pubsub overhead and rehashing dict count (4 ms) -[15/96 done]: unit/info (3 seconds) +[ok]: memory: database and pubsub overhead and rehashing dict count (120 ms) +[15/96 done]: unit/info (4 seconds) Testing unit/introspection-2 === (introspection) Starting server 127.0.0.1:21231 ok -[ok]: The microsecond part of the TIME command will not overflow (0 ms) -[ok]: TTL, TYPE and EXISTS do not alter the last access time of a key (3003 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 (1102 ms) -[ok]: Operations in no-touch mode TOUCH alters the last access time of a key (1103 ms) -[ok]: Operations in no-touch mode TOUCH from script alters the last access time of a key (1107 ms) -[ok]: TOUCH returns the number of existing keys specified (8 ms) -[ok]: command stats for GEOADD (1 ms) -[ok]: errors stats for GEOADD (1 ms) +[ok]: The microsecond part of the TIME command will not overflow (8 ms) +[ok]: TTL, TYPE and EXISTS do not alter the last access time of a key (3017 ms) +[ok]: TOUCH alters the last access time of a key (3003 ms) +[ok]: Operations in no-touch mode do not alter the last access time of a key (1104 ms) +[ok]: Operations in no-touch mode TOUCH alters the last access time of a key (1104 ms) +[ok]: Operations in no-touch mode TOUCH from script alters the last access time of a key (1103 ms) +[ok]: TOUCH returns the number of existing keys specified (2 ms) +[ok]: command stats for GEOADD (2 ms) +[ok]: errors stats for GEOADD (2 ms) [ok]: command stats for EXPIRE (1 ms) -[ok]: command stats for BRPOP (2 ms) -[ok]: command stats for MULTI (2 ms) -[ok]: command stats for scripts (1 ms) +[ok]: command stats for BRPOP (1 ms) +[ok]: command stats for MULTI (3 ms) +[ok]: command stats for scripts (3 ms) [ok]: COMMAND COUNT get total number of Redis commands (0 ms) [ok]: COMMAND GETKEYS GET (1 ms) [ok]: COMMAND GETKEYSANDFLAGS (1 ms) -[ok]: COMMAND GETKEYSANDFLAGS invalid args (0 ms) -[ok]: COMMAND GETKEYS MEMORY USAGE (1 ms) +[ok]: COMMAND GETKEYSANDFLAGS invalid args (1 ms) +[ok]: COMMAND GETKEYS MEMORY USAGE (0 ms) [ok]: COMMAND GETKEYS XGROUP (0 ms) -[ok]: COMMAND GETKEYS EVAL with keys (1 ms) -[ok]: COMMAND GETKEYS EVAL without keys (0 ms) +[ok]: COMMAND GETKEYS EVAL with keys (0 ms) +[ok]: COMMAND GETKEYS EVAL without keys (1 ms) [ok]: COMMAND GETKEYS LCS (0 ms) -[ok]: COMMAND GETKEYS MORE THAN 256 KEYS (2 ms) +[ok]: COMMAND GETKEYS MORE THAN 256 KEYS (6 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 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 (1 ms) +[ok]: COMMAND LIST FILTERBY PATTERN - list all commands/subcommands (3 ms) [ok]: COMMAND LIST FILTERBY MODULE against non existing module (0 ms) [ok]: COMMAND INFO of invalid subcommands (1 ms) -[ok]: SET command will not be marked with movablekeys (0 ms) -[ok]: GET command will not be marked with movablekeys (0 ms) +[ok]: SET command will not be marked with movablekeys (1 ms) +[ok]: GET command will not be marked with movablekeys (1 ms) [ok]: MSET command will not be marked with movablekeys (1 ms) -[ok]: BITFIELD command will not be marked with movablekeys (0 ms) -[ok]: LMOVE command will not be marked with movablekeys (0 ms) +[ok]: BITFIELD command will not be marked with movablekeys (1 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 (4 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 (1 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 (1 ms) -[ok]: GEORADIUS command is marked with movablekeys (1 ms) +[ok]: GEORADIUS command is marked with movablekeys (2 ms) [16/96 done]: unit/introspection-2 (10 seconds) Testing unit/introspection === (introspection) Starting server 127.0.0.1:21233 ok [ok]: PING (1 ms) -[ok]: CLIENT LIST (0 ms) -[ok]: CLIENT LIST with IDs (0 ms) +[ok]: CLIENT LIST (1 ms) +[ok]: CLIENT LIST with IDs (1 ms) [ok]: CLIENT INFO (1 ms) -[ok]: CLIENT KILL with illegal arguments (6 ms) +[ok]: CLIENT KILL with illegal arguments (1 ms) CLIENT KILL maxAGE will kill old clients test attempts: 0 -[ok]: CLIENT KILL maxAGE will kill old clients (2045 ms) -[ok]: CLIENT KILL SKIPME YES/NO will kill all clients (63 ms) -[ok]: CLIENT command unhappy path coverage (3 ms) -[ok]: CLIENT KILL close the client connection during bgsave (122 ms) -[ok]: CLIENT REPLY OFF/ON: disable all commands reply (63 ms) -[ok]: CLIENT REPLY SKIP: skip the next command reply (60 ms) -[ok]: CLIENT REPLY ON: unset SKIP flag (56 ms) -[ok]: MONITOR can log executed commands (13 ms) -[ok]: MONITOR can log commands issued by the scripting engine (18 ms) -[ok]: MONITOR can log commands issued by functions (14 ms) -[ok]: MONITOR supports redacting command arguments (15 ms) -[ok]: MONITOR correctly handles multi-exec cases (13 ms) -[ok]: MONITOR log blocked command only once (140 ms) +[ok]: CLIENT KILL maxAGE will kill old clients (2042 ms) +[ok]: CLIENT KILL SKIPME YES/NO will kill all clients (115 ms) +[ok]: CLIENT command unhappy path coverage (8 ms) +[ok]: CLIENT KILL close the client connection during bgsave (71 ms) +[ok]: CLIENT REPLY OFF/ON: disable all commands reply (69 ms) +[ok]: CLIENT REPLY SKIP: skip the next command reply (68 ms) +[ok]: CLIENT REPLY ON: unset SKIP flag (71 ms) +[ok]: MONITOR can log executed commands (24 ms) +[ok]: MONITOR can log commands issued by the scripting engine (22 ms) +[ok]: MONITOR can log commands issued by functions (24 ms) +[ok]: MONITOR supports redacting command arguments (29 ms) +[ok]: MONITOR correctly handles multi-exec cases (22 ms) +[ok]: MONITOR log blocked command only once (175 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 GETNAME check if name set correctly (0 ms) [ok]: CLIENT LIST shows empty fields for unassigned names (0 ms) [ok]: CLIENT SETNAME does not accept spaces (0 ms) -[ok]: CLIENT SETNAME can assign a name to this connection (0 ms) -[ok]: CLIENT SETNAME can change the name of an existing connection (1 ms) -[ok]: After CLIENT SETNAME, connection can still be closed (13 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]: After CLIENT SETNAME, connection can still be closed (25 ms) [ok]: CLIENT SETINFO can set a library name to this connection (0 ms) [ok]: CLIENT SETINFO invalid args (1 ms) [ok]: RESET does NOT clean library name (0 ms) @@ -1658,342 +1705,342 @@ === () Starting server 127.0.0.1:21237 ok === () Starting server 127.0.0.1:21239 ok === () Starting server 127.0.0.1:21241 ok -[ok]: CONFIG save params special case handled properly (1521 ms) -[ok]: CONFIG sanity (45 ms) -[ok]: CONFIG REWRITE sanity (359 ms) +[ok]: CONFIG save params special case handled properly (1945 ms) +[ok]: CONFIG sanity (57 ms) +[ok]: CONFIG REWRITE sanity (568 ms) === () Starting server 127.0.0.1:21243 ok -[ok]: CONFIG REWRITE handles save and shutdown properly (1099 ms) +[ok]: CONFIG REWRITE handles save and shutdown properly (2651 ms) [ok]: CONFIG SET with multiple args (2 ms) -[ok]: CONFIG SET rollback on set error (1 ms) -dummy_accept: sockaaaaeb34bde0 -[ok]: CONFIG SET rollback on apply error (36 ms) +[ok]: CONFIG SET rollback on set error (7 ms) +dummy_accept: sockaaab069fcaa0 +[ok]: CONFIG SET rollback on apply error (39 ms) [ok]: CONFIG SET duplicate configs (0 ms) [ok]: CONFIG SET set immutable (0 ms) -[ok]: CONFIG GET hidden configs (3 ms) +[ok]: CONFIG GET hidden configs (4 ms) [ok]: CONFIG GET multiple args (1 ms) -[ok]: redis-server command line arguments - error cases (177 ms) +[ok]: redis-server command line arguments - error cases (361 ms) === () Starting server 127.0.0.1:21246 ok -[ok]: redis-server command line arguments - allow passing option name and option value in the same arg (271 ms) +[ok]: redis-server command line arguments - allow passing option name and option value in the same arg (352 ms) === () Starting server 127.0.0.1:21248 ok -[ok]: redis-server command line arguments - wrong usage that we support anyway (372 ms) +[ok]: redis-server command line arguments - wrong usage that we support anyway (488 ms) === () Starting server 127.0.0.1:21250 ok -[ok]: redis-server command line arguments - allow option value to use the `--` prefix (276 ms) +[ok]: redis-server command line arguments - allow option value to use the `--` prefix (500 ms) === () Starting server 127.0.0.1:21252 ok -[ok]: redis-server command line arguments - option name and option value in the same arg and `--` prefix (267 ms) +[ok]: redis-server command line arguments - option name and option value in the same arg and `--` prefix (492 ms) === () Starting server 127.0.0.1:21254 ok === () Starting server 127.0.0.1:21256 ok === () Starting server 127.0.0.1:21258 ok === () Starting server 127.0.0.1:21260 ok === () Starting server 127.0.0.1:21262 ok -[ok]: redis-server command line arguments - save with empty input (1361 ms) +[ok]: redis-server command line arguments - save with empty input (2424 ms) === () Starting server 127.0.0.1:21264 ok -[ok]: redis-server command line arguments - take one bulk string with spaces for MULTI_ARG configs parsing (284 ms) +[ok]: redis-server command line arguments - take one bulk string with spaces for MULTI_ARG configs parsing (512 ms) === (introspection external:skip) Starting server 127.0.0.1:21266 ok -[ok]: cannot modify protected configuration - no (0 ms) +[ok]: cannot modify protected configuration - no (1 ms) === (introspection external:skip) Starting server 127.0.0.1:21268 ok -[ok]: cannot modify protected configuration - local (7 ms) +[ok]: cannot modify protected configuration - local (16 ms) === () Starting server 127.0.0.1:21270 ok -[ok]: config during loading (1000 ms) +[ok]: config during loading (2924 ms) === (introspection) Starting server 127.0.0.1:21272 ok -[ok]: CONFIG REWRITE handles rename-command properly (604 ms) +[ok]: CONFIG REWRITE handles rename-command properly (954 ms) === (introspection) Starting server 127.0.0.1:21274 ok === (introspection) Starting server 127.0.0.1:21276 ok -[ok]: CONFIG REWRITE handles alias config properly (1104 ms) +[ok]: CONFIG REWRITE handles alias config properly (1930 ms) === (external:skip) Starting server 127.0.0.1:21278 ok -[ok]: IO threads client number (400 ms) +[ok]: IO threads client number (692 ms) === (external:skip) Starting server 127.0.0.1:21280 ok -[ok]: Clients are evenly distributed among io threads (524 ms) -[17/96 done]: unit/introspection (13 seconds) +[ok]: Clients are evenly distributed among io threads (960 ms) +[17/96 done]: unit/introspection (22 seconds) Testing unit/keyspace === (keyspace) Starting server 127.0.0.1:21282 ok -[ok]: DEL against a single item (0 ms) -[ok]: Vararg DEL (1 ms) +[ok]: DEL against a single item (1 ms) +[ok]: Vararg DEL (0 ms) [ok]: Untagged multi-key commands (0 ms) -[ok]: KEYS with pattern (0 ms) -[ok]: KEYS to get all keys (1 ms) +[ok]: KEYS with pattern (1 ms) +[ok]: KEYS to get all keys (0 ms) [ok]: DBSIZE (0 ms) [ok]: KEYS with hashtag (1 ms) [ok]: DEL all keys (1 ms) -[ok]: DEL against expired key (1102 ms) -[ok]: EXISTS (0 ms) +[ok]: DEL against expired key (1104 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 (1 ms) +[ok]: RENAMENX basic usage (4 ms) [ok]: RENAMENX against already existing key (0 ms) -[ok]: RENAMENX against already existing key (2) (1 ms) +[ok]: RENAMENX against already existing key (2) (0 ms) [ok]: RENAME against non existing source key (0 ms) [ok]: RENAME where source and dest key are the same (existing) (0 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 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]: 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 (6 ms) -[ok]: COPY for string does not copy data to no-integer DB (0 ms) -[ok]: COPY can copy key expire metadata as well (1 ms) -[ok]: COPY does not create an expire if it does not exist (1 ms) -[ok]: COPY basic usage for list - quicklist (46 ms) +[ok]: RENAME with volatile key, should not inherit TTL of target key (61 ms) +[ok]: DEL all keys again (DB 0) (28 ms) +[ok]: DEL all keys again (DB 1) (28 ms) +[ok]: COPY basic usage for string (72 ms) +[ok]: COPY for string does not replace an existing key without REPLACE option (16 ms) +[ok]: COPY for string can replace an existing key with REPLACE option (24 ms) +[ok]: COPY for string ensures that copied data is independent of copying data (104 ms) +[ok]: COPY for string does not copy data to no-integer DB (16 ms) +[ok]: COPY can copy key expire metadata as well (40 ms) +[ok]: COPY does not create an expire if it does not exist (26 ms) +[ok]: COPY basic usage for list - quicklist (61 ms) [ok]: COPY basic usage for list - listpack (2 ms) -[ok]: COPY basic usage for $type set (1 ms) [ok]: COPY basic usage for $type set (2 ms) -[ok]: COPY basic usage for $type set (22 ms) -[ok]: COPY basic usage for listpack sorted set (1 ms) -[ok]: COPY basic usage for skiplist sorted set (15 ms) -[ok]: COPY basic usage for listpack hash (2 ms) -[ok]: COPY basic usage for hashtable hash (14 ms) -[ok]: COPY basic usage for stream (125 ms) -[ok]: COPY basic usage for stream-cgroups (9 ms) +[ok]: COPY basic usage for $type set (2 ms) +[ok]: COPY basic usage for $type set (45 ms) +[ok]: COPY basic usage for listpack sorted set (2 ms) +[ok]: COPY basic usage for skiplist sorted set (31 ms) +[ok]: COPY basic usage for listpack hash (5 ms) +[ok]: COPY basic usage for hashtable hash (27 ms) +[ok]: COPY basic usage for stream (246 ms) +[ok]: COPY basic usage for stream-cgroups (14 ms) [ok]: MOVE basic usage (1 ms) -[ok]: MOVE against key existing in the target DB (0 ms) -[ok]: MOVE against non-integer DB (#1428) (0 ms) +[ok]: MOVE against key existing in the target DB (7 ms) +[ok]: MOVE against non-integer DB (#1428) (1 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]: SET/GET keys in different DBs (1 ms) -[ok]: RANDOMKEY (11 ms) -[ok]: RANDOMKEY against empty DB (0 ms) +[ok]: SET/GET keys in different DBs (2 ms) +[ok]: RANDOMKEY (23 ms) +[ok]: RANDOMKEY against empty DB (1 ms) [ok]: RANDOMKEY regression 1 (1 ms) -[ok]: KEYS * two times with long key, Github issue #1208 (0 ms) +[ok]: KEYS * two times with long key, Github issue #1208 (12 ms) [ok]: Regression for pattern matching long nested loops (1 ms) -[ok]: Regression for pattern matching very long nested loops (2 ms) -[ok]: Coverage: basic SWAPDB test and unhappy path (2 ms) +[ok]: Regression for pattern matching very long nested loops (21 ms) +[ok]: Coverage: basic SWAPDB test and unhappy path (3 ms) [ok]: Coverage: SWAPDB and FLUSHDB (3 ms) [18/96 done]: unit/keyspace (2 seconds) Testing unit/latency-monitor === (latency-monitor needs:latency) Starting server 127.0.0.1:21284 ok -[ok]: LATENCY HISTOGRAM with empty histogram (1 ms) -[ok]: LATENCY HISTOGRAM all commands (1 ms) +[ok]: LATENCY HISTOGRAM with empty histogram (0 ms) +[ok]: LATENCY HISTOGRAM all commands (2 ms) [ok]: LATENCY HISTOGRAM sub commands (1 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 (1 ms) -[ok]: Test latency events logging (3407 ms) +[ok]: LATENCY HISTOGRAM with wrong command name skips the invalid one (2 ms) +[ok]: Test latency events logging (3423 ms) LATENCY HISTORY data: -{1787814830 302} {1787814832 400} {1787814833 500} +{1753407435 302} {1753407436 403} {1753407438 500} [ok]: LATENCY HISTORY output is ok (0 ms) LATENCY LATEST data: -{command 1787814833 500 500} -[ok]: LATENCY LATEST output is ok (0 ms) +{command 1753407438 500 500} +[ok]: LATENCY LATEST output is ok (1 ms) LATENCY GRAPH data: command - high 500 ms, low 302 ms (all time high 500 ms) -------------------------------------------------------------------------------- # - | - #| + _| + || _|| -310 +320 sss [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 (2289 ms) -[ok]: LATENCY HISTORY / RESET with wrong event name is fine (1 ms) -[ok]: LATENCY DOCTOR produces some output (2 ms) -[ok]: LATENCY RESET is able to reset events (0 ms) +[ok]: LATENCY GRAPH can output the expire event graph (1 ms) +[ok]: LATENCY of expire events are correctly collected (5700 ms) +[ok]: LATENCY HISTORY / RESET with wrong event name is fine (0 ms) +[ok]: LATENCY DOCTOR produces some output (1 ms) +[ok]: LATENCY RESET is able to reset events (1 ms) [ok]: LATENCY HELP should not have unexpected options (0 ms) -[19/96 done]: unit/latency-monitor (6 seconds) +[19/96 done]: unit/latency-monitor (10 seconds) Testing unit/lazyfree === (lazyfree) Starting server 127.0.0.1:21286 ok -[ok]: UNLINK can reclaim memory in background (301 ms) -[ok]: FLUSHDB ASYNC can reclaim memory in background (373 ms) -[ok]: lazy free a stream with all types of metadata (216 ms) -[ok]: lazy free a stream with deleted cgroup (2 ms) -[ok]: FLUSHALL SYNC optimized to run in bg as blocking FLUSHALL ASYNC (87 ms) -[ok]: Run consecutive blocking FLUSHALL ASYNC successfully (36 ms) -[ok]: FLUSHALL SYNC in MULTI not optimized to run as blocking FLUSHALL ASYNC (3 ms) -[ok]: Client closed in the middle of blocking FLUSHALL ASYNC (5117 ms) -[ok]: Pending commands in querybuf processed once unblocking FLUSHALL ASYNC (20 ms) -[ok]: Unblocks client blocked on lazyfree via REPLICAOF command (3238 ms) -[20/96 done]: unit/lazyfree (9 seconds) +[ok]: UNLINK can reclaim memory in background (476 ms) +[ok]: FLUSHDB ASYNC can reclaim memory in background (565 ms) +[ok]: lazy free a stream with all types of metadata (230 ms) +[ok]: lazy free a stream with deleted cgroup (1 ms) +[ok]: FLUSHALL SYNC optimized to run in bg as blocking FLUSHALL ASYNC (116 ms) +[ok]: Run consecutive blocking FLUSHALL ASYNC successfully (25 ms) +[ok]: FLUSHALL SYNC in MULTI not optimized to run as blocking FLUSHALL ASYNC (1 ms) +[ok]: Client closed in the middle of blocking FLUSHALL ASYNC (10081 ms) +[ok]: Pending commands in querybuf processed once unblocking FLUSHALL ASYNC (22 ms) +[ok]: Unblocks client blocked on lazyfree via REPLICAOF command (4621 ms) +[20/96 done]: unit/lazyfree (16 seconds) Testing unit/limits === (limits network external:skip) Starting server 127.0.0.1:21288 ok -[ok]: Check if maxclients works refusing connections (1068 ms) +[ok]: Check if maxclients works refusing connections (1166 ms) [21/96 done]: unit/limits (2 seconds) Testing unit/maxmemory === (maxmemory external:skip) Starting server 127.0.0.1:21290 ok evicted keys: 12 evicted clients: 0 dbsize: 38 -[ok]: eviction due to output buffers of many MGET clients, client eviction: false (773 ms) -evicted keys: 26 +[ok]: eviction due to output buffers of many MGET clients, client eviction: false (567 ms) +evicted keys: 27 evicted clients: 0 -dbsize: 24 -[ok]: eviction due to input buffer of a dead client, client eviction: false (1224 ms) -evicted keys: 8 +dbsize: 21 +[ok]: eviction due to input buffer of a dead client, client eviction: false (752 ms) +evicted keys: 11 evicted clients: 0 -dbsize: 42 -[ok]: eviction due to output buffers of pubsub, client eviction: false (1219 ms) +dbsize: 39 +[ok]: eviction due to output buffers of pubsub, client eviction: false (636 ms) evicted keys: 0 -evicted clients: 1 +evicted clients: 13 dbsize: 50 -[ok]: eviction due to output buffers of many MGET clients, client eviction: true (718 ms) +[ok]: eviction due to output buffers of many MGET clients, client eviction: true (382 ms) evicted keys: 0 -evicted clients: 19 +evicted clients: 12 dbsize: 50 -[ok]: eviction due to input buffer of a dead client, client eviction: true (1200 ms) +[ok]: eviction due to input buffer of a dead client, client eviction: true (852 ms) evicted keys: 0 -evicted clients: 3 +evicted clients: 2 dbsize: 50 -[ok]: eviction due to output buffers of pubsub, client eviction: true (929 ms) +[ok]: eviction due to output buffers of pubsub, client eviction: true (2514 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21292 ok [ok]: Without maxmemory small integers are shared (1 ms) [ok]: With maxmemory and non-LRU policy integers are still shared (1 ms) -[ok]: With maxmemory and LRU policy integers are not shared (2 ms) -[ok]: maxmemory - is the memory limit honoured? (policy allkeys-random) (368 ms) -[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lru) (399 ms) -[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lfu) (244 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-lru) (244 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-lfu) (300 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-random) (271 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-ttl) (259 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-random) (471 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-lru) (377 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-lru) (388 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-random) (328 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-ttl) (410 ms) -[ok]: maxmemory - policy volatile-lru should only remove volatile keys. (464 ms) -[ok]: maxmemory - policy volatile-lfu should only remove volatile keys. (501 ms) -[ok]: maxmemory - policy volatile-random should only remove volatile keys. (504 ms) -[ok]: maxmemory - policy volatile-ttl should only remove volatile keys. (337 ms) +[ok]: With maxmemory and LRU policy integers are not shared (1 ms) +[ok]: maxmemory - is the memory limit honoured? (policy allkeys-random) (359 ms) +[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lru) (280 ms) +[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lfu) (315 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-lru) (328 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-lfu) (296 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-random) (301 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-ttl) (306 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-random) (441 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-lru) (466 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-lru) (590 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-random) (741 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-ttl) (450 ms) +[ok]: maxmemory - policy volatile-lru should only remove volatile keys. (516 ms) +[ok]: maxmemory - policy volatile-lfu should only remove volatile keys. (424 ms) +[ok]: maxmemory - policy volatile-random should only remove volatile keys. (428 ms) +[ok]: maxmemory - policy volatile-ttl should only remove volatile keys. (466 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21294 ok === () Starting server 127.0.0.1:21296 ok -[ok]: slave buffer are counted correctly (26556 ms) +[ok]: slave buffer are counted correctly (40099 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21298 ok === () Starting server 127.0.0.1:21300 ok -[ok]: replica buffer don't induce eviction (11143 ms) +[ok]: replica buffer don't induce eviction (14790 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21302 ok -[ok]: Don't rehash if used memory exceeds maxmemory after rehash (236 ms) +[ok]: Don't rehash if used memory exceeds maxmemory after rehash (1260 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21304 ok evicted: 36 evicted: 36 -[ok]: client tracking don't cause eviction feedback loop (1986 ms) +[ok]: client tracking don't cause eviction feedback loop (1720 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21306 ok -[ok]: propagation with eviction (54 ms) +[ok]: propagation with eviction (102 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21308 ok -[ok]: propagation with eviction in MULTI (54 ms) +[ok]: propagation with eviction in MULTI (86 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21310 ok -[ok]: lru/lfu value of the key just added (3 ms) -[22/96 done]: unit/maxmemory (55 seconds) +[ok]: lru/lfu value of the key just added (1 ms) +[22/96 done]: unit/maxmemory (76 seconds) Testing unit/memefficiency === (memefficiency external:skip) Starting server 127.0.0.1:21312 ok -[ok]: Memory efficiency with values in range 32 (379 ms) -[ok]: Memory efficiency with values in range 64 (311 ms) -[ok]: Memory efficiency with values in range 128 (311 ms) -[ok]: Memory efficiency with values in range 1024 (344 ms) -[ok]: Memory efficiency with values in range 16384 (969 ms) +[ok]: Memory efficiency with values in range 32 (732 ms) +[ok]: Memory efficiency with values in range 64 (549 ms) +[ok]: Memory efficiency with values in range 128 (464 ms) +[ok]: Memory efficiency with values in range 1024 (517 ms) +[ok]: Memory efficiency with values in range 16384 (1363 ms) === (defrag external:skip cluster) Starting server 127.0.0.1:21314 ok === (defrag external:skip standalone) Starting server 127.0.0.1:21316 ok -[23/96 done]: unit/memefficiency (5 seconds) +[23/96 done]: unit/memefficiency (7 seconds) Testing unit/multi === (multi) Starting server 127.0.0.1:21318 ok -[ok]: MULTI / EXEC basics (2 ms) -[ok]: DISCARD (2 ms) -[ok]: Nested MULTI are not allowed (1 ms) +[ok]: MULTI / EXEC basics (1 ms) +[ok]: DISCARD (6 ms) +[ok]: Nested MULTI are not allowed (0 ms) [ok]: MULTI where commands alter argc/argv (1 ms) [ok]: WATCH inside MULTI is not allowed (1 ms) -[ok]: EXEC fails if there are errors while queueing commands #1 (2 ms) -[ok]: EXEC fails if there are errors while queueing commands #2 (28 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 (25 ms) [ok]: If EXEC aborts, the client MULTI state is cleared (1 ms) -[ok]: EXEC works on WATCHed key not modified (2 ms) +[ok]: EXEC works on WATCHed key not modified (5 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) +[ok]: EXEC fail on WATCHed key modified by SORT with STORE even if the result is empty (3 ms) EXEC fail on lazy expired WATCHed key attempts: 0 -[ok]: EXEC fail on lazy expired WATCHed key (105 ms) -[ok]: WATCH stale keys should not fail EXEC (5 ms) -[ok]: Delete WATCHed stale keys should not fail EXEC (5 ms) -[ok]: FLUSHDB while watching stale keys should not fail EXEC (5 ms) -[ok]: After successful EXEC key is no longer watched (2 ms) -[ok]: After failed EXEC key is no longer watched (2 ms) +[ok]: EXEC fail on lazy expired WATCHed key (103 ms) +[ok]: WATCH stale keys should not fail EXEC (8 ms) +[ok]: Delete WATCHed stale keys should not fail EXEC (8 ms) +[ok]: FLUSHDB while watching stale keys should not fail EXEC (8 ms) +[ok]: After successful EXEC key is no longer watched (1 ms) +[ok]: After failed EXEC key is no longer watched (1 ms) [ok]: It is possible to UNWATCH (2 ms) [ok]: UNWATCH when there is nothing watched works as expected (0 ms) -[ok]: FLUSHALL is able to touch the watched keys (2 ms) -[ok]: FLUSHALL does not touch non affected keys (2 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) [ok]: FLUSHDB does not touch non affected keys (1 ms) -[ok]: SWAPDB is able to touch the watched keys that exist (3 ms) -[ok]: SWAPDB is able to touch the watched keys that do not exist (2 ms) -[ok]: SWAPDB does not touch watched stale keys (5 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 (6 ms) -[ok]: WATCH is able to remember the DB a key belongs to (2 ms) -[ok]: WATCH will consider touched keys target of EXPIRE (2 ms) -[ok]: WATCH will consider touched expired keys (1148 ms) -[ok]: DISCARD should clear the WATCH dirty flag on the client (2 ms) -[ok]: DISCARD should UNWATCH all the keys (2 ms) -[ok]: MULTI / EXEC is not propagated (single write command) (119 ms) -[ok]: MULTI / EXEC is propagated correctly (multiple commands) (102 ms) -[ok]: MULTI / EXEC is propagated correctly (multiple commands with SELECT) (103 ms) -[ok]: MULTI / EXEC is propagated correctly (empty transaction) (100 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 (103 ms) -[ok]: DISCARD should not fail during OOM (34 ms) -[ok]: MULTI and script timeout (461 ms) -[ok]: EXEC and script timeout (470 ms) -[ok]: MULTI-EXEC body and script timeout (452 ms) -[ok]: just EXEC and script timeout (469 ms) -[ok]: exec with write commands and state change (13 ms) -[ok]: exec with read commands and stale replica state change (17 ms) -[ok]: EXEC with only read commands should not be rejected when OOM (13 ms) -[ok]: EXEC with at least one use-memory command should fail (12 ms) -[ok]: Blocking commands ignores the timeout (2 ms) -[ok]: MULTI propagation of PUBLISH (43 ms) -[ok]: MULTI propagation of SCRIPT LOAD (101 ms) -[ok]: MULTI propagation of EVAL (101 ms) -[ok]: MULTI propagation of SCRIPT FLUSH (102 ms) -[ok]: MULTI propagation of XREADGROUP (102 ms) +[ok]: SWAPDB is able to touch the watched keys that exist (1 ms) +[ok]: SWAPDB is able to touch the watched keys that do not exist (5 ms) +[ok]: SWAPDB does not touch watched stale keys (8 ms) +[ok]: SWAPDB does not touch non-existing key replaced with stale key (8 ms) +[ok]: SWAPDB does not touch stale key replaced with another stale key (8 ms) +[ok]: WATCH is able to remember the DB a key belongs to (1 ms) +[ok]: WATCH will consider touched keys target of EXPIRE (1 ms) +[ok]: WATCH will consider touched expired keys (1153 ms) +[ok]: DISCARD should clear the WATCH dirty flag on the client (1 ms) +[ok]: DISCARD should UNWATCH all the keys (1 ms) +[ok]: MULTI / EXEC is not propagated (single write command) (43 ms) +[ok]: MULTI / EXEC is propagated correctly (multiple commands) (103 ms) +[ok]: MULTI / EXEC is propagated correctly (multiple commands with SELECT) (101 ms) +[ok]: MULTI / EXEC is propagated correctly (empty transaction) (104 ms) +[ok]: MULTI / EXEC is propagated correctly (read-only commands) (104 ms) +[ok]: MULTI / EXEC is propagated correctly (write command, no effect) (104 ms) +[ok]: MULTI / EXEC with REPLICAOF (104 ms) +[ok]: DISCARD should not fail during OOM (14 ms) +[ok]: MULTI and script timeout (445 ms) +[ok]: EXEC and script timeout (444 ms) +[ok]: MULTI-EXEC body and script timeout (460 ms) +[ok]: just EXEC and script timeout (446 ms) +[ok]: exec with write commands and state change (18 ms) +[ok]: exec with read commands and stale replica state change (33 ms) +[ok]: EXEC with only read commands should not be rejected when OOM (14 ms) +[ok]: EXEC with at least one use-memory command should fail (22 ms) +[ok]: Blocking commands ignores the timeout (7 ms) +[ok]: MULTI propagation of PUBLISH (110 ms) +[ok]: MULTI propagation of SCRIPT LOAD (103 ms) +[ok]: MULTI propagation of EVAL (104 ms) +[ok]: MULTI propagation of SCRIPT FLUSH (104 ms) +[ok]: MULTI propagation of XREADGROUP (105 ms) [ok]: MULTI with SAVE (1 ms) [ok]: MULTI with SHUTDOWN (1 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: MULTI with BGREWRITEAOF (205 ms) +Waiting for background AOF rewrite to finish... [ok]: MULTI with BGREWRITEAOF (213 ms) Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... [ok]: MULTI with config set appendonly (216 ms) -[ok]: MULTI with config error (1 ms) -[ok]: Flushall while watching several keys by one client (1 ms) +[ok]: MULTI with config error (2 ms) +[ok]: Flushall while watching several keys by one client (3 ms) === (external:skip) Starting server 127.0.0.1:21320 ok -[ok]: MULTI with FLUSHALL and AOF (1 ms) -[24/96 done]: unit/multi (5 seconds) +[ok]: MULTI with FLUSHALL and AOF (2 ms) +[24/96 done]: unit/multi (6 seconds) Testing unit/networking === () Starting server 127.0.0.1:21322 ok -[ok]: CONFIG SET port number (343 ms) +[ok]: CONFIG SET port number (564 ms) === () Starting server 127.0.0.1:21325 ok -[ok]: CONFIG SET bind address (247 ms) +[ok]: CONFIG SET bind address (464 ms) === () Starting server 127.0.0.1:21327 ok === () Starting server 127.0.0.1:21329 ok -[ok]: CONFIG SET bind-source-addr (635 ms) +[ok]: CONFIG SET bind-source-addr (1040 ms) === (external:skip) Starting server 127.0.0.1:21331 ok -[ok]: Default bind address configuration handling (221 ms) -[ok]: Protected mode works as expected (2 ms) -[25/96 done]: unit/networking (2 seconds) +[ok]: Default bind address configuration handling (524 ms) +[ok]: Protected mode works as expected (20 ms) +[25/96 done]: unit/networking (3 seconds) Testing unit/obuf-limits === (obuf-limits external:skip logreqres:skip) Starting server 127.0.0.1:21333 ok -[ok]: CONFIG SET client-output-buffer-limit (3 ms) -[ok]: Client output buffer hard limit is enforced (3022 ms) -[ok]: Client output buffer soft limit is enforced if time is overreached (4285 ms) -[ok]: Client output buffer soft limit is not enforced too early and is enforced when no traffic (5054 ms) -[ok]: No response for single command if client output buffer hard limit is enforced (163 ms) -[ok]: No response for multi commands in pipeline if client output buffer limit is enforced (1110 ms) -[ok]: Execute transactions completely even if client output buffer limit is enforced (37 ms) -[ok]: Obuf limit, HRANDFIELD with huge count stopped mid-run (33 ms) -[ok]: Obuf limit, KEYS stopped mid-run (78 ms) +[ok]: CONFIG SET client-output-buffer-limit (1 ms) +[ok]: Client output buffer hard limit is enforced (3116 ms) +[ok]: Client output buffer soft limit is enforced if time is overreached (3895 ms) +[ok]: Client output buffer soft limit is not enforced too early and is enforced when no traffic (4992 ms) +[ok]: No response for single command if client output buffer hard limit is enforced (147 ms) +[ok]: No response for multi commands in pipeline if client output buffer limit is enforced (1079 ms) +[ok]: Execute transactions completely even if client output buffer limit is enforced (47 ms) +[ok]: Obuf limit, HRANDFIELD with huge count stopped mid-run (31 ms) +[ok]: Obuf limit, KEYS stopped mid-run (77 ms) [26/96 done]: unit/obuf-limits (14 seconds) Testing unit/oom-score-adj === (oom-score-adj external:skip) Starting server 127.0.0.1:21335 ok -[ok]: CONFIG SET oom-score-adj works as expected (23 ms) -[ok]: CONFIG SET oom-score-adj handles configuration failures (1 ms) +[ok]: CONFIG SET oom-score-adj works as expected (20 ms) +[ok]: CONFIG SET oom-score-adj handles configuration failures (2 ms) [ok]: CONFIG SET oom-score-adj-values doesn't touch proc when disabled (1 ms) -[ok]: CONFIG SET oom score restored on disable (0 ms) +[ok]: CONFIG SET oom score restored on disable (1 ms) [ok]: CONFIG SET oom score relative and absolute (1 ms) [ok]: CONFIG SET out-of-range oom score (0 ms) [27/96 done]: unit/oom-score-adj (0 seconds) @@ -2003,82 +2050,82 @@ [ok]: Coverage: MEMORY MALLOC-STATS (3 ms) [ok]: Coverage: MEMORY PURGE (1 ms) [ok]: SAVE - make sure there are all the types as values (2 ms) -[ok]: FUZZ stresser with data model binary (513 ms) -[ok]: FUZZ stresser with data model alpha (562 ms) -[ok]: FUZZ stresser with data model compr (526 ms) +[ok]: FUZZ stresser with data model binary (497 ms) +[ok]: FUZZ stresser with data model alpha (581 ms) +[ok]: FUZZ stresser with data model compr (522 ms) === (external:skip) Starting server 127.0.0.1:21339 ok -[ok]: FLUSHALL should not reset the dirty counter if we disable save (2 ms) -[ok]: FLUSHALL should reset the dirty counter to 0 if we enable save (2 ms) -[ok]: FLUSHALL and bgsave (1006 ms) +[ok]: FLUSHALL should not reset the dirty counter if we disable save (4 ms) +[ok]: FLUSHALL should reset the dirty counter to 0 if we enable save (3 ms) +[ok]: FLUSHALL and bgsave (1005 ms) Waiting for background save to finish... Waiting for background save to finish... [ok]: BGSAVE (110 ms) -[ok]: SELECT an out of range DB (1 ms) -[ok]: Check consistency of different data types after a reload (1554 ms) +[ok]: SELECT an out of range DB (0 ms) +[ok]: Check consistency of different data types after a reload (843 ms) -Waiting for background AOF rewrite to finish... [ok]: Same dataset digest if saving/reloading as AOF? (251 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: Same dataset digest if saving/reloading as AOF? (269 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) (110 ms) +Waiting for background AOF rewrite to finish... [ok]: EXPIRES after a reload (snapshot + append only file rewrite) (111 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: EXPIRES after AOF reload (without rewrite) (2118 ms) -[ok]: PIPELINING stresser (also a regression for the old epoll bug) (512 ms) +Waiting for background AOF rewrite to finish... [ok]: EXPIRES after AOF reload (without rewrite) (2117 ms) +[ok]: PIPELINING stresser (also a regression for the old epoll bug) (637 ms) [ok]: APPEND basics (1 ms) -[ok]: APPEND basics, integer encoded values (1 ms) -[ok]: APPEND fuzzing (486 ms) -[ok]: FLUSHDB (49 ms) +[ok]: APPEND basics, integer encoded values (0 ms) +[ok]: APPEND fuzzing (365 ms) +[ok]: FLUSHDB (43 ms) [ok]: Perform a final SAVE to leave a clean DB on disk (1 ms) -[ok]: RESET clears client state (2 ms) -[ok]: RESET clears MONITOR state (27 ms) +[ok]: RESET clears client state (0 ms) +[ok]: RESET clears MONITOR state (13 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) (2 ms) +[ok]: RESET clears authenticated state (0 ms) +[ok]: Subcommand syntax error crash (issue #10070) (1 ms) === (other external:skip) Starting server 127.0.0.1:21341 ok -Waiting for background save to finish... -Waiting for background save to finish... [ok]: Don't rehash if redis has child process (466 ms) +Waiting for background save to finish... [ok]: Don't rehash if redis has child process (561 ms) === (other external:skip) Starting server 127.0.0.1:21343 ok -[ok]: Process title set as expected (3 ms) +[ok]: Process title set as expected (25 ms) === (other external:skip cluster slow) Starting server 127.0.0.1:21345 ok -[ok]: Redis can trigger resizing (1716 ms) -[ok]: Redis can rewind and trigger smaller slot resizing (662 ms) +[ok]: Redis can trigger resizing (3125 ms) +[ok]: Redis can rewind and trigger smaller slot resizing (1204 ms) === (other external:skip) Starting server 127.0.0.1:21347 ok -[ok]: Redis can resize empty dict (155 ms) +[ok]: Redis can resize empty dict (124 ms) === (other external:skip) Starting server 127.0.0.1:21349 ok -[ok]: Cross DB command is incompatible with cluster mode (8 ms) -[ok]: Function no-cluster flag is incompatible with cluster mode (4 ms) -[ok]: Script no-cluster flag is incompatible with cluster mode (2 ms) -[ok]: SORT command incompatible operations with cluster mode (6 ms) -[ok]: Normal cross slot commands are incompatible with cluster mode (2 ms) -[ok]: Transaction is incompatible with cluster mode (3 ms) -[ok]: Lua scripts are incompatible with cluster mode (5 ms) -[ok]: Shard subscribe commands are incompatible with cluster mode (33 ms) -[ok]: cluster-compatibility-sample-ratio configuration can work (218 ms) -[28/96 done]: unit/other (15 seconds) +[ok]: Cross DB command is incompatible with cluster mode (3 ms) +[ok]: Function no-cluster flag is incompatible with cluster mode (2 ms) +[ok]: Script no-cluster flag is incompatible with cluster mode (1 ms) +[ok]: SORT command incompatible operations with cluster mode (4 ms) +[ok]: Normal cross slot commands are incompatible with cluster mode (1 ms) +[ok]: Transaction is incompatible with cluster mode (2 ms) +[ok]: Lua scripts are incompatible with cluster mode (3 ms) +[ok]: Shard subscribe commands are incompatible with cluster mode (18 ms) +[ok]: cluster-compatibility-sample-ratio configuration can work (145 ms) +[28/96 done]: unit/other (17 seconds) Testing unit/pause === (pause network) Starting server 127.0.0.1:21351 ok -[ok]: Test read commands are not blocked by client pause (30 ms) -[ok]: Test old pause-all takes precedence over new pause-write (less restrictive) (379 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 (66 ms) -[ok]: Test read/admin multi-execs are not blocked by pause RO (35 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 (35 ms) -[ok]: Test read-only scripts in multi-exec are not blocked by pause RO (35 ms) -[ok]: Test write scripts in multi-exec are blocked by pause RO (65 ms) +[ok]: Test read commands are not blocked by client pause (14 ms) +[ok]: Test old pause-all takes precedence over new pause-write (less restrictive) (286 ms) +[ok]: Test new pause time is smaller than old one, then old time preserved (117 ms) +[ok]: Test write commands are paused by RO (13 ms) +[ok]: Test special commands are paused by RO (27 ms) +[ok]: Test read/admin multi-execs are not blocked by pause RO (13 ms) +[ok]: Test write multi-execs are blocked by pause RO (14 ms) +[ok]: Test scripts are blocked by pause RO (25 ms) +[ok]: Test RO scripts are not blocked by pause RO (14 ms) +[ok]: Test read-only scripts in multi-exec are not blocked by pause RO (13 ms) +[ok]: Test write scripts in multi-exec are blocked by pause RO (26 ms) [ok]: Test may-replicate commands are rejected in RO scripts (1 ms) -[ok]: Test multiple clients can be queued up and unblocked (96 ms) +[ok]: Test multiple clients can be queued up and unblocked (37 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 (107 ms) -[ok]: Test that client pause starts at the end of a transaction (35 ms) +[ok]: Test both active and passive expires are skipped during client pause (106 ms) +[ok]: Test that client pause starts at the end of a transaction (14 ms) === (needs:repl external:skip) Starting server 127.0.0.1:21353 ok -[ok]: Test when replica paused, offset would not grow (6 ms) -[ok]: Test replica offset would grow after unpause (2 ms) -[ok]: Test the randomkey command will not cause the server to get into an infinite loop during the client pause write (8 ms) +[ok]: Test when replica paused, offset would not grow (76 ms) +[ok]: Test replica offset would grow after unpause (28 ms) +[ok]: Test the randomkey command will not cause the server to get into an infinite loop during the client pause write (7 ms) [29/96 done]: unit/pause (2 seconds) Testing unit/printver === () Starting server 127.0.0.1:21355 ok @@ -2086,708 +2133,708 @@ [30/96 done]: unit/printver (0 seconds) Testing unit/protocol === (protocol network) Starting server 127.0.0.1:21357 ok -[ok]: Handle an empty query (59 ms) +[ok]: Handle an empty query (72 ms) [ok]: Negative multibulk length (56 ms) -[ok]: Out of range multibulk length (13 ms) -[ok]: Wrong multibulk payload header (17 ms) -[ok]: Negative multibulk payload length (13 ms) -[ok]: Out of range multibulk payload length (21 ms) -[ok]: Non-number multibulk payload length (17 ms) -[ok]: Multi bulk request not followed by bulk arguments (17 ms) -[ok]: Generic wrong number of args (12 ms) -[ok]: Unbalanced number of quotes (17 ms) -[ok]: Protocol desync regression test #1 (99 ms) -[ok]: Protocol desync regression test #2 (99 ms) -[ok]: Protocol desync regression test #3 (66 ms) -[ok]: raw protocol response (0 ms) +[ok]: Out of range multibulk length (14 ms) +[ok]: Wrong multibulk payload header (13 ms) +[ok]: Negative multibulk payload length (17 ms) +[ok]: Out of range multibulk payload length (14 ms) +[ok]: Non-number multibulk payload length (13 ms) +[ok]: Multi bulk request not followed by bulk arguments (13 ms) +[ok]: Generic wrong number of args (13 ms) +[ok]: Unbalanced number of quotes (14 ms) +[ok]: Protocol desync regression test #1 (93 ms) +[ok]: Protocol desync regression test #2 (96 ms) +[ok]: Protocol desync regression test #3 (89 ms) +[ok]: raw protocol response (1 ms) [ok]: raw protocol response - deferred (0 ms) -[ok]: raw protocol response - multiline (1 ms) -[ok]: bulk reply protocol (2 ms) +[ok]: raw protocol response - multiline (0 ms) +[ok]: bulk reply protocol (3 ms) [ok]: RESP3 attributes (1 ms) -[ok]: RESP3 attributes readraw (0 ms) +[ok]: RESP3 attributes readraw (1 ms) [ok]: RESP3 attributes on RESP2 (1 ms) [ok]: test big number parsing (0 ms) [ok]: test bool parsing (1 ms) [ok]: test verbatim str parsing (1 ms) [ok]: test large number of args (30 ms) -[ok]: test argument rewriting - issue 9598 (6 ms) +[ok]: test argument rewriting - issue 9598 (2 ms) === (regression) Starting server 127.0.0.1:21359 ok -[ok]: Regression for a crash with blocking ops and pipelining (13 ms) +[ok]: Regression for a crash with blocking ops and pipelining (18 ms) === (regression) Starting server 127.0.0.1:21361 ok [ok]: Regression for a crash with cron release of client arguments (3004 ms) -[31/96 done]: unit/protocol (5 seconds) +[31/96 done]: unit/protocol (4 seconds) Testing unit/pubsub === (pubsub network) Starting server 127.0.0.1:21363 ok -[ok]: Pub/Sub PING on RESP2 (1 ms) -[ok]: Pub/Sub PING on RESP3 (0 ms) -[ok]: PUBLISH/SUBSCRIBE basics (13 ms) -[ok]: PUBLISH/SUBSCRIBE with two clients (27 ms) -[ok]: PUBLISH/SUBSCRIBE after UNSUBSCRIBE without arguments (13 ms) -[ok]: SUBSCRIBE to one channel more than once (13 ms) -[ok]: UNSUBSCRIBE from non-subscribed channels (13 ms) -[ok]: PUBLISH/PSUBSCRIBE basics (15 ms) -[ok]: PUBLISH/PSUBSCRIBE with two clients (24 ms) -[ok]: PUBLISH/PSUBSCRIBE after PUNSUBSCRIBE without arguments (13 ms) -[ok]: PubSub messages with CLIENT REPLY OFF (99 ms) -[ok]: PUNSUBSCRIBE from non-subscribed channels (14 ms) -[ok]: NUMSUB returns numbers, not strings (#1561) (0 ms) -[ok]: NUMPATs returns the number of unique patterns (27 ms) -[ok]: Mix SUBSCRIBE and PSUBSCRIBE (13 ms) +[ok]: Pub/Sub PING on RESP2 (2 ms) +[ok]: Pub/Sub PING on RESP3 (2 ms) +[ok]: PUBLISH/SUBSCRIBE basics (35 ms) +[ok]: PUBLISH/SUBSCRIBE with two clients (66 ms) +[ok]: PUBLISH/SUBSCRIBE after UNSUBSCRIBE without arguments (24 ms) +[ok]: SUBSCRIBE to one channel more than once (27 ms) +[ok]: UNSUBSCRIBE from non-subscribed channels (30 ms) +[ok]: PUBLISH/PSUBSCRIBE basics (36 ms) +[ok]: PUBLISH/PSUBSCRIBE with two clients (65 ms) +[ok]: PUBLISH/PSUBSCRIBE after PUNSUBSCRIBE without arguments (27 ms) +[ok]: PubSub messages with CLIENT REPLY OFF (108 ms) +[ok]: PUNSUBSCRIBE from non-subscribed channels (34 ms) +[ok]: NUMSUB returns numbers, not strings (#1561) (2 ms) +[ok]: NUMPATs returns the number of unique patterns (49 ms) +[ok]: Mix SUBSCRIBE and PSUBSCRIBE (19 ms) [ok]: PUNSUBSCRIBE and UNSUBSCRIBE should always reply (1 ms) -[ok]: Keyspace notifications: we receive keyspace notifications (53 ms) -[ok]: Keyspace notifications: we receive keyevent notifications (56 ms) -[ok]: Keyspace notifications: we can receive both kind of events (13 ms) -[ok]: Keyspace notifications: we are able to mask events (13 ms) -[ok]: Keyspace notifications: general events test (15 ms) -[ok]: Keyspace notifications: list events test (14 ms) -[ok]: Keyspace notifications: set events test (13 ms) -[ok]: Keyspace notifications: zset events test (14 ms) -[ok]: Keyspace notifications: hash events test (listpackex) (418 ms) -[ok]: Keyspace notifications: hash events test (hashtable) (416 ms) -[ok]: Keyspace notifications: stream events test (16 ms) -[ok]: Keyspace notifications: expired events (triggered expire) (114 ms) -[ok]: Keyspace notifications: expired events (background expire) (116 ms) -[ok]: Keyspace notifications: evicted events (19 ms) -[ok]: Keyspace notifications: test CONFIG GET/SET of event flags (2 ms) -[ok]: Keyspace notifications: new key test (16 ms) -[ok]: publish to self inside multi (1 ms) +[ok]: Keyspace notifications: we receive keyspace notifications (73 ms) +[ok]: Keyspace notifications: we receive keyevent notifications (76 ms) +[ok]: Keyspace notifications: we can receive both kind of events (36 ms) +[ok]: Keyspace notifications: we are able to mask events (30 ms) +[ok]: Keyspace notifications: general events test (21 ms) +[ok]: Keyspace notifications: list events test (18 ms) +[ok]: Keyspace notifications: set events test (17 ms) +[ok]: Keyspace notifications: zset events test (15 ms) +[ok]: Keyspace notifications: hash events test (listpackex) (435 ms) +[ok]: Keyspace notifications: hash events test (hashtable) (436 ms) +[ok]: Keyspace notifications: stream events test (15 ms) +[ok]: Keyspace notifications: expired events (triggered expire) (116 ms) +[ok]: Keyspace notifications: expired events (background expire) (144 ms) +[ok]: Keyspace notifications: evicted events (23 ms) +[ok]: Keyspace notifications: test CONFIG GET/SET of event flags (1 ms) +[ok]: Keyspace notifications: new key test (15 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 (2 ms) -[32/96 done]: unit/pubsub (1 seconds) +[32/96 done]: unit/pubsub (2 seconds) Testing unit/pubsubshard === (pubsubshard external:skip) Starting server 127.0.0.1:21365 ok -[ok]: SPUBLISH/SSUBSCRIBE basics (14 ms) -[ok]: SPUBLISH/SSUBSCRIBE with two clients (26 ms) +[ok]: SPUBLISH/SSUBSCRIBE basics (23 ms) +[ok]: SPUBLISH/SSUBSCRIBE with two clients (25 ms) [ok]: SPUBLISH/SSUBSCRIBE after UNSUBSCRIBE without arguments (13 ms) -[ok]: SSUBSCRIBE to one channel more than once (13 ms) +[ok]: SSUBSCRIBE to one channel more than once (14 ms) [ok]: SUNSUBSCRIBE from non-subscribed channels (13 ms) [ok]: PUBSUB command basics (1 ms) -[ok]: SPUBLISH/SSUBSCRIBE with two clients (24 ms) -[ok]: SPUBLISH/SSUBSCRIBE with PUBLISH/SUBSCRIBE (25 ms) -[ok]: PubSubShard with CLIENT REPLY OFF (109 ms) +[ok]: SPUBLISH/SSUBSCRIBE with two clients (25 ms) +[ok]: SPUBLISH/SSUBSCRIBE with PUBLISH/SUBSCRIBE (27 ms) +[ok]: PubSubShard with CLIENT REPLY OFF (103 ms) === (pubsubshard external:skip) Starting server 127.0.0.1:21367 ok === (pubsubshard external:skip) Starting server 127.0.0.1:21369 ok -[ok]: setup replication for following tests (102 ms) -[ok]: publish message to master and receive on replica (25 ms) +[ok]: setup replication for following tests (107 ms) +[ok]: publish message to master and receive on replica (33 ms) [33/96 done]: unit/pubsubshard (2 seconds) Testing unit/querybuf === (querybuf slow) Starting server 127.0.0.1:21371 ok -[ok]: query buffer resized correctly (2283 ms) -[ok]: query buffer resized correctly when not idle (40 ms) -[ok]: query buffer resized correctly with fat argv (2958 ms) +[ok]: query buffer resized correctly (2865 ms) +[ok]: query buffer resized correctly when not idle (60 ms) +[ok]: query buffer resized correctly with fat argv (2952 ms) === (querybuf) Starting server 127.0.0.1:21373 ok -[ok]: Client executes small argv commands using reusable query buffer (13 ms) -[34/96 done]: unit/querybuf (6 seconds) +[ok]: Client executes small argv commands using reusable query buffer (24 ms) +[34/96 done]: unit/querybuf (7 seconds) Testing unit/quit === (quit) Starting server 127.0.0.1:21375 ok -[ok]: QUIT returns OK (13 ms) -[ok]: Pipelined commands after QUIT must not be executed (27 ms) -[ok]: Pipelined commands after QUIT that exceed read buffer size (28 ms) -[35/96 done]: unit/quit (0 seconds) +[ok]: QUIT returns OK (25 ms) +[ok]: Pipelined commands after QUIT must not be executed (41 ms) +[ok]: Pipelined commands after QUIT that exceed read buffer size (49 ms) +[35/96 done]: unit/quit (1 seconds) Testing unit/replybufsize === (replybufsize) Starting server 127.0.0.1:21377 ok -[ok]: verify reply buffer limits (668 ms) +[ok]: verify reply buffer limits (693 ms) [36/96 done]: unit/replybufsize (1 seconds) Testing unit/scan === (scan network standalone) Starting server 127.0.0.1:21379 ok -[ok]: {standalone} SCAN basic (72 ms) -[ok]: {standalone} SCAN COUNT (84 ms) -[ok]: {standalone} SCAN MATCH (57 ms) -[ok]: {standalone} SCAN TYPE (103 ms) -[ok]: {standalone} SCAN unknown type (64 ms) -[ok]: {standalone} SCAN with expired keys (62 ms) -[ok]: {standalone} SCAN with expired keys with TYPE filter (68 ms) +[ok]: {standalone} SCAN basic (162 ms) +[ok]: {standalone} SCAN COUNT (180 ms) +[ok]: {standalone} SCAN MATCH (139 ms) +[ok]: {standalone} SCAN TYPE (187 ms) +[ok]: {standalone} SCAN unknown type (142 ms) +[ok]: {standalone} SCAN with expired keys (120 ms) +[ok]: {standalone} SCAN with expired keys with TYPE filter (113 ms) [ok]: {standalone} SSCAN with encoding intset (2 ms) [ok]: {standalone} SSCAN with encoding listpack (2 ms) -[ok]: {standalone} SSCAN with encoding hashtable (5 ms) -[ok]: {standalone} HSCAN with encoding listpack (2 ms) +[ok]: {standalone} SSCAN with encoding hashtable (7 ms) +[ok]: {standalone} HSCAN with encoding listpack (3 ms) [ok]: {standalone} HSCAN with large value listpack (1 ms) -[ok]: {standalone} HSCAN with encoding hashtable (89 ms) +[ok]: {standalone} HSCAN with encoding hashtable (108 ms) [ok]: {standalone} HSCAN with large value hashtable (2 ms) -[ok]: {standalone} ZSCAN with encoding listpack (3 ms) -[ok]: {standalone} ZSCAN with encoding skiplist (76 ms) -[ok]: {standalone} SCAN guarantees check under write load (26 ms) +[ok]: {standalone} ZSCAN with encoding listpack (9 ms) +[ok]: {standalone} ZSCAN with encoding skiplist (123 ms) +[ok]: {standalone} SCAN guarantees check under write load (52 ms) [ok]: {standalone} SSCAN with integer encoded object (issue #1345) (1 ms) [ok]: {standalone} SSCAN with PATTERN (1 ms) [ok]: {standalone} HSCAN with PATTERN (0 ms) [ok]: {standalone} HSCAN with NOVALUES (1 ms) [ok]: {standalone} ZSCAN with PATTERN (1 ms) -[ok]: {standalone} ZSCAN scores: regression test for issue #2175 (58 ms) -[ok]: {standalone} SCAN regression test for issue #4906 (10019 ms) -[ok]: {standalone} SCAN MATCH pattern implies cluster slot (36 ms) +[ok]: {standalone} ZSCAN scores: regression test for issue #2175 (61 ms) +[ok]: {standalone} SCAN regression test for issue #4906 (14265 ms) +[ok]: {standalone} SCAN MATCH pattern implies cluster slot (92 ms) === (external:skip cluster scan) Starting server 127.0.0.1:21381 ok -[ok]: {cluster} SCAN basic (92 ms) -[ok]: {cluster} SCAN COUNT (97 ms) -[ok]: {cluster} SCAN MATCH (85 ms) -[ok]: {cluster} SCAN TYPE (121 ms) -[ok]: {cluster} SCAN unknown type (85 ms) -[ok]: {cluster} SCAN with expired keys (92 ms) -[ok]: {cluster} SCAN with expired keys with TYPE filter (93 ms) +[ok]: {cluster} SCAN basic (161 ms) +[ok]: {cluster} SCAN COUNT (1213 ms) +[ok]: {cluster} SCAN MATCH (147 ms) +[ok]: {cluster} SCAN TYPE (220 ms) +[ok]: {cluster} SCAN unknown type (143 ms) +[ok]: {cluster} SCAN with expired keys (111 ms) +[ok]: {cluster} SCAN with expired keys with TYPE filter (117 ms) [ok]: {cluster} SSCAN with encoding intset (2 ms) -[ok]: {cluster} SSCAN with encoding listpack (1 ms) +[ok]: {cluster} SSCAN with encoding listpack (2 ms) [ok]: {cluster} SSCAN with encoding hashtable (4 ms) -[ok]: {cluster} HSCAN with encoding listpack (2 ms) +[ok]: {cluster} HSCAN with encoding listpack (3 ms) [ok]: {cluster} HSCAN with large value listpack (1 ms) -[ok]: {cluster} HSCAN with encoding hashtable (88 ms) +[ok]: {cluster} HSCAN with encoding hashtable (95 ms) [ok]: {cluster} HSCAN with large value hashtable (1 ms) [ok]: {cluster} ZSCAN with encoding listpack (3 ms) -[ok]: {cluster} ZSCAN with encoding skiplist (72 ms) -[ok]: {cluster} SCAN guarantees check under write load (31 ms) -[ok]: {cluster} SSCAN with integer encoded object (issue #1345) (0 ms) -[ok]: {cluster} SSCAN with PATTERN (1 ms) -[ok]: {cluster} HSCAN with PATTERN (4 ms) +[ok]: {cluster} ZSCAN with encoding skiplist (82 ms) +[ok]: {cluster} SCAN guarantees check under write load (39 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} ZSCAN with PATTERN (0 ms) -[ok]: {cluster} ZSCAN scores: regression test for issue #2175 (55 ms) -[ok]: {cluster} SCAN regression test for issue #4906 (10227 ms) -[ok]: {cluster} SCAN MATCH pattern implies cluster slot (41 ms) -[37/96 done]: unit/scan (25 seconds) +[ok]: {cluster} ZSCAN with PATTERN (1 ms) +[ok]: {cluster} ZSCAN scores: regression test for issue #2175 (104 ms) +[ok]: {cluster} SCAN regression test for issue #4906 (13625 ms) +[ok]: {cluster} SCAN MATCH pattern implies cluster slot (56 ms) +[37/96 done]: unit/scan (35 seconds) Testing unit/scripting === (scripting) Starting server 127.0.0.1:21383 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 - 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 redis (1 ms) [ok]: EVAL - Lua integer -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Lua string -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Lua true boolean -> Redis protocol type conversion (1 ms) +[ok]: EVAL - Lua 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 (0 ms) -[ok]: EVAL - Lua status code reply -> 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 - Lua table -> Redis protocol type conversion (5 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 - 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 - 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 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? (5 ms) -[ok]: EVAL - SELECT inside Lua should not affect the caller (1 ms) +[ok]: EVAL - Redis nil bulk reply -> Lua type conversion (1 ms) +[ok]: EVAL - Is the Lua client using the currently selected DB? (4 ms) +[ok]: EVAL - SELECT inside Lua should not affect the caller (2 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 brpop command (0 ms) [ok]: EVAL - Scripts do not block on brpoplpush command (0 ms) -[ok]: EVAL - Scripts do not block on blmove command (1 ms) -[ok]: EVAL - Scripts do not block on bzpopmin command (1 ms) -[ok]: EVAL - Scripts do not block on bzpopmax command (0 ms) +[ok]: EVAL - Scripts do not block on blmove command (0 ms) +[ok]: EVAL - Scripts do not block on bzpopmin command (11 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 (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 XREAD with BLOCK option -- non empty stream (4 ms) [ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option -- non empty stream (1 ms) -[ok]: EVAL - Scripts can run non-deterministic commands (0 ms) -[ok]: EVAL - No arguments to redis.call/pcall is considered an error (0 ms) -[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) +[ok]: EVAL - 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) (7 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? (0 ms) +[ok]: EVAL - JSON smoke test (1 ms) +[ok]: EVAL - cmsgpack can pack double? (1 ms) [ok]: EVAL - cmsgpack can pack negative int64? (0 ms) -[ok]: EVAL - cmsgpack pack/unpack smoke test (272 ms) +[ok]: EVAL - cmsgpack pack/unpack smoke test (418 ms) [ok]: EVAL - cmsgpack can pack and unpack circular references? (1 ms) -[ok]: EVAL - Numerical sanity check from bitop (1 ms) -[ok]: EVAL - Verify minimal bitop functionality (1 ms) -[ok]: EVAL - Able to parse trailing comments (0 ms) -[ok]: EVAL_RO - Successful case (1 ms) -[ok]: EVAL_RO - Cannot run write commands (1 ms) -[ok]: redis.sha1hex() implementation (0 ms) -[ok]: Measures elapsed time os.clock() (1008 ms) +[ok]: EVAL - Numerical sanity check from bitop (3 ms) +[ok]: EVAL - Verify minimal bitop functionality (2 ms) +[ok]: EVAL - Able to parse trailing comments (2 ms) +[ok]: EVAL_RO - Successful case (2 ms) +[ok]: EVAL_RO - Cannot run write commands (3 ms) +[ok]: redis.sha1hex() implementation (3 ms) +[ok]: Measures elapsed time os.clock() (1040 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]: Verify execution of prohibit dangerous Lua methods will fail (5 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 (3 ms) -[ok]: EVAL does not leak in the Lua stack (977 ms) -[ok]: Call Redis command with many args from Lua (issue #1764) (1 ms) -[ok]: Number conversion precision test (issue #1118) (0 ms) +[ok]: lua bit.tohex bug (1 ms) +[ok]: Test an example script DECR_IF_GT (4 ms) +[ok]: EVAL does not leak in the Lua stack (1604 ms) +[ok]: Call Redis command with many args from Lua (issue #1764) (2 ms) +[ok]: Number conversion precision test (issue #1118) (1 ms) [ok]: String containing number precision test (regression of issue #1118) (0 ms) [ok]: Verify negative arg count is error instead of crash (issue #1842) (1 ms) -[ok]: Scripts can handle commands with incorrect arity (1 ms) -[ok]: Correct handling of reused argv (issue #1939) (0 ms) -[ok]: Functions in the Redis namespace are able to report errors (0 ms) -[ok]: CLUSTER RESET can not be invoke from within a script (0 ms) +[ok]: Scripts can handle commands with incorrect arity (8 ms) +[ok]: Correct handling of reused argv (issue #1939) (1 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 (1 ms) [ok]: Script with RESP3 map (2 ms) -[ok]: Script return recursive object (83 ms) -[ok]: Script check unpack with massive arguments (3 ms) +[ok]: Script return recursive object (179 ms) +[ok]: Script check unpack with massive arguments (4 ms) [ok]: Script read key with expiration set (1 ms) -[ok]: Script del key with expiration set (0 ms) -[ok]: Script ACL check (2 ms) -[ok]: Binary code loading failed (0 ms) +[ok]: Script del key with expiration set (1 ms) +[ok]: Script ACL check (8 ms) +[ok]: Binary code loading failed (1 ms) [ok]: Try trick global protection 1 (1 ms) -[ok]: Try trick global protection 2 (0 ms) +[ok]: Try trick global protection 2 (1 ms) [ok]: Try trick global protection 3 (1 ms) -[ok]: Try trick global protection 4 (0 ms) -[ok]: Try trick readonly table on redis table (0 ms) -[ok]: Try trick readonly table on json table (1 ms) +[ok]: Try trick global protection 4 (1 ms) +[ok]: Try trick readonly table on redis table (4 ms) +[ok]: Try trick readonly table on json table (2 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 (0 ms) +[ok]: Test loadfile are not available (1 ms) +[ok]: Test dofile are not available (1 ms) +[ok]: Test print are not available (14 ms) === (scripting) Starting server 127.0.0.1:21385 ok -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (426 ms) -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (57 ms) -[ok]: Timedout script does not cause a false dead client (54 ms) -[ok]: Timedout script link is still usable after Lua returns (65 ms) -[ok]: Timedout scripts and unblocked command (351 ms) -[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (230 ms) -[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (10 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (464 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (176 ms) +[ok]: Timedout script does not cause a false dead client (140 ms) +[ok]: Timedout script link is still usable after Lua returns (154 ms) +[ok]: Timedout scripts and unblocked command (625 ms) +[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (248 ms) +[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (21 ms) === (scripting repl needs:debug external:skip) Starting server 127.0.0.1:21387 ok === () Starting server 127.0.0.1:21389 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 (13 ms) +[ok]: Connect a replica to the master instance (124 ms) +[ok]: Replication of script multiple pushes to list with BLPOP (27 ms) [ok]: Lua scripts using SELECT are replicated correctly (2 ms) === (scripting repl external:skip) Starting server 127.0.0.1:21391 ok === () Starting server 127.0.0.1:21393 ok -[ok]: Connect a replica to the master instance (108 ms) -[ok]: Redis.replicate_commands() can be issued anywhere now (0 ms) +[ok]: Connect a replica to the master instance (144 ms) +[ok]: Redis.replicate_commands() can be issued anywhere now (3 ms) [ok]: Redis.set_repl() can be issued before replicate_commands() now (1 ms) [ok]: Redis.set_repl() don't accept invalid values (0 ms) -[ok]: Test selective replication of certain Redis commands from Lua (2 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]: Test selective replication of certain Redis commands from Lua (130 ms) +[ok]: PRNG is seeded randomly for command replication (5 ms) +[ok]: Using side effects is not a problem with command replication (7 ms) === (scripting needs:debug) Starting server 127.0.0.1:21395 ok -[ok]: test RESP2/2 big number protocol parsing (1 ms) -[ok]: test RESP2/2 malformed big number protocol parsing (0 ms) +[ok]: test RESP2/2 big number protocol parsing (0 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 (8 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 verbatim protocol parsing (1 ms) -[ok]: test RESP2/2 true protocol parsing (0 ms) -[ok]: test RESP2/2 false protocol parsing (1 ms) +[ok]: test RESP2/2 null protocol parsing (5 ms) +[ok]: test RESP2/2 verbatim protocol parsing (0 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 (1 ms) -[ok]: test RESP2/3 set protocol parsing (0 ms) -[ok]: test RESP2/3 double protocol parsing (0 ms) -[ok]: test RESP2/3 null protocol parsing (1 ms) -[ok]: test RESP2/3 verbatim protocol parsing (0 ms) +[ok]: test RESP2/3 map protocol parsing (0 ms) +[ok]: test RESP2/3 set protocol parsing (1 ms) +[ok]: test RESP2/3 double protocol parsing (6 ms) +[ok]: test RESP2/3 null protocol parsing (0 ms) +[ok]: test RESP2/3 verbatim protocol parsing (1 ms) [ok]: test RESP2/3 true protocol parsing (0 ms) -[ok]: test RESP2/3 false protocol parsing (0 ms) -[ok]: test RESP3/2 big number protocol parsing (1 ms) -[ok]: test RESP3/2 malformed big number protocol parsing (0 ms) -[ok]: test RESP3/2 map protocol parsing (1 ms) -[ok]: test RESP3/2 set protocol parsing (0 ms) +[ok]: test RESP2/3 false protocol parsing (1 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 (1 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 verbatim protocol parsing (5 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 big number 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 set protocol parsing (1 ms) +[ok]: test RESP3/3 double protocol parsing (7 ms) [ok]: test RESP3/3 null protocol parsing (0 ms) -[ok]: test RESP3/3 verbatim protocol parsing (0 ms) +[ok]: test RESP3/3 verbatim protocol parsing (1 ms) [ok]: test RESP3/3 true protocol parsing (0 ms) -[ok]: test RESP3/3 false protocol parsing (0 ms) +[ok]: test RESP3/3 false protocol parsing (1 ms) [ok]: test resp3 attribute protocol parsing (1 ms) [ok]: Script block the time during execution (13 ms) [ok]: Script delete the expired key (8 ms) [ok]: TIME command using cached time (11 ms) -[ok]: Script block the time in some expiration related commands (96 ms) +[ok]: Script block the time in some expiration related commands (97 ms) [ok]: RESTORE expired keys with expiration time (11 ms) === (scripting) Starting server 127.0.0.1:21397 ok -[ok]: Test script flush will not leak memory - script:0 (138 ms) -[ok]: Verify Lua performs GC correctly after script loading (8206 ms) +[ok]: Test script flush will not leak memory - script:0 (749 ms) +[ok]: Verify Lua performs GC correctly after script loading (18252 ms) === (scripting) Starting server 127.0.0.1:21399 ok -[ok]: Script - disallow write on OOM (1 ms) +[ok]: Script - disallow write on OOM (4 ms) [ok]: EVAL - Does Lua interpreter replies to our requests? (0 ms) -[ok]: EVAL - Return _G (0 ms) -[ok]: EVAL - Return table with a metatable that raise error (1 ms) -[ok]: EVAL - Return table with a metatable that call redis (0 ms) +[ok]: EVAL - Return _G (1 ms) +[ok]: EVAL - Return table with a metatable that raise error (0 ms) +[ok]: EVAL - Return table with a metatable that call redis (1 ms) [ok]: EVAL - Lua integer -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Lua string -> 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 (0 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? (0 ms) -[ok]: EVAL - is Lua able to call Redis API? (1 ms) -[ok]: EVALSHA - Can we call a SHA1 if already defined? (0 ms) +[ok]: EVAL - Lua table -> Redis protocol type conversion (3 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]: EVALSHA - Can we call a SHA1 if already defined? (1 ms) [ok]: EVALSHA_RO - Can we call a SHA1 if already defined? (0 ms) -[ok]: EVALSHA - Can we call a SHA1 in uppercase? (0 ms) -[ok]: EVALSHA - Do we get an error on invalid SHA1? (0 ms) -[ok]: EVALSHA - Do we get an error on non defined SHA1? (0 ms) -[ok]: EVAL - Redis integer -> Lua type conversion (5 ms) -[ok]: EVAL - Lua number -> Redis integer conversion (0 ms) +[ok]: EVALSHA - Can we call a SHA1 in uppercase? (1 ms) +[ok]: EVALSHA - Do we get an error on invalid SHA1? (5 ms) +[ok]: EVALSHA - Do we get an error on non defined SHA1? (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 (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 nil bulk reply -> Lua type conversion (1 ms) -[ok]: EVAL - Is the Lua client using the currently selected DB? (0 ms) +[ok]: EVAL - Redis error reply -> Lua type conversion (1 ms) +[ok]: EVAL - Redis nil bulk reply -> Lua type conversion (0 ms) +[ok]: EVAL - Is the Lua client using the currently selected DB? (1 ms) [ok]: EVAL - SELECT inside Lua should not affect the caller (1 ms) -[ok]: EVAL - Scripts do not block on blpop command (0 ms) -[ok]: EVAL - Scripts do not block on brpop command (0 ms) -[ok]: EVAL - Scripts do not block on brpoplpush command (1 ms) -[ok]: EVAL - Scripts do not block on blmove command (0 ms) +[ok]: EVAL - Scripts do not block on blpop command (6 ms) +[ok]: EVAL - Scripts do not block on brpop command (1 ms) +[ok]: EVAL - Scripts do not block on brpoplpush command (0 ms) +[ok]: EVAL - Scripts do not block on blmove command (1 ms) [ok]: EVAL - Scripts do not block on bzpopmin command (1 ms) -[ok]: EVAL - Scripts do not block on bzpopmax command (0 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 (0 ms) +[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (5 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 do not block on XREADGROUP with BLOCK option -- non empty stream (1 ms) [ok]: EVAL - Scripts can run non-deterministic commands (0 ms) -[ok]: EVAL - No arguments to redis.call/pcall is considered an error (0 ms) -[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) -[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 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 (0 ms) +[ok]: EVAL - JSON numeric decoding (0 ms) +[ok]: EVAL - JSON string decoding (1 ms) [ok]: EVAL - JSON smoke test (0 ms) [ok]: EVAL - cmsgpack can pack double? (1 ms) [ok]: EVAL - cmsgpack can pack negative int64? (0 ms) -[ok]: EVAL - cmsgpack pack/unpack smoke test (287 ms) -[ok]: EVAL - cmsgpack can pack and unpack circular references? (1 ms) +[ok]: EVAL - cmsgpack pack/unpack smoke test (777 ms) +[ok]: EVAL - cmsgpack can pack and unpack circular references? (2 ms) [ok]: EVAL - Numerical sanity check from bitop (1 ms) -[ok]: EVAL - Verify minimal bitop functionality (0 ms) +[ok]: EVAL - Verify minimal bitop functionality (5 ms) [ok]: EVAL - Able to parse trailing comments (1 ms) -[ok]: EVAL_RO - Successful case (0 ms) +[ok]: EVAL_RO - Successful case (7 ms) [ok]: EVAL_RO - Cannot run write commands (1 ms) -[ok]: SCRIPTING FLUSH - is able to clear the scripts cache? (16 ms) -[ok]: SCRIPTING FLUSH ASYNC (13 ms) +[ok]: SCRIPTING FLUSH - is able to clear the scripts cache? (52 ms) +[ok]: SCRIPTING FLUSH ASYNC (36 ms) [ok]: SCRIPT EXISTS - can detect already defined scripts? (1 ms) [ok]: SCRIPT LOAD - is able to register scripts in the scripting cache (0 ms) [ok]: SORT is normally not alpha re-ordered for the scripting engine (1 ms) -[ok]: SORT BY output gets ordered for scripting (0 ms) +[ok]: SORT BY output gets ordered for scripting (1 ms) [ok]: SORT BY with GET gets ordered for scripting (1 ms) -[ok]: redis.sha1hex() implementation (0 ms) -[ok]: Measures elapsed time os.clock() (1020 ms) +[ok]: redis.sha1hex() implementation (1 ms) +[ok]: Measures elapsed time os.clock() (1459 ms) [ok]: Prohibit dangerous lua methods in sandbox (0 ms) -[ok]: Verify execution of prohibit dangerous Lua methods will fail (1 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* (0 ms) -[ok]: lua bit.tohex bug (0 ms) -[ok]: Test an example script DECR_IF_GT (1 ms) -[ok]: random numbers are random now (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 (3 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 (338 ms) -[ok]: SPOP: We can call scripts rewriting client->argv from Lua (62 ms) -[ok]: MGET: mget shouldn't be propagated in Lua (101 ms) -[ok]: EXPIRE: We can call scripts rewriting client->argv from Lua (100 ms) +[ok]: EVAL does not leak in the Lua stack (1718 ms) +[ok]: SPOP: We can call scripts rewriting client->argv from Lua (793 ms) +[ok]: MGET: mget shouldn't be propagated in Lua (172 ms) +[ok]: EXPIRE: We can call scripts rewriting client->argv from Lua (70 ms) === (scripting) Starting server 127.0.0.1:21401 ok -[ok]: INCRBYFLOAT: We can call scripts expanding client->argv from Lua (378 ms) -[ok]: Call Redis command with many args from Lua (issue #1764) (2 ms) +[ok]: INCRBYFLOAT: We can call scripts expanding client->argv from Lua (627 ms) +[ok]: Call Redis command with many args from Lua (issue #1764) (1 ms) [ok]: Number conversion precision test (issue #1118) (0 ms) -[ok]: String containing number precision test (regression of issue #1118) (0 ms) +[ok]: 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]: 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 (6 ms) -[ok]: Script return recursive object (117 ms) -[ok]: Script check unpack with massive arguments (8 ms) -[ok]: Script read key with expiration set (0 ms) +[ok]: Script with RESP3 map (2 ms) +[ok]: Script return recursive object (221 ms) +[ok]: Script check unpack with massive arguments (5 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]: Script ACL check (7 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 3 (1 ms) [ok]: Try trick global protection 4 (0 ms) -[ok]: Try trick readonly table on redis table (0 ms) +[ok]: Try trick readonly table on redis 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) +[ok]: Try trick readonly table on cmsgpack table (1 ms) +[ok]: Try trick readonly table on bit table (0 ms) [ok]: Test loadfile are not available (0 ms) -[ok]: Test dofile are not available (0 ms) +[ok]: Test dofile are not available (1 ms) [ok]: Test print are not available (0 ms) === (scripting) Starting server 127.0.0.1:21403 ok -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (424 ms) -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (56 ms) -[ok]: Timedout script does not cause a false dead client (53 ms) -[ok]: Timedout script link is still usable after Lua returns (63 ms) -[ok]: Timedout scripts and unblocked command (357 ms) -[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (224 ms) -[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (10 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (469 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (135 ms) +[ok]: Timedout script does not cause a false dead client (80 ms) +[ok]: Timedout script link is still usable after Lua returns (141 ms) +[ok]: Timedout scripts and unblocked command (554 ms) +[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (248 ms) +[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (29 ms) === (scripting repl needs:debug external:skip) Starting server 127.0.0.1:21405 ok === () Starting server 127.0.0.1:21407 ok [ok]: Before the replica connects we issue two EVAL commands (1 ms) -[ok]: Connect a replica to the master instance (108 ms) +[ok]: Connect a replica to the master instance (124 ms) [ok]: Now use EVALSHA against the master, with both SHAs (1 ms) -[ok]: 'x' should be '4' for EVALSHA being replicated by effects (102 ms) -[ok]: Replication of script multiple pushes to list with BLPOP (14 ms) -[ok]: EVALSHA replication when first call is readonly (2 ms) -[ok]: Lua scripts using SELECT are replicated correctly (1 ms) +[ok]: 'x' should be '4' for EVALSHA being replicated by effects (0 ms) +[ok]: Replication of script multiple pushes to list with BLPOP (22 ms) +[ok]: EVALSHA replication when first call is readonly (1 ms) +[ok]: Lua scripts using SELECT are replicated correctly (2 ms) === (scripting repl external:skip) Starting server 127.0.0.1:21409 ok === () Starting server 127.0.0.1:21411 ok -[ok]: Connect a replica to the master instance (107 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 (0 ms) -[ok]: Test selective replication of certain Redis commands from Lua (2 ms) -[ok]: PRNG is seeded randomly for command replication (1 ms) -[ok]: Using side effects is not a problem with command replication (0 ms) +[ok]: Connect a replica to the master instance (128 ms) +[ok]: Redis.replicate_commands() can be issued anywhere now (8 ms) +[ok]: Redis.set_repl() can be issued before replicate_commands() now (4 ms) +[ok]: Redis.set_repl() don't accept invalid values (4 ms) +[ok]: Test selective replication of certain Redis commands from Lua (44 ms) +[ok]: PRNG is seeded randomly for command replication (12 ms) +[ok]: Using side effects is not a problem with command replication (28 ms) === (scripting external:skip) Starting server 127.0.0.1:21413 ok === (scripting needs:debug external:skip) Starting server 127.0.0.1:21415 ok [ok]: Test scripting debug protocol parsing (1 ms) -[ok]: Test scripting debug lua stack overflow (17 ms) +[ok]: Test scripting debug lua stack overflow (39 ms) === (scripting external:skip) Starting server 127.0.0.1:21417 ok -[ok]: Lua scripts eviction does not generate many scripts (163 ms) -[ok]: Lua scripts eviction is plain LRU (73 ms) -[ok]: Lua scripts eviction does not affect script load (248 ms) +[ok]: Lua scripts eviction does not generate many scripts (305 ms) +[ok]: Lua scripts eviction is plain LRU (125 ms) +[ok]: Lua scripts eviction does not affect script load (386 ms) === (scripting needs:debug) Starting server 127.0.0.1:21419 ok -[ok]: test RESP2/2 big number protocol parsing (0 ms) -[ok]: test RESP2/2 malformed big number protocol parsing (1 ms) -[ok]: test RESP2/2 map protocol parsing (0 ms) -[ok]: test RESP2/2 set protocol parsing (0 ms) -[ok]: test RESP2/2 double protocol parsing (1 ms) -[ok]: test RESP2/2 null protocol parsing (0 ms) -[ok]: test RESP2/2 verbatim protocol parsing (0 ms) -[ok]: test RESP2/2 true protocol parsing (0 ms) -[ok]: test RESP2/2 false protocol parsing (0 ms) -[ok]: test RESP2/3 big number protocol parsing (1 ms) +[ok]: test RESP2/2 big number protocol parsing (8 ms) +[ok]: test RESP2/2 malformed big number protocol parsing (8 ms) +[ok]: test RESP2/2 map protocol parsing (8 ms) +[ok]: test RESP2/2 set protocol parsing (8 ms) +[ok]: test RESP2/2 double protocol parsing (8 ms) +[ok]: test RESP2/2 null protocol parsing (8 ms) +[ok]: test RESP2/2 verbatim protocol parsing (12 ms) +[ok]: test RESP2/2 true protocol parsing (4 ms) +[ok]: test RESP2/2 false protocol parsing (8 ms) +[ok]: test RESP2/3 big number protocol parsing (4 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 (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 (0 ms) -[ok]: test RESP2/3 false protocol parsing (1 ms) -[ok]: test RESP3/2 big number protocol parsing (0 ms) +[ok]: test RESP2/3 false protocol parsing (0 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 (0 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 (0 ms) -[ok]: test RESP3/2 false protocol parsing (0 ms) +[ok]: test RESP3/2 true protocol parsing (4 ms) +[ok]: test RESP3/2 false protocol parsing (1 ms) [ok]: test RESP3/3 big number protocol parsing (1 ms) [ok]: test RESP3/3 malformed big number protocol parsing (0 ms) [ok]: test RESP3/3 map protocol parsing (0 ms) -[ok]: test RESP3/3 set protocol parsing (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 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 (0 ms) -[ok]: test resp3 attribute protocol parsing (1 ms) -[ok]: Script block the time during execution (10 ms) -[ok]: Script delete the expired key (4 ms) -[ok]: TIME command using cached time (10 ms) -[ok]: Script block the time in some expiration related commands (82 ms) +[ok]: test resp3 attribute protocol parsing (0 ms) +[ok]: Script block the time during execution (14 ms) +[ok]: Script delete the expired key (8 ms) +[ok]: TIME command using cached time (12 ms) +[ok]: Script block the time in some expiration related commands (96 ms) [ok]: RESTORE expired keys with expiration time (11 ms) === (scripting) Starting server 127.0.0.1:21421 ok -[ok]: Test script flush will not leak memory - script:1 (127 ms) -[ok]: Verify Lua performs GC correctly after script loading (6235 ms) +[ok]: Test script flush will not leak memory - script:1 (324 ms) +[ok]: Verify Lua performs GC correctly after script loading (16872 ms) === (scripting) Starting server 127.0.0.1:21423 ok -[ok]: Shebang support for lua engine (0 ms) +[ok]: Shebang support for lua engine (5 ms) [ok]: Unknown shebang option (1 ms) [ok]: Unknown shebang flag (0 ms) -[ok]: allow-oom shebang flag (2 ms) +[ok]: allow-oom shebang flag (8 ms) [ok]: no-writes shebang flag (0 ms) === (external:skip) Starting server 127.0.0.1:21425 ok -[ok]: no-writes shebang flag on replica (249 ms) -[ok]: not enough good replicas (2 ms) +[ok]: no-writes shebang flag on replica (291 ms) +[ok]: not enough good replicas (1 ms) === (external:skip) Starting server 127.0.0.1:21427 ok -[ok]: not enough good replicas state change during long script (702 ms) -[ok]: allow-stale shebang flag (2 ms) -[ok]: reject script do not cause a Lua stack leak (6 ms) +[ok]: not enough good replicas state change during long script (1462 ms) +[ok]: allow-stale shebang flag (80 ms) +[ok]: reject script do not cause a Lua stack leak (180 ms) === (scripting) Starting server 127.0.0.1:21429 ok -[ok]: Consistent eval error reporting (18 ms) +[ok]: Consistent eval error reporting (19 ms) [ok]: LUA redis.error_reply API (1 ms) -[ok]: LUA redis.error_reply API with empty string (1 ms) +[ok]: LUA redis.error_reply API with empty string (4 ms) [ok]: LUA redis.status_reply API (1 ms) [ok]: LUA test pcall (0 ms) [ok]: LUA test pcall with error (1 ms) [ok]: LUA test pcall with non string/integer arg (0 ms) -[ok]: LUA test trim string as expected (2 ms) -[38/96 done]: unit/scripting (33 seconds) +[ok]: LUA test trim string as expected (1 ms) +[38/96 done]: unit/scripting (66 seconds) Testing unit/shutdown === (shutdown external:skip) Starting server 127.0.0.1:21431 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 (185 ms) === (shutdown external:skip) Starting server 127.0.0.1:21433 ok -[ok]: SHUTDOWN ABORT can cancel SIGTERM (32 ms) -[ok]: Temp rdb will be deleted in signal handle (110 ms) +[ok]: SHUTDOWN ABORT can cancel SIGTERM (37 ms) +[ok]: Temp rdb will be deleted in signal handle (63 ms) === (shutdown external:skip) Starting server 127.0.0.1:21435 ok -[ok]: RDB save will be failed in shutdown (9 ms) -[ok]: SHUTDOWN will abort if rdb save failed on signal (32 ms) -[ok]: SHUTDOWN will abort if rdb save failed on shutdown command (1 ms) -[ok]: SHUTDOWN can proceed if shutdown command was with nosave (11 ms) -[ok]: Clean up rdb same named folder (8 ms) +[ok]: RDB save will be failed in shutdown (181 ms) +[ok]: SHUTDOWN will abort if rdb save failed on signal (179 ms) +[ok]: SHUTDOWN will abort if rdb save failed on shutdown command (0 ms) +[ok]: SHUTDOWN can proceed if shutdown command was with nosave (10 ms) +[ok]: Clean up rdb same named folder (9 ms) === (shutdown external:skip) Starting server 127.0.0.1:21437 ok -[ok]: SHUTDOWN SIGTERM will abort if there's an initial AOFRW - default (36 ms) -[39/96 done]: unit/shutdown (1 seconds) +[ok]: SHUTDOWN SIGTERM will abort if there's an initial AOFRW - default (125 ms) +[39/96 done]: unit/shutdown (2 seconds) Testing unit/slowlog === (slowlog) Starting server 127.0.0.1:21439 ok [ok]: SLOWLOG - check that it starts with an empty log (1 ms) -[ok]: SLOWLOG - only logs commands taking more time than specified (201 ms) -[ok]: SLOWLOG - zero max length is correctly handled (10 ms) -[ok]: SLOWLOG - max entries is correctly handled (10 ms) -[ok]: SLOWLOG - GET optional argument to limit output len works (5 ms) -[ok]: SLOWLOG - RESET subcommand works (0 ms) -[ok]: SLOWLOG - logged entry sanity check (201 ms) -[ok]: SLOWLOG - Certain commands are omitted that contain sensitive information (3 ms) -[ok]: SLOWLOG - Some commands can redact sensitive fields (2 ms) -[ok]: SLOWLOG - Rewritten commands are logged as their original command (16 ms) +[ok]: SLOWLOG - only logs commands taking more time than specified (203 ms) +[ok]: SLOWLOG - zero max length is correctly handled (18 ms) +[ok]: SLOWLOG - max entries is correctly handled (25 ms) +[ok]: SLOWLOG - GET optional argument to limit output len works (2 ms) +[ok]: SLOWLOG - RESET subcommand works (1 ms) +[ok]: SLOWLOG - logged entry sanity check (202 ms) +[ok]: SLOWLOG - Certain commands are omitted that contain sensitive information (9 ms) +[ok]: SLOWLOG - Some commands can redact sensitive fields (1 ms) +[ok]: SLOWLOG - Rewritten commands are logged as their original command (50 ms) [ok]: SLOWLOG - commands with too many arguments are trimmed (1 ms) -[ok]: SLOWLOG - too long arguments are trimmed (5 ms) -[ok]: SLOWLOG - EXEC is not logged, just executed commands (201 ms) -[ok]: SLOWLOG - can clean older entries (201 ms) -[ok]: SLOWLOG - can be disabled (403 ms) -[ok]: SLOWLOG - count must be >= -1 (1 ms) +[ok]: SLOWLOG - too long arguments are trimmed (1 ms) +[ok]: SLOWLOG - EXEC is not logged, just executed commands (205 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 (2 ms) -[ok]: SLOWLOG - blocking command is reported only after unblocked (15 ms) +[ok]: SLOWLOG - blocking command is reported only after unblocked (31 ms) [40/96 done]: unit/slowlog (2 seconds) Testing unit/sort === (sort) Starting server 127.0.0.1:21441 ok [ok]: Listpack: SORT BY key (0 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 (7 ms) +[ok]: Quicklist: SORT BY key (17 ms) [ok]: Quicklist: SORT BY key with limit (1 ms) -[ok]: Quicklist: SORT BY hash field (7 ms) -[ok]: Big Quicklist: SORT BY key (304 ms) -[ok]: Big Quicklist: SORT BY key with limit (6 ms) -[ok]: Big Quicklist: SORT BY hash field (304 ms) +[ok]: Quicklist: SORT BY hash field (13 ms) +[ok]: Big Quicklist: SORT BY key (1193 ms) +[ok]: Big Quicklist: SORT BY key with limit (18 ms) +[ok]: Big Quicklist: SORT BY hash field (1413 ms) [ok]: Intset: SORT BY key (0 ms) [ok]: Intset: SORT BY key with limit (0 ms) -[ok]: Intset: SORT BY hash field (1 ms) -[ok]: Hash table: SORT BY key (7 ms) -[ok]: Hash table: SORT BY key with limit (1 ms) -[ok]: Hash table: SORT BY hash field (11 ms) -[ok]: Big Hash table: SORT BY key (305 ms) -[ok]: Big Hash table: SORT BY key with limit (7 ms) -[ok]: Big Hash table: SORT BY hash field (304 ms) -[ok]: SORT GET # (0 ms) +[ok]: Intset: SORT BY hash field (0 ms) +[ok]: Hash table: SORT BY key (21 ms) +[ok]: Hash table: SORT BY key with limit (11 ms) +[ok]: Hash table: SORT BY hash field (25 ms) +[ok]: Big Hash table: SORT BY key (401 ms) +[ok]: Big Hash table: SORT BY key with limit (8 ms) +[ok]: Big Hash table: SORT BY hash field (845 ms) +[ok]: SORT GET # (6 ms) [ok]: SORT GET (1 ms) [ok]: SORT_RO GET (0 ms) -[ok]: SORT GET (key and hash) with sanity check (5 ms) +[ok]: SORT GET (key and hash) with sanity check (12 ms) [ok]: SORT BY key STORE (1 ms) [ok]: SORT BY hash field STORE (1 ms) [ok]: SORT extracts STORE correctly (0 ms) -[ok]: SORT_RO get keys (1 ms) -[ok]: SORT extracts multiple STORE correctly (0 ms) +[ok]: SORT_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 sorted set (1 ms) -[ok]: SORT sorted set BY nosort should retain ordering (2 ms) -[ok]: SORT sorted set BY nosort + LIMIT (1 ms) +[ok]: SORT sorted set BY nosort should retain ordering (6 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 (9 ms) +[ok]: SORT sorted set: +inf and -inf handling (2 ms) +[ok]: SORT regression for issue #19, sorting floats (20 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) (4 ms) -[ok]: SORT with STORE removes key if result is empty (github issue 227) (1 ms) +[ok]: SORT with STORE does not create empty lists (github issue 224) (1 ms) +[ok]: SORT with STORE removes key if result is empty (github issue 227) (5 ms) [ok]: SORT with BY and STORE should still order output (1 ms) -[ok]: SORT will complain with numerical sorting and bad doubles (1) (0 ms) -[ok]: SORT will complain with numerical sorting and bad doubles (2) (1 ms) +[ok]: SORT will complain with numerical sorting and bad doubles (1) (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 (0 ms) -[ok]: SORT by nosort plus store retains native order for lists (1 ms) +[ok]: SORT GET with pattern ending with just -> does not get hash field (1 ms) +[ok]: SORT by nosort retains native order for lists (4 ms) +[ok]: SORT by nosort plus store retains native order for lists (4 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 - Cannot run with STORE arg (0 ms) - Average time to sort: 0.20999999999999999 milliseconds [ok]: SORT speed, 100 element list BY key, 100 times (21 ms) + Average time to sort: 0.59999999999999998 milliseconds [ok]: SORT speed, 100 element list BY key, 100 times (60 ms) - Average time to sort: 0.22 milliseconds [ok]: SORT speed, 100 element list BY hash field, 100 times (22 ms) + Average time to sort: 0.54000000000000004 milliseconds [ok]: SORT speed, 100 element list BY hash field, 100 times (54 ms) - Average time to sort: 0.17999999999999999 milliseconds [ok]: SORT speed, 100 element list directly, 100 times (18 ms) + Average time to sort: 0.40000000000000002 milliseconds [ok]: SORT speed, 100 element list directly, 100 times (40 ms) - Average time to sort: 0.19 milliseconds [ok]: SORT speed, 100 element list BY , 100 times (19 ms) -[ok]: SETRANGE with huge offset (1 ms) -[ok]: SORT STORE quicklist with the right options (6 ms) + Average time to sort: 0.33000000000000002 milliseconds [ok]: SORT speed, 100 element list BY , 100 times (33 ms) +[ok]: SETRANGE with huge offset (6 ms) +[ok]: SORT STORE quicklist with the right options (12 ms) === (external:skip cluster sort) Starting server 127.0.0.1:21443 ok [ok]: sort by in cluster mode (0 ms) [ok]: sort get in cluster mode (0 ms) -[ok]: sort get # in cluster mode (0 ms) +[ok]: sort get # in cluster mode (1 ms) [ok]: sort_ro by in cluster mode (1 ms) -[ok]: sort_ro get in cluster mode (0 ms) +[ok]: sort_ro get in cluster mode (1 ms) [ok]: sort_ro get # in cluster mode (0 ms) -[41/96 done]: unit/sort (12 seconds) +[41/96 done]: unit/sort (23 seconds) Testing unit/tls === (tls) Starting server 127.0.0.1:21445 ok -[ok]: TLS: Not accepting non-TLS connections on a TLS port (0 ms) -[ok]: TLS: Verify tls-auth-clients behaves as expected (26 ms) -[ok]: TLS: Verify tls-protocols behaves as expected (17 ms) -[ok]: TLS: Verify tls-ciphers behaves as expected (31 ms) -[ok]: TLS: Verify tls-prefer-server-ciphers behaves as expected (35 ms) +[ok]: TLS: Not accepting non-TLS connections on a TLS port (1 ms) +[ok]: TLS: Verify tls-auth-clients behaves as expected (75 ms) +[ok]: TLS: Verify tls-protocols behaves as expected (40 ms) +[ok]: TLS: Verify tls-ciphers behaves as expected (164 ms) +[ok]: TLS: Verify tls-prefer-server-ciphers behaves as expected (160 ms) === () Starting server 127.0.0.1:21447 ok -[ok]: TLS: Verify tls-cert-file is also used as a client cert if none specified (422 ms) -[ok]: TLS: switch between tcp and tls ports (30 ms) -[ok]: TLS: Working with an encrypted keyfile (22 ms) -[42/96 done]: unit/tls (0 seconds) +[ok]: TLS: Verify tls-cert-file is also used as a client cert if none specified (709 ms) +[ok]: TLS: switch between tcp and tls ports (74 ms) +[ok]: TLS: Working with an encrypted keyfile (115 ms) +[42/96 done]: unit/tls (2 seconds) Testing unit/tracking === (tracking network logreqres:skip) Starting server 127.0.0.1:21449 ok [ok]: Clients are able to enable tracking and redirect it (1 ms) -[ok]: The other connection is able to get invalidations (0 ms) -[ok]: The client is now able to disable tracking (0 ms) -[ok]: Clients can enable the BCAST mode with the empty prefix (4 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 (0 ms) -[ok]: Tracking NOLOOP mode in BCAST mode works (1 ms) -[ok]: Tracking gets notification of expired keys (1004 ms) -[ok]: Tracking gets notification of lazy expired keys (102 ms) -[ok]: HELLO 3 reply is correct (1 ms) -[ok]: HELLO without protover (1 ms) +[ok]: Clients can enable the BCAST mode with prefixes (5 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 (9 ms) +[ok]: Tracking gets notification of expired keys (1008 ms) +[ok]: Tracking gets notification of lazy expired keys (104 ms) +[ok]: HELLO 3 reply is correct (0 ms) +[ok]: HELLO without protover (11 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 previous keys can be redirected after switching to RESP3 (6 ms) [ok]: Invalidations of new keys can be redirected after switching to RESP3 (1 ms) -[ok]: Invalid keys should not be tracked for scripts in NOLOOP mode (1 ms) +[ok]: Invalid keys should not be tracked for scripts in NOLOOP mode (2 ms) [ok]: Tracking only occurs for scripts when a command calls a read-only command (2 ms) -[ok]: RESP3 Client gets tracking-redir-broken push message after cached key changed when rediretion client is terminated (13 ms) -[ok]: Different clients can redirect to the same connection (2 ms) -[ok]: Different clients using different protocols can track the same key (1 ms) -[ok]: No invalidation message when using OPTIN option (1 ms) +[ok]: RESP3 Client gets tracking-redir-broken push message after cached key changed when rediretion client is terminated (28 ms) +[ok]: Different clients can redirect to the same connection (1 ms) +[ok]: Different clients using different protocols can track the same key (6 ms) +[ok]: No invalidation message when using OPTIN option (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 (13 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 (113 ms) +[ok]: Able to redirect to a RESP3 client (8 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 (26 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 (114 ms) [ok]: Tracking invalidation message is not interleaved with transaction response (1 ms) -[ok]: Tracking invalidation message of eviction keys should be before response (3 ms) -[ok]: Unblocked BLMOVE gets notification after response (2 ms) -[ok]: Tracking gets notification on tracking table key eviction (33 ms) -[ok]: Invalidation message received for flushall (28 ms) -[ok]: Invalidation message received for flushdb (26 ms) -[ok]: Test ASYNC flushall (26 ms) -[ok]: flushdb tracking invalidation message is not interleaved with transaction response (26 ms) -[ok]: Server is able to evacuate enough keys when num of keys surpasses limit by more than defined initial effort (201 ms) -[ok]: Tracking info is correct (31 ms) -[ok]: CLIENT GETREDIR provides correct client id (0 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking off (1 ms) +[ok]: Tracking invalidation message of eviction keys should be before response (7 ms) +[ok]: Unblocked BLMOVE gets notification after response (1 ms) +[ok]: Tracking gets notification on tracking table key eviction (81 ms) +[ok]: Invalidation message received for flushall (43 ms) +[ok]: Invalidation message received for flushdb (50 ms) +[ok]: Test ASYNC flushall (48 ms) +[ok]: flushdb tracking invalidation message is not interleaved with transaction response (54 ms) +[ok]: Server is able to evacuate enough keys when num of keys surpasses limit by more than defined initial effort (383 ms) +[ok]: Tracking info is correct (28 ms) +[ok]: CLIENT GETREDIR provides correct client id (1 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking off (0 ms) [ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on (0 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on with options (1 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optin (0 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on with options (0 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optin (1 ms) [ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optout (1 ms) [ok]: CLIENT TRACKINGINFO provides reasonable results when tracking bcast mode (1 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking redir broken (26 ms) -[ok]: Regression test for #11715 (27 ms) -[ok]: RESP3 based basic invalidation with client reply off (27 ms) -[ok]: RESP2 based basic invalidation with client reply off (73 ms) -[ok]: RESP3 based basic redirect invalidation with client reply off (38 ms) -[ok]: RESP3 based basic tracking-redir-broken with client reply off (27 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking redir broken (29 ms) +[ok]: Regression test for #11715 (30 ms) +[ok]: RESP3 based basic invalidation with client reply off (28 ms) +[ok]: RESP2 based basic invalidation with client reply off (74 ms) +[ok]: RESP3 based basic redirect invalidation with client reply off (75 ms) +[ok]: RESP3 based basic tracking-redir-broken with client reply off (50 ms) === (tracking network) Starting server 127.0.0.1:21451 ok -[ok]: Coverage: Basic CLIENT CACHING (13 ms) +[ok]: Coverage: Basic CLIENT CACHING (36 ms) [ok]: Coverage: Basic CLIENT REPLY (1 ms) [ok]: Coverage: Basic CLIENT TRACKINGINFO (0 ms) -[ok]: Coverage: Basic CLIENT GETREDIR (0 ms) +[ok]: Coverage: Basic CLIENT GETREDIR (1 ms) [43/96 done]: unit/tracking (3 seconds) Testing unit/violations === () Starting server 127.0.0.1:21453 ok @@ -2804,429 +2851,429 @@ [ignore]: hash with one huge field: large memory flag not provided === () Starting server 127.0.0.1:21465 ok [ok]: SORT adds integer field to list (1 ms) -[44/96 done]: unit/violations (2 seconds) +[44/96 done]: unit/violations (4 seconds) Testing unit/wait === (wait network external:skip) Starting server 127.0.0.1:21467 ok === () Starting server 127.0.0.1:21469 ok -[ok]: Setup slave (102 ms) +[ok]: Setup slave (120 ms) [ok]: WAIT out of range timeout (milliseconds) (1 ms) -[ok]: WAIT should acknowledge 1 additional copy of the data (1 ms) -[ok]: WAIT should not acknowledge 2 additional copies of the data (1012 ms) -[ok]: WAIT should not acknowledge 1 additional copy if slave is blocked (1127 ms) -[ok]: WAIT implicitly blocks on client pause since ACKs aren't sent (1105 ms) -[ok]: WAIT replica multiple clients unblock - reuse last result (75 ms) +[ok]: WAIT should acknowledge 1 additional copy of the data (2 ms) +[ok]: WAIT should not acknowledge 2 additional copies of the data (1013 ms) +[ok]: WAIT should not acknowledge 1 additional copy if slave is blocked (1224 ms) +[ok]: WAIT implicitly blocks on client pause since ACKs aren't sent (1248 ms) +[ok]: WAIT replica multiple clients unblock - reuse last result (260 ms) === () Starting server 127.0.0.1:21471 ok -[ok]: WAITAOF local copy before fsync (133 ms) -[ok]: WAITAOF local copy everysec (203 ms) -[ok]: WAITAOF local copy with appendfsync always (0 ms) -[ok]: WAITAOF local wait and then stop aof (13 ms) +[ok]: WAITAOF local copy before fsync (83 ms) +[ok]: WAITAOF local copy everysec (516 ms) +[ok]: WAITAOF local copy with appendfsync always (1 ms) +[ok]: WAITAOF local wait and then stop aof (48 ms) [ok]: WAITAOF local on server with aof disabled (1 ms) -[ok]: WAITAOF local if AOFRW was postponed (292 ms) +[ok]: WAITAOF local if AOFRW was postponed (374 ms) === () Starting server 127.0.0.1:21473 ok -[ok]: WAITAOF on demoted master gets unblocked with an error (13 ms) -[ok]: WAITAOF replica copy before fsync (103 ms) -[ok]: WAITAOF replica copy everysec (1638 ms) +[ok]: WAITAOF on demoted master gets unblocked with an error (27 ms) +[ok]: WAITAOF replica copy before fsync (139 ms) +[ok]: WAITAOF replica copy everysec (1140 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec with AOFRW (2019 ms) -[ok]: WAITAOF replica copy everysec with slow AOFRW (2018 ms) +Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec with AOFRW (2076 ms) +[ok]: WAITAOF replica copy everysec with slow AOFRW (2080 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec->always with AOFRW (105 ms) -[ok]: WAITAOF replica copy appendfsync always (1 ms) -[ok]: WAITAOF replica copy if replica is blocked (2018 ms) -[ok]: WAITAOF replica multiple clients unblock - reuse last result (2017 ms) -[ok]: WAITAOF on promoted replica (201 ms) +Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec->always with AOFRW (111 ms) +[ok]: WAITAOF replica copy appendfsync always (7 ms) +[ok]: WAITAOF replica copy if replica is blocked (2140 ms) +[ok]: WAITAOF replica multiple clients unblock - reuse last result (2181 ms) +[ok]: WAITAOF on promoted replica (207 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 (823 ms) -[ok]: WAITAOF master isn't configured to do AOF (1013 ms) +[ok]: WAITAOF master without backlog, wait is released when the replica finishes full-sync (897 ms) +[ok]: WAITAOF master isn't configured to do AOF (1028 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica isn't configured to do AOF (105 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 (1916 ms) -[ok]: WAITAOF master sends PING after last write (1202 ms) -[ok]: WAITAOF master client didn't send any write command (1217 ms) -[ok]: WAITAOF master client didn't send any command (1205 ms) +Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica isn't configured to do AOF (116 ms) + +Waiting for background AOF rewrite to finish... [ok]: WAITAOF both local and replica got AOF enabled at runtime (1963 ms) +[ok]: WAITAOF master sends PING after last write (1203 ms) +[ok]: WAITAOF master client didn't send any write command (1252 ms) +[ok]: WAITAOF master client didn't send any command (1204 ms) === () Starting server 127.0.0.1:21475 ok === () Starting server 127.0.0.1:21477 ok -[ok]: WAITAOF when replica switches between masters, fsync: no (3520 ms) +[ok]: WAITAOF when replica switches between masters, fsync: no (4228 ms) === () Starting server 127.0.0.1:21479 ok === () Starting server 127.0.0.1:21481 ok -[ok]: WAITAOF when replica switches between masters, fsync: everysec (2540 ms) +[ok]: WAITAOF when replica switches between masters, fsync: everysec (2928 ms) === () Starting server 127.0.0.1:21483 ok === () Starting server 127.0.0.1:21485 ok -[ok]: WAITAOF when replica switches between masters, fsync: always (1708 ms) +[ok]: WAITAOF when replica switches between masters, fsync: always (2112 ms) === (failover external:skip) Starting server 127.0.0.1:21487 ok === () Starting server 127.0.0.1:21489 ok === () Starting server 127.0.0.1:21491 ok -[ok]: setup replication for following tests (126 ms) +[ok]: setup replication for following tests (253 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 (500 ms) -[45/96 done]: unit/wait (35 seconds) +Waiting for background AOF rewrite to finish... [ok]: WAIT and WAITAOF replica multiple clients unblock - reuse last result (1405 ms) +[45/96 done]: unit/wait (40 seconds) Testing unit/type/hash-field-expire === (external:skip needs:debug) Starting server 127.0.0.1:21493 ok -[ok]: HEXPIRE/HEXPIREAT/HPEXPIRE/HPEXPIREAT - Returns array if the key does not exist (0 ms) +[ok]: HEXPIRE/HEXPIREAT/HPEXPIRE/HPEXPIREAT - Returns array if the key does not exist (5 ms) [ok]: HEXPIRE/HEXPIREAT/HPEXPIRE/HPEXPIREAT - Verify that the expire time does not overflow (1 ms) -[ok]: HPEXPIRE(AT) - Test 'NX' flag (listpackex) (1 ms) -[ok]: HPEXPIRE(AT) - Test 'XX' flag (listpackex) (1 ms) -[ok]: HPEXPIRE(AT) - Test 'GT' flag (listpackex) (1 ms) -[ok]: HPEXPIRE(AT) - Test 'LT' flag (listpackex) (1 ms) -[ok]: HPEXPIREAT - field not exists or TTL is in the past (listpackex) (0 ms) +[ok]: HPEXPIRE(AT) - Test 'NX' flag (listpackex) (2 ms) +[ok]: HPEXPIRE(AT) - Test 'XX' flag (listpackex) (5 ms) +[ok]: HPEXPIRE(AT) - Test 'GT' flag (listpackex) (2 ms) +[ok]: HPEXPIRE(AT) - Test 'LT' flag (listpackex) (6 ms) +[ok]: HPEXPIREAT - field not exists or TTL is in the past (listpackex) (1 ms) [ok]: HPEXPIRE - wrong number of arguments (listpackex) (1 ms) [ok]: HPEXPIRE - parameter expire-time near limit of 2^46 (listpackex) (1 ms) -[ok]: Lazy Expire - fields are lazy deleted (listpackex) (10 ms) -[ok]: Active Expire - deletes hash that all its fields got expired (listpackex) (366 ms) -[ok]: HPEXPIRE - Flushall deletes all pending expired fields (listpackex) (5 ms) -[ok]: HTTL/HPTTL - Returns array if the key does not exist (1 ms) -[ok]: HTTL/HPTTL - Input validation gets failed on nonexists field or field without expire (listpackex) (1 ms) -[ok]: HTTL/HPTTL - returns time to live in seconds/msillisec (listpackex) (1 ms) -[ok]: HEXPIRETIME/HPEXPIRETIME - Returns array if the key does not exist (0 ms) +[ok]: Lazy Expire - fields are lazy deleted (listpackex) (16 ms) +[ok]: Active Expire - deletes hash that all its fields got expired (listpackex) (716 ms) +[ok]: HPEXPIRE - Flushall deletes all pending expired fields (listpackex) (2 ms) +[ok]: HTTL/HPTTL - Returns array if the key does not exist (4 ms) +[ok]: HTTL/HPTTL - Input validation gets failed on nonexists field or field without expire (listpackex) (7 ms) +[ok]: HTTL/HPTTL - returns time to live in seconds/msillisec (listpackex) (9 ms) +[ok]: HEXPIRETIME/HPEXPIRETIME - Returns array if the key does not exist (1 ms) [ok]: HEXPIRETIME - returns TTL in Unix timestamp (listpackex) (1 ms) -[ok]: HTTL/HPTTL - Verify TTL progress until expiration (listpackex) (1015 ms) -[ok]: HPEXPIRE - DEL hash with non expired fields (valgrind test) (listpackex) (0 ms) -[ok]: HEXPIREAT - Set time in the past (listpackex) (1 ms) +[ok]: HTTL/HPTTL - Verify TTL progress until expiration (listpackex) (1017 ms) +[ok]: HPEXPIRE - DEL hash with non expired fields (valgrind test) (listpackex) (1 ms) +[ok]: HEXPIREAT - Set time in the past (listpackex) (4 ms) [ok]: HEXPIREAT - Set time and then get TTL (listpackex) (1 ms) -[ok]: Lazy Expire - delete hash with expired fields (listpackex) (6 ms) -[ok]: Test HRANDFIELD deletes all expired fields (listpackex) (31 ms) +[ok]: Lazy Expire - delete hash with expired fields (listpackex) (9 ms) +[ok]: Test HRANDFIELD deletes all expired fields (listpackex) (70 ms) [ok]: Lazy Expire - HLEN does count expired fields (listpackex) (13 ms) -[ok]: Lazy Expire - HSCAN does not report expired fields (listpackex) (13 ms) -[ok]: Test HSCAN with mostly expired fields return empty result (listpackex) (227 ms) -[ok]: Lazy Expire - verify various HASH commands handling expired fields (listpackex) (11 ms) -[ok]: A field with TTL overridden with another value (TTL discarded) (listpackex) (6 ms) -[ok]: Modify TTL of a field (listpackex) (17 ms) -[ok]: Test return value of set operation (listpackex) (1 ms) -[ok]: Test HGETALL not return expired fields (listpackex) (164 ms) -[ok]: Test RENAME hash with fields to be expired (listpackex) (68 ms) -[ok]: Test RENAME hash that had HFEs but not during the rename (listpackex) (105 ms) -[ok]: MOVE to another DB hash with fields to be expired (listpackex) (107 ms) -[ok]: Test COPY hash with fields to be expired (listpackex) (191 ms) -[ok]: Test COPY hash that had HFEs but not during the copy (listpackex) (105 ms) -[ok]: Test SWAPDB hash-fields to be expired (listpackex) (95 ms) -[ok]: Test SWAPDB hash that had HFEs but not during the swap (listpackex) (106 ms) -[ok]: HMGET - returns empty entries if fields or hash expired (listpackex) (7 ms) +[ok]: Lazy Expire - HSCAN does not report expired fields (listpackex) (21 ms) +[ok]: Test HSCAN with mostly expired fields return empty result (listpackex) (739 ms) +[ok]: Lazy Expire - verify various HASH commands handling expired fields (listpackex) (15 ms) +[ok]: A field with TTL overridden with another value (TTL discarded) (listpackex) (8 ms) +[ok]: Modify TTL of a field (listpackex) (19 ms) +[ok]: Test return value of set operation (listpackex) (2 ms) +[ok]: Test HGETALL not return expired fields (listpackex) (367 ms) +[ok]: Test RENAME hash with fields to be expired (listpackex) (111 ms) +[ok]: Test RENAME hash that had HFEs but not during the rename (listpackex) (96 ms) +[ok]: MOVE to another DB hash with fields to be expired (listpackex) (112 ms) +[ok]: Test COPY hash with fields to be expired (listpackex) (200 ms) +[ok]: Test COPY hash that had HFEs but not during the copy (listpackex) (104 ms) +[ok]: Test SWAPDB hash-fields to be expired (listpackex) (100 ms) +[ok]: Test SWAPDB hash that had HFEs but not during the swap (listpackex) (111 ms) +[ok]: HMGET - returns empty entries if fields or hash expired (listpackex) (9 ms) [ok]: HPERSIST - Returns array if the key does not exist (listpackex) (0 ms) -[ok]: HPERSIST - input validation (listpackex) (1 ms) -[ok]: HPERSIST - verify fields with TTL are persisted (listpackex) (27 ms) -[ok]: HTTL/HPERSIST - Test expiry commands with non-volatile hash (listpackex) (1 ms) -[ok]: DUMP / RESTORE are able to serialize / unserialize a hash (2 ms) -[ok]: RESTORE hash that had in the past HFEs but not during the dump (65 ms) -[ok]: DUMP / RESTORE are able to serialize / unserialize a hash with TTL 0 for all fields (2 ms) +[ok]: HPERSIST - input validation (listpackex) (2 ms) +[ok]: HPERSIST - verify fields with TTL are persisted (listpackex) (28 ms) +[ok]: HTTL/HPERSIST - Test expiry commands with non-volatile hash (listpackex) (5 ms) +[ok]: DUMP / RESTORE are able to serialize / unserialize a hash (9 ms) +[ok]: RESTORE hash that had in the past HFEs but not during the dump (44 ms) +[ok]: DUMP / RESTORE are able to serialize / unserialize a hash with TTL 0 for all fields (1 ms) [ok]: HINCRBY - discards pending expired field and reset its value (17 ms) -[ok]: HINCRBY - preserve expiration time of the field (1 ms) -[ok]: HINCRBYFLOAT - discards pending expired field and reset its value (17 ms) +[ok]: HINCRBY - preserve expiration time of the field (0 ms) +[ok]: HINCRBYFLOAT - discards pending expired field and reset its value (18 ms) [ok]: HINCRBYFLOAT - preserve expiration time of the field (1 ms) -[ok]: HGETDEL - delete field with ttl (listpackex) (32 ms) -[ok]: HGETEX - input validation (listpackex) (2 ms) -[ok]: HGETEX - input validation (expire time) (listpackex) (1 ms) -[ok]: HGETEX - get without setting ttl (listpackex) (2 ms) +[ok]: HGETDEL - delete field with ttl (listpackex) (36 ms) +[ok]: HGETEX - input validation (listpackex) (9 ms) +[ok]: HGETEX - input validation (expire time) (listpackex) (6 ms) +[ok]: HGETEX - get without setting ttl (listpackex) (1 ms) [ok]: HGETEX - get and set the ttl (listpackex) (1 ms) -[ok]: HGETEX - Test 'EX' flag (listpackex) (0 ms) -[ok]: HGETEX - Test 'EXAT' flag (listpackex) (0 ms) +[ok]: HGETEX - Test 'EX' flag (listpackex) (6 ms) +[ok]: HGETEX - Test 'EXAT' flag (listpackex) (5 ms) [ok]: HGETEX - Test 'PX' flag (listpackex) (1 ms) [ok]: HGETEX - Test 'PXAT' flag (listpackex) (1 ms) -[ok]: HGETEX - Test 'PERSIST' flag (listpackex) (2 ms) +[ok]: HGETEX - Test 'PERSIST' flag (listpackex) (13 ms) [ok]: HGETEX - Test setting ttl in the past will delete the key (listpackex) (1 ms) [ok]: HGETEX - Test active expiry (listpackex) (1 ms) -[ok]: HGETEX - A field with TTL overridden with another value (TTL discarded) (listpackex) (1 ms) -[ok]: HGETEX - Test with lazy expiry (listpackex) (7 ms) -[ok]: HSETEX - input validation (listpackex) (7 ms) -[ok]: HSETEX - Basic test (listpackex) (2 ms) -[ok]: HSETEX - Test FXX flag (listpackex) (2 ms) +[ok]: HGETEX - A field with TTL overridden with another value (TTL discarded) (listpackex) (6 ms) +[ok]: HGETEX - Test with lazy expiry (listpackex) (6 ms) +[ok]: HSETEX - input validation (listpackex) (23 ms) +[ok]: HSETEX - Basic test (listpackex) (5 ms) +[ok]: HSETEX - Test FXX flag (listpackex) (3 ms) [ok]: HSETEX - Test FXX flag with lazy expire (listpackex) (17 ms) -[ok]: HSETEX - Test FNX flag (listpackex) (2 ms) -[ok]: HSETEX - Test 'EX' flag (listpackex) (1 ms) -[ok]: HSETEX - Test 'EXAT' flag (listpackex) (1 ms) +[ok]: HSETEX - Test FNX flag (listpackex) (11 ms) +[ok]: HSETEX - Test 'EX' flag (listpackex) (0 ms) +[ok]: HSETEX - Test 'EXAT' flag (listpackex) (0 ms) [ok]: HSETEX - Test 'PX' flag (listpackex) (1 ms) [ok]: HSETEX - Test 'PXAT' flag (listpackex) (1 ms) -[ok]: HSETEX - Test 'KEEPTTL' flag (listpackex) (1 ms) +[ok]: HSETEX - Test 'KEEPTTL' flag (listpackex) (16 ms) [ok]: HSETEX - Test no expiry flag discards TTL (listpackex) (1 ms) -[ok]: HSETEX - Test with active expiry (82 ms) +[ok]: HSETEX - Test with active expiry (95 ms) [ok]: HSETEX - Set time in the past (listpackex) (2 ms) [ok]: HEXPIRE/HEXPIREAT/HPEXPIRE/HPEXPIREAT - Returns array if the key does not exist (1 ms) -[ok]: HEXPIRE/HEXPIREAT/HPEXPIRE/HPEXPIREAT - Verify that the expire time does not overflow (1 ms) -[ok]: HPEXPIRE(AT) - Test 'NX' flag (hashtable) (1 ms) +[ok]: HEXPIRE/HEXPIREAT/HPEXPIRE/HPEXPIREAT - Verify that the expire time does not overflow (3 ms) +[ok]: HPEXPIRE(AT) - Test 'NX' flag (hashtable) (8 ms) [ok]: HPEXPIRE(AT) - Test 'XX' flag (hashtable) (1 ms) -[ok]: HPEXPIRE(AT) - Test 'GT' flag (hashtable) (1 ms) -[ok]: HPEXPIRE(AT) - Test 'LT' flag (hashtable) (1 ms) -[ok]: HPEXPIREAT - field not exists or TTL is in the past (hashtable) (1 ms) -[ok]: HPEXPIRE - wrong number of arguments (hashtable) (1 ms) -[ok]: HPEXPIRE - parameter expire-time near limit of 2^46 (hashtable) (1 ms) -[ok]: Lazy Expire - fields are lazy deleted (hashtable) (7 ms) -[ok]: Active Expire - deletes hash that all its fields got expired (hashtable) (394 ms) -[ok]: HPEXPIRE - Flushall deletes all pending expired fields (hashtable) (2 ms) +[ok]: HPEXPIRE(AT) - Test 'GT' flag (hashtable) (74 ms) +[ok]: HPEXPIRE(AT) - Test 'LT' flag (hashtable) (76 ms) +[ok]: HPEXPIREAT - field not exists or TTL is in the past (hashtable) (40 ms) +[ok]: HPEXPIRE - wrong number of arguments (hashtable) (40 ms) +[ok]: HPEXPIRE - parameter expire-time near limit of 2^46 (hashtable) (32 ms) +[ok]: Lazy Expire - fields are lazy deleted (hashtable) (116 ms) +[ok]: Active Expire - deletes hash that all its fields got expired (hashtable) (1275 ms) +[ok]: HPEXPIRE - Flushall deletes all pending expired fields (hashtable) (5 ms) [ok]: HTTL/HPTTL - Returns array if the key does not exist (1 ms) [ok]: HTTL/HPTTL - Input validation gets failed on nonexists field or field without expire (hashtable) (1 ms) -[ok]: HTTL/HPTTL - returns time to live in seconds/msillisec (hashtable) (1 ms) -[ok]: HEXPIRETIME/HPEXPIRETIME - Returns array if the key does not exist (1 ms) +[ok]: HTTL/HPTTL - returns time to live in seconds/msillisec (hashtable) (0 ms) +[ok]: HEXPIRETIME/HPEXPIRETIME - Returns array if the key does not exist (9 ms) [ok]: HEXPIRETIME - returns TTL in Unix timestamp (hashtable) (1 ms) -[ok]: HTTL/HPTTL - Verify TTL progress until expiration (hashtable) (1015 ms) +[ok]: HTTL/HPTTL - Verify TTL progress until expiration (hashtable) (1019 ms) [ok]: HPEXPIRE - DEL hash with non expired fields (valgrind test) (hashtable) (0 ms) -[ok]: HEXPIREAT - Set time in the past (hashtable) (0 ms) +[ok]: HEXPIREAT - Set time in the past (hashtable) (7 ms) [ok]: HEXPIREAT - Set time and then get TTL (hashtable) (1 ms) [ok]: Lazy Expire - delete hash with expired fields (hashtable) (7 ms) -[ok]: Test HRANDFIELD deletes all expired fields (hashtable) (30 ms) -[ok]: Lazy Expire - HLEN does count expired fields (hashtable) (12 ms) -[ok]: Lazy Expire - HSCAN does not report expired fields (hashtable) (13 ms) -[ok]: Test HSCAN with mostly expired fields return empty result (hashtable) (230 ms) -[ok]: Lazy Expire - verify various HASH commands handling expired fields (hashtable) (11 ms) +[ok]: Test HRANDFIELD deletes all expired fields (hashtable) (40 ms) +[ok]: Lazy Expire - HLEN does count expired fields (hashtable) (16 ms) +[ok]: Lazy Expire - HSCAN does not report expired fields (hashtable) (20 ms) +[ok]: Test HSCAN with mostly expired fields return empty result (hashtable) (606 ms) +[ok]: Lazy Expire - verify various HASH commands handling expired fields (hashtable) (22 ms) [ok]: A field with TTL overridden with another value (TTL discarded) (hashtable) (7 ms) [ok]: Modify TTL of a field (hashtable) (16 ms) [ok]: Test return value of set operation (hashtable) (2 ms) -[ok]: Test HGETALL not return expired fields (hashtable) (159 ms) -[ok]: Test RENAME hash with fields to be expired (hashtable) (79 ms) -[ok]: Test RENAME hash that had HFEs but not during the rename (hashtable) (95 ms) -[ok]: MOVE to another DB hash with fields to be expired (hashtable) (106 ms) -[ok]: Test COPY hash with fields to be expired (hashtable) (202 ms) +[ok]: Test HGETALL not return expired fields (hashtable) (709 ms) +[ok]: Test RENAME hash with fields to be expired (hashtable) (68 ms) +[ok]: Test RENAME hash that had HFEs but not during the rename (hashtable) (96 ms) +[ok]: MOVE to another DB hash with fields to be expired (hashtable) (104 ms) +[ok]: Test COPY hash with fields to be expired (hashtable) (115 ms) [ok]: Test COPY hash that had HFEs but not during the copy (hashtable) (95 ms) -[ok]: Test SWAPDB hash-fields to be expired (hashtable) (106 ms) -[ok]: Test SWAPDB hash that had HFEs but not during the swap (hashtable) (95 ms) -[ok]: HMGET - returns empty entries if fields or hash expired (hashtable) (7 ms) -[ok]: HPERSIST - Returns array if the key does not exist (hashtable) (1 ms) -[ok]: HPERSIST - input validation (hashtable) (1 ms) +[ok]: Test SWAPDB hash-fields to be expired (hashtable) (104 ms) +[ok]: Test SWAPDB hash that had HFEs but not during the swap (hashtable) (108 ms) +[ok]: HMGET - returns empty entries if fields or hash expired (hashtable) (8 ms) +[ok]: HPERSIST - Returns array if the key does not exist (hashtable) (0 ms) +[ok]: HPERSIST - input validation (hashtable) (12 ms) [ok]: HPERSIST - verify fields with TTL are persisted (hashtable) (27 ms) -[ok]: HTTL/HPERSIST - Test expiry commands with non-volatile hash (hashtable) (1 ms) -[ok]: DUMP / RESTORE are able to serialize / unserialize a hash (2 ms) -[ok]: RESTORE hash that had in the past HFEs but not during the dump (64 ms) +[ok]: HTTL/HPERSIST - Test expiry commands with non-volatile hash (hashtable) (9 ms) +[ok]: DUMP / RESTORE are able to serialize / unserialize a hash (8 ms) +[ok]: RESTORE hash that had in the past HFEs but not during the dump (31 ms) [ok]: DUMP / RESTORE are able to serialize / unserialize a hash with TTL 0 for all fields (1 ms) -[ok]: HINCRBY - discards pending expired field and reset its value (17 ms) -[ok]: HINCRBY - preserve expiration time of the field (1 ms) -[ok]: HINCRBYFLOAT - discards pending expired field and reset its value (17 ms) -[ok]: HINCRBYFLOAT - preserve expiration time of the field (0 ms) -[ok]: HGETDEL - delete field with ttl (hashtable) (32 ms) -[ok]: HGETEX - input validation (hashtable) (2 ms) +[ok]: HINCRBY - discards pending expired field and reset its value (18 ms) +[ok]: HINCRBY - preserve expiration time of the field (0 ms) +[ok]: HINCRBYFLOAT - discards pending expired field and reset its value (27 ms) +[ok]: HINCRBYFLOAT - preserve expiration time of the field (1 ms) +[ok]: HGETDEL - delete field with ttl (hashtable) (35 ms) +[ok]: HGETEX - input validation (hashtable) (11 ms) [ok]: HGETEX - input validation (expire time) (hashtable) (2 ms) [ok]: HGETEX - get without setting ttl (hashtable) (1 ms) -[ok]: HGETEX - get and set the ttl (hashtable) (1 ms) +[ok]: HGETEX - get and set the ttl (hashtable) (6 ms) [ok]: HGETEX - Test 'EX' flag (hashtable) (1 ms) -[ok]: HGETEX - Test 'EXAT' flag (hashtable) (0 ms) -[ok]: HGETEX - Test 'PX' flag (hashtable) (1 ms) -[ok]: HGETEX - Test 'PXAT' flag (hashtable) (1 ms) -[ok]: HGETEX - Test 'PERSIST' flag (hashtable) (2 ms) -[ok]: HGETEX - Test setting ttl in the past will delete the key (hashtable) (1 ms) -[ok]: HGETEX - Test active expiry (hashtable) (1 ms) -[ok]: HGETEX - A field with TTL overridden with another value (TTL discarded) (hashtable) (1 ms) +[ok]: HGETEX - Test 'EXAT' flag (hashtable) (1 ms) +[ok]: HGETEX - Test 'PX' flag (hashtable) (5 ms) +[ok]: HGETEX - Test 'PXAT' flag (hashtable) (0 ms) +[ok]: HGETEX - Test 'PERSIST' flag (hashtable) (7 ms) +[ok]: HGETEX - Test setting ttl in the past will delete the key (hashtable) (2 ms) +[ok]: HGETEX - Test active expiry (hashtable) (5 ms) +[ok]: HGETEX - A field with TTL overridden with another value (TTL discarded) (hashtable) (2 ms) [ok]: HGETEX - Test with lazy expiry (hashtable) (6 ms) -[ok]: HSETEX - input validation (hashtable) (7 ms) -[ok]: HSETEX - Basic test (hashtable) (2 ms) -[ok]: HSETEX - Test FXX flag (hashtable) (2 ms) -[ok]: HSETEX - Test FXX flag with lazy expire (hashtable) (16 ms) -[ok]: HSETEX - Test FNX flag (hashtable) (2 ms) +[ok]: HSETEX - input validation (hashtable) (17 ms) +[ok]: HSETEX - Basic test (hashtable) (6 ms) +[ok]: HSETEX - Test FXX flag (hashtable) (10 ms) +[ok]: HSETEX - Test FXX flag with lazy expire (hashtable) (18 ms) +[ok]: HSETEX - Test FNX flag (hashtable) (8 ms) [ok]: HSETEX - Test 'EX' flag (hashtable) (1 ms) -[ok]: HSETEX - Test 'EXAT' flag (hashtable) (0 ms) +[ok]: HSETEX - Test 'EXAT' flag (hashtable) (7 ms) [ok]: HSETEX - Test 'PX' flag (hashtable) (0 ms) -[ok]: HSETEX - Test 'PXAT' flag (hashtable) (1 ms) +[ok]: HSETEX - Test 'PXAT' flag (hashtable) (0 ms) [ok]: HSETEX - Test 'KEEPTTL' flag (hashtable) (2 ms) [ok]: HSETEX - Test no expiry flag discards TTL (hashtable) (1 ms) -[ok]: HSETEX - Test with active expiry (82 ms) +[ok]: HSETEX - Test with active expiry (103 ms) [ok]: HSETEX - Set time in the past (hashtable) (1 ms) -[ok]: Statistics - Hashes with HFEs (hashtable) (206 ms) -[ok]: HFE commands against wrong type (2 ms) +[ok]: Statistics - Hashes with HFEs (hashtable) (219 ms) +[ok]: HFE commands against wrong type (4 ms) === (external:skip needs:debug) Starting server 127.0.0.1:21495 ok [ok]: Test listpack memory usage (1 ms) [ok]: Test listpack object encoding (1 ms) -[ok]: Test listpack debug listpack (0 ms) -[ok]: Test listpack converts to ht and passive expiry works (54 ms) -[ok]: Test listpack converts to ht and active expiry works (574 ms) -[ok]: Test listpack converts to ht and active expiry works (396 ms) -[ok]: HPERSIST/HEXPIRE - Test listpack with large values (67 ms) +[ok]: Test listpack debug listpack (1 ms) +[ok]: Test listpack converts to ht and passive expiry works (58 ms) +[ok]: Test listpack converts to ht and active expiry works (984 ms) +[ok]: Test listpack converts to ht and active expiry works (523 ms) +[ok]: HPERSIST/HEXPIRE - Test listpack with large values (72 ms) === (external:skip needs:debug) Starting server 127.0.0.1:21497 ok === (external:skip) Starting server 127.0.0.1:21499 ok -[ok]: Test Command propagated to replica as expected (listpack) (468 ms) +[ok]: Test Command propagated to replica as expected (listpack) (652 ms) === (external:skip) Starting server 127.0.0.1:21501 ok -[ok]: Lazy Expire - fields are lazy deleted and propagated to replicas (listpack) (261 ms) +[ok]: Lazy Expire - fields are lazy deleted and propagated to replicas (listpack) (484 ms) === (external:skip) Starting server 127.0.0.1:21503 ok -[ok]: All TTLs in commands are propagated as absolute timestamp in milliseconds in AOF (209 ms) -[ok]: All TTL in commands are propagated as absolute timestamp in replication stream (88 ms) -[ok]: HRANDFIELD delete expired fields and propagate DELs to replica (118 ms) +[ok]: All TTLs in commands are propagated as absolute timestamp in milliseconds in AOF (224 ms) +[ok]: All TTL in commands are propagated as absolute timestamp in replication stream (129 ms) +[ok]: HRANDFIELD delete expired fields and propagate DELs to replica (119 ms) === (needs:repl external:skip) Starting server 127.0.0.1:21505 ok -[ok]: For all replicated TTL-related commands, absolute expire times are identical on primary and replica (41 ms) -[ok]: Test HSETEX command replication (23 ms) -[ok]: Test HGETEX command replication (133 ms) +[ok]: For all replicated TTL-related commands, absolute expire times are identical on primary and replica (63 ms) +[ok]: Test HSETEX command replication (204 ms) +[ok]: Test HGETEX command replication (164 ms) === (external:skip) Starting server 127.0.0.1:21507 ok -[ok]: Test Command propagated to replica as expected (ht) (471 ms) +[ok]: Test Command propagated to replica as expected (ht) (944 ms) === (external:skip) Starting server 127.0.0.1:21509 ok -[ok]: Lazy Expire - fields are lazy deleted and propagated to replicas (ht) (276 ms) +[ok]: Lazy Expire - fields are lazy deleted and propagated to replicas (ht) (457 ms) === (external:skip) Starting server 127.0.0.1:21511 ok -[ok]: All TTLs in commands are propagated as absolute timestamp in milliseconds in AOF (209 ms) -[ok]: All TTL in commands are propagated as absolute timestamp in replication stream (64 ms) -[ok]: HRANDFIELD delete expired fields and propagate DELs to replica (118 ms) +[ok]: All TTLs in commands are propagated as absolute timestamp in milliseconds in AOF (215 ms) +[ok]: All TTL in commands are propagated as absolute timestamp in replication stream (157 ms) +[ok]: HRANDFIELD delete expired fields and propagate DELs to replica (94 ms) === (needs:repl external:skip) Starting server 127.0.0.1:21513 ok -[ok]: For all replicated TTL-related commands, absolute expire times are identical on primary and replica (35 ms) -[ok]: Test HSETEX command replication (60 ms) -[ok]: Test HGETEX command replication (133 ms) -[46/96 done]: unit/type/hash-field-expire (12 seconds) +[ok]: For all replicated TTL-related commands, absolute expire times are identical on primary and replica (69 ms) +[ok]: Test HSETEX command replication (62 ms) +[ok]: Test HGETEX command replication (143 ms) +[46/96 done]: unit/type/hash-field-expire (20 seconds) Testing unit/type/hash === (hash) Starting server 127.0.0.1:21515 ok -[ok]: HSET/HLEN - Small hash creation (2 ms) -[ok]: Is the small hash encoded with a listpack? (0 ms) -[ok]: HRANDFIELD - listpack (17 ms) -[ok]: HRANDFIELD - hashtable (12 ms) -[ok]: HRANDFIELD with RESP3 (2 ms) -[ok]: HRANDFIELD count of 0 is handled correctly (0 ms) +[ok]: HSET/HLEN - Small hash creation (5 ms) +[ok]: Is the small hash encoded with a listpack? (1 ms) +[ok]: HRANDFIELD - listpack (28 ms) +[ok]: HRANDFIELD - hashtable (35 ms) +[ok]: HRANDFIELD with RESP3 (1 ms) +[ok]: HRANDFIELD count of 0 is handled correctly (1 ms) [ok]: HRANDFIELD count overflow (1 ms) [ok]: HRANDFIELD with against non existing key (0 ms) -[ok]: HRANDFIELD count of 0 is handled correctly - emptyarray (1 ms) -[ok]: HRANDFIELD with against non existing key - emptyarray (0 ms) -[ok]: HRANDFIELD with - hashtable (146 ms) -[ok]: HRANDFIELD with - listpack (145 ms) -[ok]: HSET/HLEN - Big hash creation (144 ms) +[ok]: HRANDFIELD count of 0 is handled correctly - emptyarray (0 ms) +[ok]: HRANDFIELD with against non existing key - emptyarray (11 ms) +[ok]: HRANDFIELD with - hashtable (174 ms) +[ok]: HRANDFIELD with - listpack (296 ms) +[ok]: HSET/HLEN - Big hash creation (509 ms) [ok]: Is the big hash encoded with an hash table? (0 ms) -[ok]: HGET against the small hash (2 ms) -[ok]: HGET against the big hash (119 ms) +[ok]: HGET against the small hash (6 ms) +[ok]: HGET against the big hash (254 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 (1 ms) -[ok]: HSETNX target key exists - small hash (0 ms) -[ok]: HSETNX target key missing - big hash (1 ms) +[ok]: HSETNX target key missing - small hash (6 ms) +[ok]: HSETNX target key exists - small hash (1 ms) +[ok]: HSETNX target key missing - big hash (0 ms) [ok]: HSETNX target key exists - big hash (0 ms) [ok]: HSET/HMSET wrong number of args (1 ms) [ok]: HMSET - small hash (0 ms) -[ok]: HMSET - big hash (11 ms) +[ok]: HMSET - big hash (26 ms) [ok]: HMGET against non existing key and fields (0 ms) -[ok]: Hash commands against wrong type (3 ms) -[ok]: HMGET - small hash (0 ms) -[ok]: HMGET - big hash (53 ms) +[ok]: Hash commands against wrong type (2 ms) +[ok]: HMGET - small hash (1 ms) +[ok]: HMGET - big hash (68 ms) [ok]: HKEYS - small hash (0 ms) -[ok]: HKEYS - big hash (8 ms) +[ok]: HKEYS - big hash (17 ms) [ok]: HVALS - small hash (0 ms) -[ok]: HVALS - big hash (2 ms) +[ok]: HVALS - big hash (10 ms) [ok]: HGETALL - small hash (0 ms) -[ok]: HGETALL - big hash (19 ms) -[ok]: HGETALL against non-existing key (0 ms) -[ok]: HDEL and return value (1 ms) -[ok]: HDEL - more than a single value (0 ms) +[ok]: HGETALL - big hash (47 ms) +[ok]: HGETALL against non-existing key (9 ms) +[ok]: HDEL and return value (2 ms) +[ok]: HDEL - more than a single value (1 ms) [ok]: HDEL - hash becomes empty before deleting all specified fields (1 ms) -[ok]: HEXISTS (1 ms) +[ok]: HEXISTS (5 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 (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 originally set with HSET (1 ms) -[ok]: HINCRBY over 32bit value (0 ms) -[ok]: HINCRBY over 32bit value with over 32bit increment (0 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 (0 ms) -[ok]: HINCRBYFLOAT against non existing database key (0 ms) -[ok]: HINCRBYFLOAT against non existing hash key (0 ms) -[ok]: HINCRBYFLOAT against hash key created by hincrby itself (0 ms) -[ok]: HINCRBYFLOAT against hash key originally set with HSET (1 ms) +[ok]: HINCRBY against hash key created by hincrby itself (4 ms) +[ok]: HINCRBY against hash key originally set with HSET (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) (5 ms) +[ok]: HINCRBY fails against hash value with spaces (right) (1 ms) +[ok]: HINCRBY can detect overflows (1 ms) +[ok]: HINCRBYFLOAT against non existing database key (1 ms) +[ok]: HINCRBYFLOAT against non existing hash key (1 ms) +[ok]: HINCRBYFLOAT against hash key created by hincrby itself (1 ms) +[ok]: HINCRBYFLOAT against hash key originally set with HSET (7 ms) [ok]: HINCRBYFLOAT over 32bit value (0 ms) [ok]: HINCRBYFLOAT over 32bit value with over 32bit increment (0 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]: HINCRBYFLOAT fails against hash value with spaces (right) (1 ms) +[ok]: HINCRBYFLOAT fails against hash value that contains a null-terminator in the middle (1 ms) [ok]: HSTRLEN against the small hash (1 ms) -[ok]: HSTRLEN against the big hash (117 ms) -[ok]: HSTRLEN against non existing field (0 ms) -[ok]: HSTRLEN corner cases (3 ms) -[ok]: HINCRBYFLOAT over hash-max-listpack-value encoded with a listpack (3 ms) -[ok]: HGETDEL input validation (2 ms) -[ok]: HGETDEL basic test (2 ms) -[ok]: HGETDEL test with non existing fields (1 ms) -[ok]: HGETDEL basic test (2 ms) +[ok]: HSTRLEN against the big hash (215 ms) +[ok]: HSTRLEN against non existing field (1 ms) +[ok]: HSTRLEN corner cases (11 ms) +[ok]: HINCRBYFLOAT over hash-max-listpack-value encoded with a listpack (2 ms) +[ok]: HGETDEL input validation (12 ms) +[ok]: HGETDEL basic test (7 ms) [ok]: HGETDEL test with non existing fields (1 ms) -[ok]: HGETDEL propagated as HDEL command to replica (75 ms) +[ok]: HGETDEL basic test (1 ms) +[ok]: HGETDEL test with non existing fields (7 ms) +[ok]: HGETDEL propagated as HDEL command to replica (189 ms) [ok]: Hash ziplist regression test for large keys (1 ms) -[ok]: Hash fuzzing #1 - 10 fields (36 ms) -[ok]: Hash fuzzing #2 - 10 fields (30 ms) -[ok]: Hash fuzzing #1 - 512 fields (1649 ms) -[ok]: Hash fuzzing #2 - 512 fields (1234 ms) -[ok]: Stress test the hash ziplist -> hashtable encoding conversion (1297 ms) -[ok]: Hash ziplist of various encodings (47 ms) -[ok]: Hash ziplist of various encodings - sanitize dump (3 ms) +[ok]: Hash fuzzing #1 - 10 fields (112 ms) +[ok]: Hash fuzzing #2 - 10 fields (80 ms) +[ok]: Hash fuzzing #1 - 512 fields (4330 ms) +[ok]: Hash fuzzing #2 - 512 fields (2819 ms) +[ok]: Stress test the hash ziplist -> hashtable encoding conversion (2266 ms) +[ok]: Hash ziplist of various encodings (521 ms) +[ok]: Hash ziplist of various encodings - sanitize dump (111 ms) [ok]: HINCRBYFLOAT does not allow NaN or Infinity (0 ms) -[47/96 done]: unit/type/hash (5 seconds) +[47/96 done]: unit/type/hash (13 seconds) Testing unit/type/incr === (incr) Starting server 127.0.0.1:21517 ok [ok]: INCR against non existing key (0 ms) -[ok]: INCR against key created by incr itself (1 ms) +[ok]: INCR against key created by incr itself (0 ms) [ok]: DECR against key created by incr (0 ms) -[ok]: DECR against key is not exist and incr (1 ms) -[ok]: INCR against key originally set with SET (0 ms) -[ok]: INCR over 32bit value (1 ms) -[ok]: INCRBY over 32bit value with over 32bit increment (1 ms) +[ok]: DECR against key is not exist and incr (0 ms) +[ok]: INCR against key originally set with SET (1 ms) +[ok]: INCR over 32bit value (0 ms) +[ok]: INCRBY over 32bit value with over 32bit increment (0 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 (7 ms) +[ok]: INCR fails against key with spaces (right) (0 ms) +[ok]: INCR fails against key with spaces (both) (1 ms) +[ok]: DECRBY negation overflow (0 ms) [ok]: INCR fails against a key holding a list (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]: DECRBY against key is not exist (0 ms) +[ok]: INCR uses shared objects in the 0-9999 range (0 ms) [ok]: INCR can modify objects in-place (1 ms) -[ok]: INCRBYFLOAT against non existing key (1 ms) +[ok]: INCRBYFLOAT against non existing key (0 ms) [ok]: INCRBYFLOAT against key originally set with SET (1 ms) [ok]: INCRBYFLOAT over 32bit value (0 ms) -[ok]: INCRBYFLOAT over 32bit value with over 32bit increment (1 ms) -[ok]: INCRBYFLOAT fails against key with spaces (left) (0 ms) -[ok]: INCRBYFLOAT fails against key with spaces (right) (1 ms) +[ok]: INCRBYFLOAT over 32bit value with over 32bit increment (0 ms) +[ok]: INCRBYFLOAT fails against key with spaces (left) (1 ms) +[ok]: INCRBYFLOAT fails against key with spaces (right) (0 ms) [ok]: INCRBYFLOAT fails against key with spaces (both) (0 ms) [ok]: INCRBYFLOAT fails against a key holding a list (1 ms) -[ok]: INCRBYFLOAT does not allow NaN or Infinity (1 ms) +[ok]: INCRBYFLOAT does not allow NaN or Infinity (0 ms) [ok]: INCRBYFLOAT decrement (0 ms) [ok]: string to double with null terminator (1 ms) -[ok]: No negative zero (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 (2 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 (5 ms) +[ok]: incrby operation should update encoding from raw to int (1 ms) [ok]: decrby operation should update encoding from raw to int (1 ms) [48/96 done]: unit/type/incr (1 seconds) Testing unit/type/list-2 === (list) Starting server 127.0.0.1:21519 ok -[ok]: LTRIM stress testing - quicklist (7682 ms) -[ok]: LTRIM stress testing - listpack (7620 ms) -[49/96 done]: unit/type/list-2 (15 seconds) +[ok]: LTRIM stress testing - quicklist (23480 ms) +[ok]: LTRIM stress testing - listpack (18107 ms) +[49/96 done]: unit/type/list-2 (42 seconds) Testing unit/type/list-3 === (list ziplist) Starting server 127.0.0.1:21521 ok -[ok]: Explicit regression for a list bug (1 ms) -[ok]: Regression for quicklist #3343 bug (134 ms) -[ok]: Check compression with recompress (44 ms) -[ok]: Crash due to wrongly recompress after lrem (220 ms) +[ok]: Explicit regression for a list bug (8 ms) +[ok]: Regression for quicklist #3343 bug (141 ms) +[ok]: Check compression with recompress (48 ms) +[ok]: Crash due to wrongly recompress after lrem (219 ms) [ok]: LINSERT correctly recompress full quicklistNode after inserting a element before it (48 ms) -[ok]: LINSERT correctly recompress full quicklistNode after inserting a element after it (44 ms) -[ok]: Stress tester for #3343-alike bugs comp: 2 (8377 ms) -[ok]: Stress tester for #3343-alike bugs comp: 1 (7772 ms) -[ok]: Stress tester for #3343-alike bugs comp: 0 (9012 ms) -[ok]: ziplist implementation: value encoding and backlink (8752 ms) -[ok]: ziplist implementation: encoding stress testing (11044 ms) -[50/96 done]: unit/type/list-3 (46 seconds) +[ok]: LINSERT correctly recompress full quicklistNode after inserting a element after it (52 ms) +[ok]: Stress tester for #3343-alike bugs comp: 2 (8388 ms) +[ok]: Stress tester for #3343-alike bugs comp: 1 (9046 ms) +[ok]: Stress tester for #3343-alike bugs comp: 0 (27504 ms) +[ok]: ziplist implementation: value encoding and backlink (11367 ms) +[ok]: ziplist implementation: encoding stress testing (31047 ms) +[50/96 done]: unit/type/list-3 (89 seconds) Testing unit/type/list === () Starting server 127.0.0.1:21523 ok -[ok]: packed node check compression with insert and pop (9 ms) -[ok]: packed node check compression combined with trim (7 ms) -[ok]: packed node check compression with lset (7 ms) -[ok]: plain node check compression with insert and pop (369 ms) -[ok]: plain node check compression combined with trim (130 ms) -[ok]: plain node check compression with lset (176 ms) +[ok]: packed node check compression with insert and pop (2 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 (406 ms) +[ok]: plain node check compression combined with trim (143 ms) +[ok]: plain node check compression with lset (182 ms) === () Starting server 127.0.0.1:21525 ok -[ok]: Test LPUSH and LPOP on plain nodes (11 ms) +[ok]: Test LPUSH and LPOP on plain nodes (10 ms) [ok]: Test LINDEX and LINSERT on plain nodes (2 ms) -[ok]: Test LTRIM on plain nodes (4 ms) -[ok]: Test LREM on plain nodes (1 ms) -[ok]: Test LPOS on plain nodes (6 ms) +[ok]: Test LTRIM on plain nodes (1 ms) +[ok]: Test LREM on plain nodes (7 ms) +[ok]: Test LPOS on plain nodes (1 ms) [ok]: Test LMOVE on plain nodes (3 ms) -[ok]: Test LSET with packed / plain combinations (96 ms) +[ok]: Test LSET with packed / plain combinations (56 ms) [ok]: Test LSET with packed is split in the middle (2 ms) -[ok]: Test LSET with packed consist only one item (181 ms) -[ok]: Crash due to delete entry from a compress quicklist node (2 ms) -[ok]: Crash due to split quicklist node wrongly (1 ms) +[ok]: Test LSET with packed consist only one item (182 ms) +[ok]: Crash due to delete entry from a compress quicklist node (8 ms) +[ok]: Crash due to split quicklist node wrongly (8 ms) [ok]: Test LPUSH and LPOP on plain nodes (3 ms) -[ok]: Test LINDEX and LINSERT on plain nodes (1 ms) -[ok]: Test LTRIM on plain nodes (1 ms) -[ok]: Test LREM on plain nodes (1 ms) +[ok]: Test LINDEX and LINSERT on plain nodes (2 ms) +[ok]: Test LTRIM on plain nodes (7 ms) +[ok]: Test LREM on plain nodes (8 ms) [ok]: Test LPOS on plain nodes (1 ms) -[ok]: Test LMOVE on plain nodes (2 ms) -[ok]: Test LSET with packed / plain combinations (183 ms) -[ok]: Test LSET with packed is split in the middle (2 ms) -[ok]: Test LSET with packed consist only one item (178 ms) -[ok]: Crash due to delete entry from a compress quicklist node (2 ms) -[ok]: Crash due to split quicklist node wrongly (1 ms) +[ok]: Test LMOVE on plain nodes (3 ms) +[ok]: Test LSET with packed / plain combinations (192 ms) +[ok]: Test LSET with packed is split in the middle (9 ms) +[ok]: Test LSET with packed consist only one item (191 ms) +[ok]: Crash due to delete entry from a compress quicklist node (8 ms) +[ok]: Crash due to split quicklist node wrongly (2 ms) === () Starting server 127.0.0.1:21527 ok [ignore]: Test LPUSH and LPOP on plain nodes over 4GB: large memory flag not provided [ignore]: Test LINDEX and LINSERT on plain nodes over 4GB: large memory flag not provided @@ -3238,1013 +3285,1011 @@ [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:21529 ok -[ok]: LPOS basic usage - quicklist (50 ms) +[ok]: LPOS basic usage - quicklist (51 ms) [ok]: LPOS RANK (positive, negative and zero rank) option (1 ms) [ok]: LPOS COUNT option (1 ms) [ok]: LPOS COUNT + RANK option (0 ms) [ok]: LPOS non existing key (0 ms) -[ok]: LPOS no match (0 ms) -[ok]: LPOS MAXLEN (0 ms) -[ok]: LPOS when RANK is greater than matches (1 ms) -[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - quicklist (89 ms) -[ok]: LPOP/RPOP with wrong number of arguments (0 ms) -[ok]: RPOP/LPOP with the optional count argument - quicklist (43 ms) -[ok]: LPOS basic usage - listpack (0 ms) +[ok]: LPOS no match (1 ms) +[ok]: LPOS MAXLEN (1 ms) +[ok]: LPOS when RANK is greater than matches (0 ms) +[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - quicklist (99 ms) +[ok]: LPOP/RPOP with wrong number of arguments (1 ms) +[ok]: RPOP/LPOP with the optional count argument - quicklist (42 ms) +[ok]: LPOS basic usage - listpack (1 ms) [ok]: LPOS RANK (positive, negative and zero rank) option (1 ms) -[ok]: LPOS COUNT option (1 ms) +[ok]: LPOS COUNT option (0 ms) [ok]: LPOS COUNT + RANK option (0 ms) -[ok]: LPOS non existing key (0 ms) -[ok]: LPOS no match (1 ms) -[ok]: LPOS MAXLEN (0 ms) +[ok]: LPOS non existing key (1 ms) +[ok]: LPOS no match (6 ms) +[ok]: LPOS MAXLEN (1 ms) [ok]: LPOS when RANK is greater than matches (1 ms) [ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - listpack (3 ms) -[ok]: LPOP/RPOP with wrong number of arguments (0 ms) +[ok]: LPOP/RPOP with wrong number of arguments (1 ms) [ok]: RPOP/LPOP with the optional count argument - listpack (1 ms) -[ok]: LPOP/RPOP with the count 0 returns an empty array in RESP3 (0 ms) +[ok]: LPOP/RPOP with the count 0 returns an empty array in RESP3 (4 ms) [ok]: LPOP/RPOP against non existing key in RESP3 (1 ms) -[ok]: LPOP/RPOP with against non existing key in RESP3 (0 ms) +[ok]: LPOP/RPOP with against non existing key in RESP3 (1 ms) [ok]: LPOP/RPOP with the count 0 returns an empty array in RESP2 (0 ms) -[ok]: LPOP/RPOP against non existing key in RESP2 (0 ms) -[ok]: LPOP/RPOP with against non existing key in RESP2 (0 ms) -[ok]: Variadic RPUSH/LPUSH (0 ms) +[ok]: LPOP/RPOP against non existing key in RESP2 (1 ms) +[ok]: LPOP/RPOP with against non existing key in RESP2 (1 ms) +[ok]: Variadic RPUSH/LPUSH (1 ms) [ok]: DEL a list (1 ms) -[ok]: BLPOP: single existing list - quicklist (66 ms) -[ok]: BLPOP: multiple existing lists - quicklist (104 ms) -[ok]: BLPOP: second list has an entry - quicklist (55 ms) -[ok]: BLMPOP_LEFT: single existing list - quicklist (56 ms) -[ok]: BLMPOP_LEFT: multiple existing lists - quicklist (108 ms) -[ok]: BLMPOP_LEFT: second list has an entry - quicklist (55 ms) -[ok]: BRPOPLPUSH - quicklist (59 ms) -[ok]: BLMOVE left left - quicklist (64 ms) -[ok]: BLMOVE left right - quicklist (60 ms) -[ok]: BLMOVE right left - quicklist (60 ms) -[ok]: BLMOVE right right - quicklist (60 ms) -[ok]: BLPOP: single existing list - listpack (13 ms) -[ok]: BLPOP: multiple existing lists - listpack (18 ms) -[ok]: BLPOP: second list has an entry - listpack (14 ms) -[ok]: BLMPOP_LEFT: single existing list - listpack (14 ms) -[ok]: BLMPOP_LEFT: multiple existing lists - listpack (14 ms) -[ok]: BLMPOP_LEFT: second list has an entry - listpack (14 ms) -[ok]: BRPOPLPUSH - listpack (16 ms) -[ok]: BLMOVE left left - listpack (13 ms) -[ok]: BLMOVE left right - listpack (13 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 (15 ms) -[ok]: BLMPOP_LEFT, LPUSH + DEL should not awake blocked client (14 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 (14 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BLMPOP_LEFT (14 ms) -[ok]: BLMPOP_LEFT with variadic LPUSH (18 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 (14 ms) -[ok]: BLMOVE (left, left) with a client BLPOPing the target list (25 ms) -[ok]: BLMOVE (left, right) with a client BLPOPing the target list (26 ms) -[ok]: BLMOVE (right, left) with a client BLPOPing the target list (30 ms) -[ok]: BLMOVE (right, right) with a client BLPOPing the target list (25 ms) -[ok]: BRPOPLPUSH with wrong source type (13 ms) -[ok]: BRPOPLPUSH with wrong destination type (26 ms) -[ok]: BRPOPLPUSH maintains order of elements after failure (14 ms) -[ok]: BRPOPLPUSH with multiple blocked clients (25 ms) -[ok]: BLMPOP with multiple blocked clients (55 ms) -[ok]: Linked LMOVEs (26 ms) -[ok]: Circular BRPOPLPUSH (26 ms) -[ok]: Self-referential BRPOPLPUSH (13 ms) +[ok]: BLPOP: single existing list - quicklist (68 ms) +[ok]: BLPOP: multiple existing lists - quicklist (128 ms) +[ok]: BLPOP: second list has an entry - quicklist (67 ms) +[ok]: BLMPOP_LEFT: single existing list - quicklist (72 ms) +[ok]: BLMPOP_LEFT: multiple existing lists - quicklist (113 ms) +[ok]: BLMPOP_LEFT: second list has an entry - quicklist (79 ms) +[ok]: BRPOPLPUSH - quicklist (80 ms) +[ok]: BLMOVE left left - quicklist (80 ms) +[ok]: BLMOVE left right - quicklist (96 ms) +[ok]: BLMOVE right left - quicklist (80 ms) +[ok]: BLMOVE right right - quicklist (80 ms) +[ok]: BLPOP: single existing list - listpack (44 ms) +[ok]: BLPOP: multiple existing lists - listpack (40 ms) +[ok]: BLPOP: second list has an entry - listpack (32 ms) +[ok]: BLMPOP_LEFT: single existing list - listpack (37 ms) +[ok]: BLMPOP_LEFT: multiple existing lists - listpack (43 ms) +[ok]: BLMPOP_LEFT: second list has an entry - listpack (36 ms) +[ok]: BRPOPLPUSH - listpack (40 ms) +[ok]: BLMOVE left left - listpack (39 ms) +[ok]: BLMOVE left right - listpack (33 ms) +[ok]: BLMOVE right left - listpack (37 ms) +[ok]: BLMOVE right right - listpack (40 ms) +[ok]: BLPOP, LPUSH + DEL should not awake blocked client (34 ms) +[ok]: BLPOP, LPUSH + DEL + SET should not awake blocked client (50 ms) +[ok]: BLMPOP_LEFT, LPUSH + DEL should not awake blocked client (36 ms) +[ok]: BLMPOP_LEFT, LPUSH + DEL + SET should not awake blocked client (35 ms) +[ok]: BLPOP with same key multiple times should work (issue #801) (35 ms) +[ok]: MULTI/EXEC is isolated from the point of view of BLPOP (40 ms) +[ok]: BLPOP with variadic LPUSH (31 ms) +[ok]: MULTI/EXEC is isolated from the point of view of BLMPOP_LEFT (41 ms) +[ok]: BLMPOP_LEFT with variadic LPUSH (39 ms) +[ok]: BRPOPLPUSH with zero timeout should block indefinitely (36 ms) +[ok]: BLMOVE left left with zero timeout should block indefinitely (32 ms) +[ok]: BLMOVE left right with zero timeout should block indefinitely (36 ms) +[ok]: BLMOVE right left with zero timeout should block indefinitely (35 ms) +[ok]: BLMOVE right right with zero timeout should block indefinitely (37 ms) +[ok]: BLMOVE (left, left) with a client BLPOPing the target list (72 ms) +[ok]: BLMOVE (left, right) with a client BLPOPing the target list (68 ms) +[ok]: BLMOVE (right, left) with a client BLPOPing the target list (68 ms) +[ok]: BLMOVE (right, right) with a client BLPOPing the target list (68 ms) +[ok]: BRPOPLPUSH with wrong source type (25 ms) +[ok]: BRPOPLPUSH with wrong destination type (51 ms) +[ok]: BRPOPLPUSH maintains order of elements after failure (22 ms) +[ok]: BRPOPLPUSH with multiple blocked clients (51 ms) +[ok]: BLMPOP with multiple blocked clients (93 ms) +[ok]: Linked LMOVEs (47 ms) +[ok]: Circular BRPOPLPUSH (48 ms) +[ok]: Self-referential BRPOPLPUSH (27 ms) [ok]: BRPOPLPUSH inside a transaction (1 ms) -[ok]: PUSH resulting from BRPOPLPUSH affect WATCH (26 ms) -[ok]: BRPOPLPUSH does not affect WATCH while still blocked (31 ms) -[ok]: BRPOPLPUSH timeout (1032 ms) -[ok]: SWAPDB awakes blocked client (14 ms) -[ok]: SWAPDB wants to wake blocked client, but the key already expired (178 ms) -[ok]: MULTI + LPUSH + EXPIRE + DEBUG SLEEP on blocked client, key already expired (301 ms) -[ok]: BLPOP unblock but the key is expired and then block again - reprocessing command (1022 ms) -[ok]: BLPOP when new key is moved into place (17 ms) -[ok]: BLPOP when result key is created by SORT..STORE (14 ms) -[ok]: BLMPOP_LEFT when new key is moved into place (13 ms) -[ok]: BLMPOP_LEFT when result key is created by SORT..STORE (13 ms) -[ok]: BLPOP: timeout value out of range (0 ms) -[ok]: BLPOP: with single empty list argument (13 ms) -[ok]: BLPOP: with negative timeout (14 ms) -[ok]: BLPOP: with non-integer timeout (12 ms) -[ok]: BLPOP: with zero timeout should block indefinitely (13 ms) -[ok]: BLPOP: with 0.001 timeout should not block indefinitely (34 ms) -[ok]: BLPOP: second argument is not a list (13 ms) -[ok]: BLPOP: timeout (1060 ms) -[ok]: BLPOP: arguments are empty (14 ms) -[ok]: BRPOP: with single empty list argument (17 ms) -[ok]: BRPOP: with negative timeout (13 ms) -[ok]: BRPOP: with non-integer timeout (12 ms) -[ok]: BRPOP: with zero timeout should block indefinitely (17 ms) -[ok]: BRPOP: with 0.001 timeout should not block indefinitely (33 ms) -[ok]: BRPOP: second argument is not a list (13 ms) -[ok]: BRPOP: timeout (1090 ms) -[ok]: BRPOP: arguments are empty (14 ms) -[ok]: BLMPOP_LEFT: with single empty list argument (17 ms) -[ok]: BLMPOP_LEFT: with negative timeout (13 ms) -[ok]: BLMPOP_LEFT: with non-integer timeout (13 ms) -[ok]: BLMPOP_LEFT: with zero timeout should block indefinitely (13 ms) -[ok]: BLMPOP_LEFT: with 0.001 timeout should not block indefinitely (34 ms) -[ok]: BLMPOP_LEFT: second argument is not a list (13 ms) -[ok]: BLMPOP_LEFT: timeout (1094 ms) -[ok]: BLMPOP_LEFT: arguments are empty (14 ms) -[ok]: BLMPOP_RIGHT: with single empty list argument (17 ms) -[ok]: BLMPOP_RIGHT: with negative timeout (13 ms) -[ok]: BLMPOP_RIGHT: with non-integer timeout (13 ms) -[ok]: BLMPOP_RIGHT: with zero timeout should block indefinitely (13 ms) -[ok]: BLMPOP_RIGHT: with 0.001 timeout should not block indefinitely (33 ms) -[ok]: BLMPOP_RIGHT: second argument is not a list (12 ms) -[ok]: BLMPOP_RIGHT: timeout (1093 ms) -[ok]: BLMPOP_RIGHT: arguments are empty (14 ms) -[ok]: BLPOP inside a transaction (1 ms) -[ok]: BLMPOP_LEFT inside a transaction (1 ms) -[ok]: BLMPOP propagate as pop with count command to replica (187 ms) +[ok]: PUSH resulting from BRPOPLPUSH affect WATCH (48 ms) +[ok]: BRPOPLPUSH does not affect WATCH while still blocked (52 ms) +[ok]: BRPOPLPUSH timeout (1035 ms) +[ok]: SWAPDB awakes blocked client (40 ms) +[ok]: SWAPDB wants to wake blocked client, but the key already expired (251 ms) +[ok]: MULTI + LPUSH + EXPIRE + DEBUG SLEEP on blocked client, key already expired (294 ms) +[ok]: BLPOP unblock but the key is expired and then block again - reprocessing command (1079 ms) +[ok]: BLPOP when new key is moved into place (51 ms) +[ok]: BLPOP when result key is created by SORT..STORE (48 ms) +[ok]: BLMPOP_LEFT when new key is moved into place (38 ms) +[ok]: BLMPOP_LEFT when result key is created by SORT..STORE (42 ms) +[ok]: BLPOP: timeout value out of range (1 ms) +[ok]: BLPOP: with single empty list argument (40 ms) +[ok]: BLPOP: with negative timeout (33 ms) +[ok]: BLPOP: with non-integer timeout (40 ms) +[ok]: BLPOP: with zero timeout should block indefinitely (38 ms) +[ok]: BLPOP: with 0.001 timeout should not block indefinitely (57 ms) +[ok]: BLPOP: second argument is not a list (35 ms) +[ok]: BLPOP: timeout (1131 ms) +[ok]: BLPOP: arguments are empty (38 ms) +[ok]: BRPOP: with single empty list argument (46 ms) +[ok]: BRPOP: with negative timeout (29 ms) +[ok]: BRPOP: with non-integer timeout (39 ms) +[ok]: BRPOP: with zero timeout should block indefinitely (29 ms) +[ok]: BRPOP: with 0.001 timeout should not block indefinitely (71 ms) +[ok]: BRPOP: second argument is not a list (32 ms) +[ok]: BRPOP: timeout (1068 ms) +[ok]: BRPOP: arguments are empty (49 ms) +[ok]: BLMPOP_LEFT: with single empty list argument (53 ms) +[ok]: BLMPOP_LEFT: with negative timeout (15 ms) +[ok]: BLMPOP_LEFT: with non-integer timeout (35 ms) +[ok]: BLMPOP_LEFT: with zero timeout should block indefinitely (30 ms) +[ok]: BLMPOP_LEFT: with 0.001 timeout should not block indefinitely (66 ms) +[ok]: BLMPOP_LEFT: second argument is not a list (36 ms) +[ok]: BLMPOP_LEFT: timeout (1072 ms) +[ok]: BLMPOP_LEFT: arguments are empty (35 ms) +[ok]: BLMPOP_RIGHT: with single empty list argument (37 ms) +[ok]: BLMPOP_RIGHT: with negative timeout (30 ms) +[ok]: BLMPOP_RIGHT: with non-integer timeout (42 ms) +[ok]: BLMPOP_RIGHT: with zero timeout should block indefinitely (36 ms) +[ok]: BLMPOP_RIGHT: with 0.001 timeout should not block indefinitely (56 ms) +[ok]: BLMPOP_RIGHT: second argument is not a list (35 ms) +[ok]: BLMPOP_RIGHT: timeout (1073 ms) +[ok]: BLMPOP_RIGHT: arguments are empty (46 ms) +[ok]: BLPOP inside a transaction (2 ms) +[ok]: BLMPOP_LEFT inside a transaction (7 ms) +[ok]: BLMPOP propagate as pop with count command to replica (254 ms) [ok]: LPUSHX, RPUSHX - generic (0 ms) -[ok]: LPUSHX, RPUSHX - quicklist (43 ms) -[ok]: LINSERT - quicklist (45 ms) -[ok]: LPUSHX, RPUSHX - listpack (1 ms) +[ok]: LPUSHX, RPUSHX - quicklist (46 ms) +[ok]: LINSERT - quicklist (49 ms) +[ok]: LPUSHX, RPUSHX - listpack (2 ms) [ok]: LINSERT - listpack (3 ms) -[ok]: LINSERT raise error on bad syntax (1 ms) -[ok]: LINSERT against non-list value error (0 ms) +[ok]: LINSERT raise error on bad syntax (5 ms) +[ok]: LINSERT against non-list value error (1 ms) [ok]: LINSERT against non existing key (0 ms) -[ok]: LINDEX consistency test - listpack (99 ms) -[ok]: LINDEX random access - listpack (63 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - listpack (122 ms) -[ok]: LINDEX consistency test - listpack (184 ms) -[ok]: LINDEX random access - listpack (130 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - listpack (254 ms) -[ok]: LINDEX consistency test - quicklist (90 ms) -[ok]: LINDEX random access - quicklist (63 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (126 ms) -[ok]: LINDEX consistency test - quicklist (178 ms) -[ok]: LINDEX random access - quicklist (129 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (248 ms) -[ok]: LLEN against non-list value error (1 ms) +[ok]: LINDEX consistency test - listpack (212 ms) +[ok]: LINDEX random access - listpack (165 ms) +[ok]: Check if list is still ok after a DEBUG RELOAD - listpack (273 ms) +[ok]: LINDEX consistency test - listpack (542 ms) +[ok]: LINDEX random access - listpack (493 ms) +[ok]: Check if list is still ok after a DEBUG RELOAD - listpack (930 ms) +[ok]: LINDEX consistency test - quicklist (171 ms) +[ok]: LINDEX random access - quicklist (118 ms) +[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (223 ms) +[ok]: LINDEX consistency test - quicklist (308 ms) +[ok]: LINDEX random access - quicklist (226 ms) +[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (502 ms) +[ok]: LLEN against non-list value error (0 ms) [ok]: LLEN against non existing key (0 ms) [ok]: LINDEX against non-list value error (0 ms) -[ok]: LINDEX against non existing key (0 ms) -[ok]: LPUSH against non-list value error (0 ms) +[ok]: LINDEX against non existing key (6 ms) +[ok]: LPUSH against non-list value error (1 ms) [ok]: RPUSH against non-list value error (0 ms) -[ok]: RPOPLPUSH base case - quicklist (44 ms) -[ok]: LMOVE left left base case - quicklist (44 ms) -[ok]: LMOVE left right base case - quicklist (48 ms) +[ok]: RPOPLPUSH base case - quicklist (45 ms) +[ok]: LMOVE left left base case - quicklist (47 ms) +[ok]: LMOVE left right base case - quicklist (44 ms) [ok]: LMOVE right left base case - quicklist (48 ms) -[ok]: LMOVE right right base case - quicklist (47 ms) -[ok]: RPOPLPUSH with the same list as src and dst - quicklist (47 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 (47 ms) +[ok]: LMOVE right right base case - quicklist (52 ms) +[ok]: RPOPLPUSH with the same list as src and dst - quicklist (52 ms) +[ok]: LMOVE left left with the same list as src and dst - quicklist (48 ms) +[ok]: LMOVE left right with the same list as src and dst - quicklist (48 ms) [ok]: LMOVE right left with the same list as src and dst - quicklist (44 ms) [ok]: LMOVE right right with the same list as src and dst - quicklist (48 ms) -[ok]: RPOPLPUSH with quicklist source and existing target quicklist (96 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 (92 ms) -[ok]: LMOVE right left with quicklist source and existing target quicklist (92 ms) -[ok]: LMOVE right right with quicklist source and existing target quicklist (92 ms) -[ok]: RPOPLPUSH with quicklist source and existing target listpack (44 ms) -[ok]: LMOVE left left with quicklist source and existing target listpack (44 ms) -[ok]: LMOVE left right with quicklist source and existing target listpack (48 ms) -[ok]: LMOVE right left with quicklist source and existing target listpack (44 ms) -[ok]: LMOVE right right with quicklist source and existing target listpack (43 ms) +[ok]: RPOPLPUSH with quicklist source and existing target quicklist (100 ms) +[ok]: LMOVE left left with quicklist source and existing target quicklist (100 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 (95 ms) +[ok]: LMOVE right right with quicklist source and existing target quicklist (88 ms) +[ok]: RPOPLPUSH with quicklist source and existing target listpack (48 ms) +[ok]: LMOVE left left with quicklist source and existing target listpack (54 ms) +[ok]: LMOVE left right with quicklist source and existing target listpack (54 ms) +[ok]: LMOVE right left with quicklist source and existing target listpack (56 ms) +[ok]: LMOVE right right with quicklist source and existing target listpack (56 ms) [ok]: RPOPLPUSH base case - listpack (2 ms) [ok]: LMOVE left left base case - listpack (2 ms) [ok]: LMOVE left right base case - listpack (2 ms) -[ok]: LMOVE right left base case - listpack (2 ms) +[ok]: LMOVE right left base case - listpack (6 ms) [ok]: LMOVE right right base case - listpack (2 ms) [ok]: RPOPLPUSH with the same list as src and dst - listpack (1 ms) -[ok]: LMOVE left left with the same list as src and dst - listpack (2 ms) -[ok]: LMOVE left right with the same list as src and dst - listpack (1 ms) +[ok]: LMOVE left left with the same list as src and dst - listpack (1 ms) +[ok]: LMOVE left right with the same list as src and dst - listpack (7 ms) [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 (42 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 (48 ms) -[ok]: LMOVE right left with listpack source and existing target quicklist (48 ms) -[ok]: LMOVE right right with listpack source and existing target quicklist (48 ms) -[ok]: RPOPLPUSH with listpack source and existing target 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 (48 ms) +[ok]: LMOVE left right with listpack source and existing target quicklist (47 ms) +[ok]: LMOVE right left with listpack source and existing target quicklist (43 ms) +[ok]: LMOVE right right with listpack source and existing target quicklist (51 ms) +[ok]: RPOPLPUSH with listpack source and existing target listpack (8 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 (2 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]: RPOPLPUSH against non existing key (1 ms) +[ok]: LMOVE left right with listpack source and existing target listpack (1 ms) +[ok]: LMOVE right left with listpack source and existing target listpack (11 ms) +[ok]: LMOVE right right with listpack source and existing target listpack (8 ms) +[ok]: RPOPLPUSH against non existing key (0 ms) [ok]: RPOPLPUSH against non list src key (1 ms) -[ok]: RPOPLPUSH against non list dst key - quicklist (47 ms) -[ok]: RPOPLPUSH against non list dst key - listpack (1 ms) +[ok]: RPOPLPUSH against non list dst key - quicklist (45 ms) +[ok]: RPOPLPUSH against non list dst key - listpack (4 ms) [ok]: RPOPLPUSH against non existing src key (1 ms) -[ok]: Basic LPOP/RPOP/LMPOP - quicklist (97 ms) -[ok]: Basic LPOP/RPOP/LMPOP - listpack (3 ms) +[ok]: Basic LPOP/RPOP/LMPOP - quicklist (91 ms) +[ok]: Basic LPOP/RPOP/LMPOP - listpack (8 ms) [ok]: LPOP/RPOP/LMPOP against empty list (1 ms) -[ok]: LPOP/RPOP/LMPOP NON-BLOCK or BLOCK against non list value (2 ms) -[ok]: Mass RPOP/LPOP - listpack (63 ms) -[ok]: Mass RPOP/LPOP - listpack (118 ms) +[ok]: LPOP/RPOP/LMPOP NON-BLOCK or BLOCK against non list value (6 ms) +[ok]: Mass RPOP/LPOP - listpack (155 ms) +[ok]: Mass RPOP/LPOP - listpack (214 ms) [ok]: LMPOP with illegal argument (2 ms) -[ok]: LMPOP single existing list - quicklist (143 ms) -[ok]: LMPOP multiple existing lists - quicklist (183 ms) -[ok]: LMPOP single existing list - listpack (4 ms) -[ok]: LMPOP multiple existing lists - listpack (4 ms) -[ok]: LMPOP propagate as pop with count command to replica (61 ms) -[ok]: LRANGE basics - quicklist (51 ms) -[ok]: LRANGE inverted indexes - quicklist (44 ms) -[ok]: LRANGE out of range indexes including the full list - quicklist (43 ms) +[ok]: LMPOP single existing list - quicklist (144 ms) +[ok]: LMPOP multiple existing lists - quicklist (196 ms) +[ok]: LMPOP single existing list - listpack (16 ms) +[ok]: LMPOP multiple existing lists - listpack (14 ms) +[ok]: LMPOP propagate as pop with count command to replica (74 ms) +[ok]: LRANGE basics - quicklist (46 ms) +[ok]: LRANGE inverted indexes - quicklist (46 ms) +[ok]: LRANGE out of range indexes including the full list - quicklist (51 ms) [ok]: LRANGE out of range negative end index - quicklist (48 ms) -[ok]: LRANGE basics - listpack (1 ms) -[ok]: LRANGE inverted indexes - listpack (2 ms) +[ok]: LRANGE basics - listpack (8 ms) +[ok]: LRANGE inverted indexes - listpack (11 ms) [ok]: LRANGE out of range indexes including the full list - listpack (1 ms) [ok]: LRANGE out of range negative end index - listpack (1 ms) [ok]: LRANGE against non existing key (0 ms) -[ok]: LRANGE with start > end yields an empty array for backward compatibility (0 ms) -[ok]: LTRIM basics - quicklist (552 ms) -[ok]: LTRIM out of range negative end index - quicklist (92 ms) -[ok]: LSET - quicklist (44 ms) -[ok]: LSET out of range index - quicklist (0 ms) -[ok]: LTRIM basics - listpack (14 ms) +[ok]: LRANGE with start > end yields an empty array for backward compatibility (9 ms) +[ok]: LTRIM basics - quicklist (557 ms) +[ok]: LTRIM out of range negative end index - quicklist (100 ms) +[ok]: LSET - quicklist (48 ms) +[ok]: LSET out of range index - quicklist (1 ms) +[ok]: LTRIM basics - listpack (24 ms) [ok]: LTRIM out of range negative end index - listpack (2 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 existing key (5 ms) [ok]: LSET against non list value (1 ms) [ok]: LREM remove all the occurrences - quicklist (45 ms) -[ok]: LREM remove the first occurrence - quicklist (0 ms) +[ok]: LREM remove the first occurrence - quicklist (1 ms) [ok]: LREM remove non existing element - quicklist (0 ms) -[ok]: LREM starting from tail with negative count - quicklist (47 ms) -[ok]: LREM starting from tail with negative count (2) - quicklist (0 ms) -[ok]: LREM deleting objects that may be int encoded - quicklist (46 ms) -[ok]: LREM remove all the occurrences - listpack (1 ms) +[ok]: LREM starting from tail with negative count - quicklist (52 ms) +[ok]: LREM starting from tail with negative count (2) - quicklist (1 ms) +[ok]: LREM deleting objects that may be int encoded - quicklist (48 ms) +[ok]: LREM remove all the occurrences - listpack (2 ms) [ok]: LREM remove the first occurrence - listpack (1 ms) [ok]: LREM remove non existing element - listpack (0 ms) [ok]: LREM starting from tail with negative count - listpack (2 ms) -[ok]: LREM starting from tail with negative count (2) - listpack (0 ms) -[ok]: LREM deleting objects that may be int encoded - listpack (1 ms) -[ok]: Regression for bug 593 - chaining BRPOPLPUSH with other blocking cmds (30 ms) -[ok]: BLPOP/BLMOVE should increase dirty (15 ms) -[ok]: client unblock tests (15 ms) -[ok]: client unblock tests (15 ms) -[ok]: List listpack -> quicklist encoding conversion (4 ms) -[ok]: List listpack -> quicklist encoding conversion (179 ms) -[ok]: List quicklist -> listpack encoding conversion (231 ms) -[ok]: List encoding conversion when RDB loading (4 ms) -[ok]: List invalid list-max-listpack-size config (47 ms) -[ok]: List of various encodings (48 ms) -[ok]: List of various encodings - sanitize dump (2 ms) -[ok]: Unblock fairness is kept while pipelining (31 ms) -[ok]: Unblock fairness is kept during nested unblock (42 ms) -[ok]: Blocking command accounted only once in commandstats (14 ms) -[ok]: Blocking command accounted only once in commandstats after timeout (14 ms) -[ok]: Command being unblocked cause another command to get unblocked execution order test (121 ms) -[51/96 done]: unit/type/list (18 seconds) +[ok]: LREM starting from tail with negative count (2) - listpack (1 ms) +[ok]: LREM deleting objects that may be int encoded - listpack (4 ms) +[ok]: Regression for bug 593 - chaining BRPOPLPUSH with other blocking cmds (46 ms) +[ok]: BLPOP/BLMOVE should increase dirty (62 ms) +[ok]: client unblock tests (41 ms) +[ok]: client unblock tests (37 ms) +[ok]: List listpack -> quicklist encoding conversion (13 ms) +[ok]: List listpack -> quicklist encoding conversion (201 ms) +[ok]: List quicklist -> listpack encoding conversion (244 ms) +[ok]: List encoding conversion when RDB loading (20 ms) +[ok]: List invalid list-max-listpack-size config (43 ms) +[ok]: List of various encodings (62 ms) +[ok]: List of various encodings - sanitize dump (11 ms) +[ok]: Unblock fairness is kept while pipelining (103 ms) +[ok]: Unblock fairness is kept during nested unblock (93 ms) +[ok]: Blocking command accounted only once in commandstats (40 ms) +[ok]: Blocking command accounted only once in commandstats after timeout (39 ms) +[ok]: Command being unblocked cause another command to get unblocked execution order test (187 ms) +[51/96 done]: unit/type/list (24 seconds) Testing unit/type/set === (set) Starting server 127.0.0.1:21531 ok -[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - listpack (2 ms) -[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - hashtable (15 ms) +[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - listpack (6 ms) +[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - hashtable (31 ms) [ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - intset (2 ms) [ok]: SMISMEMBER SMEMBERS SCARD against non set (0 ms) -[ok]: SMISMEMBER SMEMBERS SCARD against non existing key (0 ms) +[ok]: SMISMEMBER SMEMBERS SCARD against non existing key (4 ms) [ok]: SMISMEMBER requires one or more members (1 ms) [ok]: SADD against non set (0 ms) -[ok]: SADD a non-integer against a small intset (1 ms) -[ok]: SADD a non-integer against a large intset (13 ms) -[ok]: SADD an integer larger than 64 bits (1 ms) -[ok]: SADD an integer larger than 64 bits to a large intset (13 ms) -[ok]: SADD overflows the maximum allowed integers in an intset - single (49 ms) -[ok]: SADD overflows the maximum allowed elements in a listpack - single (15 ms) -[ok]: SADD overflows the maximum allowed integers in an intset - multiple (45 ms) +[ok]: SADD a non-integer against a small intset (0 ms) +[ok]: SADD a non-integer against a large intset (29 ms) +[ok]: SADD an integer larger than 64 bits (0 ms) +[ok]: SADD an integer larger than 64 bits to a large intset (26 ms) +[ok]: SADD overflows the maximum allowed integers in an intset - single (110 ms) +[ok]: SADD overflows the maximum allowed elements in a listpack - single (25 ms) +[ok]: SADD overflows the maximum allowed integers in an intset - multiple (48 ms) [ok]: SADD overflows the maximum allowed elements in a listpack - multiple (1 ms) -[ok]: SADD overflows the maximum allowed integers in an intset - single_multiple (43 ms) -[ok]: SADD overflows the maximum allowed elements in a listpack - single_multiple (1 ms) +[ok]: SADD overflows the maximum allowed integers in an intset - single_multiple (51 ms) +[ok]: SADD overflows the maximum allowed elements in a listpack - single_multiple (2 ms) [ok]: Variadic SADD (0 ms) -[ok]: Set encoding after DEBUG RELOAD (169 ms) -[ok]: SREM basics - $type (1 ms) -[ok]: SREM basics - $type (14 ms) +[ok]: Set encoding after DEBUG RELOAD (345 ms) +[ok]: SREM basics - $type (11 ms) +[ok]: SREM basics - $type (25 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]: SREM variadic version with more args needed to destroy the key (1 ms) [ok]: SINTERCARD with illegal arguments (2 ms) [ok]: SINTERCARD against non-set should throw error (1 ms) -[ok]: SINTERCARD against non-existing key (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]: SINTER with two sets - regular (1 ms) [ok]: SINTERCARD with two sets - regular (1 ms) [ok]: SINTERSTORE with two sets - regular (0 ms) [ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - regular (2 ms) [ok]: SUNION with two sets - regular (6 ms) -[ok]: SUNIONSTORE 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]: SUNION with non existing keys - regular (5 ms) -[ok]: SDIFF with two sets - regular (0 ms) -[ok]: SDIFF with three sets - regular (1 ms) -[ok]: SDIFFSTORE with three sets - regular (0 ms) -[ok]: SINTER/SUNION/SDIFF with three same sets - regular (4 ms) +[ok]: SINTERCARD against three sets - regular (1 ms) +[ok]: SINTERSTORE with three sets - regular (0 ms) +[ok]: SUNION with non existing keys - regular (6 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 (8 ms) [ok]: Generated sets must be encoded correctly - intset (1 ms) [ok]: SINTER with two sets - intset (0 ms) [ok]: SINTERCARD with two sets - intset (1 ms) -[ok]: SINTERSTORE with two sets - intset (0 ms) -[ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - intset (2 ms) -[ok]: SUNION with two sets - intset (5 ms) -[ok]: SUNIONSTORE with two sets - intset (5 ms) +[ok]: SINTERSTORE with two sets - intset (1 ms) +[ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - intset (8 ms) +[ok]: SUNION with two sets - intset (6 ms) +[ok]: SUNIONSTORE with two sets - intset (16 ms) [ok]: SINTER against three sets - intset (1 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 (9 ms) +[ok]: SDIFF with two sets - intset (5 ms) [ok]: SDIFF with three sets - intset (1 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 (15 ms) [ok]: SINTERSTORE with two listpack sets where result is intset (1 ms) -[ok]: SINTERSTORE with two hashtable sets where result is intset (27 ms) -[ok]: SUNION hashtable and listpack (2 ms) -[ok]: SDIFF with first set empty (0 ms) +[ok]: SINTERSTORE with two hashtable sets where result is intset (138 ms) +[ok]: SUNION hashtable and listpack (45 ms) +[ok]: SDIFF with first set empty (7 ms) [ok]: SDIFF with same set two times (1 ms) -[ok]: SDIFF fuzzing (4044 ms) -[ok]: SDIFF against non-set should throw error (0 ms) +[ok]: SDIFF fuzzing (10710 ms) +[ok]: SDIFF against non-set should throw error (2 ms) [ok]: SDIFF should handle non existing key as empty (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 (0 ms) +[ok]: SDIFFSTORE against non-set should throw error (7 ms) +[ok]: SDIFFSTORE should handle non existing key as empty (2 ms) +[ok]: SINTER against non-set should throw error (1 ms) [ok]: SINTER should handle non existing key as empty (1 ms) -[ok]: SINTER with same integer elements but different encoding (1 ms) +[ok]: SINTER with same integer elements but different encoding (7 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 against non-set should throw error (2 ms) [ok]: SUNION should handle non existing key as empty (1 ms) -[ok]: SUNIONSTORE against non-set should throw error (1 ms) +[ok]: SUNIONSTORE against non-set should throw error (7 ms) [ok]: SUNIONSTORE should handle non existing key as empty (2 ms) [ok]: SUNIONSTORE against non existing keys should delete dstkey (1 ms) -[ok]: SPOP basics - listpack (1 ms) +[ok]: SPOP basics - listpack (8 ms) [ok]: SPOP with =1 - listpack (1 ms) -[ok]: SRANDMEMBER - listpack (10 ms) -[ok]: SPOP basics - intset (2 ms) -[ok]: SPOP with =1 - intset (1 ms) -[ok]: SRANDMEMBER - intset (10 ms) -[ok]: SPOP integer from listpack set (2 ms) -[ok]: SPOP with - listpack (4 ms) -[ok]: SPOP with - intset (4 ms) -[ok]: SPOP with - hashtable (4 ms) -[ok]: SPOP using integers, testing Knuth's and Floyd's algorithm (4 ms) +[ok]: SRANDMEMBER - listpack (33 ms) +[ok]: SPOP basics - intset (1 ms) +[ok]: SPOP with =1 - intset (8 ms) +[ok]: SRANDMEMBER - intset (15 ms) +[ok]: SPOP integer from listpack set (8 ms) +[ok]: SPOP with - listpack (5 ms) +[ok]: SPOP with - intset (8 ms) +[ok]: SPOP with - hashtable (8 ms) +[ok]: SPOP using integers, testing Knuth's and Floyd's algorithm (9 ms) [ok]: SPOP using integers with Knuth's algorithm (0 ms) -[ok]: SPOP new implementation: code path #1 intset (3 ms) -[ok]: SPOP new implementation: code path #2 intset (2 ms) -[ok]: SPOP new implementation: code path #3 intset (2 ms) -[ok]: SPOP new implementation: code path #1 listpack (3 ms) +[ok]: SPOP new implementation: code path #1 intset (7 ms) +[ok]: SPOP new implementation: code path #2 intset (7 ms) +[ok]: SPOP new implementation: code path #3 intset (4 ms) +[ok]: SPOP new implementation: code path #1 listpack (10 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 (57 ms) +[ok]: SPOP new implementation: code path #1 propagate as DEL or UNLINK (111 ms) [ok]: SRANDMEMBER count of 0 is handled correctly (0 ms) -[ok]: SRANDMEMBER with against non existing key (0 ms) +[ok]: SRANDMEMBER with against non existing key (1 ms) [ok]: SRANDMEMBER count overflow (0 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 (26 ms) -[ok]: SRANDMEMBER with - intset (19 ms) -[ok]: SRANDMEMBER with - hashtable (23 ms) -[ok]: SRANDMEMBER histogram distribution - listpack (87 ms) -[ok]: SRANDMEMBER histogram distribution - intset (87 ms) -[ok]: SRANDMEMBER histogram distribution - hashtable (89 ms) +[ok]: SRANDMEMBER with - listpack (47 ms) +[ok]: SRANDMEMBER with - intset (46 ms) +[ok]: SRANDMEMBER with - hashtable (52 ms) +[ok]: SRANDMEMBER histogram distribution - listpack (295 ms) +[ok]: SRANDMEMBER histogram distribution - intset (295 ms) +[ok]: SRANDMEMBER histogram distribution - hashtable (300 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: 20 - max chain length: 38 - avg chain length (counted): 24.95 - avg chain length (computed): 24.95 + different slots: 22 + max chain length: 32 + avg chain length (counted): 22.68 + avg chain length (computed): 22.68 Chain length distribution: - 0: 4076 (99.51%) - 18: 3 (0.07%) - 19: 1 (0.02%) - 20: 1 (0.02%) - 22: 1 (0.02%) - 23: 4 (0.10%) - 24: 3 (0.07%) - 25: 1 (0.02%) - 26: 1 (0.02%) - 31: 1 (0.02%) - 33: 2 (0.05%) - 34: 1 (0.02%) - 38: 1 (0.02%) - - -Waiting for background save to finish... [ok]: SRANDMEMBER with a dict containing long chain (12813 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) + 0: 4074 (99.46%) + 1: 1 (0.02%) + 10: 1 (0.02%) + 19: 2 (0.05%) + 20: 2 (0.05%) + 21: 4 (0.10%) + 25: 3 (0.07%) + 26: 4 (0.10%) + 27: 2 (0.05%) + 29: 1 (0.02%) + 32: 2 (0.05%) + + +Waiting for background save to finish... [ok]: SRANDMEMBER with a dict containing long chain (32495 ms) +[ok]: SMOVE basics - from regular set to intset (15 ms) +[ok]: SMOVE basics - from intset to regular set (6 ms) +[ok]: SMOVE non existing key (1 ms) +[ok]: SMOVE non existing src set (10 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 (16 ms) -[ok]: intsets implementation stress testing (2685 ms) +[ok]: SMOVE from intset to non existing destination set (6 ms) +[ok]: SMOVE wrong src key type (4 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 (36 ms) +[ok]: intsets implementation stress testing (5759 ms) === () Starting server 127.0.0.1:21533 ok [ignore]: SADD, SCARD, SISMEMBER - large data: large memory flag not provided -[52/96 done]: unit/type/set (21 seconds) +[52/96 done]: unit/type/set (52 seconds) Testing unit/type/stream-cgroups === (stream) Starting server 127.0.0.1:21535 ok -[ok]: XGROUP CREATE: creation and duplicate group name detection (1 ms) +[ok]: XGROUP CREATE: creation and duplicate group name detection (0 ms) [ok]: XGROUP CREATE: with ENTRIESREAD parameter (2 ms) -[ok]: XGROUP CREATE: automatic stream creation fails without MKSTREAM (0 ms) -[ok]: XGROUP CREATE: automatic stream creation works with MKSTREAM (0 ms) +[ok]: XGROUP CREATE: automatic stream creation fails without MKSTREAM (1 ms) +[ok]: XGROUP CREATE: automatic stream creation works with MKSTREAM (4 ms) [ok]: XREADGROUP will return only new elements (1 ms) [ok]: XREADGROUP can read the history of the elements we own (1 ms) [ok]: XPENDING is able to return pending items (1 ms) [ok]: XPENDING can return single consumer items (0 ms) [ok]: XPENDING only group (0 ms) -[ok]: XPENDING with IDLE (21 ms) +[ok]: XPENDING with IDLE (25 ms) [ok]: XPENDING with exclusive range intervals works as expected (1 ms) [ok]: XACK is able to remove items from the consumer/group PEL (1 ms) -[ok]: XACK can't remove the same item multiple times (0 ms) +[ok]: XACK can't remove the same item multiple times (5 ms) [ok]: XACK is able to accept multiple arguments (0 ms) -[ok]: XACK should fail if got at least one invalid ID (2 ms) -[ok]: PEL NACK reassignment after XGROUP SETID event (1 ms) -[ok]: XREADGROUP will not report data on empty history. Bug #5577 (1 ms) -[ok]: XREADGROUP history reporting of deleted entries. Bug #5570 (6 ms) -[ok]: Blocking XREADGROUP will not reply with an empty array (35 ms) -[ok]: Blocking XREADGROUP: key deleted (14 ms) +[ok]: XACK should fail if got at least one invalid ID (1 ms) +[ok]: PEL NACK reassignment after XGROUP SETID event (7 ms) +[ok]: XREADGROUP will not report data on empty history. Bug #5577 (2 ms) +[ok]: XREADGROUP history reporting of deleted entries. Bug #5570 (1 ms) +[ok]: Blocking XREADGROUP will not reply with an empty array (57 ms) +[ok]: Blocking XREADGROUP: key deleted (22 ms) [ok]: Blocking XREADGROUP: key type changed with SET (18 ms) -[ok]: Blocking XREADGROUP: key type changed with transaction (14 ms) -[ok]: Blocking XREADGROUP: flushed DB (16 ms) -[ok]: Blocking XREADGROUP: swapped DB, key doesn't exist (14 ms) +[ok]: Blocking XREADGROUP: key type changed with transaction (23 ms) +[ok]: Blocking XREADGROUP: flushed DB (27 ms) +[ok]: Blocking XREADGROUP: swapped DB, key doesn't exist (38 ms) [ok]: Blocking XREADGROUP: swapped DB, key is not a stream (14 ms) -[ok]: XREAD and XREADGROUP against wrong parameter (1 ms) -[ok]: Blocking XREAD: key deleted (14 ms) -[ok]: Blocking XREAD: key type changed with SET (14 ms) -[ok]: Blocking XREADGROUP for stream that ran dry (issue #5299) (69 ms) -[ok]: Blocking XREADGROUP will ignore BLOCK if ID is not > (16 ms) -[ok]: Blocking XREADGROUP for stream key that has clients blocked on list (30 ms) -[ok]: Blocking XREADGROUP for stream key that has clients blocked on stream - avoid endless loop (39 ms) -[ok]: Blocking XREADGROUP for stream key that has clients blocked on stream - reprocessing command (1027 ms) -[ok]: XGROUP DESTROY should unblock XREADGROUP with -NOGROUP (15 ms) -[ok]: RENAME can unblock XREADGROUP with data (18 ms) -[ok]: RENAME can unblock XREADGROUP with -NOGROUP (14 ms) -[ok]: XCLAIM can claim PEL items from another consumer (607 ms) -[ok]: XCLAIM without JUSTID increments delivery count (404 ms) +[ok]: XREAD and XREADGROUP against wrong parameter (2 ms) +[ok]: Blocking XREAD: key deleted (13 ms) +[ok]: Blocking XREAD: key type changed with SET (15 ms) +[ok]: Blocking XREADGROUP for stream that ran dry (issue #5299) (104 ms) +[ok]: Blocking XREADGROUP will ignore BLOCK if ID is not > (29 ms) +[ok]: Blocking XREADGROUP for stream key that has clients blocked on list (53 ms) +[ok]: Blocking XREADGROUP for stream key that has clients blocked on stream - avoid endless loop (69 ms) +[ok]: Blocking XREADGROUP for stream key that has clients blocked on stream - reprocessing command (1100 ms) +[ok]: XGROUP DESTROY should unblock XREADGROUP with -NOGROUP (23 ms) +[ok]: RENAME can unblock XREADGROUP with data (25 ms) +[ok]: RENAME can unblock XREADGROUP with -NOGROUP (24 ms) +[ok]: XCLAIM can claim PEL items from another consumer (623 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 (605 ms) -[ok]: XAUTOCLAIM as an iterator (204 ms) -[ok]: XAUTOCLAIM COUNT must be > 0 (1 ms) -[ok]: XCLAIM with XDEL (2 ms) -[ok]: XCLAIM with trimming (2 ms) -[ok]: XAUTOCLAIM with XDEL (1 ms) -[ok]: XAUTOCLAIM with XDEL and count (7 ms) -[ok]: XAUTOCLAIM with out of range count (1 ms) +[ok]: XAUTOCLAIM can claim PEL items from another consumer (639 ms) +[ok]: XAUTOCLAIM as an iterator (213 ms) +[ok]: XAUTOCLAIM COUNT must be > 0 (0 ms) +[ok]: XCLAIM with XDEL (8 ms) [ok]: XCLAIM with trimming (2 ms) -[ok]: XINFO FULL output (4 ms) -[ok]: Consumer seen-time and active-time (207 ms) -[ok]: XGROUP CREATECONSUMER: create consumer if does not exist (2 ms) +[ok]: XAUTOCLAIM with XDEL (6 ms) +[ok]: XAUTOCLAIM with XDEL and count (2 ms) +[ok]: XAUTOCLAIM with out of range count (0 ms) +[ok]: XCLAIM with trimming (6 ms) +[ok]: XINFO FULL output (15 ms) +[ok]: Consumer seen-time and active-time (258 ms) +[ok]: XGROUP CREATECONSUMER: create consumer if does not exist (6 ms) [ok]: XGROUP CREATECONSUMER: group must exist (1 ms) -[ok]: XREADGROUP of multiple entries changes dirty by one (3 ms) -[ok]: XREADGROUP from PEL does not change dirty (4 ms) +[ok]: XREADGROUP of multiple entries changes dirty by one (6 ms) +[ok]: XREADGROUP from PEL does not change dirty (3 ms) === (stream needs:debug) Starting server 127.0.0.1:21537 ok -[ok]: XREADGROUP with NOACK creates consumer (15 ms) +[ok]: XREADGROUP with NOACK creates consumer (31 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 (125 ms) -[ok]: Consumer group read counter and lag in empty streams (5 ms) +Waiting for background AOF rewrite to finish... [ok]: Consumer without PEL is present in AOF after AOFRW (83 ms) +[ok]: Consumer group read counter and lag in empty streams (47 ms) [ok]: Consumer group read counter and lag sanity (4 ms) -[ok]: Consumer group lag with XDELs (7 ms) -[ok]: Consumer Group Lag with XDELs and tombstone after the last_id of consume group (3 ms) -[ok]: Consumer group lag with XTRIM (5 ms) +[ok]: Consumer group lag with XDELs (15 ms) +[ok]: Consumer Group Lag with XDELs and tombstone after the last_id of consume group (7 ms) +[ok]: Consumer group lag with XTRIM (8 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 (1 ms) +[ok]: Loading from legacy (Redis <= v7.0.x, rdb_ver < 11) persistence (9 ms) === (external:skip) Starting server 127.0.0.1:21539 ok -[ok]: Consumer group last ID propagation to slave (NOACK=0) (119 ms) -[ok]: Consumer group last ID propagation to slave (NOACK=1) (111 ms) +[ok]: Consumer group last ID propagation to slave (NOACK=0) (139 ms) +[ok]: Consumer group last ID propagation to slave (NOACK=1) (112 ms) === (external:skip) Starting server 127.0.0.1:21541 ok -[ok]: Replication tests of XCLAIM with deleted entries (autoclaim=0) (221 ms) -[ok]: Replication tests of XCLAIM with deleted entries (autoclaim=1) (5 ms) -[ok]: XREADGROUP ACK would propagate entries-read (3 ms) +[ok]: Replication tests of XCLAIM with deleted entries (autoclaim=0) (379 ms) +[ok]: Replication tests of XCLAIM with deleted entries (autoclaim=1) (268 ms) +[ok]: XREADGROUP ACK would propagate entries-read (113 ms) [ok]: XREADGROUP from PEL inside MULTI (2 ms) === (stream needs:debug) Starting server 127.0.0.1:21543 ok -Waiting for background AOF rewrite to finish... [ok]: Empty stream with no lastid can be rewrite into AOF correctly (54 ms) -[53/96 done]: unit/type/stream-cgroups (6 seconds) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: Empty stream with no lastid can be rewrite into AOF correctly (176 ms) +[53/96 done]: unit/type/stream-cgroups (8 seconds) Testing unit/type/stream === (stream) Starting server 127.0.0.1:21545 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 IDs are incremental (0 ms) -[ok]: XADD IDs are incremental when ms is the same as well (0 ms) -[ok]: XADD IDs correctly report an error when overflowing (0 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 can't be smaller than last ID (0 ms) -[ok]: XADD auto-generated sequence can't overflow (5 ms) +[ok]: XADD wrong number of args (24 ms) +[ok]: XADD can add entries into a stream that XRANGE can fetch (32 ms) +[ok]: XADD IDs are incremental (24 ms) +[ok]: XADD IDs are incremental when ms is the same as well (36 ms) +[ok]: XADD IDs correctly report an error when overflowing (24 ms) +[ok]: XADD auto-generated sequence is incremented for last ID (24 ms) +[ok]: XADD auto-generated sequence is zero for future timestamp ID (20 ms) +[ok]: XADD auto-generated sequence can't be smaller than last ID (24 ms) +[ok]: XADD auto-generated sequence can't overflow (4 ms) [ok]: XADD 0-* should succeed (1 ms) -[ok]: XADD with MAXLEN option (120 ms) -[ok]: XADD with MAXLEN option and the '=' argument (117 ms) -[ok]: XADD with MAXLEN option and the '~' argument (117 ms) +[ok]: XADD with MAXLEN option (216 ms) +[ok]: XADD with MAXLEN option and the '=' argument (219 ms) +[ok]: XADD with MAXLEN option and the '~' argument (221 ms) [ok]: XADD with NOMKSTREAM option (1 ms) -[ok]: XADD with MINID option (122 ms) +[ok]: XADD with MINID option (230 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 (1800 ms) +[ok]: XADD mass insertion and XLEN (3229 ms) [ok]: XADD with ID 0-0 (1 ms) -[ok]: XADD with LIMIT delete entries no more than limit (1 ms) -[ok]: XRANGE COUNT works as expected (1 ms) +[ok]: XADD with LIMIT delete entries no more than limit (0 ms) +[ok]: XRANGE COUNT works as expected (0 ms) [ok]: XREVRANGE COUNT works as expected (1 ms) -[ok]: XRANGE can be used to iterate the whole stream (292 ms) -[ok]: XREVRANGE returns the reverse of XRANGE (1035 ms) +[ok]: XRANGE can be used to iterate the whole stream (693 ms) +[ok]: XREVRANGE returns the reverse of XRANGE (2343 ms) [ok]: XRANGE exclusive ranges (4 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 (1225 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 (1958 ms) [ok]: Blocking XREAD waiting new data (14 ms) [ok]: Blocking XREAD waiting old data (13 ms) -[ok]: Blocking XREAD will not reply with an empty array (34 ms) -[ok]: Blocking XREAD for stream that ran dry (issue #5299) (100 ms) -[ok]: XREAD last element from non-empty stream (2 ms) +[ok]: Blocking XREAD will not reply with an empty array (44 ms) +[ok]: Blocking XREAD for stream that ran dry (issue #5299) (104 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 (13 ms) +[ok]: XREAD last element blocking from empty stream (28 ms) [ok]: XREAD last element blocking from non-empty stream (1 ms) -[ok]: XREAD last element from multiple streams (1 ms) +[ok]: XREAD last element from multiple streams (2 ms) [ok]: XREAD last element with count > 1 (1 ms) -[ok]: XREAD: read last element after XDEL (issue #13628) (6 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 (14 ms) -[ok]: XDEL basic test (1 ms) -[ok]: XDEL multiply id test (1 ms) -[ok]: XDEL fuzz test (1668 ms) -[ok]: XRANGE fuzzing (4543 ms) -[ok]: XREVRANGE regression test for issue #5006 (1 ms) +[ok]: XREAD: read last element after XDEL (issue #13628) (1 ms) +[ok]: XREAD: XADD + DEL should not awake client (24 ms) +[ok]: XREAD: XADD + DEL + LPUSH should not awake client (26 ms) +[ok]: XREAD with same stream name multiple times should work (21 ms) +[ok]: XREAD + multiple XADD inside transaction (17 ms) +[ok]: XDEL basic test (7 ms) +[ok]: XDEL multiply id test (2 ms) +[ok]: XDEL fuzz test (3301 ms) +[ok]: XRANGE fuzzing (8487 ms) +[ok]: XREVRANGE regression test for issue #5006 (8 ms) [ok]: XREAD streamID edge (no-blocking) (1 ms) -[ok]: XREAD streamID edge (blocking) (16 ms) +[ok]: XREAD streamID edge (blocking) (18 ms) [ok]: XADD streamID edge (0 ms) -[ok]: XTRIM with MAXLEN option basic test (141 ms) +[ok]: XTRIM with MAXLEN option basic test (186 ms) [ok]: XADD with LIMIT consecutive calls (12 ms) [ok]: XTRIM with ~ is limited (12 ms) -[ok]: XTRIM without ~ is not limited (11 ms) -[ok]: XTRIM without ~ and with LIMIT (11 ms) +[ok]: XTRIM without ~ is not limited (12 ms) +[ok]: XTRIM without ~ and with LIMIT (12 ms) [ok]: XTRIM with LIMIT delete entries no more than limit (1 ms) === (stream needs:debug) Starting server 127.0.0.1:21547 ok [ok]: XADD with MAXLEN > xlen can propagate correctly (22 ms) === (stream needs:debug) Starting server 127.0.0.1:21549 ok [ok]: XADD with MINID > lastid can propagate correctly (24 ms) === (stream needs:debug) Starting server 127.0.0.1:21551 ok -[ok]: XADD with ~ MAXLEN can propagate correctly (25 ms) +[ok]: XADD with ~ MAXLEN can propagate correctly (14 ms) === (stream needs:debug) Starting server 127.0.0.1:21553 ok -[ok]: XADD with ~ MAXLEN and LIMIT can propagate correctly (23 ms) +[ok]: XADD with ~ MAXLEN and LIMIT can propagate correctly (26 ms) === (stream needs:debug) Starting server 127.0.0.1:21555 ok -[ok]: XADD with ~ MINID can propagate correctly (27 ms) +[ok]: XADD with ~ MINID can propagate correctly (70 ms) === (stream needs:debug) Starting server 127.0.0.1:21557 ok -[ok]: XADD with ~ MINID and LIMIT can propagate correctly (27 ms) +[ok]: XADD with ~ MINID and LIMIT can propagate correctly (423 ms) === (stream needs:debug) Starting server 127.0.0.1:21559 ok -[ok]: XTRIM with ~ MAXLEN can propagate correctly (34 ms) +[ok]: XTRIM with ~ MAXLEN can propagate correctly (26 ms) === (stream) Starting server 127.0.0.1:21561 ok [ok]: XADD can CREATE an empty stream (1 ms) -[ok]: XSETID can set a specific ID (1 ms) +[ok]: XSETID can set a specific ID (0 ms) [ok]: XSETID cannot SETID with smaller ID (1 ms) [ok]: XSETID cannot SETID on non-existent key (0 ms) [ok]: XSETID cannot run with an offset but without a maximal tombstone (0 ms) -[ok]: XSETID cannot run with a maximal tombstone but without an offset (0 ms) +[ok]: XSETID cannot run with a maximal tombstone but without an offset (1 ms) [ok]: XSETID errors on negstive offset (0 ms) -[ok]: XSETID cannot set the maximal tombstone with larger ID (1 ms) -[ok]: XSETID cannot set the offset to less than the length (1 ms) -[ok]: XSETID cannot set smaller ID than current MAXDELETEDID (2 ms) +[ok]: XSETID cannot set the maximal tombstone with larger ID (0 ms) +[ok]: XSETID cannot set the offset to less than the length (5 ms) +[ok]: XSETID cannot set smaller ID than current MAXDELETEDID (1 ms) === (stream) Starting server 127.0.0.1:21563 ok -[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 (6 ms) -[ok]: Maximum XDEL ID behaves correctly (4 ms) -[ok]: XADD with artial ID with maximal seq (1 ms) +[ok]: XADD advances the entries-added counter and sets the recorded-first-entry-id (2 ms) +[ok]: XDEL/TRIM are reflected by recorded first entry (7 ms) +[ok]: Maximum XDEL ID behaves correctly (2 ms) +[ok]: XADD with artial ID with maximal seq (5 ms) === (stream needs:debug) Starting server 127.0.0.1:21565 ok -Waiting for background AOF rewrite to finish... [ok]: Empty stream can be rewrite into AOF correctly (58 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: Empty stream can be rewrite into AOF correctly (108 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Stream can be rewrite into AOF correctly after XDEL lastid (111 ms) +Waiting for background AOF rewrite to finish... [ok]: Stream can be rewrite into AOF correctly after XDEL lastid (112 ms) === (stream) Starting server 127.0.0.1:21567 ok -[ok]: XGROUP HELP should not have unexpected options (1 ms) +[ok]: XGROUP HELP should not have unexpected options (0 ms) [ok]: XINFO HELP should not have unexpected options (0 ms) -[54/96 done]: unit/type/stream (15 seconds) +[54/96 done]: unit/type/stream (29 seconds) Testing unit/type/string === (string) Starting server 127.0.0.1:21569 ok -[ok]: SET and GET an item (0 ms) -[ok]: SET and GET an empty item (0 ms) -[ok]: Very big payload in GET/SET (92 ms) -[ok]: Very big payload random access (2602 ms) -[ok]: SET 10000 numeric keys and access all them in reverse order (2261 ms) +[ok]: SET and GET an item (15 ms) +[ok]: SET and GET an empty item (16 ms) +[ok]: Very big payload in GET/SET (84 ms) +[ok]: Very big payload random access (2081 ms) +[ok]: SET 10000 numeric keys and access all them in reverse order (2528 ms) [ok]: DBSIZE should be 10000 now (1 ms) [ok]: SETNX target key missing (0 ms) -[ok]: SETNX target key exists (1 ms) -[ok]: SETNX against not-expired volatile key (0 ms) -[ok]: SETNX against expired volatile key (3112 ms) +[ok]: SETNX target key exists (0 ms) +[ok]: SETNX against not-expired volatile key (1 ms) +[ok]: SETNX against expired volatile key (3255 ms) [ok]: GETEX EX option (1 ms) -[ok]: GETEX PX option (1 ms) +[ok]: GETEX PX option (7 ms) [ok]: GETEX EXAT option (1 ms) [ok]: GETEX PXAT option (1 ms) -[ok]: GETEX PERSIST option (1 ms) +[ok]: GETEX PERSIST option (0 ms) [ok]: GETEX no option (1 ms) -[ok]: GETEX syntax errors (1 ms) -[ok]: GETEX and GET expired key or not exist (3 ms) -[ok]: GETEX no arguments (0 ms) -[ok]: GETDEL command (1 ms) -[ok]: GETDEL propagate as DEL command to replica (121 ms) -[ok]: GETEX without argument does not propagate to replica (103 ms) -[ok]: MGET (14 ms) -[ok]: MGET against non existing key (1 ms) +[ok]: GETEX syntax errors (0 ms) +[ok]: GETEX and GET expired key or not exist (5 ms) +[ok]: GETEX no arguments (1 ms) +[ok]: GETDEL command (0 ms) +[ok]: GETDEL propagate as DEL command to replica (153 ms) +[ok]: GETEX without argument does not propagate to replica (104 ms) +[ok]: MGET (17 ms) +[ok]: MGET against non existing key (0 ms) [ok]: MGET against non-string key (1 ms) -[ok]: GETSET (set new value) (1 ms) -[ok]: GETSET (replace old value) (1 ms) +[ok]: GETSET (set new value) (0 ms) +[ok]: GETSET (replace old value) (5 ms) [ok]: MSET base case (1 ms) [ok]: MSET/MSETNX wrong number of args (0 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 (1 ms) [ok]: STRLEN against plain string (0 ms) -[ok]: SETBIT against non-existing key (0 ms) -[ok]: SETBIT against string-encoded key (2 ms) +[ok]: SETBIT against non-existing key (1 ms) +[ok]: SETBIT against string-encoded key (5 ms) [ok]: SETBIT against integer-encoded key (1 ms) -[ok]: SETBIT against key with wrong type (1 ms) -[ok]: SETBIT with out of range bit offset (1 ms) +[ok]: SETBIT against key with wrong type (0 ms) +[ok]: SETBIT with out of range bit offset (0 ms) [ok]: SETBIT with non-bit argument (1 ms) -[ok]: SETBIT fuzzing (468 ms) +[ok]: SETBIT fuzzing (997 ms) [ok]: GETBIT against non-existing key (1 ms) -[ok]: GETBIT against string-encoded key (2 ms) -[ok]: GETBIT against integer-encoded key (1 ms) -[ok]: SETRANGE against non-existing key (2 ms) +[ok]: GETBIT against string-encoded key (1 ms) +[ok]: GETBIT against integer-encoded key (5 ms) +[ok]: SETRANGE against non-existing key (1 ms) [ok]: SETRANGE against string-encoded key (2 ms) -[ok]: SETRANGE against integer-encoded key (3 ms) +[ok]: SETRANGE against integer-encoded key (5 ms) [ok]: SETRANGE against key with wrong type (1 ms) [ok]: SETRANGE with out of range offset (1 ms) -[ok]: GETRANGE against non-existing key (1 ms) -[ok]: GETRANGE against wrong key type (0 ms) +[ok]: GETRANGE against non-existing key (0 ms) +[ok]: GETRANGE against wrong key type (5 ms) [ok]: GETRANGE against string value (1 ms) -[ok]: GETRANGE against integer-encoded value (2 ms) -[ok]: GETRANGE fuzzing (1024 ms) -[ok]: Coverage: SUBSTR (2 ms) -[ok]: trim on SET with big value (46 ms) -[ok]: Extended SET can detect syntax errors (1 ms) -[ok]: Extended SET NX option (1 ms) -[ok]: Extended SET XX option (1 ms) +[ok]: GETRANGE against integer-encoded value (1 ms) +[ok]: GETRANGE fuzzing (1911 ms) +[ok]: Coverage: SUBSTR (1 ms) +[ok]: trim on SET with big value (45 ms) +[ok]: Extended SET can detect syntax errors (0 ms) +[ok]: Extended SET NX option (0 ms) +[ok]: Extended SET XX option (7 ms) [ok]: Extended SET GET option (0 ms) -[ok]: Extended SET GET option with no previous value (0 ms) -[ok]: Extended SET GET option with XX (1 ms) -[ok]: Extended SET GET option with XX and no previous value (1 ms) -[ok]: Extended SET GET option with NX (1 ms) -[ok]: Extended SET GET option with NX and previous value (1 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 (0 ms) +[ok]: Extended SET GET option with NX (0 ms) +[ok]: Extended SET GET option with NX and previous value (0 ms) [ok]: Extended SET GET with incorrect type should result in wrong type error (1 ms) -[ok]: Extended SET EX option (0 ms) +[ok]: Extended SET EX option (1 ms) [ok]: Extended SET PX option (0 ms) -[ok]: Extended SET EXAT option (1 ms) +[ok]: Extended SET EXAT option (0 ms) [ok]: Extended SET PXAT option (1 ms) -[ok]: Extended SET using multiple options at once (1 ms) -[ok]: GETRANGE with huge ranges, Github issue #1844 (0 ms) -[ok]: LCS basic (1 ms) -[ok]: LCS len (1 ms) +[ok]: Extended SET using multiple options at once (0 ms) +[ok]: GETRANGE with huge ranges, Github issue #1844 (1 ms) +[ok]: LCS basic (5 ms) +[ok]: LCS len (0 ms) [ok]: LCS indexes (0 ms) [ok]: LCS indexes with match len (1 ms) [ok]: LCS indexes with match len and minimum match len (0 ms) -[ok]: SETRANGE with huge offset (1 ms) +[ok]: SETRANGE with huge offset (0 ms) [ok]: APPEND modifies the encoding from int to raw (2 ms) -[55/96 done]: unit/type/string (10 seconds) +[55/96 done]: unit/type/string (11 seconds) Testing unit/type/zset === (zset) Starting server 127.0.0.1:21571 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 element can't be set to NaN with ZINCRBY - listpack (0 ms) -[ok]: ZADD with options syntax error with incomplete pair - listpack (1 ms) -[ok]: ZADD XX option without key - listpack (1 ms) +[ok]: 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 (1 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 existing key - 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 XX returns the number of elements actually added - listpack (1 ms) +[ok]: ZADD XX updates existing elements score - listpack (0 ms) +[ok]: ZADD GT updates existing elements when new scores are greater - listpack (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 GT XX updates existing elements when new scores are greater and skips new elements - listpack (8 ms) [ok]: ZADD LT XX updates existing elements when new scores are lower and skips new elements - listpack (1 ms) [ok]: ZADD XX and NX are not compatible - listpack (0 ms) [ok]: ZADD NX with non existing key - listpack (0 ms) -[ok]: ZADD NX only add new elements without updating old ones - listpack (1 ms) -[ok]: ZADD GT and NX are not compatible - listpack (1 ms) +[ok]: ZADD NX only add new elements without updating old ones - listpack (0 ms) +[ok]: ZADD GT and NX are not compatible - listpack (0 ms) [ok]: ZADD LT and NX are not compatible - listpack (0 ms) -[ok]: ZADD LT and GT are not compatible - listpack (0 ms) -[ok]: ZADD INCR LT/GT replies with nill if score not updated - listpack (1 ms) -[ok]: ZADD INCR LT/GT with inf - listpack (3 ms) -[ok]: ZADD INCR works like ZINCRBY - 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 (0 ms) +[ok]: ZADD INCR LT/GT with inf - listpack (6 ms) +[ok]: ZADD INCR works like ZINCRBY - listpack (1 ms) [ok]: ZADD INCR works with a single score-elemenet pair - listpack (1 ms) -[ok]: ZADD CH option changes return value to all changed elements - listpack (1 ms) -[ok]: ZINCRBY calls leading to NaN result in error - listpack (0 ms) -[ok]: ZINCRBY accepts hexadecimal inputs - 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 (0 ms) +[ok]: ZADD CH option changes return value to all changed elements - listpack (0 ms) +[ok]: ZINCRBY calls leading to NaN result in error - listpack (1 ms) +[ok]: ZINCRBY accepts hexadecimal inputs - listpack (0 ms) +[ok]: ZINCRBY against invalid incr value - listpack (2 ms) +[ok]: ZADD - Variadic version base case - listpack (0 ms) +[ok]: ZADD - Return value is the number of actually added items - listpack (6 ms) [ok]: ZADD - Variadic version does not add nothing on single parsing err - listpack (1 ms) [ok]: ZADD - Variadic version will raise error on missing arg - listpack (0 ms) [ok]: ZINCRBY does not work variadic even if shares ZADD implementation - listpack (0 ms) -[ok]: ZCARD basics - listpack (0 ms) +[ok]: ZCARD basics - listpack (1 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 (1 ms) -[ok]: ZRANGE basics - listpack (2 ms) -[ok]: ZREVRANGE basics - listpack (2 ms) -[ok]: ZRANK/ZREVRANK basics - listpack (3 ms) -[ok]: ZRANK - after deletion - listpack (1 ms) +[ok]: ZREM variadic version -- remove elements after key deletion - listpack (0 ms) +[ok]: ZRANGE basics - listpack (9 ms) +[ok]: ZREVRANGE basics - listpack (3 ms) +[ok]: ZRANK/ZREVRANK basics - listpack (2 ms) +[ok]: ZRANK - after deletion - listpack (6 ms) [ok]: ZINCRBY - can create a new sorted set - listpack (0 ms) -[ok]: ZINCRBY - increment and decrement - listpack (2 ms) -[ok]: ZINCRBY return value - listpack (0 ms) -[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - listpack (6 ms) +[ok]: ZINCRBY - increment and decrement - listpack (1 ms) +[ok]: ZINCRBY return value - listpack (1 ms) +[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - listpack (12 ms) [ok]: ZRANGEBYSCORE with WITHSCORES - listpack (2 ms) -[ok]: ZRANGEBYSCORE with LIMIT - listpack (7 ms) -[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - listpack (1 ms) +[ok]: ZRANGEBYSCORE with LIMIT - listpack (11 ms) +[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - listpack (9 ms) [ok]: ZRANGEBYSCORE with non-value min or max - listpack (0 ms) [ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - listpack (4 ms) [ok]: ZLEXCOUNT advanced - listpack (3 ms) -[ok]: ZRANGEBYLEX with LIMIT - listpack (7 ms) +[ok]: ZRANGEBYLEX with LIMIT - listpack (15 ms) [ok]: ZRANGEBYLEX with invalid lex range specifiers - listpack (0 ms) -[ok]: ZREMRANGEBYSCORE basics - listpack (13 ms) -[ok]: ZREMRANGEBYSCORE with non-value min or max - listpack (1 ms) -[ok]: ZREMRANGEBYRANK basics - listpack (6 ms) -[ok]: ZREMRANGEBYLEX basics - listpack (15 ms) +[ok]: ZREMRANGEBYSCORE basics - listpack (28 ms) +[ok]: ZREMRANGEBYSCORE with non-value min or max - listpack (0 ms) +[ok]: ZREMRANGEBYRANK basics - listpack (10 ms) +[ok]: ZREMRANGEBYLEX basics - listpack (32 ms) [ok]: ZUNIONSTORE against non-existing key doesn't set destination - listpack (0 ms) [ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF against non-existing key - listpack (1 ms) -[ok]: ZUNIONSTORE with empty set - listpack (1 ms) +[ok]: ZUNIONSTORE with empty set - listpack (5 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]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - listpack (6 ms) [ok]: ZUNIONSTORE with weights - listpack (1 ms) [ok]: ZUNION with weights - listpack (0 ms) -[ok]: ZUNIONSTORE with a regular set and weights - listpack (2 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 (0 ms) -[ok]: ZUNIONSTORE with AGGREGATE MAX - listpack (1 ms) -[ok]: ZUNION/ZINTER with AGGREGATE MAX - listpack (0 ms) -[ok]: ZINTERSTORE basics - listpack (0 ms) -[ok]: ZINTER basics - listpack (1 ms) -[ok]: ZINTERCARD with illegal arguments (0 ms) +[ok]: ZUNION/ZINTER with AGGREGATE MIN - listpack (1 ms) +[ok]: ZUNIONSTORE with AGGREGATE MAX - listpack (0 ms) +[ok]: ZUNION/ZINTER with AGGREGATE MAX - listpack (4 ms) +[ok]: ZINTERSTORE basics - listpack (1 ms) +[ok]: ZINTER basics - listpack (0 ms) +[ok]: ZINTERCARD with illegal arguments (1 ms) [ok]: ZINTERCARD basics - listpack (0 ms) [ok]: ZINTER RESP3 - listpack (1 ms) -[ok]: ZINTERSTORE with weights - listpack (1 ms) +[ok]: ZINTERSTORE with weights - listpack (5 ms) [ok]: ZINTER with weights - listpack (0 ms) -[ok]: ZINTERSTORE with a regular set and weights - listpack (0 ms) +[ok]: ZINTERSTORE with a regular set and weights - listpack (1 ms) [ok]: ZINTERSTORE with AGGREGATE MIN - listpack (1 ms) [ok]: ZINTERSTORE with AGGREGATE MAX - listpack (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 (3 ms) +[ok]: ZUNIONSTORE with +inf/-inf scores - listpack (2 ms) +[ok]: ZUNIONSTORE with NaN weights - listpack (4 ms) +[ok]: ZINTERSTORE with +inf/-inf scores - listpack (2 ms) [ok]: ZINTERSTORE with NaN weights - listpack (1 ms) -[ok]: ZDIFFSTORE basics - listpack (1 ms) +[ok]: ZDIFFSTORE basics - listpack (5 ms) [ok]: ZDIFF basics - listpack (0 ms) -[ok]: ZDIFFSTORE with a regular set - listpack (2 ms) -[ok]: ZDIFF subtracting set from itself - listpack (0 ms) -[ok]: ZDIFF algorithm 1 - listpack (3 ms) -[ok]: ZDIFF algorithm 2 - listpack (3 ms) -[ok]: ZDIFF fuzzing - listpack (5786 ms) -[ok]: ZPOPMIN with the count 0 returns an empty array (0 ms) -[ok]: ZPOPMIN with negative count (0 ms) +[ok]: ZDIFFSTORE with a regular set - listpack (1 ms) +[ok]: ZDIFF subtracting set from itself - listpack (1 ms) +[ok]: ZDIFF algorithm 1 - listpack (1 ms) +[ok]: ZDIFF algorithm 2 - listpack (1 ms) +[ok]: ZDIFF fuzzing - listpack (8286 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 (1 ms) -[ok]: ZPOPMAX with negative count (0 ms) +[ok]: ZPOPMAX with negative count (8 ms) [ok]: Basic ZPOPMIN/ZPOPMAX with a single key - listpack (2 ms) -[ok]: ZPOPMIN/ZPOPMAX with count - listpack (0 ms) +[ok]: ZPOPMIN/ZPOPMAX with count - listpack (1 ms) [ok]: Basic ZMPOP_MIN/ZMPOP_MAX with a single key - listpack (2 ms) [ok]: ZMPOP_MIN/ZMPOP_MAX with count - listpack (1 ms) -[ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - listpack (13 ms) -[ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - listpack (15 ms) -[ok]: BZPOPMIN/BZPOPMAX second sorted set has members - listpack (14 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - listpack (16 ms) +[ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - listpack (26 ms) +[ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - listpack (25 ms) +[ok]: BZPOPMIN/BZPOPMAX second sorted set has members - listpack (23 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - listpack (24 ms) [ok]: BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - listpack (24 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - listpack (24 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - listpack (25 ms) [ok]: Basic ZPOPMIN/ZPOPMAX - listpack RESP3 (2 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 (2 ms) -[ok]: BZPOPMIN/BZPOPMAX - listpack RESP3 (26 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX - listpack RESP3 (28 ms) +[ok]: BZPOPMIN/BZPOPMAX - listpack RESP3 (30 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX - listpack RESP3 (20 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 (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 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 with options syntax error with incomplete pair - skiplist (0 ms) +[ok]: ZADD XX option without key - skiplist (1 ms) [ok]: ZADD XX existing key - skiplist (1 ms) -[ok]: ZADD XX returns the number of elements actually added - skiplist (1 ms) +[ok]: ZADD XX 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 GT updates existing elements when new scores are greater - skiplist (5 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 (2 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 (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 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 (3 ms) +[ok]: ZADD GT and NX are not compatible - skiplist (0 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 (4 ms) +[ok]: ZADD INCR LT/GT replies with nill if score not updated - skiplist (0 ms) +[ok]: ZADD INCR LT/GT with inf - skiplist (10 ms) [ok]: ZADD INCR works like ZINCRBY - skiplist (1 ms) [ok]: ZADD INCR works with a single score-elemenet pair - skiplist (0 ms) -[ok]: ZADD CH option changes return value to all changed elements - skiplist (0 ms) -[ok]: ZINCRBY calls leading to NaN result in error - skiplist (1 ms) +[ok]: ZADD CH option changes return value to all changed elements - skiplist (1 ms) +[ok]: ZINCRBY calls leading to NaN result in error - skiplist (0 ms) [ok]: ZINCRBY accepts hexadecimal inputs - skiplist (1 ms) -[ok]: ZINCRBY against invalid incr value - skiplist (0 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 (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 (1 ms) [ok]: ZINCRBY does not work variadic even if shares ZADD implementation - skiplist (0 ms) [ok]: ZCARD basics - skiplist (1 ms) -[ok]: ZREM removes key after last element is removed - skiplist (2 ms) -[ok]: ZREM variadic version - skiplist (2 ms) -[ok]: ZREM variadic version -- remove elements after key deletion - skiplist (1 ms) -[ok]: ZRANGE basics - skiplist (4 ms) -[ok]: ZREVRANGE basics - skiplist (5 ms) -[ok]: ZRANK/ZREVRANK basics - skiplist (4 ms) -[ok]: ZRANK - after deletion - skiplist (1 ms) -[ok]: ZINCRBY - can create a new sorted set - skiplist (1 ms) -[ok]: ZINCRBY - increment and decrement - skiplist (2 ms) +[ok]: ZREM removes key after last element is removed - skiplist (1 ms) +[ok]: ZREM variadic version - skiplist (7 ms) +[ok]: ZREM variadic version -- remove elements after key deletion - skiplist (0 ms) +[ok]: ZRANGE basics - skiplist (3 ms) +[ok]: ZREVRANGE basics - skiplist (2 ms) +[ok]: ZRANK/ZREVRANK basics - skiplist (2 ms) +[ok]: ZRANK - after deletion - skiplist (8 ms) +[ok]: ZINCRBY - can create a new sorted set - skiplist (0 ms) +[ok]: ZINCRBY - increment and decrement - skiplist (1 ms) [ok]: ZINCRBY return value - skiplist (1 ms) -[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - skiplist (8 ms) -[ok]: ZRANGEBYSCORE with WITHSCORES - skiplist (2 ms) -[ok]: ZRANGEBYSCORE with LIMIT - skiplist (11 ms) -[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - skiplist (2 ms) -[ok]: ZRANGEBYSCORE with non-value min or max - skiplist (0 ms) -[ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - skiplist (5 ms) -[ok]: ZLEXCOUNT advanced - skiplist (4 ms) -[ok]: ZRANGEBYLEX with LIMIT - skiplist (10 ms) +[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - skiplist (5 ms) +[ok]: ZRANGEBYSCORE with WITHSCORES - skiplist (8 ms) +[ok]: ZRANGEBYSCORE with LIMIT - skiplist (7 ms) +[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - skiplist (1 ms) +[ok]: ZRANGEBYSCORE with non-value min or max - skiplist (7 ms) +[ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - skiplist (4 ms) +[ok]: ZLEXCOUNT advanced - skiplist (3 ms) +[ok]: ZRANGEBYLEX with LIMIT - skiplist (13 ms) [ok]: ZRANGEBYLEX with invalid lex range specifiers - skiplist (1 ms) -[ok]: ZREMRANGEBYSCORE basics - skiplist (21 ms) +[ok]: ZREMRANGEBYSCORE basics - skiplist (27 ms) [ok]: ZREMRANGEBYSCORE with non-value min or max - skiplist (1 ms) -[ok]: ZREMRANGEBYRANK basics - skiplist (9 ms) -[ok]: ZREMRANGEBYLEX basics - skiplist (23 ms) -[ok]: ZUNIONSTORE against non-existing key doesn't set destination - skiplist (1 ms) +[ok]: ZREMRANGEBYRANK basics - skiplist (6 ms) +[ok]: ZREMRANGEBYLEX basics - skiplist (30 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 (3 ms) +[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - skiplist (1 ms) +[ok]: ZUNIONSTORE basics - skiplist (8 ms) +[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - skiplist (2 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 (1 ms) +[ok]: ZUNIONSTORE with AGGREGATE MIN - skiplist (0 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 (1 ms) -[ok]: ZINTERSTORE basics - skiplist (0 ms) +[ok]: ZUNIONSTORE with AGGREGATE MAX - skiplist (0 ms) +[ok]: ZUNION/ZINTER with AGGREGATE MAX - skiplist (0 ms) +[ok]: ZINTERSTORE basics - skiplist (1 ms) [ok]: ZINTER basics - skiplist (0 ms) [ok]: ZINTERCARD with illegal arguments (1 ms) [ok]: ZINTERCARD basics - skiplist (0 ms) [ok]: ZINTER RESP3 - skiplist (1 ms) -[ok]: ZINTERSTORE with weights - skiplist (1 ms) +[ok]: ZINTERSTORE with weights - skiplist (7 ms) [ok]: ZINTER with weights - skiplist (1 ms) -[ok]: ZINTERSTORE with a regular set and weights - skiplist (1 ms) -[ok]: ZINTERSTORE with AGGREGATE MIN - skiplist (1 ms) +[ok]: ZINTERSTORE with a regular set and weights - skiplist (0 ms) +[ok]: ZINTERSTORE with AGGREGATE MIN - skiplist (0 ms) [ok]: ZINTERSTORE with AGGREGATE MAX - skiplist (0 ms) -[ok]: ZUNIONSTORE with +inf/-inf scores - skiplist (4 ms) -[ok]: ZUNIONSTORE with NaN weights - skiplist (2 ms) -[ok]: ZINTERSTORE with +inf/-inf scores - skiplist (3 ms) +[ok]: ZUNIONSTORE with +inf/-inf scores - skiplist (2 ms) +[ok]: ZUNIONSTORE with NaN weights - skiplist (1 ms) +[ok]: ZINTERSTORE with +inf/-inf scores - skiplist (2 ms) [ok]: ZINTERSTORE with NaN weights - skiplist (1 ms) -[ok]: ZDIFFSTORE basics - skiplist (1 ms) +[ok]: ZDIFFSTORE basics - skiplist (0 ms) [ok]: ZDIFF basics - skiplist (0 ms) -[ok]: ZDIFFSTORE with a regular set - skiplist (2 ms) -[ok]: ZDIFF subtracting set from itself - skiplist (1 ms) -[ok]: ZDIFF algorithm 1 - skiplist (2 ms) +[ok]: ZDIFFSTORE with a regular set - skiplist (8 ms) +[ok]: ZDIFF subtracting set from itself - skiplist (0 ms) +[ok]: ZDIFF algorithm 1 - skiplist (1 ms) [ok]: ZDIFF algorithm 2 - skiplist (2 ms) -[ok]: ZDIFF fuzzing - skiplist (4622 ms) +[ok]: ZDIFF fuzzing - skiplist (6067 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 - skiplist (1 ms) +[ok]: ZPOPMAX with the count 0 returns an empty array (1 ms) +[ok]: ZPOPMAX with negative count (0 ms) +[ok]: Basic ZPOPMIN/ZPOPMAX with a single key - skiplist (8 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 (2 ms) -[ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - skiplist (14 ms) -[ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - skiplist (14 ms) -[ok]: BZPOPMIN/BZPOPMAX second sorted set has members - skiplist (15 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - skiplist (16 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - skiplist (24 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - skiplist (24 ms) -[ok]: Basic ZPOPMIN/ZPOPMAX - skiplist RESP3 (2 ms) +[ok]: Basic ZMPOP_MIN/ZMPOP_MAX with a single key - skiplist (2 ms) +[ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist (8 ms) +[ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - skiplist (25 ms) +[ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - skiplist (23 ms) +[ok]: BZPOPMIN/BZPOPMAX second sorted set has members - skiplist (25 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - skiplist (28 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - skiplist (26 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - skiplist (25 ms) +[ok]: Basic ZPOPMIN/ZPOPMAX - skiplist RESP3 (1 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 (25 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX - skiplist RESP3 (28 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 (134 ms) -[ok]: ZPOPMIN/ZPOPMAX readraw in RESP3 (2 ms) -[ok]: BZPOPMIN/BZPOPMAX readraw in RESP3 (163 ms) +[ok]: Basic ZMPOP_MIN/ZMPOP_MAX - skiplist RESP3 (8 ms) +[ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist RESP3 (2 ms) +[ok]: BZPOPMIN/BZPOPMAX - skiplist RESP3 (27 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX - skiplist RESP3 (23 ms) +[ok]: ZPOP/ZMPOP against wrong type (8 ms) +[ok]: ZMPOP with illegal argument (2 ms) +[ok]: ZMPOP propagate as pop with count command to replica (50 ms) +[ok]: ZPOPMIN/ZPOPMAX readraw in RESP3 (84 ms) +[ok]: BZPOPMIN/BZPOPMAX readraw in RESP3 (181 ms) [ok]: ZMPOP readraw in RESP3 (3 ms) -[ok]: BZMPOP readraw in RESP3 (199 ms) -[ok]: ZPOPMIN/ZPOPMAX readraw in RESP2 (2 ms) -[ok]: BZPOPMIN/BZPOPMAX readraw in RESP2 (166 ms) -[ok]: ZMPOP readraw in RESP2 (4 ms) -[ok]: BZMPOP readraw in RESP2 (198 ms) +[ok]: BZMPOP readraw in RESP3 (205 ms) +[ok]: ZPOPMIN/ZPOPMAX readraw in RESP2 (1 ms) +[ok]: BZPOPMIN/BZPOPMAX readraw in RESP2 (179 ms) +[ok]: ZMPOP readraw in RESP2 (3 ms) +[ok]: BZMPOP readraw in RESP2 (205 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 (2 ms) -[ok]: ZUNIONSTORE result is sorted (147 ms) +[ok]: ZINTERSTORE #516 regression, mixed sets and ziplist zsets (1 ms) +[ok]: ZUNIONSTORE result is sorted (148 ms) [ok]: ZUNIONSTORE/ZINTERSTORE/ZDIFFSTORE error if using WITHSCORES (1 ms) [ok]: ZMSCORE retrieve (1 ms) [ok]: ZMSCORE retrieve from empty set (1 ms) -[ok]: ZMSCORE retrieve with missing member (0 ms) -[ok]: ZMSCORE retrieve single member (0 ms) -[ok]: ZMSCORE retrieve requires one or more members (1 ms) +[ok]: ZMSCORE retrieve with missing member (1 ms) +[ok]: ZMSCORE retrieve single member (1 ms) +[ok]: ZMSCORE retrieve requires one or more members (6 ms) [ok]: ZSET commands don't accept the empty strings as valid score (1 ms) -[ok]: zunionInterDiffGenericCommand at least 1 input key (3 ms) -[ok]: ZSCORE - listpack (39 ms) -[ok]: ZMSCORE - listpack (30 ms) -[ok]: ZSCORE after a DEBUG RELOAD - listpack (33 ms) -[ok]: ZSET sorting stresser - listpack (43 ms) -[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 128 element sorted set - listpack (3658 ms) -[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (183 ms) -[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (376 ms) -[ok]: ZSETs skiplist implementation backlink consistency test - listpack (57 ms) -[ok]: ZSETs ZRANK augmented skip list stress testing - listpack (1269 ms) -[ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (30 ms) -[ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (32 ms) -[ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (35 ms) -[ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (35 ms) -[ok]: BZPOPMIN unblock but the key is expired and then block again - reprocessing command (1044 ms) -[ok]: BZPOPMIN with same key multiple times should work (15 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (18 ms) -[ok]: BZPOPMIN with variadic ZADD (13 ms) -[ok]: BZPOPMIN with zero timeout should block indefinitely (1021 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (14 ms) -[ok]: BZMPOP_MIN with variadic ZADD (14 ms) -[ok]: BZMPOP_MIN with zero timeout should block indefinitely (1017 ms) -[ok]: ZSCORE - skiplist (39 ms) -[ok]: ZMSCORE - skiplist (27 ms) -[ok]: ZSCORE after a DEBUG RELOAD - skiplist (31 ms) -[ok]: ZSET sorting stresser - skiplist (48 ms) -[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 100 element sorted set - skiplist (3451 ms) -[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (277 ms) -[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (315 ms) -[ok]: ZSETs skiplist implementation backlink consistency test - skiplist (19 ms) -[ok]: ZSETs ZRANK augmented skip list stress testing - skiplist (1096 ms) -[ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (14 ms) -[ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (14 ms) -[ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (14 ms) -[ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (14 ms) -[ok]: BZPOPMIN unblock but the key is expired and then block again - reprocessing command (1027 ms) -[ok]: BZPOPMIN with same key multiple times should work (15 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (13 ms) -[ok]: BZPOPMIN with variadic ZADD (13 ms) -[ok]: BZPOPMIN with zero timeout should block indefinitely (1021 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (15 ms) -[ok]: BZMPOP_MIN with variadic ZADD (13 ms) -[ok]: BZMPOP_MIN with zero timeout should block indefinitely (1020 ms) -[ok]: BZPOP/BZMPOP against wrong type (1 ms) -[ok]: BZMPOP with illegal argument (2 ms) -[ok]: BZMPOP with multiple blocked clients (59 ms) -[ok]: BZMPOP propagate as pop with count command to replica (151 ms) -[ok]: BZMPOP should not blocks on non key arguments - #10762 (30 ms) -[ok]: ZSET skiplist order consistency when elements are moved (1081 ms) -[ok]: ZRANGESTORE basic (5 ms) -[ok]: ZRANGESTORE RESP3 (1 ms) +[ok]: zunionInterDiffGenericCommand at least 1 input key (1 ms) +[ok]: ZSCORE - listpack (70 ms) +[ok]: ZMSCORE - listpack (70 ms) +[ok]: ZSCORE after a DEBUG RELOAD - listpack (77 ms) +[ok]: ZSET sorting stresser - listpack (93 ms) +[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 128 element sorted set - listpack (5869 ms) +[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (179 ms) +[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (311 ms) +[ok]: ZSETs skiplist implementation backlink consistency test - listpack (91 ms) +[ok]: ZSETs ZRANK augmented skip list stress testing - listpack (2122 ms) +[ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (22 ms) +[ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (26 ms) +[ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (29 ms) +[ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (22 ms) +[ok]: BZPOPMIN unblock but the key is expired and then block again - reprocessing command (1062 ms) +[ok]: BZPOPMIN with same key multiple times should work (30 ms) +[ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (26 ms) +[ok]: BZPOPMIN with variadic ZADD (27 ms) +[ok]: BZPOPMIN with zero timeout should block indefinitely (1028 ms) +[ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (21 ms) +[ok]: BZMPOP_MIN with variadic ZADD (26 ms) +[ok]: BZMPOP_MIN with zero timeout should block indefinitely (1029 ms) +[ok]: ZSCORE - skiplist (72 ms) +[ok]: ZMSCORE - skiplist (88 ms) +[ok]: ZSCORE after a DEBUG RELOAD - skiplist (70 ms) +[ok]: ZSET sorting stresser - skiplist (106 ms) +[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 100 element sorted set - skiplist (6530 ms) +[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (531 ms) +[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (765 ms) +[ok]: ZSETs skiplist implementation backlink consistency test - skiplist (82 ms) +[ok]: ZSETs ZRANK augmented skip list stress testing - skiplist (3280 ms) +[ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (36 ms) +[ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (30 ms) +[ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (41 ms) +[ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (22 ms) +[ok]: BZPOPMIN unblock but the key is expired and then block again - reprocessing command (1065 ms) +[ok]: BZPOPMIN with same key multiple times should work (52 ms) +[ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (21 ms) +[ok]: BZPOPMIN with variadic ZADD (26 ms) +[ok]: BZPOPMIN with zero timeout should block indefinitely (1026 ms) +[ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (41 ms) +[ok]: BZMPOP_MIN with variadic ZADD (38 ms) +[ok]: BZMPOP_MIN with zero timeout should block indefinitely (1035 ms) +[ok]: BZPOP/BZMPOP against wrong type (8 ms) +[ok]: BZMPOP with illegal argument (3 ms) +[ok]: BZMPOP with multiple blocked clients (95 ms) +[ok]: BZMPOP propagate as pop with count command to replica (269 ms) +[ok]: BZMPOP should not blocks on non key arguments - #10762 (62 ms) +[ok]: ZSET skiplist order consistency when elements are moved (2763 ms) +[ok]: ZRANGESTORE basic (1 ms) +[ok]: ZRANGESTORE RESP3 (0 ms) [ok]: ZRANGESTORE range (0 ms) -[ok]: ZRANGESTORE BYLEX (1 ms) -[ok]: ZRANGESTORE BYSCORE (1 ms) -[ok]: ZRANGESTORE BYSCORE LIMIT (0 ms) +[ok]: ZRANGESTORE BYLEX (0 ms) +[ok]: ZRANGESTORE BYSCORE (0 ms) +[ok]: ZRANGESTORE BYSCORE LIMIT (4 ms) [ok]: ZRANGESTORE BYSCORE REV LIMIT (0 ms) [ok]: ZRANGE BYSCORE REV LIMIT (1 ms) [ok]: ZRANGESTORE - src key missing (0 ms) [ok]: ZRANGESTORE - src key wrong type (1 ms) [ok]: ZRANGESTORE - empty range (0 ms) [ok]: ZRANGESTORE BYLEX - empty range (0 ms) -[ok]: ZRANGESTORE BYSCORE - empty range (0 ms) +[ok]: ZRANGESTORE BYSCORE - empty range (1 ms) [ok]: ZRANGE BYLEX (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 0 #10767 case (6 ms) [ok]: ZRANGESTORE with zset-max-listpack-entries 1 dst key should use skiplist encoding (1 ms) [ok]: ZRANGE invalid syntax (1 ms) -[ok]: ZRANDMEMBER - listpack (10 ms) -[ok]: ZRANDMEMBER - skiplist (14 ms) -[ok]: ZRANDMEMBER with RESP3 (0 ms) -[ok]: ZRANDMEMBER count of 0 is handled correctly (1 ms) +[ok]: ZRANDMEMBER - listpack (22 ms) +[ok]: ZRANDMEMBER - skiplist (22 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 (248 ms) -[ok]: ZRANDMEMBER with - listpack (251 ms) -[ok]: zset score double range (1 ms) -[ok]: zunionInterDiffGenericCommand acts on SET and ZSET (17 ms) -[ok]: ZADD overflows the maximum allowed elements in a listpack - single (8 ms) +[ok]: ZRANDMEMBER with - skiplist (833 ms) +[ok]: ZRANDMEMBER with - listpack (768 ms) +[ok]: zset score double range (0 ms) +[ok]: zunionInterDiffGenericCommand acts on SET and ZSET (42 ms) +[ok]: ZADD overflows the maximum allowed elements in a listpack - single (12 ms) [ok]: ZADD overflows the maximum allowed elements in a listpack - multiple (1 ms) [ok]: ZADD overflows the maximum allowed elements in a listpack - single_multiple (2 ms) -[56/96 done]: unit/type/zset (32 seconds) +[56/96 done]: unit/type/zset (50 seconds) Testing unit/cluster/announced-endpoints === (external:skip cluster) Starting server 127.0.0.1:21573 ok === (external:skip cluster) Starting server 127.0.0.1:21575 ok === (external:skip cluster) Starting server 127.0.0.1:21577 ok === (external:skip cluster) Starting server 127.0.0.1:21579 ok -[ok]: Test change cluster-announce-port and cluster-announce-tls-port at runtime (103 ms) -[ok]: Test change cluster-announce-bus-port at runtime (203 ms) +[ok]: Test change cluster-announce-port and cluster-announce-tls-port at runtime (160 ms) +[ok]: Test change cluster-announce-bus-port at runtime (103 ms) [ok]: CONFIG SET port updates cluster-announced port (1 ms) -[57/96 done]: unit/cluster/announced-endpoints (3 seconds) +[57/96 done]: unit/cluster/announced-endpoints (4 seconds) Testing unit/cluster/cli [ignore]: Not supported in tls mode [58/96 done]: unit/cluster/cli (0 seconds) @@ -4255,30 +4300,30 @@ === (external:skip cluster tls) Starting server 127.0.0.1:21590 ok === (external:skip cluster tls) Starting server 127.0.0.1:21592 ok === (external:skip cluster tls) Starting server 127.0.0.1:21594 ok -[ok]: CLUSTER SLOTS with different connection type -- tls-cluster yes (42 ms) -[ok]: CLUSTER NODES return port according to connection type -- tls-cluster yes (38 ms) -[ok]: Set many keys in the cluster -- tls-cluster yes (1765 ms) -[ok]: Test cluster responses during migration of slot x -- tls-cluster yes (3 ms) +[ok]: CLUSTER SLOTS with different connection type -- tls-cluster yes (98 ms) +[ok]: CLUSTER NODES return port according to connection type -- tls-cluster yes (92 ms) +[ok]: Set many keys in the cluster -- tls-cluster yes (3578 ms) +[ok]: Test cluster responses during migration of slot x -- tls-cluster yes (2 ms) === (external:skip cluster tls) Starting server 127.0.0.1:21596 ok === (external:skip cluster tls) Starting server 127.0.0.1:21598 ok === (external:skip cluster tls) Starting server 127.0.0.1:21600 ok === (external:skip cluster tls) Starting server 127.0.0.1:21602 ok === (external:skip cluster tls) Starting server 127.0.0.1:21604 ok === (external:skip cluster tls) Starting server 127.0.0.1:21606 ok -[ok]: CLUSTER SLOTS with different connection type -- tls-cluster no (31 ms) -[ok]: CLUSTER NODES return port according to connection type -- tls-cluster no (29 ms) -[ok]: Set many keys in the cluster -- tls-cluster no (1780 ms) -[ok]: Test cluster responses during migration of slot x -- tls-cluster no (2 ms) -[59/96 done]: unit/cluster/cluster-response-tls (12 seconds) +[ok]: CLUSTER SLOTS with different connection type -- tls-cluster no (67 ms) +[ok]: CLUSTER NODES return port according to connection type -- tls-cluster no (68 ms) +[ok]: Set many keys in the cluster -- tls-cluster no (3644 ms) +[ok]: Test cluster responses during migration of slot x -- tls-cluster no (27 ms) +[59/96 done]: unit/cluster/cluster-response-tls (19 seconds) Testing unit/cluster/failure-marking === (external:skip cluster) Starting server 127.0.0.1:21608 ok === (external:skip cluster) Starting server 127.0.0.1:21610 ok -[ok]: Verify that single primary marks replica as failed (3110 ms) +[ok]: Verify that single primary marks replica as failed (3136 ms) === (external:skip cluster) Starting server 127.0.0.1:21612 ok === (external:skip cluster) Starting server 127.0.0.1:21614 ok === (external:skip cluster) Starting server 127.0.0.1:21616 ok -[ok]: Verify that multiple primaries mark replica as failed (6318 ms) -[60/96 done]: unit/cluster/failure-marking (15 seconds) +[ok]: Verify that multiple primaries mark replica as failed (3428 ms) +[60/96 done]: unit/cluster/failure-marking (13 seconds) Testing unit/cluster/hostnames === (external:skip cluster) Starting server 127.0.0.1:21618 ok === (external:skip cluster) Starting server 127.0.0.1:21620 ok @@ -4287,21 +4332,21 @@ === (external:skip cluster) Starting server 127.0.0.1:21626 ok === (external:skip cluster) Starting server 127.0.0.1:21628 ok === (external:skip cluster) Starting server 127.0.0.1:21630 ok -[ok]: Set cluster hostnames and verify they are propagated (120 ms) -[ok]: Update hostnames and make sure they are all eventually propagated (225 ms) -[ok]: Remove hostnames and make sure they are all eventually propagated (116 ms) -[ok]: Verify cluster-preferred-endpoint-type behavior for redirects and info (223 ms) -[ok]: Verify the nodes configured with prefer hostname only show hostname for new nodes (956 ms) -[ok]: Test restart will keep hostname information (287 ms) -[ok]: Test hostname validation (2 ms) -[61/96 done]: unit/cluster/hostnames (5 seconds) +[ok]: Set cluster hostnames and verify they are propagated (127 ms) +[ok]: Update hostnames and make sure they are all eventually propagated (116 ms) +[ok]: Remove hostnames and make sure they are all eventually propagated (115 ms) +[ok]: Verify cluster-preferred-endpoint-type behavior for redirects and info (173 ms) +[ok]: Verify the nodes configured with prefer hostname only show hostname for new nodes (3844 ms) +[ok]: Test restart will keep hostname information (431 ms) +[ok]: Test hostname validation (0 ms) +[61/96 done]: unit/cluster/hostnames (10 seconds) Testing unit/cluster/human-announced-nodename === (external:skip cluster) Starting server 127.0.0.1:21632 ok === (external:skip cluster) Starting server 127.0.0.1:21634 ok === (external:skip cluster) Starting server 127.0.0.1:21636 ok -[ok]: Set cluster human announced nodename and let it propagate (108 ms) -[ok]: Human nodenames are visible in log messages (3586 ms) -[62/96 done]: unit/cluster/human-announced-nodename (6 seconds) +[ok]: Set cluster human announced nodename and let it propagate (104 ms) +[ok]: Human nodenames are visible in log messages (3591 ms) +[62/96 done]: unit/cluster/human-announced-nodename (8 seconds) Testing unit/cluster/internal-secret === (external:skip cluster) Starting server 127.0.0.1:21638 ok === (external:skip cluster) Starting server 127.0.0.1:21640 ok @@ -4324,164 +4369,167 @@ === (external:skip cluster) Starting server 127.0.0.1:21674 ok === (external:skip cluster) Starting server 127.0.0.1:21676 ok cluster internal secret: -[ok]: Test internal secret sync (4 ms) -40099 +12988 +[ok]: Test internal secret sync (24 ms) === (external:skip) Starting server 127.0.0.1:21678 ok -[ok]: Join a node to the cluster and make sure it gets the same secret (488 ms) +[ok]: Join a node to the cluster and make sure it gets the same secret (930 ms) === (external:skip) Starting server 127.0.0.1:21680 ok === (external:skip) Starting server 127.0.0.1:21682 ok new cluster internal secret: -32394 +20782 internal secret after join to bigger cluster: -2818 -[ok]: Join another cluster, make sure clusters sync on the internal secret (1235 ms) -[63/96 done]: unit/cluster/internal-secret (9 seconds) +12988 +[ok]: Join another cluster, make sure clusters sync on the internal secret (1856 ms) +[63/96 done]: unit/cluster/internal-secret (37 seconds) Testing unit/cluster/links === (external:skip cluster) Starting server 127.0.0.1:21684 ok === (external:skip cluster) Starting server 127.0.0.1:21686 ok === (external:skip cluster) Starting server 127.0.0.1:21688 ok -[ok]: Broadcast message across a cluster shard while a cluster link is down (129 ms) +[ok]: Broadcast message across a cluster shard while a cluster link is down (193 ms) === (external:skip cluster) Starting server 127.0.0.1:21690 ok === (external:skip cluster) Starting server 127.0.0.1:21692 ok === (external:skip cluster) Starting server 127.0.0.1:21694 ok -[ok]: Each node has two links with each peer (4 ms) +[ok]: Each node has two links with each peer (17 ms) [ok]: Validate cluster links format (1 ms) -[ok]: Disconnect link when send buffer limit reached (8531 ms) -[ok]: Link memory increases with publishes (711 ms) -[ok]: Link memory resets after publish messages flush (961 ms) +[ok]: Disconnect link when send buffer limit reached (8649 ms) +[ok]: Link memory increases with publishes (643 ms) +[ok]: Link memory resets after publish messages flush (48 ms) [64/96 done]: unit/cluster/links (16 seconds) Testing unit/cluster/misc === (external:skip cluster) Starting server 127.0.0.1:21696 ok === (external:skip cluster) Starting server 127.0.0.1:21698 ok === (external:skip cluster) Starting server 127.0.0.1:21700 ok === (external:skip cluster) Starting server 127.0.0.1:21702 ok -[ok]: Key lazy expires during key migration (14 ms) +[ok]: Key lazy expires during key migration (21 ms) [ok]: Coverage: Basic cluster commands (3 ms) -[65/96 done]: unit/cluster/misc (3 seconds) +[65/96 done]: unit/cluster/misc (5 seconds) Testing unit/cluster/multi-slot-operations === (external:skip cluster) Starting server 127.0.0.1:21704 ok === (external:skip cluster) Starting server 127.0.0.1:21706 ok === (external:skip cluster) Starting server 127.0.0.1:21708 ok === (external:skip cluster) Starting server 127.0.0.1:21710 ok === (external:skip cluster) Starting server 127.0.0.1:21712 ok -[ok]: Continuous slots distribution (17 ms) -[ok]: ADDSLOTS command with several boundary conditions test suite (3 ms) -[ok]: ADDSLOTSRANGE command with several boundary conditions test suite (2 ms) -[ok]: DELSLOTSRANGE command with several boundary conditions test suite (9 ms) +[ok]: Continuous slots distribution (33 ms) +[ok]: ADDSLOTS command with several boundary conditions test suite (8 ms) +[ok]: ADDSLOTSRANGE command with several boundary conditions test suite (8 ms) +[ok]: DELSLOTSRANGE command with several boundary conditions test suite (21 ms) [ignore]: experimental test not allowed -[66/96 done]: unit/cluster/multi-slot-operations (3 seconds) +[66/96 done]: unit/cluster/multi-slot-operations (4 seconds) Testing unit/cluster/scripting === (external:skip cluster) Starting server 127.0.0.1:21714 ok [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 (3 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 (2 ms) -[ok]: Function no-cluster flag (1 ms) -[ok]: Script no-cluster flag (1 ms) +[ok]: Cross slot commands are allowed by default for eval scripts and with allow-cross-slot-keys flag (7 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 (7 ms) +[ok]: Function no-cluster flag (0 ms) +[ok]: Script no-cluster flag (0 ms) [67/96 done]: unit/cluster/scripting (2 seconds) Testing unit/cluster/sharded-pubsub === (external:skip cluster) Starting server 127.0.0.1:21716 ok === (external:skip cluster) Starting server 127.0.0.1:21718 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 replica (2 ms) -[ok]: Sharded pubsub publish behavior within multi/exec with write operation on primary (1 ms) -[ok]: Sharded pubsub publish behavior within multi/exec with write operation on replica (1 ms) +[ok]: Sharded pubsub within multi/exec with cross slot operation (6 ms) +[ok]: Sharded pubsub publish behavior within multi/exec with read operation on primary (7 ms) +[ok]: Sharded pubsub publish behavior within multi/exec with read operation on replica (0 ms) +[ok]: Sharded pubsub publish behavior within multi/exec with write operation on primary (0 ms) +[ok]: Sharded pubsub publish behavior within multi/exec with write operation on replica (0 ms) [68/96 done]: unit/cluster/sharded-pubsub (4 seconds) Testing unit/cluster/slot-ownership === (external:skip cluster) Starting server 127.0.0.1:21720 ok === (external:skip cluster) Starting server 127.0.0.1:21722 ok === (external:skip cluster) Starting server 127.0.0.1:21724 ok === (external:skip cluster) Starting server 127.0.0.1:21726 ok -[ok]: Verify that slot ownership transfer through gossip propagates deletes to replicas (113 ms) -[69/96 done]: unit/cluster/slot-ownership (3 seconds) +[ok]: Verify that slot ownership transfer through gossip propagates deletes to replicas (115 ms) +[69/96 done]: unit/cluster/slot-ownership (4 seconds) Testing integration/aof-multi-part === () Starting server 127.0.0.1:21728 -[ok]: Multi Part AOF can't load data when some file missing (121 ms) +[ok]: Multi Part AOF can't load data when some file missing (332 ms) === () Starting server 127.0.0.1:21730 -[ok]: Multi Part AOF can't load data when the sequence not increase monotonically (122 ms) +[ok]: Multi Part AOF can't load data when the sequence not increase monotonically (395 ms) === () Starting server 127.0.0.1:21732 -[ok]: Multi Part AOF can't load data when there are blank lines in the manifest file (122 ms) +[ok]: Multi Part AOF can't load data when there are blank lines in the manifest file (460 ms) === () Starting server 127.0.0.1:21734 -[ok]: Multi Part AOF can't load data when there is a duplicate base file (120 ms) +[ok]: Multi Part AOF can't load data when there is a duplicate base file (656 ms) === () Starting server 127.0.0.1:21736 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (type unknown) (121 ms) +[ok]: Multi Part AOF can't load data when the manifest format is wrong (type unknown) (504 ms) === () Starting server 127.0.0.1:21738 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (missing key) (123 ms) +[ok]: Multi Part AOF can't load data when the manifest format is wrong (missing key) (920 ms) === () Starting server 127.0.0.1:21740 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (line too short) (121 ms) +[ok]: Multi Part AOF can't load data when the manifest format is wrong (line too short) (161 ms) === () Starting server 127.0.0.1:21742 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (line too long) (123 ms) +[ok]: Multi Part AOF can't load data when the manifest format is wrong (line too long) (328 ms) === () Starting server 127.0.0.1:21744 -[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) (432 ms) === () Starting server 127.0.0.1:21746 -[ok]: Multi Part AOF can't load data when the manifest file is empty (122 ms) +[ok]: Multi Part AOF can't load data when the manifest file is empty (503 ms) === () Starting server 127.0.0.1:21748 ok -[ok]: Multi Part AOF can start when no aof and no manifest (252 ms) +[ok]: Multi Part AOF can start when no aof and no manifest (609 ms) === () Starting server 127.0.0.1:21750 ok -[ok]: Multi Part AOF can start when we have en empty AOF dir (259 ms) +[ok]: Multi Part AOF can start when we have en empty AOF dir (671 ms) === () Starting server 127.0.0.1:21752 ok -[ok]: Multi Part AOF can load data discontinuously increasing sequence (249 ms) +[ok]: Multi Part AOF can load data discontinuously increasing sequence (818 ms) === () Starting server 127.0.0.1:21754 ok -[ok]: Multi Part AOF can load data when manifest add new k-v (259 ms) +[ok]: Multi Part AOF can load data when manifest add new k-v (1226 ms) === () Starting server 127.0.0.1:21756 ok -[ok]: Multi Part AOF can load data when some AOFs are empty (260 ms) +[ok]: Multi Part AOF can load data when some AOFs are empty (472 ms) === () Starting server 127.0.0.1:21758 ok -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can load data from old version redis (rdb preamble no) (364 ms) +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can load data from old version redis (rdb preamble no) (586 ms) === () Starting server 127.0.0.1:21760 ok -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can load data from old version redis (rdb preamble yes) (360 ms) +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can load data from old version redis (rdb preamble yes) (611 ms) === () Starting server 127.0.0.1:21762 ok -[ok]: Multi Part AOF can continue the upgrade from the interrupted upgrade state (261 ms) +[ok]: Multi Part AOF can continue the upgrade from the interrupted upgrade state (1288 ms) === () Starting server 127.0.0.1:21764 ok -[ok]: Multi Part AOF can be loaded correctly when both server dir and aof dir contain old AOF (263 ms) +[ok]: Multi Part AOF can be loaded correctly when both server dir and aof dir contain old AOF (843 ms) === () Starting server 127.0.0.1:21766 -[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 (123 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 (312 ms) === () Starting server 127.0.0.1:21768 ok === () Starting server 127.0.0.1:21770 ok -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can upgrade when when two redis share the same server dir (redis1) (87 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can upgrade when when two redis share the same server dir (redis1) (146 ms) -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can upgrade when when two redis share the same server dir (redis2) (87 ms) -[ok]: Multi Part AOF can upgrade when when two redis share the same server dir (770 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can upgrade when when two redis share the same server dir (redis2) (134 ms) +[ok]: Multi Part AOF can upgrade when when two redis share the same server dir (1321 ms) === () Starting server 127.0.0.1:21772 ok -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can handle appendfilename contains whitespaces (357 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can handle appendfilename contains whitespaces (615 ms) === () Starting server 127.0.0.1:21774 ok -[ok]: Multi Part AOF can create BASE (RDB format) when redis starts from empty (260 ms) +[ok]: Multi Part AOF can create BASE (RDB format) when redis starts from empty (453 ms) === () Starting server 127.0.0.1:21776 ok -[ok]: Multi Part AOF can create BASE (AOF format) when redis starts from empty (262 ms) +[ok]: Multi Part AOF can create BASE (AOF format) when redis starts from empty (503 ms) === (Multi Part AOF) Starting server 127.0.0.1:21778 ok [ok]: Make sure aof manifest appendonly.aof.manifest not in aof directory (0 ms) Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF enable will create manifest file (481 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF enable will create manifest file (552 ms) Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF multiple rewrite failures will open multiple INCR AOFs (1140 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF multiple rewrite failures will open multiple INCR AOFs (1429 ms) Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite doesn't open new aof when AOF turn off (345 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 (442 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 (209 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF enable/disable auto gc (216 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF can produce consecutive sequence number after reload (120 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF can produce consecutive sequence number after reload (135 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 (303 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF enable during BGSAVE will not write data util AOFRW finish (387 ms) Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... @@ -4489,442 +4537,450 @@ 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 (598 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF will trigger limit when AOFRW fails many times (826 ms) === () Starting server 127.0.0.1:21780 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 (1980 ms) +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 (2855 ms) === () Starting server 127.0.0.1:21782 ok -[ok]: Multi Part AOF writes start offset in the manifest (250 ms) +[ok]: Multi Part AOF writes start offset in the manifest (500 ms) === () Starting server 127.0.0.1:21784 ok -[ok]: Multi Part AOF won't add the offset of incr AOF from old version (206 ms) +[ok]: Multi Part AOF won't add the offset of incr AOF from old version (384 ms) === () Starting server 127.0.0.1:21786 ok -[ok]: Multi Part AOF can update master_repl_offset with only startoffset info (266 ms) +[ok]: Multi Part AOF can update master_repl_offset with only startoffset info (497 ms) === () Starting server 127.0.0.1:21788 ok -[ok]: Multi Part AOF can update master_repl_offset with endoffset info (249 ms) +[ok]: Multi Part AOF can update master_repl_offset with endoffset info (519 ms) === () Starting server 127.0.0.1:21790 ok -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF will add the end offset if we close gracefully the AOF (293 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF will add the end offset if we close gracefully the AOF (525 ms) === () Starting server 127.0.0.1:21792 ok Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: INCR AOF has accurate start offset when AOFRW (700 ms) -[70/96 done]: integration/aof-multi-part (13 seconds) +Waiting for background AOF rewrite to finish... [ok]: INCR AOF has accurate start offset when AOFRW (917 ms) +[70/96 done]: integration/aof-multi-part (26 seconds) Testing integration/aof-race === () Starting server 127.0.0.1:21794 ok === () Starting server 127.0.0.1:21796 ok -[71/96 done]: integration/aof-race (1 seconds) +[71/96 done]: integration/aof-race (2 seconds) Testing integration/aof === () Starting server 127.0.0.1:21798 ok -[ok]: Unfinished MULTI: Server should start if load-truncated is yes (2 ms) +[ok]: Unfinished MULTI: Server should start if load-truncated is yes (9 ms) === () Starting server 127.0.0.1:21800 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 (23 ms) -[ok]: Append a new command after loading an incomplete AOF (0 ms) +[ok]: Short read: Server should start if load-truncated is yes (24 ms) +[ok]: Truncated AOF loaded: we expect foo to be equal to 5 (28 ms) +[ok]: Append a new command after loading an incomplete AOF (1 ms) === () Starting server 127.0.0.1:21802 ok -[ok]: Short read + command: Server should start (1 ms) -[ok]: Truncated AOF loaded: we expect foo to be equal to 6 now (32 ms) +[ok]: Short read + command: Server should start (20 ms) +[ok]: Truncated AOF loaded: we expect foo to be equal to 6 now (28 ms) === () Starting server 127.0.0.1:21804 -[ok]: Bad format: Server should have logged an error (2 ms) +[ok]: Bad format: Server should have logged an error (24 ms) === () Starting server 127.0.0.1:21806 -[ok]: Unfinished MULTI: Server should have logged an error (2 ms) +[ok]: Unfinished MULTI: Server should have logged an error (8 ms) === () Starting server 127.0.0.1:21808 -[ok]: Short read: Server should have logged an error (1 ms) -[ok]: Short read: Utility should confirm the AOF is not valid (11 ms) -[ok]: Short read: Utility should show the abnormal line num in AOF (8 ms) -[ok]: Short read: Utility should be able to fix the AOF (18 ms) +[ok]: Short read: Server should have logged an error (20 ms) +[ok]: Short read: Utility should confirm the AOF is not valid (521 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:21810 ok -[ok]: Fixed AOF: Server should have been started (1 ms) -[ok]: Fixed AOF: Keyspace should contain values that were parseable (32 ms) +[ok]: Fixed AOF: Server should have been started (20 ms) +[ok]: Fixed AOF: Keyspace should contain values that were parseable (36 ms) === () Starting server 127.0.0.1:21812 ok -[ok]: AOF+SPOP: Server should have been started (1 ms) -[ok]: AOF+SPOP: Set should have 1 member (32 ms) +[ok]: AOF+SPOP: Server should have been started (12 ms) +[ok]: AOF+SPOP: Set should have 1 member (23 ms) === () Starting server 127.0.0.1:21814 ok -[ok]: AOF+SPOP: Server should have been started (2 ms) -[ok]: AOF+SPOP: Set should have 1 member (32 ms) +[ok]: AOF+SPOP: Server should have been started (16 ms) +[ok]: AOF+SPOP: Set should have 1 member (44 ms) === () Starting server 127.0.0.1:21816 ok -[ok]: AOF+EXPIRE: Server should have been started (2 ms) -[ok]: AOF+EXPIRE: List should be empty (32 ms) +[ok]: AOF+EXPIRE: Server should have been started (18 ms) +[ok]: AOF+EXPIRE: List should be empty (21 ms) === () Starting server 127.0.0.1:21818 ok [ok]: Redis should not try to convert DEL into EXPIREAT for EXPIRE -1 (1 ms) === () Starting server 127.0.0.1:21820 ok -[ok]: AOF fsync always barrier issue (5633 ms) +[ok]: AOF fsync always barrier issue (5908 ms) === () Starting server 127.0.0.1:21822 ok [ok]: GETEX should not append to AOF (1 ms) === () Starting server 127.0.0.1:21824 -[ok]: Unknown command: Server should have logged an error (1 ms) +[ok]: Unknown command: Server should have logged an error (36 ms) === () Starting server 127.0.0.1:21826 ok -[ok]: AOF+LMPOP/BLMPOP: pop elements from the list (125 ms) +[ok]: AOF+LMPOP/BLMPOP: pop elements from the list (131 ms) === () Starting server 127.0.0.1:21828 ok -[ok]: AOF+LMPOP/BLMPOP: after pop elements from the list (12 ms) +[ok]: AOF+LMPOP/BLMPOP: after pop elements from the list (36 ms) === () Starting server 127.0.0.1:21830 ok -[ok]: AOF+ZMPOP/BZMPOP: pop elements from the zset (136 ms) +[ok]: AOF+ZMPOP/BZMPOP: pop elements from the zset (141 ms) === () Starting server 127.0.0.1:21832 ok -[ok]: AOF+ZMPOP/BZMPOP: after pop elements from the zset (21 ms) +[ok]: AOF+ZMPOP/BZMPOP: after pop elements from the zset (25 ms) === () Starting server 127.0.0.1:21834 ok -Waiting for background AOF rewrite to finish... [ok]: Generate timestamp annotations in AOF (424 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: Generate timestamp annotations in AOF (660 ms) === () Starting server 127.0.0.1:21836 ok -[ok]: Successfully load AOF which has timestamp annotations inside (18 ms) +[ok]: Successfully load AOF which has timestamp annotations inside (24 ms) === () Starting server 127.0.0.1:21838 ok === () Starting server 127.0.0.1:21840 ok === () Starting server 127.0.0.1:21842 ok -[ok]: Truncate AOF to specific timestamp (992 ms) +[ok]: Truncate AOF to specific timestamp (1746 ms) === () Starting server 127.0.0.1:21844 ok -[ok]: EVAL timeout with slow verbatim Lua script from AOF (1333 ms) +[ok]: EVAL timeout with slow verbatim Lua script from AOF (3830 ms) === () Starting server 127.0.0.1:21846 ok -[ok]: EVAL can process writes from AOF in read-only replicas (271 ms) -[ok]: Test redis-check-aof for old style resp AOF (12 ms) -[ok]: Test redis-check-aof for old style resp AOF - has data in the same format as manifest (12 ms) -[ok]: Test redis-check-aof for old style rdb-preamble AOF (12 ms) -[ok]: Test redis-check-aof for Multi Part AOF with resp AOF base (12 ms) -[ok]: Test redis-check-aof for Multi Part AOF with rdb-preamble AOF base (24 ms) -[ok]: Test redis-check-aof for Multi Part AOF contains a format error (24 ms) -[ok]: Test redis-check-aof only truncates the last file for Multi Part AOF in fix mode (28 ms) -[ok]: Test redis-check-aof only truncates the last file for Multi Part AOF in truncate-to-timestamp mode (12 ms) +[ok]: EVAL can process writes from AOF in read-only replicas (476 ms) +[ok]: Test redis-check-aof for old style resp AOF (27 ms) +[ok]: Test redis-check-aof for old style resp AOF - has data in the same format as manifest (24 ms) +[ok]: Test redis-check-aof for old style rdb-preamble AOF (53 ms) +[ok]: Test redis-check-aof for Multi Part AOF with resp AOF base (23 ms) +[ok]: Test redis-check-aof for Multi Part AOF with rdb-preamble AOF base (41 ms) +[ok]: Test redis-check-aof for Multi Part AOF contains a format error (32 ms) +[ok]: Test redis-check-aof only truncates the last file for Multi Part AOF in fix mode (143 ms) +[ok]: Test redis-check-aof only truncates the last file for Multi Part AOF in truncate-to-timestamp mode (192 ms) === () Starting server 127.0.0.1:21848 ok -[ok]: FLUSHDB / FLUSHALL should persist in AOF (69 ms) +[ok]: FLUSHDB / FLUSHALL should persist in AOF (4 ms) === () Starting server 127.0.0.1:21850 ok -[ok]: Allow changing appendonly config while loading from AOF on startup (2136 ms) -[ok]: Allow changing appendonly config while loading from RDB on startup (1044 ms) -[72/96 done]: integration/aof (18 seconds) +[ok]: Allow changing appendonly config while loading from AOF on startup (41827 ms) +[ok]: Allow changing appendonly config while loading from RDB on startup (2862 ms) +[72/96 done]: integration/aof (69 seconds) Testing integration/block-repl === (repl external:skip) Starting server 127.0.0.1:21852 ok === () Starting server 127.0.0.1:21854 ok -[ok]: First server should have role slave after SLAVEOF (1005 ms) -[ok]: Test replication with blocking lists and sorted sets operations (25014 ms) +[ok]: First server should have role slave after SLAVEOF (1020 ms) +[ok]: Test replication with blocking lists and sorted sets operations (25010 ms) [73/96 done]: integration/block-repl (27 seconds) Testing integration/convert-ziplist-hash-on-load === () Starting server 127.0.0.1:21856 ok -[ok]: RDB load ziplist hash: converts to listpack when RDB loading (0 ms) +[ok]: RDB load ziplist hash: converts to listpack when RDB loading (1 ms) === () Starting server 127.0.0.1:21858 ok -[ok]: RDB load ziplist hash: converts to hash table when hash-max-ziplist-entries is exceeded (5 ms) -[74/96 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 (1 ms) +[74/96 done]: integration/convert-ziplist-hash-on-load (1 seconds) Testing integration/convert-ziplist-zset-on-load === () Starting server 127.0.0.1:21860 ok [ok]: RDB load ziplist zset: converts to listpack when RDB loading (1 ms) === () Starting server 127.0.0.1:21862 ok -[ok]: RDB load ziplist zset: converts to skiplist when zset-max-ziplist-entries is exceeded (0 ms) -[75/96 done]: integration/convert-ziplist-zset-on-load (1 seconds) +[ok]: RDB load ziplist zset: converts to skiplist when zset-max-ziplist-entries is exceeded (1 ms) +[75/96 done]: integration/convert-ziplist-zset-on-load (0 seconds) Testing integration/convert-zipmap-hash-on-load === () Starting server 127.0.0.1:21864 ok -[ok]: RDB load zipmap hash: converts to listpack (0 ms) +[ok]: RDB load zipmap hash: converts to listpack (2 ms) === () Starting server 127.0.0.1:21866 ok -[ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-entries is exceeded (1 ms) +[ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-entries is exceeded (2 ms) === () Starting server 127.0.0.1:21868 ok [ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-value is exceeded (1 ms) [76/96 done]: integration/convert-zipmap-hash-on-load (1 seconds) Testing integration/corrupt-dump-fuzzer === () Starting server 127.0.0.1:21870 ok -Done 16 cycles in 10 seconds. -RESTORE: successful: 10, rejected: 6 -Total commands sent in traffic: 16870, crashes during traffic: 0 (0 by signal). -[ok]: Fuzzer corrupt restore payloads - sanitize_dump: no (9636 ms) +Done 31 cycles in 10 seconds. +RESTORE: successful: 16, rejected: 14 +Total commands sent in traffic: 11743, crashes during traffic: 6 (0 by signal). +[ok]: Fuzzer corrupt restore payloads - sanitize_dump: no (9771 ms) === () Starting server 127.0.0.1:21872 ok -Done 14 cycles in 10 seconds. -RESTORE: successful: 9, rejected: 5 -Total commands sent in traffic: 13697, crashes during traffic: 0 (0 by signal). -[ok]: Fuzzer corrupt restore payloads - sanitize_dump: yes (9996 ms) +Done 20 cycles in 10 seconds. +RESTORE: successful: 10, rejected: 10 +Total commands sent in traffic: 14322, crashes during traffic: 0 (0 by signal). +[ok]: Fuzzer corrupt restore payloads - sanitize_dump: yes (10092 ms) [77/96 done]: integration/corrupt-dump-fuzzer (20 seconds) Testing integration/corrupt-dump === () Starting server 127.0.0.1:21874 ok -[ok]: corrupt payload: #7445 - with sanitize (268 ms) +[ok]: corrupt payload: #7445 - with sanitize (249 ms) === () Starting server 127.0.0.1:21876 ok -[ok]: corrupt payload: hash with valid zip list header, invalid entry len (312 ms) +[ok]: corrupt payload: hash with valid zip list header, invalid entry len (248 ms) === () Starting server 127.0.0.1:21878 ok -[ok]: corrupt payload: invalid zlbytes header (296 ms) +[ok]: corrupt payload: invalid zlbytes header (249 ms) === () Starting server 127.0.0.1:21880 ok -[ok]: corrupt payload: valid zipped hash header, dup records (308 ms) +[ok]: corrupt payload: valid zipped hash header, dup records (248 ms) === () Starting server 127.0.0.1:21882 ok -[ok]: corrupt payload: hash listpackex with invalid string TTL (316 ms) +[ok]: corrupt payload: hash listpackex with invalid string TTL (259 ms) === () Starting server 127.0.0.1:21884 ok -[ok]: corrupt payload: hash listpackex with TTL large than EB_EXPIRE_TIME_MAX (292 ms) +[ok]: corrupt payload: hash listpackex with TTL large than EB_EXPIRE_TIME_MAX (257 ms) === () Starting server 127.0.0.1:21886 ok -[ok]: corrupt payload: hash listpackex with unordered TTL fields (309 ms) +[ok]: corrupt payload: hash listpackex with unordered TTL fields (305 ms) === () Starting server 127.0.0.1:21888 ok -[ok]: corrupt payload: hash listpackex field without TTL should not be followed by field with TTL (299 ms) +[ok]: corrupt payload: hash listpackex field without TTL should not be followed by field with TTL (484 ms) === () Starting server 127.0.0.1:21890 ok -[ok]: corrupt payload: hash hashtable with TTL large than EB_EXPIRE_TIME_MAX (413 ms) +[ok]: corrupt payload: hash hashtable with TTL large than EB_EXPIRE_TIME_MAX (504 ms) === () Starting server 127.0.0.1:21892 ok -[ok]: corrupt payload: quicklist big ziplist prev len (280 ms) +[ok]: corrupt payload: quicklist big ziplist prev len (484 ms) === () Starting server 127.0.0.1:21894 ok -[ok]: corrupt payload: quicklist small ziplist prev len (431 ms) +[ok]: corrupt payload: quicklist small ziplist prev len (492 ms) === () Starting server 127.0.0.1:21896 ok -[ok]: corrupt payload: quicklist ziplist wrong count (287 ms) +[ok]: corrupt payload: quicklist ziplist wrong count (488 ms) === () Starting server 127.0.0.1:21898 ok -[ok]: corrupt payload: #3080 - quicklist (278 ms) +[ok]: corrupt payload: #3080 - quicklist (380 ms) === () Starting server 127.0.0.1:21900 ok -[ok]: corrupt payload: quicklist with empty ziplist (379 ms) +[ok]: corrupt payload: quicklist with empty ziplist (344 ms) === () Starting server 127.0.0.1:21902 ok -[ok]: corrupt payload: quicklist encoded_len is 0 (188 ms) +[ok]: corrupt payload: quicklist encoded_len is 0 (488 ms) === () Starting server 127.0.0.1:21904 ok -[ok]: corrupt payload: quicklist listpack entry start with EOF (292 ms) +[ok]: corrupt payload: quicklist listpack entry start with EOF (496 ms) === () Starting server 127.0.0.1:21906 ok -[ok]: corrupt payload: #3080 - ziplist (448 ms) +[ok]: corrupt payload: #3080 - ziplist (460 ms) === () Starting server 127.0.0.1:21908 -[ok]: corrupt payload: load corrupted rdb with no CRC - #3505 (224 ms) +[ok]: corrupt payload: load corrupted rdb with no CRC - #3505 (356 ms) === () Starting server 127.0.0.1:21910 ok -[ok]: corrupt payload: load corrupted rdb with empty keys (382 ms) +[ok]: corrupt payload: load corrupted rdb with empty keys (709 ms) === () Starting server 127.0.0.1:21912 ok -[ok]: corrupt payload: load corrupted rdb with empty keys (394 ms) +[ok]: corrupt payload: load corrupted rdb with empty keys (539 ms) === () Starting server 127.0.0.1:21914 ok -[ok]: corrupt payload: listpack invalid size header (312 ms) +[ok]: corrupt payload: listpack invalid size header (461 ms) === () Starting server 127.0.0.1:21916 ok -[ok]: corrupt payload: listpack too long entry len (282 ms) +[ok]: corrupt payload: listpack too long entry len (468 ms) === () Starting server 127.0.0.1:21918 ok -[ok]: corrupt payload: listpack very long entry len (319 ms) +[ok]: corrupt payload: listpack very long entry len (444 ms) === () Starting server 127.0.0.1:21920 ok -[ok]: corrupt payload: listpack too long entry prev len (291 ms) +[ok]: corrupt payload: listpack too long entry prev len (488 ms) === () Starting server 127.0.0.1:21922 ok -[ok]: corrupt payload: stream with duplicate consumers (312 ms) +[ok]: corrupt payload: stream with duplicate consumers (456 ms) === () Starting server 127.0.0.1:21924 ok -[ok]: corrupt payload: hash ziplist with duplicate records (301 ms) +[ok]: corrupt payload: hash ziplist with duplicate records (316 ms) === () Starting server 127.0.0.1:21926 ok -[ok]: corrupt payload: hash listpack with duplicate records (300 ms) +[ok]: corrupt payload: hash listpack with duplicate records (459 ms) === () Starting server 127.0.0.1:21928 ok -[ok]: corrupt payload: hash listpack with duplicate records - convert (272 ms) +[ok]: corrupt payload: hash listpack with duplicate records - convert (395 ms) === () Starting server 127.0.0.1:21930 ok -[ok]: corrupt payload: hash ziplist uneven record count (299 ms) +[ok]: corrupt payload: hash ziplist uneven record count (529 ms) === () Starting server 127.0.0.1:21932 ok -[ok]: corrupt payload: hash duplicate records (321 ms) +[ok]: corrupt payload: hash duplicate records (508 ms) === () Starting server 127.0.0.1:21934 ok -[ok]: corrupt payload: hash empty zipmap (331 ms) +[ok]: corrupt payload: hash empty zipmap (456 ms) === () Starting server 127.0.0.1:21936 ok -[ok]: corrupt payload: fuzzer findings - NPD in streamIteratorGetID (296 ms) +[ok]: corrupt payload: fuzzer findings - NPD in streamIteratorGetID (472 ms) === () Starting server 127.0.0.1:21938 ok -[ok]: corrupt payload: fuzzer findings - listpack NPD on invalid stream (281 ms) +[ok]: corrupt payload: fuzzer findings - listpack NPD on invalid stream (512 ms) === () Starting server 127.0.0.1:21940 ok -[ok]: corrupt payload: fuzzer findings - NPD in quicklistIndex (307 ms) +[ok]: corrupt payload: fuzzer findings - NPD in quicklistIndex (576 ms) === () Starting server 127.0.0.1:21942 ok -[ok]: corrupt payload: fuzzer findings - encoded entry header reach outside the allocation (289 ms) +[ok]: corrupt payload: fuzzer findings - encoded entry header reach outside the allocation (484 ms) === () Starting server 127.0.0.1:21944 ok -[ok]: corrupt payload: fuzzer findings - invalid ziplist encoding (279 ms) +[ok]: corrupt payload: fuzzer findings - invalid ziplist encoding (488 ms) === () Starting server 127.0.0.1:21946 ok -[ok]: corrupt payload: fuzzer findings - hash crash (317 ms) +[ok]: corrupt payload: fuzzer findings - hash crash (484 ms) === () Starting server 127.0.0.1:21948 ok -[ok]: corrupt payload: fuzzer findings - uneven entry count in hash (291 ms) +[ok]: corrupt payload: fuzzer findings - uneven entry count in hash (504 ms) === () Starting server 127.0.0.1:21950 ok -[ok]: corrupt payload: fuzzer findings - invalid read in lzf_decompress (275 ms) +[ok]: corrupt payload: fuzzer findings - invalid read in lzf_decompress (480 ms) === () Starting server 127.0.0.1:21952 ok -[ok]: corrupt payload: fuzzer findings - leak in rdbloading due to dup entry in set (297 ms) +[ok]: corrupt payload: fuzzer findings - leak in rdbloading due to dup entry in set (461 ms) === () Starting server 127.0.0.1:21954 ok -[ok]: corrupt payload: fuzzer findings - empty intset (304 ms) +[ok]: corrupt payload: fuzzer findings - empty intset (483 ms) === () Starting server 127.0.0.1:21956 ok -[ok]: corrupt payload: fuzzer findings - zset ziplist entry lensize is 0 (316 ms) +[ok]: corrupt payload: fuzzer findings - zset ziplist entry lensize is 0 (500 ms) === () Starting server 127.0.0.1:21958 ok -[ok]: corrupt payload: fuzzer findings - valgrind ziplist prevlen reaches outside the ziplist (300 ms) +[ok]: corrupt payload: fuzzer findings - valgrind ziplist prevlen reaches outside the ziplist (496 ms) === () Starting server 127.0.0.1:21960 ok -[ok]: corrupt payload: fuzzer findings - valgrind - bad rdbLoadDoubleValue (294 ms) +[ok]: corrupt payload: fuzzer findings - valgrind - bad rdbLoadDoubleValue (468 ms) === () Starting server 127.0.0.1:21962 ok -[ok]: corrupt payload: fuzzer findings - valgrind ziplist prev too big (278 ms) +[ok]: corrupt payload: fuzzer findings - valgrind ziplist prev too big (492 ms) === () Starting server 127.0.0.1:21964 ok -[ok]: corrupt payload: fuzzer findings - lzf decompression fails, avoid valgrind invalid read (308 ms) +[ok]: corrupt payload: fuzzer findings - lzf decompression fails, avoid valgrind invalid read (484 ms) === () Starting server 127.0.0.1:21966 ok -[ok]: corrupt payload: fuzzer findings - stream bad lp_count (292 ms) +[ok]: corrupt payload: fuzzer findings - stream bad lp_count (484 ms) === () Starting server 127.0.0.1:21968 ok -[ok]: corrupt payload: fuzzer findings - stream bad lp_count - unsanitized (236 ms) +[ok]: corrupt payload: fuzzer findings - stream bad lp_count - unsanitized (448 ms) === () Starting server 127.0.0.1:21970 ok -[ok]: corrupt payload: fuzzer findings - stream integrity check issue (293 ms) +[ok]: corrupt payload: fuzzer findings - stream integrity check issue (477 ms) === () Starting server 127.0.0.1:21972 ok -[ok]: corrupt payload: fuzzer findings - infinite loop (278 ms) +[ok]: corrupt payload: fuzzer findings - infinite loop (444 ms) === () Starting server 127.0.0.1:21974 ok -[ok]: corrupt payload: fuzzer findings - hash ziplist too long entry len (300 ms) +[ok]: corrupt payload: fuzzer findings - hash ziplist too long entry len (475 ms) === () Starting server 127.0.0.1:21976 ok -[ok]: corrupt payload: OOM in rdbGenericLoadStringObject (296 ms) +[ok]: corrupt payload: OOM in rdbGenericLoadStringObject (488 ms) === () Starting server 127.0.0.1:21978 ok -[ok]: corrupt payload: fuzzer findings - OOM in dictExpand (304 ms) +[ok]: corrupt payload: fuzzer findings - OOM in dictExpand (501 ms) === () Starting server 127.0.0.1:21980 ok -[ok]: corrupt payload: fuzzer findings - zset ziplist invalid tail offset (296 ms) +[ok]: corrupt payload: fuzzer findings - zset ziplist invalid tail offset (483 ms) === () Starting server 127.0.0.1:21982 ok -[ok]: corrupt payload: fuzzer findings - negative reply length (256 ms) +[ok]: corrupt payload: fuzzer findings - negative reply length (452 ms) === () Starting server 127.0.0.1:21984 ok -[ok]: corrupt payload: fuzzer findings - valgrind negative malloc (296 ms) +[ok]: corrupt payload: fuzzer findings - valgrind negative malloc (464 ms) === () Starting server 127.0.0.1:21986 ok -[ok]: corrupt payload: fuzzer findings - valgrind invalid read (300 ms) +[ok]: corrupt payload: fuzzer findings - valgrind invalid read (488 ms) === () Starting server 127.0.0.1:21988 ok -[ok]: corrupt payload: fuzzer findings - empty hash ziplist (300 ms) +[ok]: corrupt payload: fuzzer findings - empty hash ziplist (517 ms) === () Starting server 127.0.0.1:21990 ok -[ok]: corrupt payload: fuzzer findings - stream with no records (280 ms) +[ok]: corrupt payload: fuzzer findings - stream with no records (424 ms) === () Starting server 127.0.0.1:21992 ok -[ok]: corrupt payload: fuzzer findings - quicklist ziplist tail followed by extra data which start with 0xff (288 ms) +[ok]: corrupt payload: fuzzer findings - quicklist ziplist tail followed by extra data which start with 0xff (387 ms) === () Starting server 127.0.0.1:21994 ok -[ok]: corrupt payload: fuzzer findings - dict init to huge size (300 ms) +[ok]: corrupt payload: fuzzer findings - dict init to huge size (456 ms) === () Starting server 127.0.0.1:21996 ok -[ok]: corrupt payload: fuzzer findings - huge string (288 ms) +[ok]: corrupt payload: fuzzer findings - huge string (496 ms) === () Starting server 127.0.0.1:21998 ok -[ok]: corrupt payload: fuzzer findings - stream PEL without consumer (300 ms) +[ok]: corrupt payload: fuzzer findings - stream PEL without consumer (499 ms) === () Starting server 127.0.0.1:22000 ok -[ok]: corrupt payload: fuzzer findings - stream listpack valgrind issue (289 ms) +[ok]: corrupt payload: fuzzer findings - stream listpack valgrind issue (448 ms) === () Starting server 127.0.0.1:22002 ok -[ok]: corrupt payload: fuzzer findings - stream with bad lpFirst (319 ms) +[ok]: corrupt payload: fuzzer findings - stream with bad lpFirst (487 ms) === () Starting server 127.0.0.1:22004 ok -[ok]: corrupt payload: fuzzer findings - stream listpack lpPrev valgrind issue (280 ms) +[ok]: corrupt payload: fuzzer findings - stream listpack lpPrev valgrind issue (472 ms) === () Starting server 127.0.0.1:22006 ok -[ok]: corrupt payload: fuzzer findings - stream with non-integer entry id (332 ms) +[ok]: corrupt payload: fuzzer findings - stream with non-integer entry id (476 ms) === () Starting server 127.0.0.1:22008 ok -[ok]: corrupt payload: fuzzer findings - empty quicklist (320 ms) +[ok]: corrupt payload: fuzzer findings - empty quicklist (473 ms) === () Starting server 127.0.0.1:22010 ok -[ok]: corrupt payload: fuzzer findings - empty zset (296 ms) +[ok]: corrupt payload: fuzzer findings - empty zset (480 ms) === () Starting server 127.0.0.1:22012 ok -[ok]: corrupt payload: fuzzer findings - hash with len of 0 (317 ms) +[ok]: corrupt payload: fuzzer findings - hash with len of 0 (468 ms) === () Starting server 127.0.0.1:22014 ok -[ok]: corrupt payload: fuzzer findings - hash listpack first element too long entry len (273 ms) +[ok]: corrupt payload: fuzzer findings - hash listpack first element too long entry len (471 ms) === () Starting server 127.0.0.1:22016 ok -[ok]: corrupt payload: fuzzer findings - stream double free listpack when insert dup node to rax returns 0 (271 ms) +[ok]: corrupt payload: fuzzer findings - stream double free listpack when insert dup node to rax returns 0 (468 ms) === () Starting server 127.0.0.1:22018 ok -[ok]: corrupt payload: fuzzer findings - LCS OOM (268 ms) +[ok]: corrupt payload: fuzzer findings - LCS OOM (484 ms) === () Starting server 127.0.0.1:22020 ok -[ok]: corrupt payload: fuzzer findings - gcc asan reports false leak on assert (339 ms) +[ok]: corrupt payload: fuzzer findings - gcc asan reports false leak on assert (432 ms) === () Starting server 127.0.0.1:22022 ok -[ok]: corrupt payload: fuzzer findings - lpFind invalid access (217 ms) +[ok]: corrupt payload: fuzzer findings - lpFind invalid access (404 ms) === () Starting server 127.0.0.1:22024 ok -[ok]: corrupt payload: fuzzer findings - invalid access in ziplist tail prevlen decoding (271 ms) +[ok]: corrupt payload: fuzzer findings - invalid access in ziplist tail prevlen decoding (505 ms) === () Starting server 127.0.0.1:22026 ok -[ok]: corrupt payload: fuzzer findings - zset zslInsert with a NAN score (324 ms) +[ok]: corrupt payload: fuzzer findings - zset zslInsert with a NAN score (380 ms) === () Starting server 127.0.0.1:22028 ok -[ok]: corrupt payload: fuzzer findings - streamLastValidID panic (296 ms) +[ok]: corrupt payload: fuzzer findings - streamLastValidID panic (453 ms) === () Starting server 127.0.0.1:22030 ok -[ok]: corrupt payload: fuzzer findings - valgrind fishy value warning (280 ms) +[ok]: corrupt payload: fuzzer findings - valgrind fishy value warning (466 ms) === () Starting server 127.0.0.1:22032 ok -[ok]: corrupt payload: fuzzer findings - empty set listpack (284 ms) +[ok]: corrupt payload: fuzzer findings - empty set listpack (508 ms) === () Starting server 127.0.0.1:22034 ok -[ok]: corrupt payload: fuzzer findings - set with duplicate elements causes sdiff to hang (304 ms) +[ok]: corrupt payload: fuzzer findings - set with duplicate elements causes sdiff to hang (444 ms) === () Starting server 127.0.0.1:22036 ok -[ok]: corrupt payload: fuzzer findings - set with invalid length causes smembers to hang (296 ms) +[ok]: corrupt payload: fuzzer findings - set with invalid length causes smembers to hang (265 ms) === () Starting server 127.0.0.1:22038 ok -[ok]: corrupt payload: fuzzer findings - set with invalid length causes sscan to hang (132 ms) +[ok]: corrupt payload: fuzzer findings - set with invalid length causes sscan to hang (327 ms) === () Starting server 127.0.0.1:22040 ok -[ok]: corrupt payload: zset listpack encoded with invalid length causes zscan to hang (275 ms) +[ok]: corrupt payload: zset listpack encoded with invalid length causes zscan to hang (491 ms) === () Starting server 127.0.0.1:22042 ok -[ok]: corrupt payload: hash listpack encoded with invalid length causes hscan to hang (309 ms) +[ok]: corrupt payload: hash listpack encoded with invalid length causes hscan to hang (464 ms) === () Starting server 127.0.0.1:22044 ok -[ok]: corrupt payload: fuzzer findings - vector sets with wrong encoding (283 ms) -[78/96 done]: integration/corrupt-dump (25 seconds) +[ok]: corrupt payload: fuzzer findings - vector sets with wrong encoding (342 ms) +[78/96 done]: integration/corrupt-dump (38 seconds) Testing integration/dismiss-mem === (dismiss external:skip) Starting server 127.0.0.1:22046 ok -Waiting for background AOF rewrite to finish... [ok]: dismiss all data types memory (1105 ms) +Waiting for background AOF rewrite to finish... [ok]: dismiss all data types memory (1247 ms) Waiting for background save to finish... -Waiting for background save to finish... [ok]: dismiss client output buffer (310 ms) +Waiting for background save to finish... [ok]: dismiss client output buffer (394 ms) -Waiting for background save to finish... -Waiting for background save to finish... [ok]: dismiss client query buffer (221 ms) +Waiting for background save to finish... [ok]: dismiss client query buffer (179 ms) === () Starting server 127.0.0.1:22048 ok -Waiting for background save to finish... -Waiting for background save to finish... -Waiting for background save to finish... [ok]: dismiss replication backlog (1520 ms) +Waiting for background save to finish... [ok]: dismiss replication backlog (1652 ms) [79/96 done]: integration/dismiss-mem (4 seconds) Testing integration/failover === (failover external:skip) Starting server 127.0.0.1:22050 ok === () Starting server 127.0.0.1:22052 ok === () Starting server 127.0.0.1:22054 ok -[ok]: failover command fails without connected replica (0 ms) -[ok]: setup replication for following tests (223 ms) -[ok]: failover command fails with invalid host (0 ms) +[ok]: failover command fails without connected replica (8 ms) +[ok]: setup replication for following tests (272 ms) +[ok]: failover command fails with invalid host (4 ms) [ok]: failover command fails with invalid port (0 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 when sent to a replica (7 ms) [ok]: failover command fails with force without timeout (0 ms) -[ok]: failover command to specific replica works (652 ms) -[ok]: failover command to any replica works (759 ms) -[ok]: failover to a replica with force works (474 ms) -[ok]: failover with timeout aborts if replica never catches up (574 ms) -[ok]: failovers can be aborted (79 ms) -[ok]: failover aborts if target rejects sync request (567 ms) -[80/96 done]: integration/failover (5 seconds) +[ok]: failover command to specific replica works (625 ms) +[ok]: failover command to any replica works (571 ms) +[ok]: failover to a replica with force works (613 ms) +[ok]: failover with timeout aborts if replica never catches up (698 ms) +[ok]: failovers can be aborted (215 ms) +[ok]: failover aborts if target rejects sync request (374 ms) +[80/96 done]: integration/failover (6 seconds) Testing integration/logging === () Starting server 127.0.0.1:22056 ok {--- WATCHDOG TIMER EXPIRED ---} 36 -{src/redis-server 127.0.0.1:22057(debugCommand+0x1330) [0xaaaae9629a98]} 75 -[ok]: Server is able to generate a stack trace on selected systems (336 ms) +{src/redis-server 127.0.0.1:22057(debugCommand+0x1330) [0xaaaad5d39a98]} 75 +[ok]: Server is able to generate a stack trace on selected systems (392 ms) === () Starting server 127.0.0.1:22058 ok -{1268207:M 26 Aug 2026 19:24:11.646 # Redis 8.0.2 crashed by signal: 6, si_code: 0} 38 -{src/redis-server 127.0.0.1:22059(debugCommand+0x1330) [0xaaaabcbb9a98]} 52 -[ok]: Crash report generated on SIGABRT (232 ms) +{2368993:M 25 Jul 2025 15:54:02.007 # Redis 8.0.2 crashed by signal: 6, si_code: 0} 38 +{src/redis-server 127.0.0.1:22059(debugCommand+0x1330) [0xaaaad1519a98]} 52 +[ok]: Crash report generated on SIGABRT (344 ms) === () Starting server 127.0.0.1:22060 ok -{1268247:M 26 Aug 2026 19:24:12.040 # Redis 8.0.2 crashed by signal: 11, si_code: 2} 38 -{src/redis-server 127.0.0.1:22061(debugCommand+0x280) [0xaaaad52989e8]} 44 -[ok]: Crash report generated on DEBUG SEGFAULT (128 ms) +{2369083:M 25 Jul 2025 15:54:02.603 # Redis 8.0.2 crashed by signal: 11, si_code: 2} 38 +{src/redis-server 127.0.0.1:22061(debugCommand+0x280) [0xaaaae4b889e8]} 44 +[ok]: Crash report generated on DEBUG SEGFAULT (224 ms) === () Starting server 127.0.0.1:22062 ok {Received SIGALRM} 36 -{src/redis-server 127.0.0.1:22063(debugCommand+0x1330) [0xaaaae23e9a98]} 75 -[ok]: Stacktraces generated on SIGALRM (250 ms) +{src/redis-server 127.0.0.1:22063(debugCommand+0x1330) [0xaaaabe129a98]} 48 +[ok]: Stacktraces generated on SIGALRM (441 ms) === () Starting server 127.0.0.1:22064 ok -{1268353:M 26 Aug 2026 19:24:13.000 # === ASSERTION FAILED CLIENT CONTEXT ===} 38 -{src/redis-server 127.0.0.1:22065(debugCommand+0x32b4) [0xaaaacac6ba1c]} 54 -[ok]: Generate stacktrace on assertion (32 ms) +{2369484:M 25 Jul 2025 15:54:03.875 # === ASSERTION FAILED CLIENT CONTEXT ===} 38 +{src/redis-server 127.0.0.1:22065(debugCommand+0x32b4) [0xaaaae48fba1c]} 54 +[ok]: Generate stacktrace on assertion (120 ms) === () Starting server 127.0.0.1:22066 ok -{1268393:M 26 Aug 2026 19:24:13.260 # Redis 8.0.2 crashed by signal: 11, si_code: 2} 38 -{src/redis-server 127.0.0.1:22067(debugCommand+0x280) [0xaaaacd2b89e8]} 44 +{2369563:M 25 Jul 2025 15:54:04.318 # Redis 8.0.2 crashed by signal: 11, si_code: 2} 38 +{src/redis-server 127.0.0.1:22067(debugCommand+0x280) [0xaaaae35689e8]} 44 {argv[0]: '"debug"'} 357 -{src/redis-server 127.0.0.1:22067(debugCommand+0x280) [0xaaaacd2b89e8]} 44 +{src/redis-server 127.0.0.1:22067(debugCommand+0x280) [0xaaaae35689e8]} 44 {argv[1]: '*redacted*'} 358 -{src/redis-server 127.0.0.1:22067(debugCommand+0x280) [0xaaaacd2b89e8]} 44 -{1268393:M 26 Aug 2026 19:24:13.268 * hide-user-data-from-log is on, skip logging stack content to avoid spilling PII.} 105 -{src/redis-server 127.0.0.1:22067(debugCommand+0x280) [0xaaaacd2b89e8]} 44 -[ok]: Crash report generated on DEBUG SEGFAULT with user data hidden when 'hide-user-data-from-log' is enabled (171 ms) +{src/redis-server 127.0.0.1:22067(debugCommand+0x280) [0xaaaae35689e8]} 44 +{2369563:M 25 Jul 2025 15:54:04.328 * hide-user-data-from-log is on, skip logging stack content to avoid spilling PII.} 105 +{src/redis-server 127.0.0.1:22067(debugCommand+0x280) [0xaaaae35689e8]} 44 +[ok]: Crash report generated on DEBUG SEGFAULT with user data hidden when 'hide-user-data-from-log' is enabled (858 ms) === () Starting server 127.0.0.1:22068 ok -{1268477:M 26 Aug 2026 19:24:13.594 # === ASSERTION FAILED CLIENT CONTEXT ===} 38 -{src/redis-server 127.0.0.1:22069(debugCommand+0x32b4) [0xaaaacb56ba1c]} 63 -{1268477:M 26 Aug 2026 19:24:13.594 # client->argv[0] = "debug" (refcount: 1)} 42 -{src/redis-server 127.0.0.1:22069(debugCommand+0x32b4) [0xaaaacb56ba1c]} 63 -{1268477:M 26 Aug 2026 19:24:13.594 # client->argv[1] = *redacted*} 43 -{src/redis-server 127.0.0.1:22069(debugCommand+0x32b4) [0xaaaacb56ba1c]} 63 -[ok]: Generate stacktrace on assertion with user data hidden when 'hide-user-data-from-log' is enabled (212 ms) -[81/96 done]: integration/logging (3 seconds) +{2369761:M 25 Jul 2025 15:54:05.542 # === ASSERTION FAILED CLIENT CONTEXT ===} 38 +{src/redis-server 127.0.0.1:22069(debugCommand+0x32b4) [0xaaaacc41ba1c]} 54 +{2369761:M 25 Jul 2025 15:54:05.542 # client->argv[0] = "debug" (refcount: 1)} 42 +{src/redis-server 127.0.0.1:22069(debugCommand+0x32b4) [0xaaaacc41ba1c]} 54 +{2369761:M 25 Jul 2025 15:54:05.542 # client->argv[1] = *redacted*} 43 +{src/redis-server 127.0.0.1:22069(debugCommand+0x32b4) [0xaaaacc41ba1c]} 54 +[ok]: Generate stacktrace on assertion with user data hidden when 'hide-user-data-from-log' is enabled (51 ms) +[81/96 done]: integration/logging (5 seconds) Testing integration/psync2-master-restart === (psync2 external:skip) Starting server 127.0.0.1:22070 ok === () Starting server 127.0.0.1:22072 ok === () Starting server 127.0.0.1:22074 ok -[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields when offset is 0 (181 ms) -[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with data (215 ms) -[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with expire (2314 ms) -[ok]: PSYNC2: Full resync after Master restart when too many key expired (2972 ms) -[82/96 done]: integration/psync2-master-restart (8 seconds) +[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields when offset is 0 (299 ms) +[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with data (1263 ms) +[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with expire (2664 ms) +[ok]: PSYNC2: Full resync after Master restart when too many key expired (3129 ms) +[82/96 done]: integration/psync2-master-restart (11 seconds) Testing integration/psync2-pingoff === (psync2 external:skip) Starting server 127.0.0.1:22076 ok === () Starting server 127.0.0.1:22078 ok -[ok]: PSYNC2 pingoff: setup (1028 ms) -[ok]: PSYNC2 pingoff: write and wait replication (2 ms) -[ok]: PSYNC2 pingoff: pause replica and promote it (5002 ms) -[ok]: Make the old master a replica of the new one and check conditions (1017 ms) +[ok]: PSYNC2 pingoff: setup (1029 ms) +[ok]: PSYNC2 pingoff: write and wait replication (1 ms) +[ok]: PSYNC2 pingoff: pause replica and promote it (5011 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:22080 ok === () Starting server 127.0.0.1:22082 ok === () Starting server 127.0.0.1:22084 ok === () Starting server 127.0.0.1:22086 ok === () Starting server 127.0.0.1:22088 ok -[ok]: test various edge cases of repl topology changes with missing pings at the end (5115 ms) +[ok]: test various edge cases of repl topology changes with missing pings at the end (5048 ms) === (psync2 external:skip) Starting server 127.0.0.1:22090 ok === () Starting server 127.0.0.1:22092 ok === () Starting server 127.0.0.1:22094 ok -[ok]: Chained replicas disconnect when replica re-connect with the same master (3960 ms) -[83/96 done]: integration/psync2-pingoff (20 seconds) +[ok]: Chained replicas disconnect when replica re-connect with the same master (3911 ms) +[83/96 done]: integration/psync2-pingoff (21 seconds) Testing integration/psync2-reg === (psync2 external:skip) Starting server 127.0.0.1:22096 ok === () Starting server 127.0.0.1:22098 ok === () Starting server 127.0.0.1:22100 ok -[ok]: PSYNC2 #3899 regression: setup (1028 ms) +[ok]: PSYNC2 #3899 regression: setup (1052 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 first replica (6 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (4 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (4 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (8 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (5 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (7 ms) [ok]: PSYNC2 #3899 regression: kill first replica (1 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 (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (4 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (8 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (6 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (1 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (2 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (2 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (4 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (4 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (5 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (4 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (1 ms) -[ok]: PSYNC2 #3899 regression: verify consistency (15 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (5 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (2 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (8 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (8 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (12 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (5 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (3 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (4 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (4 ms) +[ok]: PSYNC2 #3899 regression: verify consistency (16 ms) [84/96 done]: integration/psync2-reg (23 seconds) Testing integration/psync2 === (psync2 external:skip) Starting server 127.0.0.1:22102 ok @@ -4933,1370 +4989,1441 @@ === () Starting server 127.0.0.1:22108 ok === () Starting server 127.0.0.1:22110 ok [ok]: PSYNC2: --- CYCLE 1 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #1 as master (2 ms) -[ok]: PSYNC2: Set #4 to replicate from #1 (6 ms) -[ok]: PSYNC2: Set #0 to replicate from #1 (1 ms) -[ok]: PSYNC2: Set #2 to replicate from #4 (1 ms) -[ok]: PSYNC2: Set #3 to replicate from #0 (1 ms) -[ok]: PSYNC2: cluster is consistent after failover (1 ms) +[ok]: PSYNC2: [NEW LAYOUT] Set #0 as master (11 ms) +[ok]: PSYNC2: Set #4 to replicate from #2 (7 ms) +[ok]: PSYNC2: Set #1 to replicate from #4 (10 ms) +[ok]: PSYNC2: Set #2 to replicate from #0 (11 ms) +[ok]: PSYNC2: Set #3 to replicate from #2 (10 ms) +[ok]: PSYNC2: cluster is consistent after failover (23 ms) [ok]: PSYNC2: generate load while killing replication links (5000 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 19221) (3 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (1 ms) +[ok]: PSYNC2: cluster is consistent after load (x = 10175) (1023 ms) +[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (7 ms) [ok]: PSYNC2: --- CYCLE 2 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #2 as master (0 ms) -[ok]: PSYNC2: Set #4 to replicate from #0 (4 ms) -[ok]: PSYNC2: Set #0 to replicate from #2 (4 ms) -[ok]: PSYNC2: Set #1 to replicate from #3 (1 ms) -[ok]: PSYNC2: Set #3 to replicate from #2 (1 ms) -[ok]: PSYNC2: cluster is consistent after failover (1 ms) +[ok]: PSYNC2: [NEW LAYOUT] Set #4 as master (1 ms) +[ok]: PSYNC2: Set #0 to replicate from #4 (7 ms) +[ok]: PSYNC2: Set #1 to replicate from #4 (2 ms) +[ok]: PSYNC2: Set #2 to replicate from #1 (5 ms) +[ok]: PSYNC2: Set #3 to replicate from #4 (9 ms) +[ok]: PSYNC2: cluster is consistent after failover (23 ms) [ok]: PSYNC2: generate load while killing replication links (5000 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 39762) (6 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (8 ms) +[ok]: PSYNC2: cluster is consistent after load (x = 23123) (1019 ms) +[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (12 ms) [ok]: PSYNC2: --- CYCLE 3 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #0 as master (0 ms) -[ok]: PSYNC2: Set #4 to replicate from #0 (9 ms) -[ok]: PSYNC2: Set #1 to replicate from #3 (1 ms) -[ok]: PSYNC2: Set #2 to replicate from #3 (0 ms) -[ok]: PSYNC2: Set #3 to replicate from #0 (4 ms) -[ok]: PSYNC2: cluster is consistent after failover (1 ms) -[ok]: PSYNC2: generate load while killing replication links (5000 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 57168) (5 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (2 ms) -[ok]: PSYNC2: --- CYCLE 4 --- (0 ms) [ok]: PSYNC2: [NEW LAYOUT] Set #2 as master (1 ms) -[ok]: PSYNC2: Set #4 to replicate from #2 (9 ms) -[ok]: PSYNC2: Set #0 to replicate from #2 (0 ms) -[ok]: PSYNC2: Set #1 to replicate from #2 (1 ms) -[ok]: PSYNC2: Set #3 to replicate from #0 (1 ms) -[ok]: PSYNC2: cluster is consistent after failover (12 ms) -[ok]: PSYNC2: generate load while killing replication links (5004 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 77198) (19 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (27 ms) -[ok]: PSYNC2: --- CYCLE 5 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #2 as master (0 ms) -[ok]: PSYNC2: Set #0 to replicate from #4 (1 ms) -[ok]: PSYNC2: Set #4 to replicate from #2 (0 ms) -[ok]: PSYNC2: Set #1 to replicate from #0 (0 ms) -[ok]: PSYNC2: Set #3 to replicate from #2 (1 ms) -[ok]: PSYNC2: cluster is consistent after failover (1 ms) -[ok]: PSYNC2: generate load while killing replication links (5005 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 96948) (19 ms) +[ok]: PSYNC2: Set #4 to replicate from #0 (9 ms) +[ok]: PSYNC2: Set #0 to replicate from #3 (10 ms) +[ok]: PSYNC2: Set #1 to replicate from #3 (8 ms) +[ok]: PSYNC2: Set #3 to replicate from #2 (7 ms) +[ok]: PSYNC2: cluster is consistent after failover (3 ms) +[ok]: PSYNC2: generate load while killing replication links (5006 ms) +[ok]: PSYNC2: cluster is consistent after load (x = 28425) (20 ms) [ok]: PSYNC2: total sum of full synchronizations is exactly 4 (16 ms) -[ok]: PSYNC2: Bring the master back again for next test (15 ms) -[ok]: PSYNC2: Partial resync after restart using RDB aux fields (318 ms) -[85/96 done]: integration/psync2 (44 seconds) +[ok]: PSYNC2: --- CYCLE 4 --- (0 ms) +[ok]: PSYNC2: [NEW LAYOUT] Set #0 as master (1 ms) +[ok]: PSYNC2: Set #4 to replicate from #2 (5 ms) +[ok]: PSYNC2: Set #1 to replicate from #0 (5 ms) +[ok]: PSYNC2: Set #2 to replicate from #0 (9 ms) +[ok]: PSYNC2: Set #3 to replicate from #2 (8 ms) +[ok]: PSYNC2: cluster is consistent after failover (20 ms) +[ok]: PSYNC2: generate load while killing replication links (5000 ms) +[ok]: PSYNC2: cluster is consistent after load (x = 42158) (1027 ms) +[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (1 ms) +[ok]: PSYNC2: Bring the master back again for next test (2 ms) +[ok]: PSYNC2: Partial resync after restart using RDB aux fields (313 ms) +[85/96 done]: integration/psync2 (43 seconds) Testing integration/rdb === () Starting server 127.0.0.1:22112 ok -[ok]: test old version rdb file (0 ms) +[ok]: test old version rdb file (2 ms) === () Starting server 127.0.0.1:22114 ok -[ok]: RDB encoding loading test (9 ms) +[ok]: RDB encoding loading test (16 ms) === () Starting server 127.0.0.1:22116 ok [ok]: Server started empty with non-existing RDB file (0 ms) === () Starting server 127.0.0.1:22118 ok [ok]: Server started empty with empty RDB file (1 ms) === () Starting server 127.0.0.1:22120 ok -[ok]: Test RDB stream encoding (108 ms) +[ok]: Test RDB stream encoding (140 ms) [ok]: Test RDB stream encoding - sanitize dump (4 ms) === () Starting server 127.0.0.1:22122 -[ok]: Server should not start if RDB file can't be open (8 ms) +[ok]: Server should not start if RDB file can't be open (2 ms) === () Starting server 127.0.0.1:22124 -[ok]: Server should not start if RDB is corrupted (11 ms) +[ok]: Server should not start if RDB is corrupted (1 ms) === () Starting server 127.0.0.1:22126 ok -[ok]: Test FLUSHALL aborts bgsave (375 ms) -[ok]: bgsave resets the change counter (103 ms) +[ok]: Test FLUSHALL aborts bgsave (408 ms) +[ok]: bgsave resets the change counter (105 ms) === () Starting server 127.0.0.1:22128 ok -[ok]: client freed during loading (1044 ms) +[ok]: client freed during loading (1057 ms) === () Starting server 127.0.0.1:22130 ok -[ok]: Test RDB load info (668 ms) +[ok]: Test RDB load info (742 ms) === () Starting server 127.0.0.1:22132 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: 499712 +COW info before copy-on-write: 507904 current_save_keys_processed info : 1 -[ok]: Test child sending info (1956 ms) +[ok]: Test child sending info (3003 ms) === () Starting server 127.0.0.1:22134 ok [ok]: script won't load anymore if it's in rdb (0 ms) === () Starting server 127.0.0.1:22136 ok Waiting for background save to finish... Waiting for background save to finish... -Waiting for background save to finish... [ok]: failed bgsave prevents writes (252 ms) +Waiting for background save to finish... +Waiting for background save to finish... [ok]: failed bgsave prevents writes (309 ms) === () Starting server 127.0.0.1:22138 ok -[ok]: HFE - save and load expired fields, expired soon after, or long after (listpack) (427 ms) -[ok]: HFE - save and load expired fields, expired soon after, or long after (dict) (406 ms) +[ok]: HFE - save and load expired fields, expired soon after, or long after (listpack) (310 ms) +[ok]: HFE - save and load expired fields, expired soon after, or long after (dict) (354 ms) === () Starting server 127.0.0.1:22140 ok -[ok]: HFE - save and load rdb all fields expired, (listpack) (415 ms) -[ok]: HFE - save and load rdb all fields expired, (dict) (400 ms) +[ok]: HFE - save and load rdb all fields expired, (listpack) (298 ms) +[ok]: HFE - save and load rdb all fields expired, (dict) (360 ms) === () Starting server 127.0.0.1:22142 ok -[ok]: save listpack, load dict (508 ms) +[ok]: save listpack, load dict (454 ms) === () Starting server 127.0.0.1:22144 ok -[ok]: save dict, load listpack (536 ms) +[ok]: save dict, load listpack (457 ms) === () Starting server 127.0.0.1:22146 ok -[ok]: active field expiry after load, (listpack) (306 ms) +[ok]: active field expiry after load, (listpack) (311 ms) === () Starting server 127.0.0.1:22148 ok [ok]: active field expiry after load, (dict) (310 ms) === () Starting server 127.0.0.1:22150 ok -[ok]: lazy field expiry after load, (listpack) (506 ms) +[ok]: lazy field expiry after load, (listpack) (508 ms) === () Starting server 127.0.0.1:22152 ok -[ok]: lazy field expiry after load, (dict) (506 ms) +[ok]: lazy field expiry after load, (dict) (508 ms) === () Starting server 127.0.0.1:22154 ok -[ok]: load un-expired items below and above rax-list boundary, (listpack) (421 ms) +[ok]: load un-expired items below and above rax-list boundary, (listpack) (369 ms) === () Starting server 127.0.0.1:22156 ok -[ok]: load un-expired items below and above rax-list boundary, (dict) (341 ms) -[86/96 done]: integration/rdb (16 seconds) +[ok]: load un-expired items below and above rax-list boundary, (dict) (369 ms) +[86/96 done]: integration/rdb (15 seconds) Testing integration/redis-benchmark === () Starting server 127.0.0.1:22158 ok -[ok]: benchmark: set,get (117 ms) -[ok]: benchmark: connecting using URI set,get (119 ms) -[ok]: benchmark: connecting using URI with authentication set,get (94 ms) -[ok]: benchmark: full test suite (1917 ms) -[ok]: benchmark: multi-thread set,get (621 ms) -[ok]: benchmark: pipelined full set,get (403 ms) -[ok]: benchmark: arbitrary command (75 ms) -[ok]: benchmark: keyspace length (362 ms) -[ok]: benchmark: clients idle mode should return error when reached maxclients limit (61 ms) -[ok]: benchmark: read last argument from stdin (126 ms) -[ok]: benchmark: specific tls-ciphers (519 ms) -[ok]: benchmark: tls connecting using URI with authentication set,get (144 ms) -[ok]: benchmark: specific tls-ciphersuites (330 ms) +[ok]: benchmark: set,get (171 ms) +[ok]: benchmark: connecting using URI set,get (168 ms) +[ok]: benchmark: connecting using URI with authentication set,get (159 ms) +[ok]: benchmark: full test suite (1191 ms) +[ok]: benchmark: multi-thread set,get (608 ms) +[ok]: benchmark: pipelined full set,get (309 ms) +[ok]: benchmark: arbitrary command (110 ms) +[ok]: benchmark: keyspace length (357 ms) +[ok]: benchmark: clients idle mode should return error when reached maxclients limit (86 ms) +[ok]: benchmark: read last argument from stdin (153 ms) +[ok]: benchmark: specific tls-ciphers (473 ms) +[ok]: benchmark: tls connecting using URI with authentication set,get (94 ms) +[ok]: benchmark: specific tls-ciphersuites (344 ms) [87/96 done]: integration/redis-benchmark (5 seconds) Testing integration/redis-cli === (cli) Starting server 127.0.0.1:22160 ok -[ok]: Interactive CLI: should find first search result (259 ms) -[ok]: Interactive CLI: should find and use the first search result (329 ms) -[ok]: Interactive CLI: should be ok if there is no result (147 ms) -[ok]: Interactive CLI: upon submitting search, (reverse-i-search) prompt should go away (139 ms) -[ok]: Interactive CLI: should find second search result if user presses ctrl+r again (326 ms) -[ok]: Interactive CLI: should find second search result if user presses ctrl+s (321 ms) -[ok]: Interactive CLI: should exit reverse search if user presses ctrl+g (206 ms) -[ok]: Interactive CLI: should exit reverse search if user presses up arrow (204 ms) -[ok]: Interactive CLI: should exit reverse search if user presses right arrow (208 ms) -[ok]: Interactive CLI: should exit reverse search if user presses down arrow (207 ms) -[ok]: Interactive CLI: should exit reverse search if user presses left arrow (208 ms) -[ok]: Interactive CLI: should disable and persist line if user presses tab (264 ms) -[ok]: Interactive CLI: should disable and persist search result if user presses tab (260 ms) -[ok]: Interactive CLI: should disable and persist line and move the cursor if user presses tab (327 ms) -[ok]: Interactive CLI: INFO response should be printed raw (79 ms) -[ok]: Interactive CLI: Status reply (74 ms) -[ok]: Interactive CLI: Integer reply (85 ms) -[ok]: Interactive CLI: Bulk reply (82 ms) -[ok]: Interactive CLI: Multi-bulk reply (72 ms) -[ok]: Interactive CLI: Parsing quotes (448 ms) -[ok]: Interactive CLI: Subscribed mode (632 ms) -[ok]: Interactive non-TTY CLI: Subscribed mode (433 ms) -[ok]: Non-interactive TTY CLI: Status reply (22 ms) -[ok]: Non-interactive TTY CLI: Integer reply (24 ms) -[ok]: Non-interactive TTY CLI: Bulk reply (25 ms) -[ok]: Non-interactive TTY CLI: Multi-bulk reply (24 ms) -[ok]: Non-interactive TTY CLI: Read last argument from pipe (47 ms) -[ok]: Non-interactive TTY CLI: Read last argument from file (42 ms) -[ok]: Non-interactive TTY CLI: Escape character in JSON mode (194 ms) -[ok]: Non-interactive non-TTY CLI: Status reply (25 ms) -[ok]: Non-interactive non-TTY CLI: Integer reply (20 ms) -[ok]: Non-interactive non-TTY CLI: Bulk reply (21 ms) -[ok]: Non-interactive non-TTY CLI: Multi-bulk reply (21 ms) -[ok]: Non-interactive non-TTY CLI: Quoted input arguments (21 ms) -[ok]: Non-interactive non-TTY CLI: No accidental unquoting of input arguments (43 ms) -[ok]: Non-interactive non-TTY CLI: Invalid quoted input arguments (41 ms) -[ok]: Non-interactive non-TTY CLI: Read last argument from pipe (45 ms) -[ok]: Non-interactive non-TTY CLI: Read last argument from file (41 ms) -[ok]: Non-interactive non-TTY CLI: Test command-line hinting - latest server (26 ms) -[ok]: Non-interactive non-TTY CLI: Test command-line hinting - no server (7 ms) -[ok]: Non-interactive non-TTY CLI: Test command-line hinting - old server (27 ms) -[ok]: Dumping an RDB - functions only: no (1518 ms) -[ok]: Dumping an RDB - functions only: yes (518 ms) -[ok]: Scan mode (163 ms) -[ok]: Connecting as a replica (2176 ms) -[ok]: Piping raw protocol (763 ms) -[ok]: Options -X with illegal argument (62 ms) -[ok]: DUMP RESTORE with -x option (134 ms) -[ok]: DUMP RESTORE with -X option (136 ms) -[ok]: Send eval command by using --eval option (21 ms) +[ok]: Interactive CLI: should find first search result (284 ms) +[ok]: Interactive CLI: should find and use the first search result (345 ms) +[ok]: Interactive CLI: should be ok if there is no result (164 ms) +[ok]: Interactive CLI: upon submitting search, (reverse-i-search) prompt should go away (163 ms) +[ok]: Interactive CLI: should find second search result if user presses ctrl+r again (344 ms) +[ok]: Interactive CLI: should find second search result if user presses ctrl+s (345 ms) +[ok]: Interactive CLI: should exit reverse search if user presses ctrl+g (224 ms) +[ok]: Interactive CLI: should exit reverse search if user presses up arrow (223 ms) +[ok]: Interactive CLI: should exit reverse search if user presses right arrow (223 ms) +[ok]: Interactive CLI: should exit reverse search if user presses down arrow (223 ms) +[ok]: Interactive CLI: should exit reverse search if user presses left arrow (224 ms) +[ok]: Interactive CLI: should disable and persist line if user presses tab (283 ms) +[ok]: Interactive CLI: should disable and persist search result if user presses tab (285 ms) +[ok]: Interactive CLI: should disable and persist line and move the cursor if user presses tab (344 ms) +[ok]: Interactive CLI: INFO response should be printed raw (103 ms) +[ok]: Interactive CLI: Status reply (101 ms) +[ok]: Interactive CLI: Integer reply (101 ms) +[ok]: Interactive CLI: Bulk reply (101 ms) +[ok]: Interactive CLI: Multi-bulk reply (102 ms) +[ok]: Interactive CLI: Parsing quotes (468 ms) +[ok]: Interactive CLI: Subscribed mode (639 ms) +[ok]: Interactive non-TTY CLI: Subscribed mode (467 ms) +[ok]: Non-interactive TTY CLI: Status reply (48 ms) +[ok]: Non-interactive TTY CLI: Integer reply (49 ms) +[ok]: Non-interactive TTY CLI: Bulk reply (49 ms) +[ok]: Non-interactive TTY CLI: Multi-bulk reply (49 ms) +[ok]: Non-interactive TTY CLI: Read last argument from pipe (104 ms) +[ok]: Non-interactive TTY CLI: Read last argument from file (100 ms) +[ok]: Non-interactive TTY CLI: Escape character in JSON mode (440 ms) +[ok]: Non-interactive non-TTY CLI: Status reply (49 ms) +[ok]: Non-interactive non-TTY CLI: Integer reply (50 ms) +[ok]: Non-interactive non-TTY CLI: Bulk reply (42 ms) +[ok]: Non-interactive non-TTY CLI: Multi-bulk reply (49 ms) +[ok]: Non-interactive non-TTY CLI: Quoted input arguments (50 ms) +[ok]: Non-interactive non-TTY CLI: No accidental unquoting of input arguments (98 ms) +[ok]: Non-interactive non-TTY CLI: Invalid quoted input arguments (96 ms) +[ok]: Non-interactive non-TTY CLI: Read last argument from pipe (104 ms) +[ok]: Non-interactive non-TTY CLI: Read last argument from file (97 ms) +[ok]: Non-interactive non-TTY CLI: Test command-line hinting - latest server (60 ms) +[ok]: Non-interactive non-TTY CLI: Test command-line hinting - no server (14 ms) +[ok]: Non-interactive non-TTY CLI: Test command-line hinting - old server (64 ms) +[ok]: Dumping an RDB - functions only: no (1692 ms) +[ok]: Dumping an RDB - functions only: yes (730 ms) +[ok]: Scan mode (282 ms) +[ok]: Connecting as a replica (2214 ms) +[ok]: Piping raw protocol (804 ms) +[ok]: Options -X with illegal argument (71 ms) +[ok]: DUMP RESTORE with -x option (303 ms) +[ok]: DUMP RESTORE with -X option (303 ms) +[ok]: Send eval command by using --eval option (48 ms) === (cli external:skip) Starting server 127.0.0.1:22162 ok -[ok]: Interactive CLI: db_num showed in redis-cli after reconnected (752 ms) -[88/96 done]: integration/redis-cli (13 seconds) +[ok]: Interactive CLI: db_num showed in redis-cli after reconnected (687 ms) +[88/96 done]: integration/redis-cli (15 seconds) Testing integration/replication-2 === (repl external:skip) Starting server 127.0.0.1:22164 ok === () Starting server 127.0.0.1:22166 ok -[ok]: First server should have role slave after SLAVEOF (120 ms) -[ok]: If min-slaves-to-write is honored, write is accepted (1 ms) +[ok]: First server should have role slave after SLAVEOF (115 ms) +[ok]: If min-slaves-to-write is honored, write is accepted (2 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 (3771 ms) -[ok]: min-slaves-to-write is ignored by slaves (1 ms) -[ok]: MASTER and SLAVE dataset should be identical after complex ops (9374 ms) -[89/96 done]: integration/replication-2 (14 seconds) +[ok]: No write if min-slaves-max-lag is > of the slave lag (2775 ms) +[ok]: min-slaves-to-write is ignored by slaves (2 ms) +[ok]: MASTER and SLAVE dataset should be identical after complex ops (8198 ms) +[89/96 done]: integration/replication-2 (11 seconds) Testing integration/replication-3 === (repl external:skip) Starting server 127.0.0.1:22168 ok === () Starting server 127.0.0.1:22170 ok -[ok]: First server should have role slave after SLAVEOF (106 ms) -[ok]: MASTER and SLAVE consistency with expire (4872 ms) -[ok]: Master can replicate command longer than client-query-buffer-limit on replica (132 ms) +[ok]: First server should have role slave after SLAVEOF (104 ms) +[ok]: MASTER and SLAVE consistency with expire (4796 ms) +[ok]: Master can replicate command longer than client-query-buffer-limit on replica (199 ms) [ok]: Slave is able to evict keys created in writable slaves (6005 ms) -[ok]: Writable replica doesn't return expired keys (104 ms) -[ok]: PFCOUNT updates cache on readonly replica (1 ms) -[ok]: PFCOUNT doesn't use expired key on readonly replica (103 ms) -[90/96 done]: integration/replication-3 (12 seconds) +[ok]: Writable replica doesn't return expired keys (107 ms) +[ok]: PFCOUNT updates cache on readonly replica (3 ms) +[ok]: PFCOUNT doesn't use expired key on readonly replica (104 ms) +[90/96 done]: integration/replication-3 (13 seconds) Testing integration/replication-4 === (repl network external:skip singledb:skip) Starting server 127.0.0.1:22172 ok === () Starting server 127.0.0.1:22174 ok -[ok]: First server should have role slave after SLAVEOF (2 ms) -[ok]: Test replication with parallel clients writing in different DBs (5110 ms) +[ok]: First server should have role slave after SLAVEOF (3 ms) +[ok]: Test replication with parallel clients writing in different DBs (5246 ms) === (repl external:skip) Starting server 127.0.0.1:22176 ok === () Starting server 127.0.0.1:22178 ok -[ok]: First server should have role slave after SLAVEOF (116 ms) -[ok]: With min-slaves-to-write (1,3): master should be writable (0 ms) +[ok]: First server should have role slave after SLAVEOF (102 ms) +[ok]: With min-slaves-to-write (1,3): master should be writable (2 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 (0 ms) -[ok]: With min-slaves-to-write: master not writable with lagged slave (3610 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 (3699 ms) === (repl external:skip) Starting server 127.0.0.1:22180 ok === () Starting server 127.0.0.1:22182 ok [ok]: First server should have role slave after SLAVEOF (103 ms) Replication of an expired key does not delete the expired key test attempts: 0 -[ok]: Replication of an expired key does not delete the expired key (553 ms) +[ok]: Replication of an expired key does not delete the expired key (562 ms) === (repl external:skip) Starting server 127.0.0.1:22184 ok === () Starting server 127.0.0.1:22186 ok -[ok]: First server should have role slave after SLAVEOF (1 ms) -[ok]: Replication: commands with many arguments (issue #1221) (8536 ms) -[ok]: spopwithcount rewrite srem command (80 ms) -[ok]: Replication of SPOP command -- alsoPropagate() API (547 ms) +[ok]: First server should have role slave after SLAVEOF (2 ms) +[ok]: Replication: commands with many arguments (issue #1221) (9357 ms) +[ok]: spopwithcount rewrite srem command (125 ms) +[ok]: Replication of SPOP command -- alsoPropagate() API (665 ms) === (repl external:skip) Starting server 127.0.0.1:22188 ok === () Starting server 127.0.0.1:22190 ok -[ok]: First server should have role slave after SLAVEOF (103 ms) -[ok]: Data divergence can happen under default conditions (4 ms) -[ok]: Data divergence is allowed on writable replicas (3 ms) +[ok]: First server should have role slave after SLAVEOF (104 ms) +[ok]: Data divergence can happen under default conditions (6 ms) +[ok]: Data divergence is allowed on writable replicas (7 ms) [91/96 done]: integration/replication-4 (22 seconds) Testing integration/replication-buffer === (repl external:skip) Starting server 127.0.0.1:22192 ok === () Starting server 127.0.0.1:22194 ok === () Starting server 127.0.0.1:22196 ok === () Starting server 127.0.0.1:22198 ok -[ok]: All replicas share one global replication buffer rdbchannel=yes (120 ms) +[ok]: All replicas share one global replication buffer rdbchannel=yes (134 ms) [ok]: Replication buffer will become smaller when no replica uses rdbchannel=yes (8 ms) === (repl external:skip) Starting server 127.0.0.1:22200 ok === () Starting server 127.0.0.1:22202 ok === () Starting server 127.0.0.1:22204 ok === () Starting server 127.0.0.1:22206 ok -[ok]: All replicas share one global replication buffer rdbchannel=no (118 ms) +[ok]: All replicas share one global replication buffer rdbchannel=no (108 ms) [ok]: Replication buffer will become smaller when no replica uses rdbchannel=no (7 ms) === (repl external:skip) Starting server 127.0.0.1:22208 ok === () Starting server 127.0.0.1:22210 ok === () Starting server 127.0.0.1:22212 ok -[ok]: Replication backlog size can outgrow the backlog limit config rdbchannel=yes (2508 ms) -[ok]: Replica could use replication buffer (beyond backlog config) for partial resynchronization rdbchannel=yes (2480 ms) -[ok]: Replication backlog memory will become smaller if disconnecting with replica rdbchannel=yes (588 ms) +[ok]: Replication backlog size can outgrow the backlog limit config rdbchannel=yes (2752 ms) +[ok]: Replica could use replication buffer (beyond backlog config) for partial resynchronization rdbchannel=yes (2039 ms) +[ok]: Replication backlog memory will become smaller if disconnecting with replica rdbchannel=yes (613 ms) === (repl external:skip) Starting server 127.0.0.1:22214 ok === () Starting server 127.0.0.1:22216 ok === () Starting server 127.0.0.1:22218 ok -[ok]: Replication backlog size can outgrow the backlog limit config rdbchannel=no (2967 ms) -[ok]: Replica could use replication buffer (beyond backlog config) for partial resynchronization rdbchannel=no (2201 ms) -[ok]: Replication backlog memory will become smaller if disconnecting with replica rdbchannel=no (789 ms) +[ok]: Replication backlog size can outgrow the backlog limit config rdbchannel=no (1998 ms) +[ok]: Replica could use replication buffer (beyond backlog config) for partial resynchronization rdbchannel=no (1856 ms) +[ok]: Replication backlog memory will become smaller if disconnecting with replica rdbchannel=no (107 ms) === (repl external:skip) Starting server 127.0.0.1:22220 ok === () Starting server 127.0.0.1:22222 ok -[ok]: Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size rdbchannel=yes (3312 ms) +[ok]: Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size rdbchannel=yes (4293 ms) === (repl external:skip) Starting server 127.0.0.1:22224 ok === () Starting server 127.0.0.1:22226 ok -[ok]: The update of replBufBlock's repl_offset is ok - Regression test for #11666 (14 ms) -[ok]: Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending rdbchannel=yes (1305 ms) +[ok]: The update of replBufBlock's repl_offset is ok - Regression test for #11666 (18 ms) +[ok]: Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending rdbchannel=yes (1159 ms) === (repl external:skip) Starting server 127.0.0.1:22228 ok === () Starting server 127.0.0.1:22230 ok -[ok]: Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size rdbchannel=no (3290 ms) +[ok]: Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size rdbchannel=no (3296 ms) === (repl external:skip) Starting server 127.0.0.1:22232 ok === () Starting server 127.0.0.1:22234 ok -[ok]: The update of replBufBlock's repl_offset is ok - Regression test for #11666 (14 ms) -[ok]: Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending rdbchannel=no (2341 ms) -[92/96 done]: integration/replication-buffer (32 seconds) +[ok]: The update of replBufBlock's repl_offset is ok - Regression test for #11666 (13 ms) +[ok]: Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending rdbchannel=no (2174 ms) +[92/96 done]: integration/replication-buffer (30 seconds) Testing integration/replication-psync === (repl) Starting server 127.0.0.1:22236 ok === () Starting server 127.0.0.1:22238 ok -[ok]: Slave should be able to synchronize with the master (104 ms) -[ok]: Detect write load to master (1011 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, disabled, reconnect: 0, rdbchannel: no) (38 ms) +[ok]: Slave should be able to synchronize with the master (109 ms) +[ok]: Detect write load to master (1007 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, disabled, reconnect: 0, rdbchannel: no) (30 ms) === (repl) Starting server 127.0.0.1:22240 ok === () Starting server 127.0.0.1:22242 ok -[ok]: Slave should be able to synchronize with the master (104 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: ok psync (diskless: no, disabled, reconnect: 1, rdbchannel: no) (6366 ms) +[ok]: Slave should be able to synchronize with the master (211 ms) +[ok]: Detect write load to master (1009 ms) +[ok]: Test replication partial resync: ok psync (diskless: no, disabled, reconnect: 1, rdbchannel: no) (6201 ms) === (repl) Starting server 127.0.0.1:22244 ok === () Starting server 127.0.0.1:22246 ok -[ok]: Slave should be able to synchronize with the master (109 ms) -[ok]: Detect write load to master (1009 ms) -[ok]: Test replication partial resync: no backlog (diskless: no, disabled, reconnect: 1, rdbchannel: no) (7845 ms) +[ok]: Slave should be able to synchronize with the master (204 ms) +[ok]: Detect write load to master (0 ms) +[ok]: Test replication partial resync: no backlog (diskless: no, disabled, reconnect: 1, rdbchannel: no) (7703 ms) === (repl) Starting server 127.0.0.1:22248 ok === () Starting server 127.0.0.1:22250 ok -[ok]: Slave should be able to synchronize with the master (115 ms) -[ok]: Detect write load to master (1007 ms) -[ok]: Test replication partial resync: ok after delay (diskless: no, disabled, reconnect: 1, rdbchannel: no) (9223 ms) +[ok]: Slave should be able to synchronize with the master (108 ms) +[ok]: Detect write load to master (1004 ms) +[ok]: Test replication partial resync: ok after delay (diskless: no, disabled, reconnect: 1, rdbchannel: no) (9256 ms) === (repl) Starting server 127.0.0.1:22252 ok === () Starting server 127.0.0.1:22254 ok -[ok]: Slave should be able to synchronize with the master (207 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: backlog expired (diskless: no, disabled, reconnect: 1, rdbchannel: no) (9203 ms) +[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: backlog expired (diskless: no, disabled, reconnect: 1, rdbchannel: no) (9164 ms) === (repl) Starting server 127.0.0.1:22256 ok === () Starting server 127.0.0.1:22258 ok -[ok]: Slave should be able to synchronize with the master (203 ms) -[ok]: Detect write load to master (1002 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, swapdb, reconnect: 0, rdbchannel: no) (26 ms) +[ok]: Slave should be able to synchronize with the master (208 ms) +[ok]: Detect write load to master (1004 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, swapdb, reconnect: 0, rdbchannel: no) (19 ms) === (repl) Starting server 127.0.0.1:22260 ok === () Starting server 127.0.0.1:22262 ok -[ok]: Slave should be able to synchronize with the master (102 ms) -[ok]: Detect write load to master (1003 ms) -[ok]: Test replication partial resync: ok psync (diskless: no, swapdb, reconnect: 1, rdbchannel: no) (6294 ms) +[ok]: Slave should be able to synchronize with the master (209 ms) +[ok]: Detect write load to master (0 ms) +[ok]: Test replication partial resync: ok psync (diskless: no, swapdb, reconnect: 1, rdbchannel: no) (6263 ms) === (repl) Starting server 127.0.0.1:22264 ok === () Starting server 127.0.0.1:22266 ok -[ok]: Slave should be able to synchronize with the master (209 ms) -[ok]: Detect write load to master (1011 ms) -[ok]: Test replication partial resync: no backlog (diskless: no, swapdb, reconnect: 1, rdbchannel: no) (7822 ms) +[ok]: Slave should be able to synchronize with the master (205 ms) +[ok]: Detect write load to master (1012 ms) +[ok]: Test replication partial resync: no backlog (diskless: no, swapdb, reconnect: 1, rdbchannel: no) (7680 ms) === (repl) Starting server 127.0.0.1:22268 ok === () Starting server 127.0.0.1:22270 ok -[ok]: Slave should be able to synchronize with the master (206 ms) -[ok]: Detect write load to master (1010 ms) -[ok]: Test replication partial resync: ok after delay (diskless: no, swapdb, reconnect: 1, rdbchannel: no) (9245 ms) +[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: ok after delay (diskless: no, swapdb, reconnect: 1, rdbchannel: no) (9271 ms) === (repl) Starting server 127.0.0.1:22272 ok === () Starting server 127.0.0.1:22274 ok -[ok]: Slave should be able to synchronize with the master (138 ms) -[ok]: Detect write load to master (1014 ms) -[ok]: Test replication partial resync: backlog expired (diskless: no, swapdb, reconnect: 1, rdbchannel: no) (9186 ms) +[ok]: Slave should be able to synchronize with the master (103 ms) +[ok]: Detect write load to master (1003 ms) +[ok]: Test replication partial resync: backlog expired (diskless: no, swapdb, reconnect: 1, rdbchannel: no) (9224 ms) === (repl) Starting server 127.0.0.1:22276 ok === () Starting server 127.0.0.1:22278 ok -[ok]: Slave should be able to synchronize with the master (620 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, reconnect: 0, rdbchannel: yes) (30 ms) +[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: no reconnection, just sync (diskless: yes, disabled, reconnect: 0, rdbchannel: yes) (24 ms) === (repl) Starting server 127.0.0.1:22280 ok === () Starting server 127.0.0.1:22282 ok -[ok]: Slave should be able to synchronize with the master (1672 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: ok psync (diskless: yes, disabled, reconnect: 1, rdbchannel: yes) (6168 ms) +[ok]: Slave should be able to synchronize with the master (742 ms) +[ok]: Detect write load to master (0 ms) +[ok]: Test replication partial resync: ok psync (diskless: yes, disabled, reconnect: 1, rdbchannel: yes) (6214 ms) === (repl) Starting server 127.0.0.1:22284 ok === () Starting server 127.0.0.1:22286 ok -[ok]: Slave should be able to synchronize with the master (613 ms) -[ok]: Detect write load to master (3 ms) -[ok]: Test replication partial resync: no backlog (diskless: yes, disabled, reconnect: 1, rdbchannel: yes) (7878 ms) +[ok]: Slave should be able to synchronize with the master (1733 ms) +[ok]: Detect write load to master (1 ms) +[ok]: Test replication partial resync: no backlog (diskless: yes, disabled, reconnect: 1, rdbchannel: yes) (7747 ms) === (repl) Starting server 127.0.0.1:22288 ok === () Starting server 127.0.0.1:22290 ok -[ok]: Slave should be able to synchronize with the master (617 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: ok after delay (diskless: yes, disabled, reconnect: 1, rdbchannel: yes) (9210 ms) +[ok]: Slave should be able to synchronize with the master (716 ms) +[ok]: Detect write load to master (0 ms) +[ok]: Test replication partial resync: ok after delay (diskless: yes, disabled, reconnect: 1, rdbchannel: yes) (9196 ms) === (repl) Starting server 127.0.0.1:22292 ok === () Starting server 127.0.0.1:22294 ok -[ok]: Slave should be able to synchronize with the master (634 ms) -[ok]: Detect write load to master (1018 ms) -[ok]: Test replication partial resync: backlog expired (diskless: yes, disabled, reconnect: 1, rdbchannel: yes) (9238 ms) +[ok]: Slave should be able to synchronize with the master (1749 ms) +[ok]: Detect write load to master (1 ms) +[ok]: Test replication partial resync: backlog expired (diskless: yes, disabled, reconnect: 1, rdbchannel: yes) (9351 ms) === (repl) Starting server 127.0.0.1:22296 ok === () Starting server 127.0.0.1:22298 ok -[ok]: Slave should be able to synchronize with the master (1673 ms) +[ok]: Slave should be able to synchronize with the master (717 ms) [ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, reconnect: 0, rdbchannel: no) (39 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, reconnect: 0, rdbchannel: no) (14 ms) === (repl) Starting server 127.0.0.1:22300 ok === () Starting server 127.0.0.1:22302 ok -[ok]: Slave should be able to synchronize with the master (633 ms) -[ok]: Detect write load to master (7 ms) -[ok]: Test replication partial resync: ok psync (diskless: yes, disabled, reconnect: 1, rdbchannel: no) (6263 ms) +[ok]: Slave should be able to synchronize with the master (1727 ms) +[ok]: Detect write load to master (1 ms) +[ok]: Test replication partial resync: ok psync (diskless: yes, disabled, reconnect: 1, rdbchannel: no) (6193 ms) === (repl) Starting server 127.0.0.1:22304 ok === () Starting server 127.0.0.1:22306 ok -[ok]: Slave should be able to synchronize with the master (1642 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: no backlog (diskless: yes, disabled, reconnect: 1, rdbchannel: no) (7770 ms) +[ok]: Slave should be able to synchronize with the master (812 ms) +[ok]: Detect write load to master (0 ms) +[ok]: Test replication partial resync: no backlog (diskless: yes, disabled, reconnect: 1, rdbchannel: no) (7720 ms) === (repl) Starting server 127.0.0.1:22308 ok === () Starting server 127.0.0.1:22310 ok -[ok]: Slave should be able to synchronize with the master (1665 ms) +[ok]: Slave should be able to synchronize with the master (716 ms) [ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: ok after delay (diskless: yes, disabled, reconnect: 1, rdbchannel: no) (9224 ms) +[ok]: Test replication partial resync: ok after delay (diskless: yes, disabled, reconnect: 1, rdbchannel: no) (9166 ms) === (repl) Starting server 127.0.0.1:22312 ok === () Starting server 127.0.0.1:22314 ok -[ok]: Slave should be able to synchronize with the master (739 ms) +[ok]: Slave should be able to synchronize with the master (814 ms) [ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: backlog expired (diskless: yes, disabled, reconnect: 1, rdbchannel: no) (9219 ms) +[ok]: Test replication partial resync: backlog expired (diskless: yes, disabled, reconnect: 1, rdbchannel: no) (9160 ms) === (repl) Starting server 127.0.0.1:22316 ok === () Starting server 127.0.0.1:22318 ok -[ok]: Slave should be able to synchronize with the master (1577 ms) -[ok]: Detect write load to master (3 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, reconnect: 0, rdbchannel: yes) (60 ms) +[ok]: Slave should be able to synchronize with the master (720 ms) +[ok]: Detect write load to master (6 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, reconnect: 0, rdbchannel: yes) (24 ms) === (repl) Starting server 127.0.0.1:22320 ok === () Starting server 127.0.0.1:22322 ok -[ok]: Slave should be able to synchronize with the master (625 ms) -[ok]: Detect write load to master (7 ms) -[ok]: Test replication partial resync: ok psync (diskless: yes, swapdb, reconnect: 1, rdbchannel: yes) (6286 ms) +[ok]: Slave should be able to synchronize with the master (831 ms) +[ok]: Detect write load to master (1 ms) +[ok]: Test replication partial resync: ok psync (diskless: yes, swapdb, reconnect: 1, rdbchannel: yes) (6197 ms) === (repl) Starting server 127.0.0.1:22324 ok === () Starting server 127.0.0.1:22326 ok -[ok]: Slave should be able to synchronize with the master (1653 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: no backlog (diskless: yes, swapdb, reconnect: 1, rdbchannel: yes) (7852 ms) +[ok]: Slave should be able to synchronize with the master (717 ms) +[ok]: Detect write load to master (1 ms) +[ok]: Test replication partial resync: no backlog (diskless: yes, swapdb, reconnect: 1, rdbchannel: yes) (7712 ms) === (repl) Starting server 127.0.0.1:22328 ok === () Starting server 127.0.0.1:22330 ok -[ok]: Slave should be able to synchronize with the master (628 ms) -[ok]: Detect write load to master (3 ms) -[ok]: Test replication partial resync: ok after delay (diskless: yes, swapdb, reconnect: 1, rdbchannel: yes) (9241 ms) +[ok]: Slave should be able to synchronize with the master (1742 ms) +[ok]: Detect write load to master (0 ms) +[ok]: Test replication partial resync: ok after delay (diskless: yes, swapdb, reconnect: 1, rdbchannel: yes) (9194 ms) === (repl) Starting server 127.0.0.1:22332 ok === () Starting server 127.0.0.1:22334 ok -[ok]: Slave should be able to synchronize with the master (1652 ms) -[ok]: Detect write load to master (4 ms) -[ok]: Test replication partial resync: backlog expired (diskless: yes, swapdb, reconnect: 1, rdbchannel: yes) (9171 ms) +[ok]: Slave should be able to synchronize with the master (717 ms) +[ok]: Detect write load to master (0 ms) +[ok]: Test replication partial resync: backlog expired (diskless: yes, swapdb, reconnect: 1, rdbchannel: yes) (9253 ms) === (repl) Starting server 127.0.0.1:22336 ok === () Starting server 127.0.0.1:22338 ok -[ok]: Slave should be able to synchronize with the master (629 ms) -[ok]: Detect write load to master (7 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, reconnect: 0, rdbchannel: no) (47 ms) +[ok]: Slave should be able to synchronize with the master (627 ms) +[ok]: Detect write load to master (1 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, reconnect: 0, rdbchannel: no) (57 ms) === (repl) Starting server 127.0.0.1:22340 ok === () Starting server 127.0.0.1:22342 ok -[ok]: Slave should be able to synchronize with the master (1657 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: ok psync (diskless: yes, swapdb, reconnect: 1, rdbchannel: no) (6305 ms) +[ok]: Slave should be able to synchronize with the master (731 ms) +[ok]: Detect write load to master (3 ms) +[ok]: Test replication partial resync: ok psync (diskless: yes, swapdb, reconnect: 1, rdbchannel: no) (6203 ms) === (repl) Starting server 127.0.0.1:22344 ok === () Starting server 127.0.0.1:22346 ok -[ok]: Slave should be able to synchronize with the master (631 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: no backlog (diskless: yes, swapdb, reconnect: 1, rdbchannel: no) (7808 ms) +[ok]: Slave should be able to synchronize with the master (1744 ms) +[ok]: Detect write load to master (0 ms) +[ok]: Test replication partial resync: no backlog (diskless: yes, swapdb, reconnect: 1, rdbchannel: no) (7723 ms) === (repl) Starting server 127.0.0.1:22348 ok === () Starting server 127.0.0.1:22350 ok -[ok]: Slave should be able to synchronize with the master (1669 ms) +[ok]: Slave should be able to synchronize with the master (1830 ms) [ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: ok after delay (diskless: yes, swapdb, reconnect: 1, rdbchannel: no) (9226 ms) +[ok]: Test replication partial resync: ok after delay (diskless: yes, swapdb, reconnect: 1, rdbchannel: no) (9213 ms) === (repl) Starting server 127.0.0.1:22352 ok === () Starting server 127.0.0.1:22354 ok -[ok]: Slave should be able to synchronize with the master (729 ms) +[ok]: Slave should be able to synchronize with the master (818 ms) [ok]: Detect write load to master (3 ms) -[ok]: Test replication partial resync: backlog expired (diskless: yes, swapdb, reconnect: 1, rdbchannel: no) (9203 ms) -[93/96 done]: integration/replication-psync (252 seconds) +[ok]: Test replication partial resync: backlog expired (diskless: yes, swapdb, reconnect: 1, rdbchannel: no) (9185 ms) +[93/96 done]: integration/replication-psync (242 seconds) Testing integration/replication-rdbchannel === (repl external:skip) Starting server 127.0.0.1:22356 ok === () Starting server 127.0.0.1:22358 ok === () Starting server 127.0.0.1:22360 ok -[ok]: Test replication with multiple replicas (rdbchannel enabled on both) (138 ms) -[ok]: Test replication with multiple replicas (rdbchannel enabled on one of them) (4850 ms) -[ok]: Test rdbchannel is not used if repl-diskless-sync config is disabled on master (141 ms) +[ok]: Test replication with multiple replicas (rdbchannel enabled on both) (141 ms) +[ok]: Test replication with multiple replicas (rdbchannel enabled on one of them) (4763 ms) +[ok]: Test rdbchannel is not used if repl-diskless-sync config is disabled on master (159 ms) === (repl external:skip) Starting server 127.0.0.1:22362 ok === () Starting server 127.0.0.1:22364 ok -[ok]: Test replica state should start with wait_bgsave (216 ms) +[ok]: Test replica state should start with wait_bgsave (217 ms) [ok]: Test replica state advances to send_bulk_and_stream when rdbchannel connects (20 ms) [ok]: Test replica rdbchannel client has SC flag on client list output (1 ms) -[ok]: Test replica state advances to online when fullsync is completed (4144 ms) +[ok]: Test replica state advances to online when fullsync is completed (4145 ms) === (repl external:skip) Starting server 127.0.0.1:22366 ok === () Starting server 127.0.0.1:22368 ok -19:32:08 master: 0 replica: 0 -19:32:08 master: 0 replica: 0 -19:32:08 master: 0 replica: 1048560 -19:32:08 master: 0 replica: 1048560 -19:32:08 master: 0 replica: 1048560 -19:32:08 master: 0 replica: 1048560 -19:32:08 master: 0 replica: 1048560 -19:32:08 master: 0 replica: 1048560 -19:32:08 master: 0 replica: 1048560 -19:32:08 master: 0 replica: 1048560 -19:32:08 master: 0 replica: 1048560 -19:32:08 master: 0 replica: 1048560 -19:32:08 master: 0 replica: 1048560 -19:32:08 master: 0 replica: 1048560 -19:32:08 master: 0 replica: 1048560 -19:32:08 master: 0 replica: 1048560 -19:32:08 master: 0 replica: 1048560 -19:32:08 master: 0 replica: 1048560 -19:32:08 master: 0 replica: 1048560 -19:32:08 master: 0 replica: 1048560 -19:32:08 master: 0 replica: 1048560 -19:32:08 master: 0 replica: 2097120 -19:32:08 master: 0 replica: 2097120 -19:32:08 master: 0 replica: 2097120 -19:32:08 master: 0 replica: 2097120 -19:32:08 master: 0 replica: 2097120 -19:32:08 master: 0 replica: 2097120 -19:32:08 master: 0 replica: 2097120 -19:32:08 master: 0 replica: 2097120 -19:32:08 master: 0 replica: 2097120 -19:32:08 master: 0 replica: 2097120 -19:32:08 master: 0 replica: 2097120 -19:32:08 master: 0 replica: 2097120 -19:32:08 master: 0 replica: 2097120 -19:32:08 master: 0 replica: 2097120 -19:32:08 master: 0 replica: 2097120 -19:32:08 master: 0 replica: 2097120 -19:32:08 master: 0 replica: 2097120 -19:32:08 master: 0 replica: 2097120 -19:32:08 master: 0 replica: 2097120 -19:32:08 master: 0 replica: 2097120 -19:32:08 master: 0 replica: 3145680 -19:32:08 master: 0 replica: 3145680 -19:32:08 master: 0 replica: 3145680 -19:32:08 master: 0 replica: 3145680 -19:32:08 master: 0 replica: 3145680 -19:32:08 master: 0 replica: 3145680 -19:32:08 master: 0 replica: 3145680 -19:32:08 master: 0 replica: 3145680 -19:32:08 master: 0 replica: 3145680 -19:32:08 master: 0 replica: 3145680 -19:32:08 master: 0 replica: 3145680 -19:32:08 master: 0 replica: 3145680 -19:32:08 master: 0 replica: 3145680 -19:32:08 master: 0 replica: 3145680 -19:32:08 master: 0 replica: 3145680 -19:32:08 master: 0 replica: 3145680 -19:32:08 master: 0 replica: 3145680 -19:32:08 master: 0 replica: 3145680 -19:32:08 master: 0 replica: 3145680 -19:32:08 master: 0 replica: 3145680 -19:32:08 master: 0 replica: 4194240 -19:32:08 master: 0 replica: 4194240 -19:32:08 master: 0 replica: 4194240 -19:32:08 master: 0 replica: 4194240 -19:32:08 master: 0 replica: 4194240 -19:32:08 master: 0 replica: 4194240 -19:32:08 master: 0 replica: 4194240 -19:32:08 master: 0 replica: 4194240 -19:32:08 master: 0 replica: 4194240 -19:32:08 master: 0 replica: 4194240 -19:32:08 master: 0 replica: 4194240 -19:32:08 master: 0 replica: 4194240 -19:32:08 master: 0 replica: 4194240 -19:32:09 master: 0 replica: 4194240 -19:32:09 master: 0 replica: 4194240 -19:32:09 master: 0 replica: 4194240 -19:32:09 master: 0 replica: 4194240 -19:32:09 master: 0 replica: 4194240 -19:32:09 master: 0 replica: 4194240 -19:32:09 master: 0 replica: 4194240 -19:32:09 master: 0 replica: 5242800 -19:32:09 master: 0 replica: 5242800 -19:32:09 master: 0 replica: 5242800 -19:32:09 master: 0 replica: 5242800 -19:32:09 master: 0 replica: 5242800 -19:32:09 master: 0 replica: 5242800 -19:32:09 master: 0 replica: 5242800 -19:32:09 master: 0 replica: 5242800 -19:32:09 master: 0 replica: 5242800 -19:32:09 master: 0 replica: 5242800 -19:32:09 master: 0 replica: 5242800 -19:32:09 master: 0 replica: 5242800 -19:32:09 master: 0 replica: 5242800 -19:32:09 master: 0 replica: 5242800 -19:32:09 master: 0 replica: 5242800 -19:32:09 master: 0 replica: 5242800 -19:32:09 master: 0 replica: 5242800 -19:32:09 master: 0 replica: 5242800 -19:32:09 master: 0 replica: 5242800 -19:32:09 master: 26648 replica: 5242800 -19:32:09 master: 26648 replica: 6291360 -19:32:09 master: 26648 replica: 6291360 -19:32:09 master: 26648 replica: 6291360 -19:32:09 master: 47152 replica: 6291360 -19:32:09 master: 47152 replica: 6291360 -19:32:09 master: 47152 replica: 6291360 -19:32:09 master: 47152 replica: 6291360 -19:32:09 master: 47152 replica: 6291360 -19:32:09 master: 47152 replica: 6291360 -19:32:09 master: 47152 replica: 6291360 -19:32:09 master: 47152 replica: 6291360 -19:32:09 master: 47152 replica: 6291360 -19:32:09 master: 47152 replica: 6291360 -19:32:09 master: 47152 replica: 6291360 -19:32:09 master: 26648 replica: 6291360 -19:32:09 master: 26648 replica: 6291360 -19:32:09 master: 26648 replica: 6291360 -19:32:09 master: 26648 replica: 6291360 -19:32:09 master: 26648 replica: 6291360 -19:32:09 master: 26648 replica: 7339920 -19:32:09 master: 26648 replica: 7339920 -19:32:09 master: 47152 replica: 7339920 -19:32:09 master: 26648 replica: 7339920 -19:32:09 master: 26648 replica: 7339920 -19:32:09 master: 26648 replica: 7339920 -19:32:09 master: 47152 replica: 7339920 -19:32:09 master: 47152 replica: 7339920 -19:32:09 master: 47152 replica: 7339920 -19:32:09 master: 47152 replica: 7339920 -19:32:09 master: 47152 replica: 7339920 -19:32:09 master: 47152 replica: 7339920 -19:32:09 master: 47152 replica: 7339920 -19:32:09 master: 47152 replica: 7339920 -19:32:09 master: 47152 replica: 7339920 -19:32:09 master: 47152 replica: 7339920 -19:32:09 master: 26648 replica: 7339920 -19:32:09 master: 26648 replica: 7339920 -19:32:09 master: 26648 replica: 7339920 -19:32:09 master: 26648 replica: 7339920 -19:32:09 master: 26648 replica: 8388480 -19:32:09 master: 26648 replica: 8388480 -19:32:09 master: 47152 replica: 8388480 -19:32:09 master: 26648 replica: 8388480 -19:32:09 master: 26648 replica: 8388480 -19:32:09 master: 26648 replica: 8388480 -19:32:09 master: 47152 replica: 8388480 -19:32:09 master: 47152 replica: 8388480 -19:32:09 master: 47152 replica: 8388480 -19:32:09 master: 47152 replica: 8388480 -19:32:09 master: 47152 replica: 8388480 -19:32:09 master: 47152 replica: 8388480 -19:32:09 master: 47152 replica: 8388480 -19:32:09 master: 47152 replica: 8388480 -19:32:09 master: 47152 replica: 8388480 -19:32:09 master: 47152 replica: 8388480 -19:32:09 master: 47152 replica: 8388480 -19:32:10 master: 26648 replica: 8388480 -19:32:10 master: 26648 replica: 8388480 -19:32:10 master: 26648 replica: 8388480 -19:32:10 master: 26648 replica: 9437040 -19:32:10 master: 26648 replica: 9437040 -19:32:10 master: 26648 replica: 9437040 -19:32:10 master: 26648 replica: 9437040 -19:32:10 master: 26648 replica: 9437040 -19:32:10 master: 26648 replica: 9437040 -19:32:10 master: 26648 replica: 9437040 -19:32:10 master: 47152 replica: 9437040 -19:32:10 master: 47152 replica: 9437040 -19:32:10 master: 47152 replica: 9437040 -19:32:10 master: 47152 replica: 9437040 -19:32:10 master: 47152 replica: 9437040 -19:32:10 master: 47152 replica: 9437040 -19:32:10 master: 47152 replica: 9437040 -19:32:10 master: 47152 replica: 9437040 -19:32:10 master: 47152 replica: 9437040 -19:32:10 master: 47152 replica: 9437040 -19:32:10 master: 47152 replica: 9437040 -19:32:10 master: 26648 replica: 9437040 -19:32:10 master: 26648 replica: 9437040 -19:32:10 master: 26648 replica: 10485600 -19:32:10 master: 26648 replica: 10485600 -19:32:10 master: 26648 replica: 10485600 -19:32:10 master: 26648 replica: 10485600 -19:32:10 master: 26648 replica: 10485600 -19:32:10 master: 26648 replica: 10485600 -19:32:10 master: 26648 replica: 10485600 -19:32:10 master: 26648 replica: 10485600 -19:32:10 master: 47152 replica: 10485600 -19:32:10 master: 47152 replica: 10485600 -19:32:10 master: 47152 replica: 10485600 -19:32:10 master: 47152 replica: 10485600 -19:32:10 master: 47152 replica: 10485600 -19:32:10 master: 47152 replica: 10485600 -19:32:10 master: 47152 replica: 10485600 -19:32:10 master: 47152 replica: 10485600 -19:32:10 master: 47152 replica: 10485600 -19:32:10 master: 47152 replica: 10485600 -19:32:10 master: 26648 replica: 10485600 -19:32:10 master: 26648 replica: 10485600 -19:32:10 master: 26648 replica: 10485600 -19:32:10 master: 26648 replica: 11534160 -19:32:10 master: 26648 replica: 11534160 -19:32:10 master: 26648 replica: 11534160 -19:32:10 master: 26648 replica: 11534160 -19:32:10 master: 26648 replica: 11534160 -19:32:10 master: 26648 replica: 11534160 -19:32:10 master: 26648 replica: 11534160 -19:32:10 master: 26648 replica: 11534160 -19:32:10 master: 47152 replica: 11534160 -19:32:10 master: 47152 replica: 11534160 -19:32:10 master: 47152 replica: 11534160 -19:32:10 master: 47152 replica: 11534160 -19:32:10 master: 47152 replica: 11534160 -19:32:10 master: 47152 replica: 11534160 -19:32:10 master: 47152 replica: 11534160 -19:32:10 master: 47152 replica: 11534160 -19:32:10 master: 47152 replica: 11534160 -19:32:10 master: 47152 replica: 11534160 -19:32:10 master: 47152 replica: 11534160 -19:32:10 master: 26648 replica: 11534160 -19:32:10 master: 26648 replica: 12582720 -19:32:10 master: 26648 replica: 12582720 -19:32:10 master: 26648 replica: 12582720 -19:32:10 master: 26648 replica: 12582720 -19:32:10 master: 26648 replica: 12582720 -19:32:10 master: 26648 replica: 12582720 -19:32:10 master: 26648 replica: 12582720 -19:32:10 master: 26648 replica: 12582720 -19:32:10 master: 26648 replica: 12582720 -19:32:10 master: 47152 replica: 12582720 -19:32:10 master: 47152 replica: 12582720 -19:32:10 master: 47152 replica: 12582720 -19:32:10 master: 47152 replica: 12582720 -19:32:10 master: 47152 replica: 12582720 -19:32:10 master: 47152 replica: 12582720 -19:32:10 master: 47152 replica: 12582720 -19:32:10 master: 47152 replica: 12582720 -19:32:10 master: 47152 replica: 12582720 -19:32:10 master: 47152 replica: 12582720 -19:32:10 master: 26648 replica: 13631280 -19:32:11 master: 26648 replica: 13631280 -19:32:11 master: 26648 replica: 13631280 -19:32:11 master: 47152 replica: 13631280 -19:32:11 master: 26648 replica: 13631280 -19:32:11 master: 26648 replica: 13631280 -19:32:11 master: 26648 replica: 13631280 -19:32:11 master: 26648 replica: 13631280 -19:32:11 master: 26648 replica: 13631280 -19:32:11 master: 26648 replica: 13631280 -19:32:11 master: 26648 replica: 13631280 -19:32:11 master: 47152 replica: 13631280 -19:32:11 master: 47152 replica: 13631280 -19:32:11 master: 47152 replica: 13631280 -19:32:11 master: 47152 replica: 13631280 -19:32:11 master: 47152 replica: 13631280 -19:32:11 master: 47152 replica: 13631280 -19:32:11 master: 47152 replica: 13631280 -19:32:11 master: 47152 replica: 13631280 -19:32:11 master: 47152 replica: 13631280 -19:32:11 master: 47152 replica: 14679840 -19:32:11 master: 26648 replica: 14679840 -19:32:11 master: 26648 replica: 14679840 -19:32:11 master: 26648 replica: 14679840 -19:32:11 master: 26648 replica: 14679840 -19:32:11 master: 26648 replica: 14679840 -19:32:11 master: 26648 replica: 14679840 -19:32:11 master: 26648 replica: 14679840 -19:32:11 master: 26648 replica: 14679840 -19:32:11 master: 26648 replica: 14679840 -19:32:11 master: 26648 replica: 14679840 -19:32:11 master: 26648 replica: 14679840 -19:32:11 master: 47152 replica: 14679840 -19:32:11 master: 47152 replica: 14679840 -19:32:11 master: 47152 replica: 14679840 -19:32:11 master: 47152 replica: 14679840 -19:32:11 master: 47152 replica: 14679840 -19:32:11 master: 47152 replica: 14679840 -19:32:11 master: 47152 replica: 14679840 -19:32:11 master: 47152 replica: 14679840 -19:32:11 master: 47152 replica: 15728400 -19:32:11 master: 47152 replica: 15728400 -19:32:11 master: 47152 replica: 15728400 -19:32:11 master: 26648 replica: 15728400 -19:32:11 master: 26648 replica: 15728400 -19:32:11 master: 26648 replica: 15728400 -19:32:11 master: 26648 replica: 15728400 -19:32:11 master: 26648 replica: 15728400 -19:32:11 master: 26648 replica: 15728400 -19:32:11 master: 26648 replica: 15728400 -19:32:11 master: 26648 replica: 15728400 -19:32:11 master: 26648 replica: 15728400 -19:32:11 master: 47152 replica: 15728400 -19:32:11 master: 47152 replica: 15728400 -19:32:11 master: 47152 replica: 15728400 -19:32:11 master: 47152 replica: 15728400 -19:32:11 master: 47152 replica: 15728400 -19:32:11 master: 47152 replica: 15728400 -19:32:11 master: 47152 replica: 15728400 -19:32:11 master: 47152 replica: 15728400 -19:32:11 master: 47152 replica: 16776960 -19:32:11 master: 47152 replica: 16776960 -19:32:11 master: 47152 replica: 16776960 -19:32:11 master: 26648 replica: 16776960 -19:32:11 master: 26648 replica: 16776960 -19:32:11 master: 26648 replica: 16776960 -19:32:11 master: 26648 replica: 16776960 -19:32:11 master: 26648 replica: 16776960 -19:32:11 master: 26648 replica: 16776960 -19:32:11 master: 26648 replica: 16776960 -19:32:11 master: 26648 replica: 16776960 -19:32:11 master: 26648 replica: 16776960 -19:32:11 master: 26648 replica: 16776960 -19:32:11 master: 26648 replica: 16776960 -19:32:11 master: 47152 replica: 16776960 -19:32:11 master: 47152 replica: 16776960 -19:32:11 master: 47152 replica: 16776960 -19:32:11 master: 47152 replica: 16776960 -19:32:11 master: 26648 replica: 16776960 -19:32:11 master: 47152 replica: 16776960 -19:32:11 master: 47152 replica: 17825520 -19:32:11 master: 47152 replica: 17825520 -19:32:11 master: 47152 replica: 17825520 -19:32:11 master: 47152 replica: 17825520 -19:32:12 master: 26648 replica: 17825520 -19:32:12 master: 26648 replica: 17825520 -19:32:12 master: 26648 replica: 17825520 -19:32:12 master: 26648 replica: 17825520 -19:32:12 master: 26648 replica: 17825520 -19:32:12 master: 26648 replica: 17825520 -19:32:12 master: 26648 replica: 17825520 -19:32:12 master: 26648 replica: 17825520 -19:32:12 master: 26648 replica: 17825520 -19:32:12 master: 26648 replica: 17825520 -19:32:12 master: 47152 replica: 17825520 -19:32:12 master: 47152 replica: 17825520 -19:32:12 master: 47152 replica: 17825520 -19:32:12 master: 47152 replica: 17825520 -19:32:12 master: 47152 replica: 17825520 -19:32:12 master: 47152 replica: 17825520 -19:32:12 master: 47152 replica: 18874080 -19:32:12 master: 47152 replica: 18874080 -19:32:12 master: 47152 replica: 18874080 -19:32:12 master: 47152 replica: 18874080 -19:32:12 master: 47152 replica: 18874080 -19:32:12 master: 26648 replica: 18874080 -19:32:12 master: 26648 replica: 18874080 -19:32:12 master: 26648 replica: 18874080 -19:32:12 master: 26648 replica: 18874080 -19:32:12 master: 26648 replica: 18874080 -19:32:12 master: 26648 replica: 18874080 -19:32:12 master: 26648 replica: 18874080 -19:32:12 master: 26648 replica: 18874080 -19:32:12 master: 47152 replica: 18874080 -19:32:12 master: 26648 replica: 18874080 -19:32:12 master: 47152 replica: 18874080 -19:32:12 master: 47152 replica: 18874080 -19:32:12 master: 47152 replica: 18874080 -19:32:12 master: 47152 replica: 18874080 -19:32:12 master: 47152 replica: 18874080 -19:32:12 master: 47152 replica: 19922640 -19:32:12 master: 47152 replica: 19922640 -19:32:12 master: 47152 replica: 19922640 -19:32:12 master: 47152 replica: 19922640 -19:32:12 master: 47152 replica: 19922640 -19:32:12 master: 47152 replica: 19922640 -19:32:12 master: 26648 replica: 19922640 -19:32:12 master: 26648 replica: 19922640 -19:32:12 master: 26648 replica: 19922640 -19:32:12 master: 47152 replica: 19922640 -19:32:12 master: 26648 replica: 19922640 -19:32:12 master: 26648 replica: 19922640 -19:32:12 master: 26648 replica: 19922640 -19:32:12 master: 26648 replica: 19922640 -19:32:12 master: 26648 replica: 19922640 -19:32:12 master: 26648 replica: 19922640 -19:32:12 master: 47152 replica: 19922640 -19:32:12 master: 47152 replica: 19922640 -19:32:12 master: 47152 replica: 19922640 -19:32:12 master: 47152 replica: 19922640 -19:32:12 master: 47152 replica: 20971200 -19:32:12 master: 47152 replica: 20971200 -19:32:12 master: 47152 replica: 20971200 -19:32:12 master: 47152 replica: 20971200 -19:32:12 master: 47152 replica: 20971200 -19:32:12 master: 47152 replica: 20971200 -19:32:12 master: 26648 replica: 20971200 -19:32:12 master: 26648 replica: 20971200 -19:32:12 master: 26648 replica: 20971200 -19:32:12 master: 26648 replica: 20971200 -19:32:12 master: 26648 replica: 20971200 -19:32:12 master: 26648 replica: 20971200 -19:32:12 master: 26648 replica: 20971200 -19:32:12 master: 26648 replica: 20971200 -19:32:12 master: 26648 replica: 20971200 -19:32:12 master: 26648 replica: 20971200 -19:32:12 master: 26648 replica: 20971200 -19:32:12 master: 47152 replica: 20971200 -19:32:12 master: 47152 replica: 20971200 -19:32:12 master: 47152 replica: 20971200 -19:32:12 master: 47152 replica: 22019760 -19:32:12 master: 47152 replica: 22019760 -19:32:12 master: 47152 replica: 22019760 -19:32:12 master: 47152 replica: 22019760 -19:32:12 master: 47152 replica: 22019760 -19:32:12 master: 47152 replica: 22019760 -19:32:12 master: 47152 replica: 22019760 -19:32:13 master: 47152 replica: 22019760 -19:32:13 master: 26648 replica: 22019760 -19:32:13 master: 26648 replica: 22019760 -19:32:13 master: 26648 replica: 22019760 -19:32:13 master: 26648 replica: 22019760 -19:32:13 master: 26648 replica: 22019760 -19:32:13 master: 26648 replica: 22019760 -19:32:13 master: 26648 replica: 22019760 -19:32:13 master: 26648 replica: 22019760 -19:32:13 master: 26648 replica: 22019760 -19:32:13 master: 26648 replica: 22019760 -19:32:13 master: 47152 replica: 22019760 -19:32:13 master: 47152 replica: 22019760 -19:32:13 master: 47152 replica: 23068320 -19:32:13 master: 47152 replica: 23068320 -19:32:13 master: 47152 replica: 23068320 -19:32:13 master: 47152 replica: 23068320 -19:32:13 master: 47152 replica: 23068320 -19:32:13 master: 47152 replica: 23068320 -19:32:13 master: 47152 replica: 23068320 -19:32:13 master: 47152 replica: 23068320 -19:32:13 master: 47152 replica: 23068320 -19:32:13 master: 26648 replica: 23068320 -19:32:13 master: 26648 replica: 23068320 -19:32:13 master: 26648 replica: 23068320 -19:32:13 master: 26648 replica: 23068320 -19:32:13 master: 26648 replica: 23068320 -19:32:13 master: 26648 replica: 23068320 -19:32:13 master: 26648 replica: 23068320 -19:32:13 master: 26648 replica: 23068320 -19:32:13 master: 26648 replica: 23068320 -19:32:13 master: 26648 replica: 23068320 -19:32:13 master: 47152 replica: 23068320 -19:32:13 master: 47152 replica: 24116880 -19:32:13 master: 47152 replica: 24116880 -19:32:13 master: 47152 replica: 24116880 -19:32:13 master: 47152 replica: 24116880 -19:32:13 master: 47152 replica: 24116880 -19:32:13 master: 47152 replica: 24116880 -19:32:13 master: 47152 replica: 24116880 -19:32:13 master: 47152 replica: 24116880 -19:32:13 master: 47152 replica: 24116880 -19:32:13 master: 26648 replica: 24116880 -19:32:13 master: 26648 replica: 24116880 -19:32:13 master: 26648 replica: 24116880 -19:32:13 master: 26648 replica: 24116880 -19:32:13 master: 26648 replica: 24116880 -19:32:13 master: 26648 replica: 24116880 -19:32:13 master: 26648 replica: 24116880 -19:32:13 master: 26648 replica: 24116880 -19:32:13 master: 26648 replica: 24116880 -19:32:13 master: 26648 replica: 24116880 -19:32:13 master: 26648 replica: 24116880 -19:32:13 master: 47152 replica: 25165440 -19:32:13 master: 47152 replica: 25165440 -19:32:13 master: 47152 replica: 25165440 -19:32:13 master: 47152 replica: 25165440 -19:32:13 master: 47152 replica: 25165440 -19:32:13 master: 47152 replica: 25165440 -19:32:13 master: 47152 replica: 25165440 -19:32:13 master: 47152 replica: 25165440 -19:32:13 master: 47152 replica: 25165440 -19:32:13 master: 47152 replica: 25165440 -19:32:13 master: 26648 replica: 25165440 -19:32:13 master: 26648 replica: 25165440 -19:32:13 master: 26648 replica: 25165440 -19:32:13 master: 47152 replica: 25165440 -19:32:13 master: 26648 replica: 25165440 -19:32:13 master: 26648 replica: 25165440 -19:32:13 master: 26648 replica: 25165440 -19:32:13 master: 26648 replica: 25165440 -19:32:13 master: 26648 replica: 25165440 -19:32:13 master: 26648 replica: 25165440 -19:32:13 master: 47152 replica: 26214000 -19:32:13 master: 47152 replica: 26214000 -19:32:13 master: 47152 replica: 26214000 -19:32:13 master: 47152 replica: 26214000 -19:32:13 master: 47152 replica: 26214000 -19:32:13 master: 47152 replica: 26214000 -19:32:13 master: 47152 replica: 26214000 -19:32:13 master: 47152 replica: 26214000 -19:32:13 master: 47152 replica: 26214000 -19:32:13 master: 47152 replica: 26214000 -19:32:14 master: 47152 replica: 26214000 -19:32:14 master: 26648 replica: 26214000 -19:32:14 master: 26648 replica: 26214000 -19:32:14 master: 26648 replica: 26214000 -19:32:14 master: 26648 replica: 26214000 -19:32:14 master: 26648 replica: 26214000 -19:32:14 master: 26648 replica: 26214000 -19:32:14 master: 26648 replica: 26214000 -19:32:14 master: 26648 replica: 26214000 -19:32:14 master: 26648 replica: 27262560 -19:32:14 master: 26648 replica: 27262560 -19:32:14 master: 26648 replica: 27262560 -19:32:14 master: 47152 replica: 27262560 -19:32:14 master: 47152 replica: 27262560 -19:32:14 master: 26648 replica: 27262560 -19:32:14 master: 47152 replica: 27262560 -19:32:14 master: 26648 replica: 0 -peak_master_used_mem 109515768 +16:01:50 master: 0 replica: 0 +16:01:50 master: 0 replica: 0 +16:01:50 master: 0 replica: 0 +16:01:50 master: 0 replica: 1048560 +16:01:50 master: 0 replica: 1048560 +16:01:50 master: 0 replica: 1048560 +16:01:50 master: 0 replica: 1048560 +16:01:50 master: 0 replica: 1048560 +16:01:50 master: 0 replica: 1048560 +16:01:50 master: 0 replica: 1048560 +16:01:50 master: 0 replica: 1048560 +16:01:50 master: 0 replica: 1048560 +16:01:50 master: 0 replica: 1048560 +16:01:50 master: 0 replica: 1048560 +16:01:50 master: 0 replica: 1048560 +16:01:50 master: 0 replica: 1048560 +16:01:50 master: 0 replica: 1048560 +16:01:50 master: 0 replica: 1048560 +16:01:50 master: 0 replica: 1048560 +16:01:50 master: 0 replica: 1048560 +16:01:50 master: 0 replica: 1048560 +16:01:50 master: 0 replica: 2097120 +16:01:50 master: 0 replica: 2097120 +16:01:50 master: 0 replica: 2097120 +16:01:50 master: 0 replica: 2097120 +16:01:50 master: 0 replica: 2097120 +16:01:50 master: 0 replica: 2097120 +16:01:50 master: 0 replica: 2097120 +16:01:50 master: 0 replica: 2097120 +16:01:50 master: 0 replica: 2097120 +16:01:50 master: 0 replica: 2097120 +16:01:50 master: 0 replica: 2097120 +16:01:50 master: 0 replica: 2097120 +16:01:50 master: 0 replica: 2097120 +16:01:50 master: 0 replica: 2097120 +16:01:50 master: 0 replica: 2097120 +16:01:50 master: 0 replica: 2097120 +16:01:50 master: 0 replica: 2097120 +16:01:50 master: 0 replica: 2097120 +16:01:50 master: 0 replica: 2097120 +16:01:50 master: 0 replica: 2097120 +16:01:50 master: 0 replica: 3145680 +16:01:50 master: 0 replica: 3145680 +16:01:50 master: 0 replica: 3145680 +16:01:50 master: 0 replica: 3145680 +16:01:50 master: 0 replica: 3145680 +16:01:50 master: 0 replica: 3145680 +16:01:50 master: 0 replica: 3145680 +16:01:50 master: 0 replica: 3145680 +16:01:50 master: 0 replica: 3145680 +16:01:50 master: 0 replica: 3145680 +16:01:50 master: 0 replica: 3145680 +16:01:50 master: 0 replica: 3145680 +16:01:50 master: 0 replica: 3145680 +16:01:50 master: 0 replica: 3145680 +16:01:50 master: 0 replica: 3145680 +16:01:50 master: 0 replica: 4194240 +16:01:50 master: 0 replica: 4194240 +16:01:50 master: 0 replica: 4194240 +16:01:50 master: 0 replica: 4194240 +16:01:50 master: 0 replica: 4194240 +16:01:50 master: 0 replica: 4194240 +16:01:50 master: 0 replica: 4194240 +16:01:50 master: 0 replica: 4194240 +16:01:50 master: 0 replica: 4194240 +16:01:50 master: 0 replica: 4194240 +16:01:50 master: 0 replica: 4194240 +16:01:51 master: 0 replica: 4194240 +16:01:51 master: 0 replica: 4194240 +16:01:51 master: 0 replica: 4194240 +16:01:51 master: 0 replica: 4194240 +16:01:51 master: 0 replica: 4194240 +16:01:51 master: 0 replica: 4194240 +16:01:51 master: 0 replica: 4194240 +16:01:51 master: 0 replica: 4194240 +16:01:51 master: 0 replica: 4194240 +16:01:51 master: 0 replica: 4194240 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 0 replica: 5242800 +16:01:51 master: 26648 replica: 5242800 +16:01:51 master: 47152 replica: 6291360 +16:01:51 master: 47152 replica: 6291360 +16:01:51 master: 26648 replica: 6291360 +16:01:51 master: 47152 replica: 6291360 +16:01:51 master: 47152 replica: 6291360 +16:01:51 master: 47152 replica: 6291360 +16:01:51 master: 26648 replica: 6291360 +16:01:51 master: 47152 replica: 6291360 +16:01:51 master: 26648 replica: 6291360 +16:01:51 master: 26648 replica: 6291360 +16:01:51 master: 47152 replica: 6291360 +16:01:51 master: 26648 replica: 6291360 +16:01:51 master: 26648 replica: 6291360 +16:01:51 master: 47152 replica: 6291360 +16:01:51 master: 47152 replica: 6291360 +16:01:51 master: 26648 replica: 6291360 +16:01:51 master: 47152 replica: 6291360 +16:01:51 master: 47152 replica: 6291360 +16:01:51 master: 26648 replica: 6291360 +16:01:51 master: 47152 replica: 6291360 +16:01:51 master: 47152 replica: 6291360 +16:01:51 master: 26648 replica: 7339920 +16:01:51 master: 47152 replica: 7339920 +16:01:51 master: 26648 replica: 7339920 +16:01:51 master: 26648 replica: 7339920 +16:01:51 master: 26648 replica: 7339920 +16:01:51 master: 26648 replica: 7339920 +16:01:51 master: 47152 replica: 7339920 +16:01:51 master: 26648 replica: 7339920 +16:01:51 master: 47152 replica: 7339920 +16:01:51 master: 26648 replica: 7339920 +16:01:51 master: 26648 replica: 7339920 +16:01:51 master: 47152 replica: 7339920 +16:01:51 master: 47152 replica: 7339920 +16:01:51 master: 26648 replica: 7339920 +16:01:51 master: 47152 replica: 7339920 +16:01:51 master: 47152 replica: 7339920 +16:01:51 master: 26648 replica: 7339920 +16:01:51 master: 26648 replica: 7339920 +16:01:51 master: 47152 replica: 7339920 +16:01:51 master: 26648 replica: 8388480 +16:01:51 master: 47152 replica: 8388480 +16:01:51 master: 26648 replica: 8388480 +16:01:51 master: 26648 replica: 8388480 +16:01:51 master: 47152 replica: 8388480 +16:01:51 master: 26648 replica: 8388480 +16:01:52 master: 26648 replica: 8388480 +16:01:52 master: 26648 replica: 8388480 +16:01:52 master: 26648 replica: 8388480 +16:01:52 master: 47152 replica: 8388480 +16:01:52 master: 26648 replica: 8388480 +16:01:52 master: 26648 replica: 8388480 +16:01:52 master: 47152 replica: 8388480 +16:01:52 master: 47152 replica: 8388480 +16:01:52 master: 47152 replica: 8388480 +16:01:52 master: 47152 replica: 8388480 +16:01:52 master: 47152 replica: 8388480 +16:01:52 master: 26648 replica: 8388480 +16:01:52 master: 26648 replica: 8388480 +16:01:52 master: 47152 replica: 8388480 +16:01:52 master: 47152 replica: 8388480 +16:01:52 master: 26648 replica: 8388480 +16:01:52 master: 26648 replica: 8388480 +16:01:52 master: 26648 replica: 9437040 +16:01:52 master: 47152 replica: 9437040 +16:01:52 master: 47152 replica: 9437040 +16:01:52 master: 47152 replica: 9437040 +16:01:52 master: 26648 replica: 9437040 +16:01:52 master: 26648 replica: 9437040 +16:01:52 master: 26648 replica: 9437040 +16:01:52 master: 26648 replica: 9437040 +16:01:52 master: 26648 replica: 9437040 +16:01:52 master: 47152 replica: 9437040 +16:01:52 master: 26648 replica: 9437040 +16:01:52 master: 26648 replica: 9437040 +16:01:52 master: 47152 replica: 9437040 +16:01:52 master: 47152 replica: 9437040 +16:01:52 master: 47152 replica: 9437040 +16:01:52 master: 26648 replica: 9437040 +16:01:52 master: 47152 replica: 9437040 +16:01:52 master: 26648 replica: 10485600 +16:01:52 master: 26648 replica: 10485600 +16:01:52 master: 47152 replica: 10485600 +16:01:52 master: 26648 replica: 10485600 +16:01:52 master: 26648 replica: 10485600 +16:01:52 master: 47152 replica: 10485600 +16:01:52 master: 47152 replica: 10485600 +16:01:52 master: 26648 replica: 10485600 +16:01:52 master: 26648 replica: 10485600 +16:01:52 master: 26648 replica: 10485600 +16:01:52 master: 47152 replica: 10485600 +16:01:52 master: 26648 replica: 10485600 +16:01:52 master: 47152 replica: 10485600 +16:01:52 master: 47152 replica: 10485600 +16:01:52 master: 26648 replica: 10485600 +16:01:52 master: 47152 replica: 10485600 +16:01:52 master: 26648 replica: 10485600 +16:01:52 master: 26648 replica: 10485600 +16:01:52 master: 47152 replica: 10485600 +16:01:52 master: 47152 replica: 10485600 +16:01:52 master: 26648 replica: 10485600 +16:01:52 master: 26648 replica: 10485600 +16:01:52 master: 47152 replica: 11534160 +16:01:52 master: 26648 replica: 11534160 +16:01:52 master: 26648 replica: 11534160 +16:01:52 master: 47152 replica: 11534160 +16:01:52 master: 26648 replica: 11534160 +16:01:52 master: 47152 replica: 11534160 +16:01:52 master: 26648 replica: 11534160 +16:01:52 master: 26648 replica: 11534160 +16:01:52 master: 26648 replica: 11534160 +16:01:52 master: 47152 replica: 11534160 +16:01:52 master: 47152 replica: 11534160 +16:01:52 master: 26648 replica: 11534160 +16:01:52 master: 47152 replica: 11534160 +16:01:52 master: 26648 replica: 11534160 +16:01:52 master: 47152 replica: 11534160 +16:01:52 master: 47152 replica: 11534160 +16:01:53 master: 26648 replica: 11534160 +16:01:53 master: 47152 replica: 11534160 +16:01:53 master: 47152 replica: 11534160 +16:01:53 master: 26648 replica: 12582720 +16:01:53 master: 26648 replica: 12582720 +16:01:53 master: 47152 replica: 12582720 +16:01:53 master: 26648 replica: 12582720 +16:01:53 master: 26648 replica: 12582720 +16:01:53 master: 47152 replica: 12582720 +16:01:53 master: 26648 replica: 12582720 +16:01:53 master: 47152 replica: 12582720 +16:01:53 master: 47152 replica: 12582720 +16:01:53 master: 47152 replica: 12582720 +16:01:53 master: 26648 replica: 12582720 +16:01:53 master: 47152 replica: 12582720 +16:01:53 master: 26648 replica: 12582720 +16:01:53 master: 47152 replica: 12582720 +16:01:53 master: 26648 replica: 12582720 +16:01:53 master: 26648 replica: 12582720 +16:01:53 master: 47152 replica: 12582720 +16:01:53 master: 26648 replica: 12582720 +16:01:53 master: 26648 replica: 12582720 +16:01:53 master: 47152 replica: 12582720 +16:01:53 master: 47152 replica: 13631280 +16:01:53 master: 26648 replica: 13631280 +16:01:53 master: 47152 replica: 13631280 +16:01:53 master: 47152 replica: 13631280 +16:01:53 master: 26648 replica: 13631280 +16:01:53 master: 47152 replica: 13631280 +16:01:53 master: 47152 replica: 13631280 +16:01:53 master: 47152 replica: 13631280 +16:01:53 master: 26648 replica: 13631280 +16:01:53 master: 47152 replica: 13631280 +16:01:53 master: 47152 replica: 13631280 +16:01:53 master: 26648 replica: 13631280 +16:01:53 master: 26648 replica: 13631280 +16:01:53 master: 26648 replica: 13631280 +16:01:53 master: 26648 replica: 13631280 +16:01:53 master: 47152 replica: 13631280 +16:01:53 master: 47152 replica: 13631280 +16:01:53 master: 26648 replica: 13631280 +16:01:53 master: 26648 replica: 13631280 +16:01:53 master: 47152 replica: 13631280 +16:01:53 master: 47152 replica: 13631280 +16:01:53 master: 26648 replica: 13631280 +16:01:53 master: 26648 replica: 13631280 +16:01:53 master: 47152 replica: 14679840 +16:01:53 master: 47152 replica: 14679840 +16:01:53 master: 26648 replica: 14679840 +16:01:53 master: 47152 replica: 14679840 +16:01:53 master: 26648 replica: 14679840 +16:01:53 master: 47152 replica: 14679840 +16:01:53 master: 47152 replica: 14679840 +16:01:53 master: 26648 replica: 14679840 +16:01:53 master: 47152 replica: 14679840 +16:01:53 master: 26648 replica: 14679840 +16:01:53 master: 26648 replica: 14679840 +16:01:53 master: 26648 replica: 14679840 +16:01:53 master: 47152 replica: 14679840 +16:01:53 master: 26648 replica: 14679840 +16:01:53 master: 47152 replica: 14679840 +16:01:53 master: 47152 replica: 14679840 +16:01:53 master: 26648 replica: 14679840 +16:01:53 master: 47152 replica: 14679840 +16:01:53 master: 26648 replica: 14679840 +16:01:53 master: 47152 replica: 15728400 +16:01:53 master: 47152 replica: 15728400 +16:01:53 master: 26648 replica: 15728400 +16:01:53 master: 26648 replica: 15728400 +16:01:53 master: 47152 replica: 15728400 +16:01:53 master: 47152 replica: 15728400 +16:01:53 master: 26648 replica: 15728400 +16:01:54 master: 47152 replica: 15728400 +16:01:54 master: 47152 replica: 15728400 +16:01:54 master: 26648 replica: 15728400 +16:01:54 master: 47152 replica: 15728400 +16:01:54 master: 26648 replica: 15728400 +16:01:54 master: 26648 replica: 15728400 +16:01:54 master: 26648 replica: 15728400 +16:01:54 master: 26648 replica: 15728400 +16:01:54 master: 47152 replica: 15728400 +16:01:54 master: 47152 replica: 15728400 +16:01:54 master: 26648 replica: 15728400 +16:01:54 master: 47152 replica: 15728400 +16:01:54 master: 26648 replica: 15728400 +16:01:54 master: 26648 replica: 15728400 +16:01:54 master: 47152 replica: 15728400 +16:01:54 master: 26648 replica: 16776960 +16:01:54 master: 47152 replica: 16776960 +16:01:54 master: 47152 replica: 16776960 +16:01:54 master: 26648 replica: 16776960 +16:01:54 master: 26648 replica: 16776960 +16:01:54 master: 47152 replica: 16776960 +16:01:54 master: 26648 replica: 16776960 +16:01:54 master: 47152 replica: 16776960 +16:01:54 master: 26648 replica: 16776960 +16:01:54 master: 47152 replica: 16776960 +16:01:54 master: 47152 replica: 16776960 +16:01:54 master: 47152 replica: 16776960 +16:01:54 master: 26648 replica: 16776960 +16:01:54 master: 47152 replica: 16776960 +16:01:54 master: 26648 replica: 16776960 +16:01:54 master: 47152 replica: 16776960 +16:01:54 master: 47152 replica: 16776960 +16:01:54 master: 26648 replica: 16776960 +16:01:54 master: 47152 replica: 17825520 +16:01:54 master: 26648 replica: 17825520 +16:01:54 master: 26648 replica: 17825520 +16:01:54 master: 26648 replica: 17825520 +16:01:54 master: 47152 replica: 17825520 +16:01:54 master: 26648 replica: 17825520 +16:01:54 master: 26648 replica: 17825520 +16:01:54 master: 47152 replica: 17825520 +16:01:54 master: 26648 replica: 17825520 +16:01:54 master: 47152 replica: 17825520 +16:01:54 master: 26648 replica: 17825520 +16:01:54 master: 26648 replica: 17825520 +16:01:54 master: 47152 replica: 17825520 +16:01:54 master: 47152 replica: 17825520 +16:01:54 master: 26648 replica: 17825520 +16:01:54 master: 26648 replica: 17825520 +16:01:54 master: 47152 replica: 17825520 +16:01:54 master: 26648 replica: 17825520 +16:01:54 master: 26648 replica: 17825520 +16:01:54 master: 26648 replica: 18874080 +16:01:54 master: 47152 replica: 18874080 +16:01:54 master: 26648 replica: 18874080 +16:01:54 master: 47152 replica: 18874080 +16:01:54 master: 47152 replica: 18874080 +16:01:54 master: 47152 replica: 18874080 +16:01:54 master: 26648 replica: 18874080 +16:01:54 master: 47152 replica: 18874080 +16:01:54 master: 26648 replica: 18874080 +16:01:54 master: 47152 replica: 18874080 +16:01:54 master: 47152 replica: 18874080 +16:01:54 master: 26648 replica: 18874080 +16:01:54 master: 47152 replica: 18874080 +16:01:54 master: 47152 replica: 18874080 +16:01:54 master: 47152 replica: 18874080 +16:01:54 master: 26648 replica: 18874080 +16:01:54 master: 47152 replica: 18874080 +16:01:54 master: 47152 replica: 18874080 +16:01:54 master: 26648 replica: 18874080 +16:01:54 master: 26648 replica: 18874080 +16:01:54 master: 47152 replica: 19922640 +16:01:54 master: 47152 replica: 19922640 +16:01:54 master: 26648 replica: 19922640 +16:01:55 master: 47152 replica: 19922640 +16:01:55 master: 26648 replica: 19922640 +16:01:55 master: 26648 replica: 19922640 +16:01:55 master: 26648 replica: 19922640 +16:01:55 master: 47152 replica: 19922640 +16:01:55 master: 26648 replica: 19922640 +16:01:55 master: 26648 replica: 19922640 +16:01:55 master: 47152 replica: 19922640 +16:01:55 master: 26648 replica: 19922640 +16:01:55 master: 26648 replica: 19922640 +16:01:55 master: 47152 replica: 19922640 +16:01:55 master: 26648 replica: 19922640 +16:01:55 master: 47152 replica: 19922640 +16:01:55 master: 47152 replica: 19922640 +16:01:55 master: 47152 replica: 19922640 +16:01:55 master: 47152 replica: 19922640 +16:01:55 master: 26648 replica: 19922640 +16:01:55 master: 47152 replica: 19922640 +16:01:55 master: 26648 replica: 19922640 +16:01:55 master: 26648 replica: 20971200 +16:01:55 master: 47152 replica: 20971200 +16:01:55 master: 26648 replica: 20971200 +16:01:55 master: 26648 replica: 20971200 +16:01:55 master: 47152 replica: 20971200 +16:01:55 master: 26648 replica: 20971200 +16:01:55 master: 26648 replica: 20971200 +16:01:55 master: 26648 replica: 20971200 +16:01:55 master: 47152 replica: 20971200 +16:01:55 master: 26648 replica: 20971200 +16:01:55 master: 26648 replica: 20971200 +16:01:55 master: 47152 replica: 20971200 +16:01:55 master: 26648 replica: 20971200 +16:01:55 master: 47152 replica: 20971200 +16:01:55 master: 47152 replica: 20971200 +16:01:55 master: 26648 replica: 20971200 +16:01:55 master: 26648 replica: 20971200 +16:01:55 master: 26648 replica: 20971200 +16:01:55 master: 26648 replica: 20971200 +16:01:55 master: 47152 replica: 20971200 +16:01:55 master: 47152 replica: 20971200 +16:01:55 master: 47152 replica: 20971200 +16:01:55 master: 26648 replica: 20971200 +16:01:55 master: 26648 replica: 20971200 +16:01:55 master: 47152 replica: 20971200 +16:01:55 master: 47152 replica: 22019760 +16:01:55 master: 26648 replica: 22019760 +16:01:55 master: 26648 replica: 22019760 +16:01:55 master: 47152 replica: 22019760 +16:01:55 master: 47152 replica: 22019760 +16:01:55 master: 26648 replica: 22019760 +16:01:55 master: 47152 replica: 22019760 +16:01:55 master: 47152 replica: 22019760 +16:01:55 master: 26648 replica: 22019760 +16:01:55 master: 26648 replica: 22019760 +16:01:55 master: 26648 replica: 22019760 +16:01:55 master: 26648 replica: 22019760 +16:01:55 master: 47152 replica: 22019760 +16:01:55 master: 26648 replica: 22019760 +16:01:55 master: 26648 replica: 22019760 +16:01:55 master: 47152 replica: 22019760 +16:01:55 master: 47152 replica: 22019760 +16:01:55 master: 47152 replica: 22019760 +16:01:55 master: 47152 replica: 22019760 +16:01:55 master: 26648 replica: 22019760 +16:01:55 master: 47152 replica: 23068320 +16:01:55 master: 26648 replica: 23068320 +16:01:55 master: 26648 replica: 23068320 +16:01:55 master: 47152 replica: 23068320 +16:01:55 master: 26648 replica: 23068320 +16:01:55 master: 47152 replica: 23068320 +16:01:55 master: 26648 replica: 23068320 +16:01:55 master: 26648 replica: 23068320 +16:01:55 master: 26648 replica: 23068320 +16:01:56 master: 26648 replica: 23068320 +16:01:56 master: 47152 replica: 23068320 +16:01:56 master: 26648 replica: 23068320 +16:01:56 master: 26648 replica: 23068320 +16:01:56 master: 47152 replica: 23068320 +16:01:56 master: 26648 replica: 23068320 +16:01:56 master: 47152 replica: 23068320 +16:01:56 master: 47152 replica: 23068320 +16:01:56 master: 26648 replica: 23068320 +16:01:56 master: 26648 replica: 23068320 +16:01:56 master: 26648 replica: 23068320 +16:01:56 master: 47152 replica: 24116880 +16:01:56 master: 47152 replica: 24116880 +16:01:56 master: 26648 replica: 24116880 +16:01:56 master: 47152 replica: 24116880 +16:01:56 master: 26648 replica: 24116880 +16:01:56 master: 47152 replica: 24116880 +16:01:56 master: 47152 replica: 24116880 +16:01:56 master: 26648 replica: 24116880 +16:01:56 master: 47152 replica: 24116880 +16:01:56 master: 47152 replica: 24116880 +16:01:56 master: 26648 replica: 24116880 +16:01:56 master: 47152 replica: 24116880 +16:01:56 master: 47152 replica: 24116880 +16:01:56 master: 26648 replica: 24116880 +16:01:56 master: 26648 replica: 24116880 +16:01:56 master: 47152 replica: 24116880 +16:01:56 master: 47152 replica: 24116880 +16:01:56 master: 26648 replica: 24116880 +16:01:56 master: 26648 replica: 24116880 +16:01:56 master: 47152 replica: 24116880 +16:01:56 master: 47152 replica: 24116880 +16:01:56 master: 26648 replica: 24116880 +16:01:56 master: 26648 replica: 25165440 +16:01:56 master: 47152 replica: 25165440 +16:01:56 master: 47152 replica: 25165440 +16:01:56 master: 26648 replica: 25165440 +16:01:56 master: 47152 replica: 25165440 +16:01:56 master: 26648 replica: 25165440 +16:01:56 master: 47152 replica: 25165440 +16:01:56 master: 26648 replica: 25165440 +16:01:56 master: 47152 replica: 25165440 +16:01:56 master: 47152 replica: 25165440 +16:01:56 master: 47152 replica: 25165440 +16:01:56 master: 26648 replica: 25165440 +16:01:56 master: 47152 replica: 25165440 +16:01:56 master: 26648 replica: 25165440 +16:01:56 master: 26648 replica: 25165440 +16:01:56 master: 47152 replica: 25165440 +16:01:56 master: 26648 replica: 25165440 +16:01:56 master: 47152 replica: 25165440 +16:01:56 master: 47152 replica: 25165440 +16:01:56 master: 47152 replica: 26214000 +16:01:56 master: 26648 replica: 26214000 +16:01:56 master: 47152 replica: 26214000 +16:01:56 master: 47152 replica: 26214000 +16:01:56 master: 26648 replica: 26214000 +16:01:56 master: 47152 replica: 26214000 +16:01:56 master: 26648 replica: 26214000 +16:01:56 master: 26648 replica: 26214000 +16:01:56 master: 47152 replica: 26214000 +16:01:56 master: 26648 replica: 26214000 +16:01:56 master: 26648 replica: 26214000 +16:01:56 master: 26648 replica: 26214000 +16:01:56 master: 26648 replica: 26214000 +16:01:56 master: 47152 replica: 26214000 +16:01:56 master: 47152 replica: 26214000 +16:01:56 master: 26648 replica: 26214000 +16:01:56 master: 26648 replica: 26214000 +16:01:56 master: 26648 replica: 26214000 +16:01:56 master: 47152 replica: 26214000 +16:01:56 master: 26648 replica: 26214000 +16:01:56 master: 47152 replica: 27262560 +16:01:56 master: 47152 replica: 27262560 +16:01:57 master: 47152 replica: 27262560 +16:01:57 master: 26648 replica: 27262560 +16:01:57 master: 47152 replica: 27262560 +16:01:57 master: 47152 replica: 27262560 +16:01:57 master: 47152 replica: 27262560 +16:01:57 master: 26648 replica: 27262560 +16:01:57 master: 47152 replica: 27262560 +16:01:57 master: 26648 replica: 27262560 +16:01:57 master: 26648 replica: 27262560 +16:01:57 master: 26648 replica: 27262560 +16:01:57 master: 47152 replica: 27262560 +16:01:57 master: 47152 replica: 27262560 +16:01:57 master: 26648 replica: 27262560 +16:01:57 master: 26648 replica: 27262560 +16:01:57 master: 47152 replica: 27262560 +16:01:57 master: 47152 replica: 27262560 +16:01:57 master: 26648 replica: 27262560 +16:01:57 master: 26648 replica: 27262560 +16:01:57 master: 47152 replica: 27262560 +16:01:57 master: 26648 replica: 27262560 +16:01:57 master: 47152 replica: 28311120 +16:01:57 master: 47152 replica: 28311120 +16:01:57 master: 26648 replica: 28311120 +16:01:57 master: 47152 replica: 28311120 +16:01:57 master: 26648 replica: 28311120 +16:01:57 master: 26648 replica: 28311120 +16:01:57 master: 47152 replica: 28311120 +16:01:57 master: 47152 replica: 28311120 +16:01:57 master: 47152 replica: 28311120 +16:01:57 master: 26648 replica: 28311120 +16:01:57 master: 47152 replica: 28311120 +16:01:57 master: 47152 replica: 28311120 +16:01:57 master: 26648 replica: 28311120 +16:01:57 master: 26648 replica: 28311120 +16:01:57 master: 26648 replica: 28311120 +16:01:57 master: 47152 replica: 28311120 +16:01:57 master: 47152 replica: 28311120 +16:01:57 master: 47152 replica: 28311120 +16:01:57 master: 26648 replica: 28311120 +16:01:57 master: 26648 replica: 28311120 +16:01:57 master: 47152 replica: 28311120 +16:01:57 master: 47152 replica: 28311120 +16:01:57 master: 26648 replica: 28311120 +16:01:57 master: 47152 replica: 28311120 +16:01:57 master: 26648 replica: 29359680 +16:01:57 master: 26648 replica: 29359680 +16:01:57 master: 47152 replica: 29359680 +16:01:57 master: 47152 replica: 29359680 +16:01:57 master: 47152 replica: 29359680 +16:01:57 master: 47152 replica: 29359680 +16:01:57 master: 26648 replica: 29359680 +16:01:57 master: 26648 replica: 29359680 +16:01:57 master: 47152 replica: 29359680 +16:01:57 master: 26648 replica: 29359680 +16:01:57 master: 26648 replica: 29359680 +16:01:57 master: 26648 replica: 29359680 +16:01:57 master: 47152 replica: 29359680 +16:01:57 master: 26648 replica: 29359680 +16:01:57 master: 26648 replica: 29359680 +16:01:57 master: 26648 replica: 29359680 +16:01:57 master: 47152 replica: 29359680 +16:01:57 master: 26648 replica: 29359680 +16:01:57 master: 47152 replica: 29359680 +16:01:57 master: 47152 replica: 29359680 +16:01:57 master: 26648 replica: 29359680 +16:01:57 master: 47152 replica: 30408240 +16:01:57 master: 26648 replica: 30408240 +16:01:57 master: 47152 replica: 30408240 +16:01:57 master: 47152 replica: 30408240 +16:01:57 master: 47152 replica: 30408240 +16:01:57 master: 26648 replica: 30408240 +16:01:57 master: 47152 replica: 30408240 +16:01:58 master: 26648 replica: 30408240 +16:01:58 master: 47152 replica: 30408240 +16:01:58 master: 47152 replica: 30408240 +16:01:58 master: 26648 replica: 15728400 +16:01:58 master: 47152 replica: 0 +peak_master_used_mem 109519816 peak_master_rpl_buf 5290032 peak_master_slave_buf_size 47152 -peak_replica_buf_size 27262560 -[ok]: Test master memory does not increase during replication (7598 ms) +peak_replica_buf_size 30408240 +[ok]: Test master memory does not increase during replication (9417 ms) === (repl external:skip) Starting server 127.0.0.1:22370 ok === () Starting server 127.0.0.1:22372 ok -[ok]: Test replication stream buffer becomes full on replica (3593 ms) -[ok]: Test replication stream buffer config replica-full-sync-buffer-limit (1214 ms) -Waiting for process 1359721 to exit... -Waiting for process 1359721 to exit... -Waiting for process 1359721 to exit... +[ok]: Test replication stream buffer becomes full on replica (3573 ms) +[ok]: Test replication stream buffer config replica-full-sync-buffer-limit (2555 ms) +Waiting for process 2502572 to exit... +Waiting for process 2502572 to exit... === (repl external:skip) Starting server 127.0.0.1:22374 ok === () Starting server 127.0.0.1:22376 ok -[ok]: Test master disconnects replica when output buffer limit is reached (5601 ms) -[ok]: Test replication recovers after output buffer failures (3732 ms) +[ok]: Test master disconnects replica when output buffer limit is reached (6596 ms) +[ok]: Test replication recovers after output buffer failures (3627 ms) === (repl external:skip) Starting server 127.0.0.1:22378 ok === () Starting server 127.0.0.1:22380 ok === () Starting server 127.0.0.1:22382 ok -[ok]: Test master continues RDB delivery if not all replicas are dropped (24389 ms) -[ok]: Test master aborts rdb delivery if all replicas are dropped (14212 ms) +[ok]: Test master continues RDB delivery if not all replicas are dropped (14239 ms) +[ok]: Test master aborts rdb delivery if all replicas are dropped (7066 ms) === (repl external:skip) Starting server 127.0.0.1:22384 ok === () Starting server 127.0.0.1:22386 ok -[ok]: Test replica recovers when rdb channel connection is killed (2026 ms) -[ok]: Test replica recovers when main channel connection is killed (2062 ms) -[ok]: Test replica recovers connection failures (3713 ms) +[ok]: Test replica recovers when rdb channel connection is killed (1772 ms) +[ok]: Test replica recovers when main channel connection is killed (1120 ms) +[ok]: Test replica recovers connection failures (4453 ms) === (repl external:skip) Starting server 127.0.0.1:22388 ok === () Starting server 127.0.0.1:22390 ok -[ok]: Test master connection drops while streaming repl buffer into the db (8149 ms) +[ok]: Test master connection drops while streaming repl buffer into the db (3520 ms) === (repl external:skip) Starting server 127.0.0.1:22392 ok === () Starting server 127.0.0.1:22394 ok -[ok]: Test main channel connection drops while loading rdb (disk based) (2054 ms) +[ok]: Test main channel connection drops while loading rdb (disk based) (2313 ms) === (repl external:skip) Starting server 127.0.0.1:22396 ok === () Starting server 127.0.0.1:22398 ok -[ok]: Test main channel connection drops while loading rdb (diskless) (1678 ms) +[ok]: Test main channel connection drops while loading rdb (diskless) (2211 ms) === (repl external:skip) Starting server 127.0.0.1:22400 ok === (repl external:skip) Starting server 127.0.0.1:22402 ok === () Starting server 127.0.0.1:22404 ok -[ok]: Test replicaof command while streaming repl buffer into the db (8133 ms) -[94/96 done]: integration/replication-rdbchannel (113 seconds) +[ok]: Test replicaof command while streaming repl buffer into the db (6131 ms) +[94/96 done]: integration/replication-rdbchannel (95 seconds) Testing integration/replication === (repl network external:skip) Starting server 127.0.0.1:22406 ok === () Starting server 127.0.0.1:22408 ok -[ok]: Slave enters handshake (2 ms) -[ok]: Slave enters wait_bgsave (1006 ms) +[ok]: Slave enters handshake (1006 ms) +[ok]: Slave enters wait_bgsave (1 ms) [ok]: Slave is able to detect timeout during handshake (0 ms) === (repl external:skip) Starting server 127.0.0.1:22410 ok === () Starting server 127.0.0.1:22412 ok -[ok]: Set instance A as slave of B (112 ms) -[ok]: INCRBYFLOAT replication, should not remove expire (2 ms) -[ok]: GETSET replication (2 ms) -[ok]: BRPOPLPUSH replication, when blocking against empty list (19 ms) -[ok]: BRPOPLPUSH replication, list exists (3 ms) -[ok]: BLMOVE (left, left) replication, when blocking against empty list (16 ms) -[ok]: BLMOVE (left, left) replication, list exists (3 ms) -[ok]: BLMOVE (left, right) replication, when blocking against empty list (15 ms) -[ok]: BLMOVE (left, right) replication, list exists (2 ms) -[ok]: BLMOVE (right, left) replication, when blocking against empty list (14 ms) -[ok]: BLMOVE (right, left) replication, list exists (3 ms) -[ok]: BLMOVE (right, right) replication, when blocking against empty list (15 ms) -[ok]: BLMOVE (right, right) replication, list exists (2 ms) -[ok]: BLPOP followed by role change, issue #2473 (128 ms) +[ok]: Set instance A as slave of B (104 ms) +[ok]: INCRBYFLOAT replication, should not remove expire (3 ms) +[ok]: GETSET replication (4 ms) +[ok]: BRPOPLPUSH replication, when blocking against empty list (37 ms) +[ok]: BRPOPLPUSH replication, list exists (5 ms) +[ok]: BLMOVE (left, left) replication, when blocking against empty list (36 ms) +[ok]: BLMOVE (left, left) replication, list exists (5 ms) +[ok]: BLMOVE (left, right) replication, when blocking against empty list (36 ms) +[ok]: BLMOVE (left, right) replication, list exists (4 ms) +[ok]: BLMOVE (right, left) replication, when blocking against empty list (36 ms) +[ok]: BLMOVE (right, left) replication, list exists (4 ms) +[ok]: BLMOVE (right, right) replication, when blocking against empty list (36 ms) +[ok]: BLMOVE (right, right) replication, list exists (4 ms) +[ok]: BLPOP followed by role change, issue #2473 (142 ms) === (repl external:skip) Starting server 127.0.0.1:22414 ok === () Starting server 127.0.0.1:22416 ok -[ok]: Second server should have role master at first (0 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 (0 ms) +[ok]: Second server should have role master at first (1 ms) +[ok]: SLAVEOF should start with link status "down" (2 ms) +[ok]: The role should immediately be changed to "replica" (1 ms) +[ok]: Sync should have transferred keys from master (1 ms) [ok]: The link status should be up (1 ms) -[ok]: SET on the master should immediately propagate (0 ms) -[ok]: FLUSHDB / FLUSHALL should replicate (180 ms) +[ok]: SET on the master should immediately propagate (1 ms) +[ok]: FLUSHDB / FLUSHALL should replicate (59 ms) [ok]: ROLE in master reports master with a slave (1 ms) [ok]: ROLE in slave reports slave in connected state (0 ms) === (repl external:skip) Starting server 127.0.0.1:22418 ok === () Starting server 127.0.0.1:22420 ok === () Starting server 127.0.0.1:22422 ok === () Starting server 127.0.0.1:22424 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=disabled, rdbchannel=no (11756 ms) +[ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=disabled, rdbchannel=no (13672 ms) === (repl external:skip) Starting server 127.0.0.1:22426 ok === () Starting server 127.0.0.1:22428 ok === () Starting server 127.0.0.1:22430 ok === () Starting server 127.0.0.1:22432 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=swapdb, rdbchannel=no (15476 ms) +[ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=swapdb, rdbchannel=no (12181 ms) === (repl external:skip) Starting server 127.0.0.1:22434 ok === () Starting server 127.0.0.1:22436 ok === () Starting server 127.0.0.1:22438 ok === () Starting server 127.0.0.1:22440 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=disabled, rdbchannel=yes (12316 ms) +[ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=disabled, rdbchannel=yes (14124 ms) === (repl external:skip) Starting server 127.0.0.1:22442 ok === () Starting server 127.0.0.1:22444 ok === () Starting server 127.0.0.1:22446 ok === () Starting server 127.0.0.1:22448 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=swapdb, rdbchannel=yes (11829 ms) +[ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=swapdb, rdbchannel=yes (11634 ms) === (repl external:skip) Starting server 127.0.0.1:22450 ok === () Starting server 127.0.0.1:22452 ok -[ok]: Master stream is correctly processed while the replica has a script in -BUSY state (18944 ms) +[ok]: Master stream is correctly processed while the replica has a script in -BUSY state (19403 ms) === (repl external:skip) Starting server 127.0.0.1:22454 ok === () Starting server 127.0.0.1:22456 ok -[ok]: Diskless load swapdb (different replid): new database is exposed after swapping (0 ms) +[ok]: Diskless load swapdb (different replid): new database is exposed after swapping (1 ms) === (repl external:skip) Starting server 127.0.0.1:22458 ok === () Starting server 127.0.0.1:22460 ok -[ok]: Diskless load swapdb (different replid): replica enter loading rdbchannel=no (179 ms) -[ok]: Diskless load swapdb (different replid): old database is exposed after replication fails rdbchannel=no (1 ms) +[ok]: Diskless load swapdb (different replid): replica enter loading rdbchannel=no (197 ms) +[ok]: Diskless load swapdb (different replid): old database is exposed after replication fails rdbchannel=no (0 ms) === (repl external:skip) Starting server 127.0.0.1:22462 ok === () Starting server 127.0.0.1:22464 ok [ok]: Diskless load swapdb (async_loading): new database is exposed after swapping (1 ms) === (repl external:skip) Starting server 127.0.0.1:22466 ok === () Starting server 127.0.0.1:22468 ok -[ok]: Diskless load swapdb (async_loading): replica enter async_loading (133 ms) -[ok]: Diskless load swapdb (async_loading): old database is exposed while async replication is in progress (428 ms) -[ok]: Busy script during async loading (773 ms) -[ok]: Blocked commands and configs during async-loading (101 ms) -[ok]: Diskless load swapdb (async_loading): old database is exposed after async replication fails (10 ms) -Waiting for process 1381530 to exit... -Waiting for process 1381530 to exit... +[ok]: Diskless load swapdb (async_loading): replica enter async_loading (170 ms) +[ok]: Diskless load swapdb (async_loading): old database is exposed while async replication is in progress (434 ms) +[ok]: Busy script during async loading (765 ms) +[ok]: Blocked commands and configs during async-loading (123 ms) +[ok]: Diskless load swapdb (async_loading): old database is exposed after async replication fails (1 ms) +Waiting for process 2604357 to exit... +Waiting for process 2604357 to exit... +Waiting for process 2604357 to exit... === (repl) Starting server 127.0.0.1:22470 ok === () Starting server 127.0.0.1:22472 ok -filling took 1863 ms (TODO: use pipeline) -{1382455:S 26 Aug 2026 19:35:31.576 # Internal error in RDB reading offset 15785109, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 51 -{1382455:S 26 Aug 2026 19:35:31.661 # Internal error in RDB reading offset 14637634, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 70 -{1382455:S 26 Aug 2026 19:35:31.716 # Internal error in RDB reading offset 5745576, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 89 -{1382455:S 26 Aug 2026 19:35:31.809 # Internal error in RDB reading offset 15785109, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 108 -{1382455:S 26 Aug 2026 19:35:31.908 # Internal error in RDB reading offset 9616473, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 127 -{1382455:S 26 Aug 2026 19:35:31.976 # Internal error in RDB reading offset 9616473, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 146 -{1382455:S 26 Aug 2026 19:35:32.061 # Internal error in RDB reading offset 14637634, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 165 -{1382455:S 26 Aug 2026 19:35:32.120 # Internal error in RDB reading offset 6739525, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 184 -{1382455:S 26 Aug 2026 19:35:32.228 # Internal error in RDB reading offset 13164595, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 203 -{1382455:S 26 Aug 2026 19:35:32.292 # Internal error in RDB reading offset 6739525, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 222 -{1382455:S 26 Aug 2026 19:35:32.349 # Internal error in RDB reading offset 6739525, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 241 -{1382455:S 26 Aug 2026 19:35:32.401 # Internal error in RDB reading offset 8682129, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 260 -{1382455:S 26 Aug 2026 19:35:32.468 # Internal error in RDB reading offset 11199038, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 279 -{1382455:S 26 Aug 2026 19:35:32.529 # Internal error in RDB reading offset 6739525, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 298 -{1382455:S 26 Aug 2026 19:35:32.616 # Internal error in RDB reading offset 5745576, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 317 -{1382455:S 26 Aug 2026 19:35:32.688 # Internal error in RDB reading offset 12851945, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 336 -{1382455:S 26 Aug 2026 19:35:32.764 # Internal error in RDB reading offset 8682129, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 355 -{1382455:S 26 Aug 2026 19:35:32.816 # Internal error in RDB reading offset 4259241, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 374 -{1382455:S 26 Aug 2026 19:35:32.893 # Internal error in RDB reading offset 14637634, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 393 -{1382455:S 26 Aug 2026 19:35:32.954 # Internal error in RDB reading offset 6739525, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 412 -{1382455:S 26 Aug 2026 19:35:33.029 # Internal error in RDB reading offset 14637634, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 431 -{1382455:S 26 Aug 2026 19:35:33.105 # Internal error in RDB reading offset 11804256, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 450 -{1382455:S 26 Aug 2026 19:35:33.173 # Internal error in RDB reading offset 14637634, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 467 -{1382455:S 26 Aug 2026 19:35:33.220 # Internal error in RDB reading offset 4259241, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 486 -{1382455:S 26 Aug 2026 19:35:33.277 # Internal error in RDB reading offset 5745576, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 505 -{1382455:S 26 Aug 2026 19:35:33.356 # Internal error in RDB reading offset 11199038, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 524 -{1382455:S 26 Aug 2026 19:35:33.440 # Internal error in RDB reading offset 19388662, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 543 -{1382455:S 26 Aug 2026 19:35:33.537 # Internal error in RDB reading offset 22119052, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 562 -{1382455:S 26 Aug 2026 19:35:33.604 # Internal error in RDB reading offset 8682129, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 581 -{1382455:S 26 Aug 2026 19:35:33.688 # Internal error in RDB reading offset 13164595, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 598 -{1382455:S 26 Aug 2026 19:35:33.784 # Internal error in RDB reading offset 18119201, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 617 -{1382455:S 26 Aug 2026 19:35:33.860 # Internal error in RDB reading offset 11199038, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 636 -{1382455:S 26 Aug 2026 19:35:33.939 # Internal error in RDB reading offset 11804256, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 653 -{1382455:S 26 Aug 2026 19:35:34.032 # Internal error in RDB reading offset 14865326, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 672 -{1382455:S 26 Aug 2026 19:35:34.147 # Internal error in RDB reading offset 26178991, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 691 -{1382455:S 26 Aug 2026 19:35:34.249 # Internal error in RDB reading offset 10123632, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 710 -{1382455:S 26 Aug 2026 19:35:34.305 # Internal error in RDB reading offset 4744409, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 729 -{1382455:S 26 Aug 2026 19:35:34.396 # Internal error in RDB reading offset 17728409, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 748 -{1382455:S 26 Aug 2026 19:35:34.512 # Internal error in RDB reading offset 15220928, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 767 -{1382455:S 26 Aug 2026 19:35:34.576 # Internal error in RDB reading offset 9026055, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 784 -{1382455:S 26 Aug 2026 19:35:34.640 # Internal error in RDB reading offset 4095899, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 803 -{1382455:S 26 Aug 2026 19:35:34.717 # Internal error in RDB reading offset 14637634, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 822 -{1382455:S 26 Aug 2026 19:35:34.788 # Internal error in RDB reading offset 6739525, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 841 -{1382455:S 26 Aug 2026 19:35:34.864 # Internal error in RDB reading offset 8682129, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 860 -{1382455:S 26 Aug 2026 19:35:34.920 # Internal error in RDB reading offset 9026055, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 877 -{1382455:S 26 Aug 2026 19:35:35.008 # Internal error in RDB reading offset 15220928, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 896 -{1382455:S 26 Aug 2026 19:35:35.088 # Internal error in RDB reading offset 10123632, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 915 -{1382455:S 26 Aug 2026 19:35:35.141 # Internal error in RDB reading offset 2485494, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 934 -{1382455:S 26 Aug 2026 19:35:35.216 # Internal error in RDB reading offset 11804256, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 953 -{1382455:S 26 Aug 2026 19:35:35.288 # Internal error in RDB reading offset 9026055, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 972 -{1382455:S 26 Aug 2026 19:35:35.349 # Internal error in RDB reading offset 7723453, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 991 -{1382455:S 26 Aug 2026 19:35:35.394 # Internal error in RDB reading offset 4095899, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1010 -{1382455:S 26 Aug 2026 19:35:35.472 # Internal error in RDB reading offset 8682129, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1029 -{1382455:S 26 Aug 2026 19:35:35.556 # Internal error in RDB reading offset 8682129, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1048 -{1382455:S 26 Aug 2026 19:35:35.616 # Internal error in RDB reading offset 11199038, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1067 -{1382455:S 26 Aug 2026 19:35:35.708 # Internal error in RDB reading offset 12851945, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1086 -{1382455:S 26 Aug 2026 19:35:35.757 # Internal error in RDB reading offset 4095899, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1105 -{1382455:S 26 Aug 2026 19:35:35.865 # Internal error in RDB reading offset 30267605, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1124 -{1382455:S 26 Aug 2026 19:35:35.948 # Internal error in RDB reading offset 13164595, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1143 -{1382455:S 26 Aug 2026 19:35:36.044 # Internal error in RDB reading offset 18119201, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1162 -{1382455:S 26 Aug 2026 19:35:36.149 # Internal error in RDB reading offset 21377352, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1181 -{1382455:S 26 Aug 2026 19:35:36.232 # Internal error in RDB reading offset 12851945, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1200 -{1382455:S 26 Aug 2026 19:35:36.308 # Internal error in RDB reading offset 9026055, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1219 -{1382455:S 26 Aug 2026 19:35:36.388 # Internal error in RDB reading offset 15785109, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1238 -{1382455:S 26 Aug 2026 19:35:36.436 # Internal error in RDB reading offset 4095899, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1255 -{1382455:S 26 Aug 2026 19:35:36.532 # Internal error in RDB reading offset 12851945, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1274 -{1382455:S 26 Aug 2026 19:35:36.584 # Internal error in RDB reading offset 6215237, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1293 -{1382455:S 26 Aug 2026 19:35:36.693 # Internal error in RDB reading offset 14637634, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1312 -{1382455:S 26 Aug 2026 19:35:36.755 # Internal error in RDB reading offset 11199038, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1331 -{1382455:S 26 Aug 2026 19:35:36.832 # Internal error in RDB reading offset 8682129, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1350 -{1382455:S 26 Aug 2026 19:35:36.925 # Internal error in RDB reading offset 14637634, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1369 -{1382455:S 26 Aug 2026 19:35:37.024 # Internal error in RDB reading offset 19388662, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1388 -{1382455:S 26 Aug 2026 19:35:37.077 # Internal error in RDB reading offset 4095899, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1407 -{1382455:S 26 Aug 2026 19:35:37.140 # Internal error in RDB reading offset 15220928, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1426 -{1382455:S 26 Aug 2026 19:35:37.212 # Internal error in RDB reading offset 15220928, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1443 -{1382455:S 26 Aug 2026 19:35:37.269 # Internal error in RDB reading offset 4744409, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1462 -{1382455:S 26 Aug 2026 19:35:37.353 # Internal error in RDB reading offset 5745576, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1481 -{1382455:S 26 Aug 2026 19:35:37.441 # Internal error in RDB reading offset 10123632, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1500 -{1382455:S 26 Aug 2026 19:35:37.492 # Internal error in RDB reading offset 4259241, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1519 -{1382455:S 26 Aug 2026 19:35:37.556 # Internal error in RDB reading offset 13164595, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1538 -{1382455:S 26 Aug 2026 19:35:37.636 # Internal error in RDB reading offset 10954780, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1557 -{1382455:S 26 Aug 2026 19:35:37.701 # Internal error in RDB reading offset 7866735, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1576 -{1382455:S 26 Aug 2026 19:35:37.753 # Internal error in RDB reading offset 5745576, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1595 -{1382455:S 26 Aug 2026 19:35:37.812 # Internal error in RDB reading offset 10954780, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1614 -{1382455:S 26 Aug 2026 19:35:37.893 # Internal error in RDB reading offset 6739525, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1633 -{1382455:S 26 Aug 2026 19:35:37.984 # Internal error in RDB reading offset 7866735, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1652 -{1382455:S 26 Aug 2026 19:35:38.057 # Internal error in RDB reading offset 15220928, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1669 -{1382455:S 26 Aug 2026 19:35:38.117 # Internal error in RDB reading offset 7723453, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1688 -{1382455:S 26 Aug 2026 19:35:38.191 # Internal error in RDB reading offset 14637634, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1707 -{1382455:S 26 Aug 2026 19:35:38.245 # Internal error in RDB reading offset 5745576, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1726 -{1382455:S 26 Aug 2026 19:35:38.312 # Internal error in RDB reading offset 8682129, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1745 -{1382455:S 26 Aug 2026 19:35:38.381 # Internal error in RDB reading offset 10123632, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1764 -{1382455:S 26 Aug 2026 19:35:38.440 # Internal error in RDB reading offset 7866735, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1781 -{1382455:S 26 Aug 2026 19:35:38.497 # Internal error in RDB reading offset 6739525, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1800 -{1382455:S 26 Aug 2026 19:35:38.603 # Internal error in RDB reading offset 19388662, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1819 -{1382455:S 26 Aug 2026 19:35:38.668 # Internal error in RDB reading offset 6739525, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1838 -{1382455:S 26 Aug 2026 19:35:38.767 # Internal error in RDB reading offset 16867830, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1857 -{1382455:S 26 Aug 2026 19:35:38.820 # Internal error in RDB reading offset 6215237, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1876 -{1382455:S 26 Aug 2026 19:35:38.877 # Internal error in RDB reading offset 2721388, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1895 -{1382455:S 26 Aug 2026 19:35:38.948 # Internal error in RDB reading offset 11199038, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1914 -test took 7484 ms -[ok]: diskless loading short read (9944 ms) +filling took 2164 ms (TODO: use pipeline) +{2608672:S 25 Jul 2025 16:04:57.448 # Internal error in RDB reading offset 1957561, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 51 +{2608672:S 25 Jul 2025 16:04:57.532 # Internal error in RDB reading offset 24216982, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 70 +{2608672:S 25 Jul 2025 16:04:57.604 # Internal error in RDB reading offset 9229537, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 89 +{2608672:S 25 Jul 2025 16:04:57.676 # Internal error in RDB reading offset 7126843, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 108 +{2608672:S 25 Jul 2025 16:04:57.778 # Internal error in RDB reading offset 22725990, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 127 +{2608672:S 25 Jul 2025 16:04:57.864 # Internal error in RDB reading offset 17542694, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 146 +{2608672:S 25 Jul 2025 16:04:57.964 # Internal error in RDB reading offset 30379052, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 165 +{2608672:S 25 Jul 2025 16:04:58.052 # Internal error in RDB reading offset 3321409, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 184 +{2608672:S 25 Jul 2025 16:04:58.180 # Internal error in RDB reading offset 24756838, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 203 +{2608672:S 25 Jul 2025 16:04:58.260 # Internal error in RDB reading offset 20668709, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 222 +{2608672:S 25 Jul 2025 16:04:58.363 # Internal error in RDB reading offset 10256586, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 241 +{2608672:S 25 Jul 2025 16:04:58.471 # Internal error in RDB reading offset 29772620, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 260 +{2608672:S 25 Jul 2025 16:04:58.544 # Internal error in RDB reading offset 10548373, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 279 +{2608672:S 25 Jul 2025 16:04:58.632 # Internal error in RDB reading offset 21383395, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 298 +{2608672:S 25 Jul 2025 16:04:58.712 # Internal error in RDB reading offset 10548373, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 317 +{2608672:S 25 Jul 2025 16:04:58.792 # Internal error in RDB reading offset 11798018, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 336 +{2608672:S 25 Jul 2025 16:04:58.841 # Internal error in RDB reading offset 4783390, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 355 +{2608672:S 25 Jul 2025 16:04:58.892 # Internal error in RDB reading offset 6208957, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 374 +{2608672:S 25 Jul 2025 16:04:58.980 # Internal error in RDB reading offset 30379052, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 393 +{2608672:S 25 Jul 2025 16:04:59.068 # Internal error in RDB reading offset 15993309, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 412 +{2608672:S 25 Jul 2025 16:04:59.123 # Internal error in RDB reading offset 10256586, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 431 +{2608672:S 25 Jul 2025 16:04:59.192 # Internal error in RDB reading offset 17542694, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 450 +{2608672:S 25 Jul 2025 16:04:59.252 # Internal error in RDB reading offset 15022573, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 469 +{2608672:S 25 Jul 2025 16:04:59.304 # Internal error in RDB reading offset 10548373, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 488 +{2608672:S 25 Jul 2025 16:04:59.396 # Internal error in RDB reading offset 24756838, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 507 +{2608672:S 25 Jul 2025 16:04:59.449 # Internal error in RDB reading offset 11798018, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 526 +{2608672:S 25 Jul 2025 16:04:59.497 # Internal error in RDB reading offset 6208957, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 545 +{2608672:S 25 Jul 2025 16:04:59.537 # Internal error in RDB reading offset 4352753, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 564 +{2608672:S 25 Jul 2025 16:04:59.607 # Internal error in RDB reading offset 9229537, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 583 +{2608672:S 25 Jul 2025 16:04:59.676 # Internal error in RDB reading offset 18722204, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 602 +{2608672:S 25 Jul 2025 16:04:59.751 # Internal error in RDB reading offset 23315819, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 621 +{2608672:S 25 Jul 2025 16:04:59.812 # Internal error in RDB reading offset 18145575, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 640 +{2608672:S 25 Jul 2025 16:04:59.891 # Internal error in RDB reading offset 27224163, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 659 +{2608672:S 25 Jul 2025 16:04:59.969 # Internal error in RDB reading offset 24216982, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 678 +{2608672:S 25 Jul 2025 16:05:00.005 # Internal error in RDB reading offset 4352753, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 697 +{2608672:S 25 Jul 2025 16:05:00.044 # Internal error in RDB reading offset 2979618, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 716 +{2608672:S 25 Jul 2025 16:05:00.126 # Internal error in RDB reading offset 21383395, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 735 +{2608672:S 25 Jul 2025 16:05:00.213 # Internal error in RDB reading offset 17542694, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 752 +{2608672:S 25 Jul 2025 16:05:00.246 # Internal error in RDB reading offset 964833, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 771 +{2608672:S 25 Jul 2025 16:05:00.325 # Internal error in RDB reading offset 8278023, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 790 +{2608672:S 25 Jul 2025 16:05:00.393 # Internal error in RDB reading offset 2395015, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 809 +{2608672:S 25 Jul 2025 16:05:00.460 # Internal error in RDB reading offset 1957561, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 828 +{2608672:S 25 Jul 2025 16:05:00.564 # Internal error in RDB reading offset 9906710, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 847 +{2608672:S 25 Jul 2025 16:05:00.646 # Internal error in RDB reading offset 4352753, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 866 +{2608672:S 25 Jul 2025 16:05:00.712 # Internal error in RDB reading offset 2979618, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 883 +{2608672:S 25 Jul 2025 16:05:00.780 # Internal error in RDB reading offset 1957561, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 902 +{2608672:S 25 Jul 2025 16:05:00.889 # Internal error in RDB reading offset 11798018, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 919 +{2608672:S 25 Jul 2025 16:05:01.000 # Internal error in RDB reading offset 13409009, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 938 +{2608672:S 25 Jul 2025 16:05:01.083 # Internal error in RDB reading offset 4352753, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 957 +{2608672:S 25 Jul 2025 16:05:01.167 # Internal error in RDB reading offset 4352753, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 976 +{2608672:S 25 Jul 2025 16:05:01.240 # Internal error in RDB reading offset 1957561, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 995 +{2608672:S 25 Jul 2025 16:05:01.346 # Internal error in RDB reading offset 9229537, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1014 +{2608672:S 25 Jul 2025 16:05:01.450 # Internal error in RDB reading offset 9229537, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1033 +{2608672:S 25 Jul 2025 16:05:01.541 # Internal error in RDB reading offset 7347128, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1052 +{2608672:S 25 Jul 2025 16:05:01.636 # Internal error in RDB reading offset 7126843, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1071 +{2608672:S 25 Jul 2025 16:05:01.753 # Internal error in RDB reading offset 11798018, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1090 +{2608672:S 25 Jul 2025 16:05:01.850 # Internal error in RDB reading offset 7126843, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1109 +{2608672:S 25 Jul 2025 16:05:01.964 # Internal error in RDB reading offset 12466318, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1128 +{2608672:S 25 Jul 2025 16:05:02.057 # Internal error in RDB reading offset 7347128, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1147 +{2608672:S 25 Jul 2025 16:05:02.132 # Internal error in RDB reading offset 1957561, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1164 +{2608672:S 25 Jul 2025 16:05:02.220 # Internal error in RDB reading offset 4783390, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1183 +{2608672:S 25 Jul 2025 16:05:02.308 # Internal error in RDB reading offset 4783390, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1202 +{2608672:S 25 Jul 2025 16:05:02.384 # Internal error in RDB reading offset 3321409, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1221 +{2608672:S 25 Jul 2025 16:05:02.502 # Internal error in RDB reading offset 12466318, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1240 +{2608672:S 25 Jul 2025 16:05:02.596 # Internal error in RDB reading offset 6208957, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1259 +{2608672:S 25 Jul 2025 16:05:02.675 # Internal error in RDB reading offset 3321409, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1278 +{2608672:S 25 Jul 2025 16:05:02.792 # Internal error in RDB reading offset 13409009, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1297 +{2608672:S 25 Jul 2025 16:05:02.870 # Internal error in RDB reading offset 2979618, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1316 +{2608672:S 25 Jul 2025 16:05:02.939 # Internal error in RDB reading offset 964833, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1335 +{2608672:S 25 Jul 2025 16:05:03.039 # Internal error in RDB reading offset 8278023, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1354 +{2608672:S 25 Jul 2025 16:05:03.127 # Internal error in RDB reading offset 4783390, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1373 +{2608672:S 25 Jul 2025 16:05:03.221 # Internal error in RDB reading offset 6208957, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1392 +{2608672:S 25 Jul 2025 16:05:03.322 # Internal error in RDB reading offset 10256586, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1411 +{2608672:S 25 Jul 2025 16:05:03.427 # Internal error in RDB reading offset 9229537, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1430 +{2608672:S 25 Jul 2025 16:05:03.496 # Internal error in RDB reading offset 964833, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1449 +{2608672:S 25 Jul 2025 16:05:03.578 # Internal error in RDB reading offset 3892124, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1468 +{2608672:S 25 Jul 2025 16:05:03.652 # Internal error in RDB reading offset 1957561, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1487 +{2608672:S 25 Jul 2025 16:05:03.764 # Internal error in RDB reading offset 12466318, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1506 +{2608672:S 25 Jul 2025 16:05:03.861 # Internal error in RDB reading offset 7126843, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1525 +{2608672:S 25 Jul 2025 16:05:03.968 # Internal error in RDB reading offset 9229537, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1544 +{2608672:S 25 Jul 2025 16:05:04.042 # Internal error in RDB reading offset 964833, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1561 +{2608672:S 25 Jul 2025 16:05:04.145 # Internal error in RDB reading offset 8278023, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1580 +{2608672:S 25 Jul 2025 16:05:04.212 # Internal error in RDB reading offset 338, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1597 +{2608672:S 25 Jul 2025 16:05:04.312 # Internal error in RDB reading offset 7347128, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1616 +{2608672:S 25 Jul 2025 16:05:04.384 # Internal error in RDB reading offset 1433273, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1635 +{2608672:S 25 Jul 2025 16:05:04.464 # Internal error in RDB reading offset 3321409, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1652 +{2608672:S 25 Jul 2025 16:05:04.535 # Internal error in RDB reading offset 964833, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1669 +{2608672:S 25 Jul 2025 16:05:04.641 # Internal error in RDB reading offset 9906710, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1688 +{2608672:S 25 Jul 2025 16:05:04.726 # Internal error in RDB reading offset 2395015, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1707 +{2608672:S 25 Jul 2025 16:05:04.824 # Internal error in RDB reading offset 9229537, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1726 +{2608672:S 25 Jul 2025 16:05:04.907 # Internal error in RDB reading offset 3892124, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1745 +{2608672:S 25 Jul 2025 16:05:05.099 # Internal error in RDB reading offset 4352753, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1764 +{2608672:S 25 Jul 2025 16:05:05.464 # Internal error in RDB reading offset 1957561, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1783 +{2608672:S 25 Jul 2025 16:05:05.592 # Internal error in RDB reading offset 1957561, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1802 +{2608672:S 25 Jul 2025 16:05:05.751 # Internal error in RDB reading offset 338, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1819 +{2608672:S 25 Jul 2025 16:05:06.073 # Internal error in RDB reading offset 964833, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1838 +{2608672:S 25 Jul 2025 16:05:06.260 # Internal error in RDB reading offset 338, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1857 +{2608672:S 25 Jul 2025 16:05:06.524 # Internal error in RDB reading offset 1957561, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1876 +{2608672:S 25 Jul 2025 16:05:06.666 # Internal error in RDB reading offset 964833, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1893 +{2608672:S 25 Jul 2025 16:05:06.904 # Internal error in RDB reading offset 338, function at rdb.c:3714 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1912 +test took 9532 ms +[ok]: diskless loading short read (12241 ms) === (repl external:skip) Starting server 127.0.0.1:22474 ok === () Starting server 127.0.0.1:22476 ok === () Starting server 127.0.0.1:22478 ok -[ok]: diskless no replicas drop during rdb pipe (7447 ms) +[ok]: diskless no replicas drop during rdb pipe (10944 ms) === () Starting server 127.0.0.1:22480 ok === () Starting server 127.0.0.1:22482 ok -[ok]: diskless slow replicas drop during rdb pipe (3945 ms) +[ok]: diskless slow replicas drop during rdb pipe (3071 ms) === () Starting server 127.0.0.1:22484 ok === () Starting server 127.0.0.1:22486 ok -[ok]: diskless fast replicas drop during rdb pipe (6033 ms) +[ok]: diskless fast replicas drop during rdb pipe (8127 ms) === () Starting server 127.0.0.1:22488 ok === () Starting server 127.0.0.1:22490 ok -[ok]: diskless all replicas drop during rdb pipe (1927 ms) +[ok]: diskless all replicas drop during rdb pipe (1254 ms) === () Starting server 127.0.0.1:22492 ok === () Starting server 127.0.0.1:22494 ok -[ok]: diskless timeout replicas drop during rdb pipe (6591 ms) +[ok]: diskless timeout replicas drop during rdb pipe (6165 ms) === (repl) Starting server 127.0.0.1:22496 ok === () Starting server 127.0.0.1:22498 ok -[ok]: diskless replication child being killed is collected (1780 ms) +[ok]: diskless replication child being killed is collected (1700 ms) === (repl) Starting server 127.0.0.1:22500 ok === () Starting server 127.0.0.1:22502 ok -[ok]: replication child dies when parent is killed - diskless: yes (3012 ms) +[ok]: replication child dies when parent is killed - diskless: yes (1700 ms) === (repl) Starting server 127.0.0.1:22504 ok === () Starting server 127.0.0.1:22506 ok -[ok]: replication child dies when parent is killed - diskless: no (2829 ms) +[ok]: replication child dies when parent is killed - diskless: no (1679 ms) === (repl) Starting server 127.0.0.1:22508 ok === () Starting server 127.0.0.1:22510 ok -[ok]: diskless replication read pipe cleanup (971 ms) +[ok]: diskless replication read pipe cleanup (947 ms) === (repl) Starting server 127.0.0.1:22512 ok === () Starting server 127.0.0.1:22514 ok === () Starting server 127.0.0.1:22516 ok -[ok]: replicaof right after disconnection (2324 ms) +[ok]: replicaof right after disconnection (2185 ms) === (repl) Starting server 127.0.0.1:22518 ok === () Starting server 127.0.0.1:22520 ok === () Starting server 127.0.0.1:22522 ok -[ok]: Kill rdb child process if its dumping RDB is not useful (1444 ms) +[ok]: Kill rdb child process if its dumping RDB is not useful (1142 ms) === (repl external:skip) Starting server 127.0.0.1:22524 ok === () Starting server 127.0.0.1:22526 ok === () Starting server 127.0.0.1:22528 ok === () Starting server 127.0.0.1:22530 ok -[ok]: Don't disconnect with replicas before loading transferred RDB when full sync (2 ms) -[ok]: Discard cache master before loading transferred RDB when full sync (110 ms) +[ok]: Don't disconnect with replicas before loading transferred RDB when full sync (4 ms) +[ok]: Discard cache master before loading transferred RDB when full sync (115 ms) === (repl) Starting server 127.0.0.1:22532 ok === () Starting server 127.0.0.1:22534 ok -[ok]: replica can handle EINTR if use diskless load (898 ms) +[ok]: replica can handle EINTR if use diskless load (700 ms) === (repl external:skip) Starting server 127.0.0.1:22536 ok SYNC _addReplyToBufferOrList: REDIS0012ú redis-ver8.0.2ú -redis-bitsÀ@úctimeÂôèjúused-memÂÈR úrepl-stream-dbÀúrepl-id(b97d80e103f3a4561730fe7b8250788694fbab38ú repl-offsetÀúaof-baseÀÿ¤#\³¡H -[ok]: replica do not write the reply to the replication link - SYNC (_addReplyToBufferOrList) (68 ms) +redis-bitsÀ@úctimeÂ}æ‚húused-memÂÈR úrepl-stream-dbÀúrepl-id(6771a7b03693a8e91bb5a045f909ae9b7cd2e3f3ú repl-offsetÀúaof-baseÀÿ_÷†‚±m÷V +[ok]: replica do not write the reply to the replication link - SYNC (_addReplyToBufferOrList) (54 ms) SYNC addReplyDeferredLen: I/O error reading reply -Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - SYNC (addReplyDeferredLen) (120 ms) +Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - SYNC (addReplyDeferredLen) (133 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) (99 ms) +Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - PSYNC (_addReplyToBufferOrList) (96 ms) PSYNC addReplyDeferredLen: I/O error reading reply -Waiting for background save to finish... -Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - PSYNC (addReplyDeferredLen) (127 ms) -[ok]: PSYNC with wrong offset should throw error (5 ms) +Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - PSYNC (addReplyDeferredLen) (92 ms) +[ok]: PSYNC with wrong offset should throw error (2 ms) === (repl external:skip) Starting server 127.0.0.1:22538 ok === () Starting server 127.0.0.1:22540 ok -[ok]: Test replication with lazy expire (132 ms) +[ok]: Test replication with lazy expire (117 ms) === () Starting server 127.0.0.1:22542 ok === () Starting server 127.0.0.1:22544 ok -[ok]: Replica should reply LOADING while flushing a large db (disklessload: disabled) (2826 ms) +[ok]: Replica should reply LOADING while flushing a large db (disklessload: disabled) (2788 ms) === () Starting server 127.0.0.1:22546 ok === () Starting server 127.0.0.1:22548 ok -[ok]: Replica should reply LOADING while flushing a large db (disklessload: on-empty-db) (2935 ms) +[ok]: Replica should reply LOADING while flushing a large db (disklessload: on-empty-db) (2674 ms) === (repl external:skip) Starting server 127.0.0.1:22550 ok === () Starting server 127.0.0.1:22552 ok -[ok]: Allow appendonly config change while loading rdb on slave (2093 ms) +[ok]: Allow appendonly config change while loading rdb on slave (2306 ms) === (repl external:skip) Starting server 127.0.0.1:22554 ok === () Starting server 127.0.0.1:22556 ok [ok]: Replica flushes db lazily when replica-lazy-flush enabled (115 ms) === (repl external:skip) Starting server 127.0.0.1:22558 ok === () Starting server 127.0.0.1:22560 ok -[ok]: Test replication with functions when repl-diskless-load is set to on-empty-db (111 ms) -[95/96 done]: integration/replication (165 seconds) +[ok]: Test replication with functions when repl-diskless-load is set to on-empty-db (112 ms) +[95/96 done]: integration/replication (169 seconds) Testing integration/shutdown === () Starting server 127.0.0.1:22562 ok === () Starting server 127.0.0.1:22564 ok -[ok]: Shutting down master waits for replica to catch up (sigterm) (2176 ms) +[ok]: Shutting down master waits for replica to catch up (sigterm) (2354 ms) === () Starting server 127.0.0.1:22566 ok === () Starting server 127.0.0.1:22568 ok -[ok]: Shutting down master waits for replica to catch up (shutdown) (2188 ms) +[ok]: Shutting down master waits for replica to catch up (shutdown) (2191 ms) === () Starting server 127.0.0.1:22570 ok === () Starting server 127.0.0.1:22572 ok -[ok]: Shutting down master waits for replica timeout (2309 ms) +[ok]: Shutting down master waits for replica timeout (2185 ms) === () Starting server 127.0.0.1:22574 ok === () Starting server 127.0.0.1:22576 ok -[ok]: Shutting down master waits for replica then fails (1427 ms) +[ok]: Shutting down master waits for replica then fails (1443 ms) === () Starting server 127.0.0.1:22578 ok === () Starting server 127.0.0.1:22580 ok -[ok]: Shutting down master waits for replica then aborted (789 ms) +[ok]: Shutting down master waits for replica then aborted (758 ms) [96/96 done]: integration/shutdown (9 seconds) The End Execution time of different units: 1 seconds - unit/acl-v2 - 3 seconds - unit/acl - 21 seconds - unit/aofrw - 4 seconds - unit/auth - 2 seconds - unit/bitfield - 3 seconds - unit/bitops - 6 seconds - unit/client-eviction - 30 seconds - unit/dump - 16 seconds - unit/expire - 4 seconds - unit/functions - 25 seconds - unit/geo - 73 seconds - unit/hyperloglog - 0 seconds - unit/info-command - 46 seconds - unit/info-keysizes - 3 seconds - unit/info + 6 seconds - unit/acl + 35 seconds - unit/aofrw + 6 seconds - unit/auth + 3 seconds - unit/bitfield + 6 seconds - unit/bitops + 10 seconds - unit/client-eviction + 34 seconds - unit/dump + 20 seconds - unit/expire + 6 seconds - unit/functions + 43 seconds - unit/geo + 90 seconds - unit/hyperloglog + 1 seconds - unit/info-command + 61 seconds - unit/info-keysizes + 4 seconds - unit/info 10 seconds - unit/introspection-2 - 13 seconds - unit/introspection + 22 seconds - unit/introspection 2 seconds - unit/keyspace - 6 seconds - unit/latency-monitor - 9 seconds - unit/lazyfree + 10 seconds - unit/latency-monitor + 16 seconds - unit/lazyfree 2 seconds - unit/limits - 55 seconds - unit/maxmemory - 5 seconds - unit/memefficiency - 5 seconds - unit/multi - 2 seconds - unit/networking + 76 seconds - unit/maxmemory + 7 seconds - unit/memefficiency + 6 seconds - unit/multi + 3 seconds - unit/networking 14 seconds - unit/obuf-limits 0 seconds - unit/oom-score-adj - 15 seconds - unit/other + 17 seconds - unit/other 2 seconds - unit/pause 0 seconds - unit/printver - 5 seconds - unit/protocol - 1 seconds - unit/pubsub + 4 seconds - unit/protocol + 2 seconds - unit/pubsub 2 seconds - unit/pubsubshard - 6 seconds - unit/querybuf - 0 seconds - unit/quit + 7 seconds - unit/querybuf + 1 seconds - unit/quit 1 seconds - unit/replybufsize - 25 seconds - unit/scan - 33 seconds - unit/scripting - 1 seconds - unit/shutdown + 35 seconds - unit/scan + 66 seconds - unit/scripting + 2 seconds - unit/shutdown 2 seconds - unit/slowlog - 12 seconds - unit/sort - 0 seconds - unit/tls + 23 seconds - unit/sort + 2 seconds - unit/tls 3 seconds - unit/tracking - 2 seconds - unit/violations - 35 seconds - unit/wait - 12 seconds - unit/type/hash-field-expire - 5 seconds - unit/type/hash + 4 seconds - unit/violations + 40 seconds - unit/wait + 20 seconds - unit/type/hash-field-expire + 13 seconds - unit/type/hash 1 seconds - unit/type/incr - 15 seconds - unit/type/list-2 - 46 seconds - unit/type/list-3 - 18 seconds - unit/type/list - 21 seconds - unit/type/set - 6 seconds - unit/type/stream-cgroups - 15 seconds - unit/type/stream - 10 seconds - unit/type/string - 32 seconds - unit/type/zset - 3 seconds - unit/cluster/announced-endpoints + 42 seconds - unit/type/list-2 + 89 seconds - unit/type/list-3 + 24 seconds - unit/type/list + 52 seconds - unit/type/set + 8 seconds - unit/type/stream-cgroups + 29 seconds - unit/type/stream + 11 seconds - unit/type/string + 50 seconds - unit/type/zset + 4 seconds - unit/cluster/announced-endpoints 0 seconds - unit/cluster/cli - 12 seconds - unit/cluster/cluster-response-tls - 15 seconds - unit/cluster/failure-marking - 5 seconds - unit/cluster/hostnames - 6 seconds - unit/cluster/human-announced-nodename - 9 seconds - unit/cluster/internal-secret + 19 seconds - unit/cluster/cluster-response-tls + 13 seconds - unit/cluster/failure-marking + 10 seconds - unit/cluster/hostnames + 8 seconds - unit/cluster/human-announced-nodename + 37 seconds - unit/cluster/internal-secret 16 seconds - unit/cluster/links - 3 seconds - unit/cluster/misc - 3 seconds - unit/cluster/multi-slot-operations + 5 seconds - unit/cluster/misc + 4 seconds - unit/cluster/multi-slot-operations 2 seconds - unit/cluster/scripting 4 seconds - unit/cluster/sharded-pubsub - 3 seconds - unit/cluster/slot-ownership - 13 seconds - integration/aof-multi-part - 1 seconds - integration/aof-race - 18 seconds - integration/aof + 4 seconds - unit/cluster/slot-ownership + 26 seconds - integration/aof-multi-part + 2 seconds - integration/aof-race + 69 seconds - integration/aof 27 seconds - integration/block-repl - 0 seconds - integration/convert-ziplist-hash-on-load - 1 seconds - integration/convert-ziplist-zset-on-load + 1 seconds - integration/convert-ziplist-hash-on-load + 0 seconds - integration/convert-ziplist-zset-on-load 1 seconds - integration/convert-zipmap-hash-on-load 20 seconds - integration/corrupt-dump-fuzzer - 25 seconds - integration/corrupt-dump + 38 seconds - integration/corrupt-dump 4 seconds - integration/dismiss-mem - 5 seconds - integration/failover - 3 seconds - integration/logging - 8 seconds - integration/psync2-master-restart - 20 seconds - integration/psync2-pingoff + 6 seconds - integration/failover + 5 seconds - integration/logging + 11 seconds - integration/psync2-master-restart + 21 seconds - integration/psync2-pingoff 23 seconds - integration/psync2-reg - 44 seconds - integration/psync2 - 16 seconds - integration/rdb + 43 seconds - integration/psync2 + 15 seconds - integration/rdb 5 seconds - integration/redis-benchmark - 13 seconds - integration/redis-cli - 14 seconds - integration/replication-2 - 12 seconds - integration/replication-3 + 15 seconds - integration/redis-cli + 11 seconds - integration/replication-2 + 13 seconds - integration/replication-3 22 seconds - integration/replication-4 - 32 seconds - integration/replication-buffer - 252 seconds - integration/replication-psync - 113 seconds - integration/replication-rdbchannel - 165 seconds - integration/replication + 30 seconds - integration/replication-buffer + 242 seconds - integration/replication-psync + 95 seconds - integration/replication-rdbchannel + 169 seconds - integration/replication 9 seconds - integration/shutdown \o/ All tests passed without errors! @@ -6324,463 +6451,465 @@ Starting redis #18 at port 30036 Starting redis #19 at port 30038 Testing unit: 00-base.tcl -19:36:43> (init) Restart killed instances: OK -19:36:43> Cluster nodes are reachable: OK -19:36:43> Cluster nodes hard reset: OK -19:36:44> Cluster Join and auto-discovery test: OK -19:36:47> Before slots allocation, all nodes report cluster failure: OK -19:36:47> Different nodes have different IDs: OK -19:36:47> It is possible to perform slot allocation: OK -19:36:47> After the join, every node gets a different config epoch: OK -19:36:47> Nodes should report cluster_state is ok now: OK -19:36:51> Sanity for CLUSTER COUNTKEYSINSLOT: OK -19:36:51> It is possible to write and read from the cluster: OK -19:36:51> CLUSTER RESET SOFT test: OK -19:36:51> Coverage: CLUSTER HELP: OK -19:36:51> Coverage: ASKING: OK -19:36:51> CLUSTER SLAVES and CLUSTER REPLICAS with zero replicas: OK +16:06:12> (init) Restart killed instances: OK +16:06:12> Cluster nodes are reachable: OK +16:06:12> Cluster nodes hard reset: OK +16:06:12> Cluster Join and auto-discovery test: OK +16:06:15> Before slots allocation, all nodes report cluster failure: OK +16:06:15> Different nodes have different IDs: OK +16:06:15> It is possible to perform slot allocation: OK +16:06:15> After the join, every node gets a different config epoch: OK +16:06:15> Nodes should report cluster_state is ok now: OK +16:06:18> Sanity for CLUSTER COUNTKEYSINSLOT: OK +16:06:18> It is possible to write and read from the cluster: OK +16:06:18> CLUSTER RESET SOFT test: OK +16:06:18> Coverage: CLUSTER HELP: OK +16:06:19> Coverage: ASKING: OK +16:06:19> CLUSTER SLAVES and CLUSTER REPLICAS with zero replicas: OK Testing unit: 01-faildet.tcl -19:36:51> (init) Restart killed instances: OK -19:36:51> Cluster nodes are reachable: OK -19:36:51> Cluster nodes hard reset: OK -19:36:52> Cluster Join and auto-discovery test: OK -19:36:54> Before slots allocation, all nodes report cluster failure: OK -19:36:54> Create a 5 nodes cluster: OK -19:36:58> Cluster should start ok: OK -19:36:58> Killing two slave nodes: OK -19:36:58> Cluster should be still up: OK -19:36:58> Killing one master node: OK -19:36:58> Cluster should be down now: OK -19:37:03> Restarting master node: OK -19:37:03> Cluster should be up again: OK +16:06:19> (init) Restart killed instances: OK +16:06:19> Cluster nodes are reachable: OK +16:06:19> Cluster nodes hard reset: OK +16:06:19> Cluster Join and auto-discovery test: OK +16:06:21> Before slots allocation, all nodes report cluster failure: OK +16:06:21> Create a 5 nodes cluster: OK +16:06:25> Cluster should start ok: OK +16:06:25> Killing two slave nodes: OK +16:06:25> Cluster should be still up: OK +16:06:25> Killing one master node: OK +16:06:26> Cluster should be down now: OK +16:06:30> Restarting master node: OK +16:06:30> Cluster should be up again: OK Testing unit: 02-failover.tcl -19:37:09> (init) Restart killed instances: redis/5 redis/6 OK -19:37:10> Cluster nodes are reachable: OK -19:37:10> Cluster nodes hard reset: OK -19:37:11> Cluster Join and auto-discovery test: OK -19:37:13> Before slots allocation, all nodes report cluster failure: OK -19:37:13> Create a 5 nodes cluster: OK -19:37:18> Cluster is up: OK -19:37:18> Cluster is writable: OK -19:37:18> Instance #5 is a slave: OK -19:37:18> Instance #5 synced with the master: OK -19:37:18> Killing one master node: OK -19:37:19> Wait for failover: OK -19:37:23> Cluster should eventually be up again: OK -19:37:23> Cluster is writable: OK -19:37:23> Instance #5 is now a master: OK -19:37:23> Restarting the previously killed master node: OK -19:37:23> Instance #0 gets converted into a slave: OK +16:06:36> (init) Restart killed instances: redis/5 redis/6 OK +16:06:37> Cluster nodes are reachable: OK +16:06:37> Cluster nodes hard reset: OK +16:06:38> Cluster Join and auto-discovery test: OK +16:06:40> Before slots allocation, all nodes report cluster failure: OK +16:06:40> Create a 5 nodes cluster: OK +16:06:44> Cluster is up: OK +16:06:44> Cluster is writable: OK +16:06:44> Instance #5 is a slave: OK +16:06:44> Instance #5 synced with the master: OK +16:06:44> Killing one master node: OK +16:06:45> Wait for failover: OK +16:06:50> Cluster should eventually be up again: OK +16:06:50> Cluster is writable: OK +16:06:50> Instance #5 is now a master: OK +16:06:50> Restarting the previously killed master node: OK +16:06:50> Instance #0 gets converted into a slave: OK Testing unit: 03-failover-loop.tcl -19:37:23> (init) Restart killed instances: OK -19:37:23> Cluster nodes are reachable: OK -19:37:23> Cluster nodes hard reset: OK -19:37:24> Cluster Join and auto-discovery test: OK -19:37:26> Before slots allocation, all nodes report cluster failure: OK -19:37:26> Create a 5 nodes cluster: OK -19:37:30> Cluster is up: OK +16:06:50> (init) Restart killed instances: OK +16:06:50> Cluster nodes are reachable: OK +16:06:50> Cluster nodes hard reset: OK +16:06:52> Cluster Join and auto-discovery test: OK +16:06:55> Before slots allocation, all nodes report cluster failure: OK +16:06:55> Create a 5 nodes cluster: OK +16:07:00> Cluster is up: OK --- Iteration 19 --- -19:37:30> Wait for slave of #2 to sync: OK -19:37:30> Cluster is writable before failover: OK -19:37:30> Terminating node #2: OK -19:37:31> Wait failover by #7 with old epoch 3: OK -19:37:35> Cluster should eventually be up again: OK -19:37:35> Cluster is writable again: OK -19:37:36> Restarting node #2: OK -19:37:36> Instance #2 is now a slave: OK -19:37:36> We can read back the value we set before: OK +16:07:00> Wait for slave of #3 to sync: OK +16:07:00> Cluster is writable before failover: OK +16:07:00> Terminating node #3: OK +16:07:02> Wait failover by #8 with old epoch 4: OK +16:07:06> Cluster should eventually be up again: OK +16:07:06> Cluster is writable again: OK +16:07:06> Restarting node #3: OK +16:07:07> Instance #3 is now a slave: OK +16:07:07> We can read back the value we set before: OK --- Iteration 18 --- -19:37:36> Wait for slave of #4 to sync: OK -19:37:36> Cluster is writable before failover: OK -19:37:36> Terminating node #4: OK -19:37:37> Wait failover by #9 with old epoch 5: OK -19:37:42> Cluster should eventually be up again: OK -19:37:42> Cluster is writable again: OK -19:37:43> Restarting node #4: OK -19:37:43> Instance #4 is now a slave: OK -19:37:43> We can read back the value we set before: OK +16:07:07> Cluster is writable before failover: OK +16:07:07> Terminating node #6: OK +16:07:07> Cluster should eventually be up again: OK +16:07:07> Cluster is writable again: OK +16:07:07> Restarting node #6: OK +16:07:07> Instance #6 is now a slave: OK +16:07:07> We can read back the value we set before: OK --- Iteration 17 --- -19:37:43> Wait for slave of #1 to sync: OK -19:37:43> Cluster is writable before failover: OK -19:37:43> Terminating node #1: OK -19:37:43> Wait failover by #6 with old epoch 2: OK -19:37:48> Cluster should eventually be up again: OK -19:37:48> Cluster is writable again: OK -19:37:48> Restarting node #1: OK -19:37:48> Instance #1 is now a slave: OK -19:37:48> We can read back the value we set before: OK +16:07:08> Wait for slave of #4 to sync: OK +16:07:08> Cluster is writable before failover: OK +16:07:08> Terminating node #4: OK +16:07:08> Wait failover by #9 with old epoch 5: OK +16:07:14> Cluster should eventually be up again: OK +16:07:15> Cluster is writable again: OK +16:07:17> Restarting node #4: OK +16:07:18> Instance #4 is now a slave: OK +16:07:18> We can read back the value we set before: OK --- Iteration 16 --- -19:37:48> Cluster is writable before failover: OK -19:37:48> Terminating node #8: OK -19:37:49> Cluster should eventually be up again: OK -19:37:49> Cluster is writable again: OK -19:37:49> Restarting node #8: OK -19:37:49> Instance #8 is now a slave: OK -19:37:49> We can read back the value we set before: OK +16:07:19> Wait for slave of #0 to sync: OK +16:07:19> Cluster is writable before failover: OK +16:07:20> Terminating node #0: OK +16:07:23> Wait failover by #5 with old epoch 1: OK +16:07:43> Cluster should eventually be up again: OK +16:07:43> Cluster is writable again: OK +16:07:44> Restarting node #0: OK +16:07:44> Instance #0 is now a slave: OK +16:07:44> We can read back the value we set before: OK --- Iteration 15 --- -19:37:49> Cluster is writable before failover: OK -19:37:49> Terminating node #4: OK -19:37:49> Cluster should eventually be up again: OK -19:37:49> Cluster is writable again: OK -19:37:49> Restarting node #4: OK -19:37:49> Instance #4 is now a slave: OK -19:37:49> We can read back the value we set before: OK +16:07:44> Cluster is writable before failover: OK +16:07:44> Terminating node #0: OK +16:07:44> Cluster should eventually be up again: OK +16:07:44> Cluster is writable again: OK +16:07:44> Restarting node #0: OK +16:07:45> Instance #0 is now a slave: OK +16:07:45> We can read back the value we set before: OK --- Iteration 14 --- -19:37:50> Cluster is writable before failover: OK -19:37:50> Terminating node #5: OK -19:37:50> Cluster should eventually be up again: OK -19:37:50> Cluster is writable again: OK -19:37:50> Restarting node #5: OK -19:37:50> Instance #5 is now a slave: OK -19:37:50> We can read back the value we set before: OK +16:07:45> Cluster is writable before failover: OK +16:07:45> Terminating node #4: OK +16:07:45> Cluster should eventually be up again: OK +16:07:45> Cluster is writable again: OK +16:07:45> Restarting node #4: OK +16:07:45> Instance #4 is now a slave: OK +16:07:45> We can read back the value we set before: OK --- Iteration 13 --- -19:37:50> Cluster is writable before failover: OK -19:37:50> Terminating node #2: OK -19:37:50> Cluster should eventually be up again: OK -19:37:50> Cluster is writable again: OK -19:37:50> Restarting node #2: OK -19:37:51> Instance #2 is now a slave: OK -19:37:51> We can read back the value we set before: OK +16:07:45> Cluster is writable before failover: OK +16:07:45> Terminating node #3: OK +16:07:46> Cluster should eventually be up again: OK +16:07:46> Cluster is writable again: OK +16:07:46> Restarting node #3: OK +16:07:46> Instance #3 is now a slave: OK +16:07:46> We can read back the value we set before: OK --- Iteration 12 --- -19:37:51> Cluster is writable before failover: OK -19:37:51> Terminating node #5: OK -19:37:51> Cluster should eventually be up again: OK -19:37:51> Cluster is writable again: OK -19:37:51> Restarting node #5: OK -19:37:51> Instance #5 is now a slave: OK -19:37:51> We can read back the value we set before: OK +16:07:46> Wait for slave of #9 to sync: OK +16:07:46> Cluster is writable before failover: OK +16:07:46> Terminating node #9: OK +16:07:47> Wait failover by #4 with old epoch 22: OK +16:07:52> Cluster should eventually be up again: OK +16:07:52> Cluster is writable again: OK +16:07:53> Restarting node #9: OK +16:07:53> Instance #9 is now a slave: OK +16:07:53> We can read back the value we set before: OK --- Iteration 11 --- -19:37:51> Wait for slave of #7 to sync: OK -19:37:51> Cluster is writable before failover: OK -19:37:51> Terminating node #7: OK -19:37:52> Wait failover by #2 with old epoch 21: OK -19:37:57> Cluster should eventually be up again: OK -19:37:57> Cluster is writable again: OK -19:37:57> Restarting node #7: OK -19:37:58> Instance #7 is now a slave: OK -19:37:58> We can read back the value we set before: OK +16:07:53> Wait for slave of #4 to sync: OK +16:07:53> Cluster is writable before failover: OK +16:07:53> Terminating node #4: OK +16:07:54> Wait failover by #9 with old epoch 24: OK +16:07:58> Cluster should eventually be up again: OK +16:07:58> Cluster is writable again: OK +16:07:59> Restarting node #4: OK +16:07:59> Instance #4 is now a slave: OK +16:07:59> We can read back the value we set before: OK --- Iteration 10 --- -19:37:58> Wait for slave of #9 to sync: OK -19:37:58> Cluster is writable before failover: OK -19:37:58> Terminating node #9: OK -19:37:59> Wait failover by #4 with old epoch 22: OK -19:38:03> Cluster should eventually be up again: OK -19:38:03> Cluster is writable again: OK -19:38:03> Restarting node #9: OK -19:38:04> Instance #9 is now a slave: OK -19:38:04> We can read back the value we set before: OK +16:07:59> Wait for slave of #9 to sync: OK +16:07:59> Cluster is writable before failover: OK +16:07:59> Terminating node #9: OK +16:08:00> Wait failover by #4 with old epoch 25: OK +16:08:04> Cluster should eventually be up again: OK +16:08:04> Cluster is writable again: OK +16:08:05> Restarting node #9: OK +16:08:05> Instance #9 is now a slave: OK +16:08:05> We can read back the value we set before: OK --- Iteration 9 --- -19:38:04> Cluster is writable before failover: OK -19:38:04> Terminating node #8: OK -19:38:04> Cluster should eventually be up again: OK -19:38:04> Cluster is writable again: OK -19:38:04> Restarting node #8: OK -19:38:04> Instance #8 is now a slave: OK -19:38:04> We can read back the value we set before: OK +16:08:05> Wait for slave of #4 to sync: OK +16:08:05> Cluster is writable before failover: OK +16:08:05> Terminating node #4: OK +16:08:06> Wait failover by #9 with old epoch 26: OK +16:08:10> Cluster should eventually be up again: OK +16:08:10> Cluster is writable again: OK +16:08:11> Restarting node #4: OK +16:08:11> Instance #4 is now a slave: OK +16:08:11> We can read back the value we set before: OK --- Iteration 8 --- -19:38:04> Cluster is writable before failover: OK -19:38:04> Terminating node #5: OK -19:38:05> Cluster should eventually be up again: OK -19:38:05> Cluster is writable again: OK -19:38:05> Restarting node #5: OK -19:38:05> Instance #5 is now a slave: OK -19:38:05> We can read back the value we set before: OK +16:08:11> Wait for slave of #9 to sync: OK +16:08:11> Cluster is writable before failover: OK +16:08:11> Terminating node #9: OK +16:08:12> Wait failover by #4 with old epoch 27: OK +16:08:16> Cluster should eventually be up again: OK +16:08:16> Cluster is writable again: OK +16:08:17> Restarting node #9: OK +16:08:17> Instance #9 is now a slave: OK +16:08:17> We can read back the value we set before: OK --- Iteration 7 --- -19:38:05> Wait for slave of #0 to sync: OK -19:38:05> Cluster is writable before failover: OK -19:38:05> Terminating node #0: OK -19:38:06> Wait failover by #5 with old epoch 1: OK -19:38:10> Cluster should eventually be up again: OK -19:38:10> Cluster is writable again: OK -19:38:10> Restarting node #0: OK -19:38:11> Instance #0 is now a slave: OK -19:38:11> We can read back the value we set before: OK +16:08:17> Cluster is writable before failover: OK +16:08:17> Terminating node #7: OK +16:08:17> Cluster should eventually be up again: OK +16:08:17> Cluster is writable again: OK +16:08:17> Restarting node #7: OK +16:08:18> Instance #7 is now a slave: OK +16:08:18> We can read back the value we set before: OK --- Iteration 6 --- -19:38:11> Cluster is writable before failover: OK -19:38:11> Terminating node #0: OK -19:38:11> Cluster should eventually be up again: OK -19:38:11> Cluster is writable again: OK -19:38:11> Restarting node #0: OK -19:38:11> Instance #0 is now a slave: OK -19:38:11> We can read back the value we set before: OK +16:08:18> Cluster is writable before failover: OK +16:08:18> Terminating node #9: OK +16:08:18> Cluster should eventually be up again: OK +16:08:18> Cluster is writable again: OK +16:08:18> Restarting node #9: OK +16:08:18> Instance #9 is now a slave: OK +16:08:18> We can read back the value we set before: OK --- Iteration 5 --- -19:38:11> Cluster is writable before failover: OK -19:38:11> Terminating node #8: OK -19:38:11> Cluster should eventually be up again: OK -19:38:12> Cluster is writable again: OK -19:38:12> Restarting node #8: OK -19:38:12> Instance #8 is now a slave: OK -19:38:12> We can read back the value we set before: OK +16:08:18> Cluster is writable before failover: OK +16:08:18> Terminating node #6: OK +16:08:18> Cluster should eventually be up again: OK +16:08:18> Cluster is writable again: OK +16:08:18> Restarting node #6: OK +16:08:19> Instance #6 is now a slave: OK +16:08:19> We can read back the value we set before: OK --- Iteration 4 --- -19:38:12> Wait for slave of #2 to sync: OK -19:38:12> Cluster is writable before failover: OK -19:38:12> Terminating node #2: OK -19:38:13> Wait failover by #7 with old epoch 24: OK -19:38:18> Cluster should eventually be up again: OK -19:38:18> Cluster is writable again: OK -19:38:18> Restarting node #2: OK -19:38:18> Instance #2 is now a slave: OK -19:38:18> We can read back the value we set before: OK +16:08:19> Cluster is writable before failover: OK +16:08:19> Terminating node #3: OK +16:08:19> Cluster should eventually be up again: OK +16:08:19> Cluster is writable again: OK +16:08:19> Restarting node #3: OK +16:08:19> Instance #3 is now a slave: OK +16:08:19> We can read back the value we set before: OK --- Iteration 3 --- -19:38:18> Wait for slave of #6 to sync: OK -19:38:18> Cluster is writable before failover: OK -19:38:18> Terminating node #6: OK -19:38:19> Wait failover by #1 with old epoch 23: OK -19:38:24> Cluster should eventually be up again: OK -19:38:24> Cluster is writable again: OK -19:38:24> Restarting node #6: OK -19:38:24> Instance #6 is now a slave: OK -19:38:24> We can read back the value we set before: OK +16:08:19> Cluster is writable before failover: OK +16:08:20> Terminating node #0: OK +16:08:20> Cluster should eventually be up again: OK +16:08:20> Cluster is writable again: OK +16:08:20> Restarting node #0: OK +16:08:20> Instance #0 is now a slave: OK +16:08:20> We can read back the value we set before: OK --- Iteration 2 --- -19:38:24> Cluster is writable before failover: OK -19:38:24> Terminating node #8: OK -19:38:24> Cluster should eventually be up again: OK -19:38:24> Cluster is writable again: OK -19:38:24> Restarting node #8: OK -19:38:25> Instance #8 is now a slave: OK -19:38:25> We can read back the value we set before: OK +16:08:20> Wait for slave of #8 to sync: OK +16:08:20> Cluster is writable before failover: OK +16:08:20> Terminating node #8: OK +16:08:21> Wait failover by #3 with old epoch 21: OK +16:08:26> Cluster should eventually be up again: OK +16:08:26> Cluster is writable again: OK +16:08:27> Restarting node #8: OK +16:08:27> Instance #8 is now a slave: OK +16:08:27> We can read back the value we set before: OK --- Iteration 1 --- -19:38:25> Wait for slave of #7 to sync: OK -19:38:25> Cluster is writable before failover: OK -19:38:25> Terminating node #7: OK -19:38:25> Wait failover by #2 with old epoch 27: OK -19:38:30> Cluster should eventually be up again: OK -19:38:30> Cluster is writable again: OK -19:38:30> Restarting node #7: OK -19:38:31> Instance #7 is now a slave: OK -19:38:31> We can read back the value we set before: OK -19:38:31> Post condition: current_epoch >= my_epoch everywhere: OK +16:08:28> Wait for slave of #4 to sync: OK +16:08:28> Cluster is writable before failover: OK +16:08:28> Terminating node #4: OK +16:08:28> Wait failover by #9 with old epoch 28: OK +16:08:33> Cluster should eventually be up again: OK +16:08:33> Cluster is writable again: OK +16:08:34> Restarting node #4: OK +16:08:34> Instance #4 is now a slave: OK +16:08:34> We can read back the value we set before: OK +16:08:34> Post condition: current_epoch >= my_epoch everywhere: OK Testing unit: 04-resharding.tcl -19:38:31> (init) Restart killed instances: OK -19:38:31> Cluster nodes are reachable: OK -19:38:31> Cluster nodes hard reset: OK -19:38:32> Cluster Join and auto-discovery test: OK -19:38:34> Before slots allocation, all nodes report cluster failure: OK -19:38:34> Create a 5 nodes cluster: OK -19:38:38> Cluster is up: OK -19:38:38> Enable AOF in all the instances: OK +16:08:34> (init) Restart killed instances: OK +16:08:34> Cluster nodes are reachable: OK +16:08:34> Cluster nodes hard reset: OK +16:08:35> Cluster Join and auto-discovery test: OK +16:08:38> Before slots allocation, all nodes report cluster failure: OK +16:08:38> Create a 5 nodes cluster: OK +16:08:42> Cluster is up: OK +16:08:42> Enable AOF in all the instances: OK Testing TLS cluster on start node 127.0.0.1:30000, plaintext port 30001 -19:38:38> Cluster consistency during live resharding: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...Starting resharding...WW...........................................................................W...........................................................................................W..........................................................................................................W.......................................................................W.....................................................................W......................................................................................W..............................................W...............................................................................................W..........................................................W........................................................................................W.......................................................................W.....................................................................................W........................WWWWWW...Starting resharding...WW......................................................W.............................................................................................................................................W.....................................................................................................W...................................................................................................................................................................................................................................W............................................................................................................................W.................................................................................................................W..........................................................................................................................................................................W..........................................................................W...Starting resharding...WW...........................................................................W................................................................................................................................W...........................................................................................................................................................................W...................................................................................................................................................................................W...........................................................................................................W..........................................................................................................W..............................................................................................................................................................W........................................................W...Starting resharding...WW.............................................................................................................................................W..................................................................................................................W...................................................................................................................................................W....................................................................................................................................................................................W.................................................................................................................................................................W................................................................................................................................W........................................................................................................................WW...Starting resharding...WW...........................................................................W...................................................................................................................................................................................................W.................................................................................................................W.............................................................................................................................................................................................................................................W....................................................................................................................................................................W............................................................................................................................................................................W...........................................WW...Starting resharding...WW............................................................W..................................................................................................................................................W.........................................................................................................................W................................................................................................................W.....................................................................................................................................................................................W.....................................................................................................................................................W.....................................................................................................................W.........................................................................................................W...Starting resharding...WW............................................................W..........................................................................................................................................W.............................................................................................................................................................................................W................................................................................................................W..............................................................................................................................................................................................................................W..............................................................................................................................................................W..........................................................................................................................W..................W...Starting resharding...WW.....................................................................................................................W..................................................................................................................................W.......................................................................................................................................................................W...................................................................................................................................................................................................................................W.............................................................................................W....................................................................................................................................................................................W...................................................................................................WW...Starting resharding...WW......................................................W.............................................................................................................W............................................................................................................................................................................W..............................................................................................................................................................................W.................................................................................................................................................................................................................W................................................................................................................................................................................W.....................................................................................................WWOK -19:40:03> Verify 50000 keys for consistency with logical content: OK -19:40:17> Terminate and restart all the instances: OK -19:40:25> Cluster should eventually be up again: OK -19:40:27> Verify 50000 keys after the restart: OK -19:40:40> Disable AOF in all the instances: OK -19:40:41> Verify slaves consistency: OK -19:40:42> Dump sanitization was skipped for migrations: OK +16:08:42> Cluster consistency during live resharding: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...Starting resharding...WW.........................................................................................................................................W..................................................................................................................W.............................................................................................................................................................................................................W.....................................................................................................................................................................................W....................................................................................................................................W.....................................................................................W.......................................................................W..........................................................W...Starting resharding...W......W........................................................................................................................................................................................................W..........................................................................................................................................W................................................................................................................W.....................................................................................................................................................W.................................................................................................................W.......................................................................................................................................................W....................................................................................................WW...Starting resharding...WW.............................................................................................................................................................W........................................................................................................................................................W................................................................................................................W.............................................................................................................................W.................................................................................................................W..............................................................................................................................................................................W........................................................................................................................W...............................W...Starting resharding...W........................W...............................................................................................................................................W....................................................................................................W.............................................................................................................................................W...................................................................................................................................................................................W................................................................................................................W...........................................................................................................................................................................................................W........................................................................................WW...Starting resharding...W......W............................................................................................................................................................W..............................................................................................................................................................................W..............................................................................................................W.......................................................................................................................................................W.....................................................................................................................................................................................W..............................................................................................................................W..............................................................................................WW...Starting resharding...W.........................................................W.........................................................................................................W.........................................................................W................................................................................................................W............................................................................................W............................................................................................................................W.................................................................................................................................W.................................................................................................................................................................W.........................................................................................................................W.............................Starting resharding...W......W.....................................................................................................................................................W..................................................................................................................................W.........................................................................................................................................................................................................W...............................................................................................................................................................W.................................................................................................................................................................................W..........................................................................................................................W...............................................WW...Starting resharding...WW................................................................................................................................................................................W.......................................................................................................................W......................................................................................................................................W............................................................................................................................................................................W.................................................................................................................W..........................................................................W...........................................................................................W......................................................................W....................................................................Starting resharding...WW...............................................................................................................................................W.............................................................................................W.............................................................................W........................................................................................................W..........................................................................................................................................W......................................................................................................................................................................................W...............................................................................................................................................W.....................................................................................................................W...Starting resharding...WW...........................................................................W........................................................................................................................................................W..........................................................................................................................W..................................................................................................................................W......................................................................................................................................................................W...................................................................................................................................................W........................................................................................................................................................................W..................................................WOK +16:10:10> Verify 50000 keys for consistency with logical content: OK +16:10:39> Terminate and restart all the instances: OK +16:10:47> Cluster should eventually be up again: OK +16:10:49> Verify 50000 keys after the restart: OK +16:11:12> Disable AOF in all the instances: OK +16:11:12> Verify slaves consistency: OK +16:11:13> Dump sanitization was skipped for migrations: OK Testing unit: 05-slave-selection.tcl -19:40:42> (init) Restart killed instances: OK -19:40:42> Cluster nodes are reachable: OK -19:40:42> Cluster nodes hard reset: OK -19:40:43> Cluster Join and auto-discovery test: OK -19:40:45> Before slots allocation, all nodes report cluster failure: OK -19:40:45> Create a 5 nodes cluster: OK -19:40:48> Cluster is up: OK -19:40:48> The first master has actually two slaves: OK -19:40:48> CLUSTER SLAVES and CLUSTER REPLICAS output is consistent: OK -19:40:48> Slaves of #0 are instance #5 and #10 as expected: OK -19:40:48> Instance #5 and #10 synced with the master: OK -19:40:48> Slaves are both able to receive and acknowledge writes: OK -19:40:49> Write data while slave #10 is paused and can't receive it: OK -19:40:59> Wait for instance #5 (and not #10) to turn into a master: OK -19:41:04> Wait for the node #10 to return alive before ending the test: OK -19:41:04> Cluster should eventually be up again: OK -19:41:04> Node #10 should eventually replicate node #5: OK -19:41:04> (init) Restart killed instances: redis/0 OK -19:41:04> Cluster nodes are reachable: OK -19:41:04> Cluster nodes hard reset: OK -19:41:06> Cluster Join and auto-discovery test: OK -19:41:08> Before slots allocation, all nodes report cluster failure: OK -19:41:08> Create a 3 nodes cluster: OK -19:41:11> Cluster is up: OK -19:41:11> The first master has actually 5 slaves: OK -19:41:11> Slaves of #0 are instance #3, #6, #9, #12 and #15 as expected: OK -19:41:11> Instance #3, #6, #9, #12 and #15 synced with the master: OK -19:41:11> New Master down consecutively: OK +16:11:13> (init) Restart killed instances: OK +16:11:13> Cluster nodes are reachable: OK +16:11:13> Cluster nodes hard reset: OK +16:11:14> Cluster Join and auto-discovery test: OK +16:11:16> Before slots allocation, all nodes report cluster failure: OK +16:11:16> Create a 5 nodes cluster: OK +16:11:20> Cluster is up: OK +16:11:20> The first master has actually two slaves: OK +16:11:20> CLUSTER SLAVES and CLUSTER REPLICAS output is consistent: OK +16:11:20> Slaves of #0 are instance #5 and #10 as expected: OK +16:11:20> Instance #5 and #10 synced with the master: OK +16:11:20> Slaves are both able to receive and acknowledge writes: OK +16:11:20> Write data while slave #10 is paused and can't receive it: OK +16:11:31> Wait for instance #5 (and not #10) to turn into a master: OK +16:11:42> Wait for the node #10 to return alive before ending the test: OK +16:11:42> Cluster should eventually be up again: OK +16:11:42> Node #10 should eventually replicate node #5: OK +16:11:42> (init) Restart killed instances: redis/0 OK +16:11:44> Cluster nodes are reachable: OK +16:11:44> Cluster nodes hard reset: OK +16:11:45> Cluster Join and auto-discovery test: OK +16:11:49> Before slots allocation, all nodes report cluster failure: OK +16:11:49> Create a 3 nodes cluster: OK +16:11:57> Cluster is up: OK +16:11:57> The first master has actually 5 slaves: OK +16:11:57> Slaves of #0 are instance #3, #6, #9, #12 and #15 as expected: OK +16:11:57> Instance #3, #6, #9, #12 and #15 synced with the master: OK +16:11:57> New Master down consecutively: OK Testing unit: 06-slave-stop-cond.tcl -19:41:43> (init) Restart killed instances: redis/0 redis/3 redis/6 redis/9 redis/12 OK -19:41:44> Cluster nodes are reachable: OK -19:41:44> Cluster nodes hard reset: OK -19:41:45> Cluster Join and auto-discovery test: OK -19:41:47> Before slots allocation, all nodes report cluster failure: OK -19:41:47> Create a 5 nodes cluster: OK -19:41:51> Cluster is up: OK -19:41:51> The first master has actually one slave: OK -19:41:51> Slaves of #0 is instance #5 as expected: OK -19:41:51> Instance #5 synced with the master: OK -19:41:51> Lower the slave validity factor of #5 to the value of 2: OK -19:41:51> Break master-slave link and prevent further reconnections: OK -19:42:11> Slave #5 is reachable and alive: OK -19:42:11> Slave #5 should not be able to failover: OK -19:42:21> Cluster should be down: OK +16:12:33> (init) Restart killed instances: redis/0 redis/3 redis/6 redis/9 redis/15 OK +16:12:34> Cluster nodes are reachable: OK +16:12:34> Cluster nodes hard reset: OK +16:12:35> Cluster Join and auto-discovery test: OK +16:12:36> Before slots allocation, all nodes report cluster failure: OK +16:12:36> Create a 5 nodes cluster: OK +16:12:40> Cluster is up: OK +16:12:40> The first master has actually one slave: OK +16:12:40> Slaves of #0 is instance #5 as expected: OK +16:12:40> Instance #5 synced with the master: OK +16:12:40> Lower the slave validity factor of #5 to the value of 2: OK +16:12:40> Break master-slave link and prevent further reconnections: OK +16:13:00> Slave #5 is reachable and alive: OK +16:13:00> Slave #5 should not be able to failover: OK +16:13:10> Cluster should be down: OK Testing unit: 07-replica-migration.tcl -19:42:21> (init) Restart killed instances: redis/0 OK -19:42:22> Cluster nodes are reachable: OK -19:42:22> Cluster nodes hard reset: OK -19:42:23> Cluster Join and auto-discovery test: OK -19:42:26> Before slots allocation, all nodes report cluster failure: OK -19:42:26> Create a 5 nodes cluster: OK -19:42:30> Cluster is up: OK -19:42:30> Each master should have two replicas attached: OK -19:42:30> Killing all the slaves of master #0 and #1: OK -19:42:35> Master #0 should have at least one replica: OK -19:42:39> Master #1 should have at least one replica: OK -19:42:40> Master #2 should have at least one replica: OK -19:42:40> Master #3 should have at least one replica: OK -19:42:40> Master #4 should have at least one replica: OK -19:42:40> (init) Restart killed instances: redis/5 redis/6 redis/10 redis/11 OK -19:42:41> Cluster nodes are reachable: OK -19:42:41> Cluster nodes hard reset: OK -19:42:42> Cluster Join and auto-discovery test: OK -19:42:44> Before slots allocation, all nodes report cluster failure: OK -19:42:44> Create a 5 nodes cluster: OK -19:42:48> Cluster is up: OK -19:42:48> Kill slave #7 of master #2. Only slave left is #12 now: OK -19:42:48> Killing master node #2, #12 should failover: OK -19:42:48> Wait for failover: OK -19:42:52> Cluster should eventually be up again: OK -19:42:52> Cluster is writable: OK -19:42:53> Instance 12 is now a master without slaves: OK -19:42:53> Master #12 should get at least one migrated replica: OK +16:13:10> (init) Restart killed instances: redis/0 OK +16:13:11> Cluster nodes are reachable: OK +16:13:11> Cluster nodes hard reset: OK +16:13:12> Cluster Join and auto-discovery test: OK +16:13:13> Before slots allocation, all nodes report cluster failure: OK +16:13:13> Create a 5 nodes cluster: OK +16:13:17> Cluster is up: OK +16:13:17> Each master should have two replicas attached: OK +16:13:17> Killing all the slaves of master #0 and #1: OK +16:13:22> Master #0 should have at least one replica: OK +16:13:28> Master #1 should have at least one replica: OK +16:13:29> Master #2 should have at least one replica: OK +16:13:29> Master #3 should have at least one replica: OK +16:13:29> Master #4 should have at least one replica: OK +16:13:29> (init) Restart killed instances: redis/5 redis/6 redis/10 redis/11 OK +16:13:31> Cluster nodes are reachable: OK +16:13:31> Cluster nodes hard reset: OK +16:13:32> Cluster Join and auto-discovery test: OK +16:13:34> Before slots allocation, all nodes report cluster failure: OK +16:13:34> Create a 5 nodes cluster: OK +16:13:38> Cluster is up: OK +16:13:38> Kill slave #7 of master #2. Only slave left is #12 now: OK +16:13:38> Killing master node #2, #12 should failover: OK +16:13:38> Wait for failover: OK +16:13:43> Cluster should eventually be up again: OK +16:13:43> Cluster is writable: OK +16:13:43> Instance 12 is now a master without slaves: OK +16:13:43> Master #12 should get at least one migrated replica: OK Testing unit: 08-update-msg.tcl -19:42:57> (init) Restart killed instances: redis/2 redis/7 OK -19:42:58> Cluster nodes are reachable: OK -19:42:58> Cluster nodes hard reset: OK -19:42:59> Cluster Join and auto-discovery test: OK -19:43:01> Before slots allocation, all nodes report cluster failure: OK -19:43:01> Create a 5 nodes cluster: OK -19:43:05> Cluster is up: OK -19:43:05> Cluster is writable: OK -19:43:05> Instance #5 is a slave: OK -19:43:05> Instance #5 synced with the master: OK -19:43:05> Killing one master node: OK -19:43:06> Wait for failover: OK -19:43:11> Cluster should eventually be up again: OK -19:43:11> Cluster is writable: OK -19:43:11> Instance #5 is now a master: OK -19:43:11> Killing the new master #5: OK -19:43:11> Cluster should be down now: OK -19:43:15> Restarting the old master node: OK -19:43:16> Instance #0 gets converted into a slave: OK -19:43:16> Restarting the new master node: OK -19:43:16> Cluster is up again: OK +16:13:48> (init) Restart killed instances: redis/2 redis/7 OK +16:13:49> Cluster nodes are reachable: OK +16:13:49> Cluster nodes hard reset: OK +16:13:50> Cluster Join and auto-discovery test: OK +16:13:53> Before slots allocation, all nodes report cluster failure: OK +16:13:53> Create a 5 nodes cluster: OK +16:13:57> Cluster is up: OK +16:13:57> Cluster is writable: OK +16:13:57> Instance #5 is a slave: OK +16:13:57> Instance #5 synced with the master: OK +16:13:57> Killing one master node: OK +16:13:58> Wait for failover: OK +16:14:02> Cluster should eventually be up again: OK +16:14:02> Cluster is writable: OK +16:14:02> Instance #5 is now a master: OK +16:14:02> Killing the new master #5: OK +16:14:03> Cluster should be down now: OK +16:14:06> Restarting the old master node: OK +16:14:07> Instance #0 gets converted into a slave: OK +16:14:07> Restarting the new master node: OK +16:14:07> Cluster is up again: OK Testing unit: 09-pubsub.tcl -19:43:22> (init) Restart killed instances: OK -19:43:22> Cluster nodes are reachable: OK -19:43:22> Cluster nodes hard reset: OK -19:43:23> Cluster Join and auto-discovery test: OK -19:43:25> Before slots allocation, all nodes report cluster failure: OK -19:43:25> Create a 5 nodes cluster: OK -19:43:29> Test publishing to master: OK -19:43:29> Test publishing to slave: OK +16:14:13> (init) Restart killed instances: OK +16:14:13> Cluster nodes are reachable: OK +16:14:13> Cluster nodes hard reset: OK +16:14:14> Cluster Join and auto-discovery test: OK +16:14:16> Before slots allocation, all nodes report cluster failure: OK +16:14:16> Create a 5 nodes cluster: OK +16:14:19> Test publishing to master: OK +16:14:19> Test publishing to slave: OK Testing unit: 10-manual-failover.tcl -19:43:29> (init) Restart killed instances: OK -19:43:29> Cluster nodes are reachable: OK -19:43:29> Cluster nodes hard reset: OK -19:43:29> Cluster Join and auto-discovery test: OK -19:43:32> Before slots allocation, all nodes report cluster failure: OK -19:43:32> Create a 5 nodes cluster: OK -19:43:36> Cluster is up: OK -19:43:36> Cluster is writable: OK -19:43:36> Instance #5 is a slave: OK -19:43:36> Instance #5 synced with the master: OK -19:43:37> Send CLUSTER FAILOVER to #5, during load: WWWWWWWWWWOK -19:43:40> Wait for failover: OK -19:43:40> Cluster should eventually be up again: OK -19:43:40> Cluster is writable: OK -19:43:41> Instance #5 is now a master: OK -19:43:41> Verify 50000 keys for consistency with logical content: OK -19:43:43> Instance #0 gets converted into a slave: OK -19:43:43> (init) Restart killed instances: OK -19:43:43> Cluster nodes are reachable: OK -19:43:43> Cluster nodes hard reset: OK -19:43:44> Cluster Join and auto-discovery test: OK -19:43:46> Before slots allocation, all nodes report cluster failure: OK -19:43:46> Create a 5 nodes cluster: OK -19:43:50> Cluster is up: OK -19:43:50> Cluster is writable: OK -19:43:50> Instance #5 is a slave: OK -19:43:50> Instance #5 synced with the master: OK -19:43:50> Make instance #0 unreachable without killing it: OK -19:43:50> Send CLUSTER FAILOVER to instance #5: OK -19:43:50> Instance #5 is still a slave after some time (no failover): OK -19:43:55> Wait for instance #0 to return back alive: OK -19:44:00> (init) Restart killed instances: OK -19:44:00> Cluster nodes are reachable: OK -19:44:00> Cluster nodes hard reset: OK -19:44:01> Cluster Join and auto-discovery test: OK -19:44:05> Before slots allocation, all nodes report cluster failure: OK -19:44:05> Create a 5 nodes cluster: OK -19:44:09> Cluster is up: OK -19:44:09> Cluster is writable: OK -19:44:09> Instance #5 is a slave: OK -19:44:09> Instance #5 synced with the master: OK -19:44:09> Make instance #0 unreachable without killing it: OK -19:44:09> Send CLUSTER FAILOVER to instance #5: OK -19:44:09> Instance #5 is a master after some time: OK -19:44:10> Wait for instance #0 to return back alive: OK +16:14:19> (init) Restart killed instances: OK +16:14:19> Cluster nodes are reachable: OK +16:14:19> Cluster nodes hard reset: OK +16:14:20> Cluster Join and auto-discovery test: OK +16:14:22> Before slots allocation, all nodes report cluster failure: OK +16:14:22> Create a 5 nodes cluster: OK +16:14:26> Cluster is up: OK +16:14:26> Cluster is writable: OK +16:14:26> Instance #5 is a slave: OK +16:14:26> Instance #5 synced with the master: OK +16:14:27> Send CLUSTER FAILOVER to #5, during load: WWWWWWWWWWOK +16:14:31> Wait for failover: OK +16:14:31> Cluster should eventually be up again: OK +16:14:31> Cluster is writable: OK +16:14:31> Instance #5 is now a master: OK +16:14:31> Verify 50000 keys for consistency with logical content: OK +16:14:38> Instance #0 gets converted into a slave: OK +16:14:38> (init) Restart killed instances: OK +16:14:38> Cluster nodes are reachable: OK +16:14:38> Cluster nodes hard reset: OK +16:14:39> Cluster Join and auto-discovery test: OK +16:14:42> Before slots allocation, all nodes report cluster failure: OK +16:14:42> Create a 5 nodes cluster: OK +16:14:46> Cluster is up: OK +16:14:46> Cluster is writable: OK +16:14:46> Instance #5 is a slave: OK +16:14:46> Instance #5 synced with the master: OK +16:14:46> Make instance #0 unreachable without killing it: OK +16:14:46> Send CLUSTER FAILOVER to instance #5: OK +16:14:46> Instance #5 is still a slave after some time (no failover): OK +16:14:51> Wait for instance #0 to return back alive: OK +16:14:56> (init) Restart killed instances: OK +16:14:56> Cluster nodes are reachable: OK +16:14:56> Cluster nodes hard reset: OK +16:14:58> Cluster Join and auto-discovery test: OK +16:15:00> Before slots allocation, all nodes report cluster failure: OK +16:15:00> Create a 5 nodes cluster: OK +16:15:03> Cluster is up: OK +16:15:03> Cluster is writable: OK +16:15:03> Instance #5 is a slave: OK +16:15:03> Instance #5 synced with the master: OK +16:15:03> Make instance #0 unreachable without killing it: OK +16:15:03> Send CLUSTER FAILOVER to instance #5: OK +16:15:03> Instance #5 is a master after some time: OK +16:15:04> Wait for instance #0 to return back alive: OK Testing unit: 11-manual-takeover.tcl -19:44:19> (init) Restart killed instances: OK -19:44:19> Cluster nodes are reachable: OK -19:44:20> Cluster nodes hard reset: OK -19:44:21> Cluster Join and auto-discovery test: OK -19:44:24> Before slots allocation, all nodes report cluster failure: OK -19:44:24> Create a 5 nodes cluster: OK -19:44:28> Cluster is up: OK -19:44:28> Cluster is writable: OK -19:44:28> Killing majority of master nodes: OK -19:44:29> Cluster should eventually be down: OK -19:44:32> Use takeover to bring slaves back: OK -19:44:32> Cluster should eventually be up again: OK -19:44:35> Cluster is writable: OK -19:44:36> Instance #5, #6, #7 are now masters: OK -19:44:36> Restarting the previously killed master nodes: OK -19:44:36> Instance #0, #1, #2 gets converted into a slaves: OK +16:15:14> (init) Restart killed instances: OK +16:15:14> Cluster nodes are reachable: OK +16:15:14> Cluster nodes hard reset: OK +16:15:16> Cluster Join and auto-discovery test: OK +16:15:19> Before slots allocation, all nodes report cluster failure: OK +16:15:19> Create a 5 nodes cluster: OK +16:15:22> Cluster is up: OK +16:15:22> Cluster is writable: OK +16:15:23> Killing majority of master nodes: OK +16:15:24> Cluster should eventually be down: OK +16:15:27> Use takeover to bring slaves back: OK +16:15:28> Cluster should eventually be up again: OK +16:15:31> Cluster is writable: OK +16:15:31> Instance #5, #6, #7 are now masters: OK +16:15:31> Restarting the previously killed master nodes: OK +16:15:36> Instance #0, #1, #2 gets converted into a slaves: OK Testing unit: 12-replica-migration-2.tcl -19:44:36> (init) Restart killed instances: OK -19:44:36> Cluster nodes are reachable: OK -19:44:36> Cluster nodes hard reset: OK -19:44:37> Cluster Join and auto-discovery test: OK -19:44:40> Before slots allocation, all nodes report cluster failure: OK -19:44:40> Create a 5 nodes cluster: OK -19:44:43> Cluster is up: OK -19:44:43> Each master should have at least two replicas attached: OK -19:44:43> Set allow-replica-migration yes: OK -19:44:43> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) +16:15:36> (init) Restart killed instances: OK +16:15:36> Cluster nodes are reachable: OK +16:15:36> Cluster nodes hard reset: OK +16:15:38> Cluster Join and auto-discovery test: OK +16:15:41> Before slots allocation, all nodes report cluster failure: OK +16:15:41> Create a 5 nodes cluster: OK +16:15:44> Cluster is up: OK +16:15:44> Each master should have at least two replicas attached: OK +16:15:44> Set allow-replica-migration yes: OK +16:15:44> 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:30006 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### +Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30004 +#################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30002 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 816 slots from 127.0.0.1:30000 to 127.0.0.1:30008 ################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################ OK -19:45:00> Master #0 who lost all slots should turn into a replica without replicas: OK -19:45:01> Resharding back some slot to master #0: >>> Performing Cluster Check (using node 127.0.0.1:30000) +16:16:38> Master #0 who lost all slots should turn into a replica without replicas: OK +16:16:38> 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 -19:45:11> Master #0 should re-acquire one or more replicas: OK +16:16:49> Master #0 should re-acquire one or more replicas: OK Testing unit: 12.1-replica-migration-3.tcl -19:45:11> (init) Restart killed instances: OK -19:45:11> Cluster nodes are reachable: OK -19:45:11> Cluster nodes hard reset: OK -19:45:12> Cluster Join and auto-discovery test: OK -19:45:13> Before slots allocation, all nodes report cluster failure: OK -19:45:13> Create a 5 nodes cluster: OK -19:45:17> Cluster is up: OK -19:45:17> Each master should have at least two replicas attached: OK -19:45:17> Set allow-replica-migration no: OK -19:45:17> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) +16:16:49> (init) Restart killed instances: OK +16:16:49> Cluster nodes are reachable: OK +16:16:49> Cluster nodes hard reset: OK +16:17:06> Cluster Join and auto-discovery test: OK +16:17:31> Before slots allocation, all nodes report cluster failure: OK +16:17:31> Create a 5 nodes cluster: OK +16:17:34> Cluster is up: OK +16:17:34> Each master should have at least two replicas attached: OK +16:17:34> Set allow-replica-migration no: OK +16:17: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... @@ -6795,202 +6924,205 @@ Moving 816 slots from 127.0.0.1:30000 to 127.0.0.1:30008 ################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################ OK -19:45:33> Wait cluster to be stable: OK -19:45:34> Master #0 still should have its replicas: OK -19:45:34> Each master should have at least two replicas attached: OK +16:18:03> Wait cluster to be stable: OK +16:18:03> Master #0 still should have its replicas: OK +16:18:03> Each master should have at least two replicas attached: OK Testing unit: 13-no-failover-option.tcl -19:45:34> (init) Restart killed instances: OK -19:45:34> Cluster nodes are reachable: OK -19:45:34> Cluster nodes hard reset: OK -19:45:35> Cluster Join and auto-discovery test: OK -19:45:38> Before slots allocation, all nodes report cluster failure: OK -19:45:38> Create a 5 nodes cluster: OK -19:45:42> Cluster is up: OK -19:45:42> Cluster is writable: OK -19:45:42> Instance #5 is a slave: OK -19:45:42> Instance #5 synced with the master: OK -19:45:42> The nofailover flag is propagated: OK -19:45:44> Killing one master node: OK -19:45:44> Cluster should be still down after some time: OK -19:45:54> Instance #5 is still a slave: OK -19:45:54> Restarting the previously killed master node: OK +16:18:03> (init) Restart killed instances: OK +16:18:03> Cluster nodes are reachable: OK +16:18:03> Cluster nodes hard reset: OK +16:18:04> Cluster Join and auto-discovery test: OK +16:18:06> Before slots allocation, all nodes report cluster failure: OK +16:18:06> Create a 5 nodes cluster: OK +16:18:10> Cluster is up: OK +16:18:10> Cluster is writable: OK +16:18:10> Instance #5 is a slave: OK +16:18:10> Instance #5 synced with the master: OK +16:18:10> The nofailover flag is propagated: OK +16:18:12> Killing one master node: OK +16:18:12> Cluster should be still down after some time: OK +16:18:22> Instance #5 is still a slave: OK +16:18:22> Restarting the previously killed master node: OK Testing unit: 14-consistency-check.tcl -19:45:55> (init) Restart killed instances: OK -19:45:55> Cluster nodes are reachable: OK -19:45:55> Cluster nodes hard reset: OK -19:45:55> Cluster Join and auto-discovery test: OK -19:45:57> Before slots allocation, all nodes report cluster failure: OK -19:45:57> Create a 5 nodes cluster: OK -19:46:01> Cluster should start ok: OK -19:46:01> Cluster is writable: OK -19:46:01> Slave expired keys is loaded when restarted: appendonly=no: OK -19:46:05> Slave expired keys is loaded when restarted: appendonly=yes: OK +16:18:23> (init) Restart killed instances: OK +16:18:23> Cluster nodes are reachable: OK +16:18:23> Cluster nodes hard reset: OK +16:18:26> Cluster Join and auto-discovery test: OK +16:18:31> Before slots allocation, all nodes report cluster failure: OK +16:18:31> Create a 5 nodes cluster: OK +16:18:40> Cluster should start ok: OK +16:18:40> Cluster is writable: OK +16:18:40> Slave expired keys is loaded when restarted: appendonly=no: OK +16:18:44> Slave expired keys is loaded when restarted: appendonly=yes: OK Testing unit: 15-cluster-slots.tcl -19:46:09> (init) Restart killed instances: OK -19:46:09> Cluster nodes are reachable: OK -19:46:09> Cluster nodes hard reset: OK -19:46:10> Cluster Join and auto-discovery test: OK -19:46:13> Before slots allocation, all nodes report cluster failure: OK -19:46:13> Create a 5 nodes cluster: OK -19:46:16> Cluster is up: OK -19:46:16> Cluster is writable: OK -19:46:17> Instance #5 is a slave: OK -19:46:17> client do not break when cluster slot: OK -19:46:20> client can handle keys with hash tag: OK -19:46:20> slot migration is valid from primary to another primary: OK -19:46:20> Client unblocks after slot migration from one primary to another: OK -19:46:20> slot migration is invalid from primary to replica: {5ec56b191a458220d5d0a1a89c6f17a843e3c613 127.0.0.1:30028@40028 slave 94983bfedcf55f7245d6b91b692baeb4b5adf598 0 1787816780128 5 connected} {fcf9d91578422475cab0fc85db18a7a5143d4976 127.0.0.1:30018@40018 slave 94983bfedcf55f7245d6b91b692baeb4b5adf598 0 1787816780547 5 connected} {596ba4999c7ca53b153b325c45841f11cfa3ef73 127.0.0.1:30038@40038 slave 94983bfedcf55f7245d6b91b692baeb4b5adf598 0 1787816780128 5 connected} -5ec56b191a458220d5d0a1a89c6f17a843e3c613 +16:18:48> (init) Restart killed instances: OK +16:18:48> Cluster nodes are reachable: OK +16:18:48> Cluster nodes hard reset: OK +16:18:48> Cluster Join and auto-discovery test: OK +16:18:51> Before slots allocation, all nodes report cluster failure: OK +16:18:51> Create a 5 nodes cluster: OK +16:18:55> Cluster is up: OK +16:18:55> Cluster is writable: OK +16:18:55> Instance #5 is a slave: OK +16:18:55> client do not break when cluster slot: OK +16:18:58> client can handle keys with hash tag: OK +16:18:58> slot migration is valid from primary to another primary: OK +16:18:58> Client unblocks after slot migration from one primary to another: OK +16:18:59> slot migration is invalid from primary to replica: {2c2ef3718fa6cda79ffbbdbfca95942f4e75b8d5 127.0.0.1:30038@40038 slave 5f860a300278837f5d8e220c3b8137a9346b0198 0 1753409938000 5 connected} {6009ff844bad71c440cf260163b95d4cfa1eb211 127.0.0.1:30018@40018 slave 5f860a300278837f5d8e220c3b8137a9346b0198 0 1753409938516 5 connected} {e699869da24f22a9f0647356255c4625fd860b75 127.0.0.1:30028@40028 slave 5f860a300278837f5d8e220c3b8137a9346b0198 0 1753409938000 5 connected} +2c2ef3718fa6cda79ffbbdbfca95942f4e75b8d5 OK -19:46:20> slot must be unbound on the owner when it is deleted: OK -19:46:33> CLUSTER SLOTS from non-TLS client in TLS cluster: OK +16:18:59> slot must be unbound on the owner when it is deleted: OK +16:19:13> CLUSTER SLOTS from non-TLS client in TLS cluster: OK Testing unit: 16-transactions-on-replica.tcl -19:46:39> (init) Restart killed instances: OK -19:46:39> Cluster nodes are reachable: OK -19:46:39> Cluster nodes hard reset: OK -19:46:39> Cluster Join and auto-discovery test: OK -19:46:42> Before slots allocation, all nodes report cluster failure: OK -19:46:42> Create a primary with a replica: OK -19:46:47> Cluster should start ok: OK -19:46:47> Can't read from replica without READONLY: OK -19:46:47> Can't read from replica after READWRITE: OK -19:46:47> Can read from replica after READONLY: OK -19:46:47> Can perform HSET primary and HGET from replica: OK -19:46:47> Can MULTI-EXEC transaction of HGET operations from replica: OK -19:46:47> MULTI-EXEC with write operations is MOVED: OK -19:46:47> read-only blocking operations from replica: OK -19:46:47> reply MOVED when eval from replica for update: OK +16:19:19> (init) Restart killed instances: OK +16:19:19> Cluster nodes are reachable: OK +16:19:19> Cluster nodes hard reset: OK +16:19:20> Cluster Join and auto-discovery test: OK +16:19:22> Before slots allocation, all nodes report cluster failure: OK +16:19:22> Create a primary with a replica: OK +16:19:26> Cluster should start ok: OK +16:19:26> Can't read from replica without READONLY: OK +16:19:26> Can't read from replica after READWRITE: OK +16:19:26> Can read from replica after READONLY: OK +16:19:26> Can perform HSET primary and HGET from replica: OK +16:19:26> Can MULTI-EXEC transaction of HGET operations from replica: OK +16:19:26> MULTI-EXEC with write operations is MOVED: OK +16:19:26> read-only blocking operations from replica: OK +16:19:26> reply MOVED when eval from replica for update: OK Testing unit: 17-diskless-load-swapdb.tcl -19:46:47> (init) Restart killed instances: OK -19:46:47> Cluster nodes are reachable: OK -19:46:47> Cluster nodes hard reset: OK -19:46:48> Cluster Join and auto-discovery test: OK -19:46:50> Before slots allocation, all nodes report cluster failure: OK -19:46:50> Create a primary with a replica: OK -19:46:55> Cluster should start ok: OK -19:46:55> Cluster is writable: OK -19:46:55> Main db not affected when fail to diskless load: Waiting for process 1454970 to exit... -Waiting for process 1454970 to exit... -Waiting for process 1454970 to exit... +16:19:26> (init) Restart killed instances: OK +16:19:26> Cluster nodes are reachable: OK +16:19:26> Cluster nodes hard reset: OK +16:19:27> Cluster Join and auto-discovery test: OK +16:19:29> Before slots allocation, all nodes report cluster failure: OK +16:19:29> Create a primary with a replica: OK +16:19:34> Cluster should start ok: OK +16:19:34> Cluster is writable: OK +16:19:34> Main db not affected when fail to diskless load: Waiting for process 3006903 to exit... +Waiting for process 3006903 to exit... OK Testing unit: 18-info.tcl -19:47:27> (init) Restart killed instances: redis/0 OK -19:47:27> Cluster nodes are reachable: OK -19:47:27> Cluster nodes hard reset: OK -19:47:29> Cluster Join and auto-discovery test: OK -19:47:32> Before slots allocation, all nodes report cluster failure: OK -19:47:32> Create a primary with a replica: OK -19:47:36> Cluster should start ok: OK -19:47:36> errorstats: rejected call due to MOVED Redirection: OK +16:20:07> (init) Restart killed instances: redis/0 OK +16:20:07> Cluster nodes are reachable: OK +16:20:07> Cluster nodes hard reset: OK +16:20:08> Cluster Join and auto-discovery test: OK +16:20:11> Before slots allocation, all nodes report cluster failure: OK +16:20:11> Create a primary with a replica: OK +16:20:15> Cluster should start ok: OK +16:20:15> errorstats: rejected call due to MOVED Redirection: OK Testing unit: 19-cluster-nodes-slots.tcl -19:47:36> (init) Restart killed instances: OK -19:47:36> Cluster nodes are reachable: OK -19:47:36> Cluster nodes hard reset: OK -19:47:37> Cluster Join and auto-discovery test: OK -19:47:39> Before slots allocation, all nodes report cluster failure: OK -19:47:39> Create a 2 nodes cluster: OK -19:47:43> Cluster should start ok: OK -19:47:43> Continuous slots distribution: OK -19:47:43> Discontinuous slots distribution: OK +16:20:15> (init) Restart killed instances: OK +16:20:15> Cluster nodes are reachable: OK +16:20:15> Cluster nodes hard reset: OK +16:20:15> Cluster Join and auto-discovery test: OK +16:20:17> Before slots allocation, all nodes report cluster failure: OK +16:20:17> Create a 2 nodes cluster: OK +16:20:21> Cluster should start ok: OK +16:20:21> Continuous slots distribution: OK +16:20:21> Discontinuous slots distribution: OK Testing unit: 20-half-migrated-slot.tcl Testing unit: 21-many-slot-migration.tcl Testing unit: 22-replica-in-sync.tcl -19:47:43> (init) Restart killed instances: OK -19:47:43> Cluster nodes are reachable: OK -19:47:43> Cluster nodes hard reset: OK -19:47:44> Cluster Join and auto-discovery test: OK -19:47:46> Before slots allocation, all nodes report cluster failure: OK -19:47:46> Create a 1 node cluster: OK -19:47:51> Cluster is up: OK -19:47:51> Cluster is writable: OK -19:47:51> Fill up primary with data: OK -19:47:51> Add new node as replica: OK -19:47:51> Check digest and replica state: OK -19:47:53> Replica in loading state is hidden: OK -19:47:58> Check disconnected replica not hidden from slots: OK +16:20:21> (init) Restart killed instances: OK +16:20:21> Cluster nodes are reachable: OK +16:20:21> Cluster nodes hard reset: OK +16:20:22> Cluster Join and auto-discovery test: OK +16:20:24> Before slots allocation, all nodes report cluster failure: OK +16:20:24> Create a 1 node cluster: OK +16:20:28> Cluster is up: OK +16:20:28> Cluster is writable: OK +16:20:28> Fill up primary with data: OK +16:20:28> Add new node as replica: OK +16:20:28> Check digest and replica state: OK +16:20:29> Replica in loading state is hidden: OK +16:20:34> Check disconnected replica not hidden from slots: OK Testing unit: 25-pubsubshard-slot-migration.tcl -19:47:58> (init) Restart killed instances: OK -19:47:58> Cluster nodes are reachable: OK -19:47:58> Cluster nodes hard reset: OK -19:47:59> Cluster Join and auto-discovery test: OK -19:48:01> Before slots allocation, all nodes report cluster failure: OK -19:48:01> Create a 3 nodes cluster: OK -19:48:05> Cluster is up: OK -19:48:05> Migrate a slot, verify client receives sunsubscribe on primary serving the slot.: OK -19:48:05> Client subscribes to multiple channels, migrate a slot, verify client receives sunsubscribe on primary serving the slot.: OK -19:48:05> Migrate a slot, verify client receives sunsubscribe on replica serving the slot.: OK -19:48:05> Move a replica to another primary, verify client receives sunsubscribe on replica serving the slot.: OK -19:48:05> Delete a slot, verify sunsubscribe message: OK -19:48:05> Reset cluster, verify sunsubscribe message: OK +16:20:35> (init) Restart killed instances: OK +16:20:35> Cluster nodes are reachable: OK +16:20:35> Cluster nodes hard reset: OK +16:20:35> Cluster Join and auto-discovery test: OK +16:20:38> Before slots allocation, all nodes report cluster failure: OK +16:20:38> Create a 3 nodes cluster: OK +16:20:42> Cluster is up: OK +16:20:42> Migrate a slot, verify client receives sunsubscribe on primary serving the slot.: OK +16:20:42> Client subscribes to multiple channels, migrate a slot, verify client receives sunsubscribe on primary serving the slot.: OK +16:20:42> Migrate a slot, verify client receives sunsubscribe on replica serving the slot.: OK +16:20:43> Move a replica to another primary, verify client receives sunsubscribe on replica serving the slot.: OK +16:20:43> Delete a slot, verify sunsubscribe message: OK +16:20:43> Reset cluster, verify sunsubscribe message: OK Testing unit: 26-pubsubshard.tcl -19:48:05> (init) Restart killed instances: OK -19:48:05> Cluster nodes are reachable: OK -19:48:05> Cluster nodes hard reset: OK -19:48:06> Cluster Join and auto-discovery test: OK -19:48:09> Before slots allocation, all nodes report cluster failure: OK -19:48:09> Create a 3 nodes cluster: OK -19:48:14> Pub/Sub shard basics: OK -19:48:14> client can't subscribe to multiple shard channels across different slots in same call: OK -19:48:14> client can subscribe to multiple shard channels across different slots in separate call: OK -19:48:14> sunsubscribe without specifying any channel would unsubscribe all shard channels subscribed: OK -19:48:14> Verify Pub/Sub and Pub/Sub shard no overlap: OK -19:48:14> PUBSUB channels/shardchannels: OK +16:20:43> (init) Restart killed instances: OK +16:20:43> Cluster nodes are reachable: OK +16:20:43> Cluster nodes hard reset: OK +16:20:44> Cluster Join and auto-discovery test: OK +16:20:46> Before slots allocation, all nodes report cluster failure: OK +16:20:46> Create a 3 nodes cluster: OK +16:20:50> Pub/Sub shard basics: OK +16:20:51> client can't subscribe to multiple shard channels across different slots in same call: OK +16:20:51> client can subscribe to multiple shard channels across different slots in separate call: OK +16:20:51> sunsubscribe without specifying any channel would unsubscribe all shard channels subscribed: OK +16:20:51> Verify Pub/Sub and Pub/Sub shard no overlap: OK +16:20:51> PUBSUB channels/shardchannels: OK Testing unit: 28-cluster-shards.tcl -19:48:14> (init) Restart killed instances: OK -19:48:14> Cluster nodes are reachable: OK -19:48:14> Cluster nodes hard reset: OK -19:48:15> Cluster Join and auto-discovery test: OK -19:48:17> Before slots allocation, all nodes report cluster failure: OK -19:48:17> Create a 8 nodes cluster with 4 shards: OK -19:48:18> Cluster should start ok: OK -19:48:21> Set cluster hostnames and verify they are propagated: OK -19:48:23> Verify information about the shards: OK -19:48:24> Verify no slot shard: OK -19:48:24> Kill a node and tell the replica to immediately takeover: OK -19:48:25> Verify health as fail for killed node: OK -19:48:29> Verify that other nodes can correctly output the new master's slots: OK -19:48:29> Restarting primary node: OK -19:48:29> Instance #0 gets converted into a replica: OK -19:48:29> Test the replica reports a loading state while it's loading: OK -19:48:31> Regression test for a crash when calling SHARDS during handshake: OK -19:48:31> Cluster is up: OK -19:48:34> Shard ids are unique: OK -19:48:34> CLUSTER MYSHARDID reports same id for both primary and replica: OK -19:48:34> New replica receives primary's shard id: OK -19:48:34> CLUSTER MYSHARDID reports same shard id after shard restart: OK -19:48:37> CLUSTER MYSHARDID reports same shard id after cluster restart: OK +16:20:51> (init) Restart killed instances: OK +16:20:51> Cluster nodes are reachable: OK +16:20:51> Cluster nodes hard reset: OK +16:20:56> Cluster Join and auto-discovery test: OK +16:21:02> Before slots allocation, all nodes report cluster failure: OK +16:21:02> Create a 8 nodes cluster with 4 shards: OK +16:21:03> Cluster should start ok: OK +16:21:06> Set cluster hostnames and verify they are propagated: OK +16:21:08> Verify information about the shards: OK +16:21:14> Verify no slot shard: OK +16:21:14> Kill a node and tell the replica to immediately takeover: OK +16:21:17> Verify health as fail for killed node: OK +16:21:28> Verify that other nodes can correctly output the new master's slots: FAILED: Expected '' not equal to '' (context: type eval line 2 cmd {assert_not_equal {} [dict get [get_node_info_from_shard [R 4 CLUSTER MYID] 8 "shard"] slots]} proc ::test) +(Jumping to next unit after error) +FAILED: caught an error in the test +assertion:Expected '' not equal to '' (context: type eval line 2 cmd {assert_not_equal {} [dict get [get_node_info_from_shard [R 4 CLUSTER MYID] 8 "shard"] slots]} proc ::test) + while executing +"error "assertion:$expected_err $detail"" + (procedure "assert_failed" line 7) + invoked from within +"assert_failed "Expected '$value' not equal to '$expected'" $detail" + (procedure "assert_not_equal" line 3) + invoked from within +"assert_not_equal {} [dict get [get_node_info_from_shard [R 4 CLUSTER MYID] 8 "shard"] slots]" + ("uplevel" body line 2) + invoked from within +"uplevel 1 $code" Testing unit: 29-slot-migration-response.tcl -19:48:41> (init) Restart killed instances: OK -19:48:41> Cluster nodes are reachable: OK -19:48:41> Cluster nodes hard reset: OK -19:48:42> Cluster Join and auto-discovery test: OK -19:48:43> Before slots allocation, all nodes report cluster failure: OK -19:48:43> Create a 2 nodes cluster: OK -19:48:47> Cluster is up: OK -19:48:48> Set many keys in the cluster: OK -19:48:49> Test cluster responses during migration of slot x: OK +16:21:28> (init) Restart killed instances: redis/0 OK +16:21:33> Cluster nodes are reachable: OK +16:21:34> Cluster nodes hard reset: OK +16:21:35> Cluster Join and auto-discovery test: OK +16:21:37> Before slots allocation, all nodes report cluster failure: OK +16:21:37> Create a 2 nodes cluster: OK +16:21:42> Cluster is up: OK +16:21:42> Set many keys in the cluster: OK +16:21:44> Test cluster responses during migration of slot x: OK Cleaning up... -killing stale instance 1402438 -killing stale instance 1403540 -killing stale instance 1403752 -killing stale instance 1403939 -killing stale instance 1404168 -killing stale instance 1404356 -killing stale instance 1404558 -killing stale instance 1404717 -killing stale instance 1406011 -killing stale instance 1406021 -killing stale instance 1407516 -killing stale instance 1407526 -killing stale instance 1470417 -killing stale instance 1470436 -killing stale instance 1470462 -killing stale instance 1470474 -killing stale instance 1470496 -killing stale instance 1470522 -killing stale instance 1470547 -killing stale instance 1470584 -GOOD! No errors. +killing stale instance 2806998 +killing stale instance 2807450 +killing stale instance 2807924 +killing stale instance 2808102 +killing stale instance 2808177 +killing stale instance 2808438 +killing stale instance 2808625 +killing stale instance 2808678 +killing stale instance 2808738 +killing stale instance 2855174 +killing stale instance 2855421 +killing stale instance 2855540 +killing stale instance 2876791 +killing stale instance 2876954 +killing stale instance 2877175 +killing stale instance 2887831 +killing stale instance 2933966 +killing stale instance 3018479 +killing stale instance 3056798 +killing stale instance 3118110 +WARNING 2 test(s) failed. ./runtest-sentinel || true Starting sentinel #0 at port 20000 Starting sentinel #1 at port 20001 @@ -7003,269 +7135,269 @@ Starting redis #3 at port 30003 Starting redis #4 at port 30004 Testing unit: 00-base.tcl -19:48:52> (start-init) Flush config and compare rewrite config file lines: OK -19:48:53> (init) Restart killed instances: OK -19:48:53> (init) Remove old master entry from sentinels: OK -19:48:53> (init) Create a master-slaves cluster of 5 instances: OK -19:48:53> (init) Sentinels can start monitoring a master: OK -19:48:53> (init) Sentinels can talk with the master: OK -19:48:53> (init) Sentinels are able to auto-discover other sentinels: OK -19:48:55> (init) Sentinels are able to auto-discover slaves: OK -19:48:55> Sentinel command flag infrastructure works correctly: OK -19:48:55> SENTINEL HELP output the sentinel subcommand help: OK -19:48:55> SENTINEL MYID return the sentinel instance ID: OK -19:48:55> SENTINEL INFO CACHE returns the cached info: OK -19:48:55> SENTINEL PENDING-SCRIPTS returns the information about pending scripts: OK -19:48:55> SENTINEL MASTERS returns a list of monitored masters: OK -19:48:55> SENTINEL SENTINELS returns a list of sentinel instances: OK -19:48:55> SENTINEL SLAVES returns a list of the monitored replicas: OK -19:48:55> SENTINEL SIMULATE-FAILURE HELP list supported flags: OK -19:48:55> Basic failover works if the master is down: OK -19:48:59> New master 127.0.0.1:30002 role matches: OK -19:48:59> All the other slaves now point to the new master: OK -19:48:59> The old master eventually gets reconfigured as a slave: OK -19:49:09> ODOWN is not possible without N (quorum) Sentinels reports: OK -19:49:09> Failover is not possible without majority agreement: OK -19:49:10> Failover works if we configure for absolute agreement: OK -19:49:14> New master 127.0.0.1:30000 role matches: OK -19:49:14> SENTINEL RESET can resets the master: OK +16:21:48> (start-init) Flush config and compare rewrite config file lines: OK +16:21:48> (init) Restart killed instances: OK +16:21:48> (init) Remove old master entry from sentinels: OK +16:21:48> (init) Create a master-slaves cluster of 5 instances: OK +16:21:48> (init) Sentinels can start monitoring a master: OK +16:21:48> (init) Sentinels can talk with the master: OK +16:21:48> (init) Sentinels are able to auto-discover other sentinels: OK +16:21:50> (init) Sentinels are able to auto-discover slaves: OK +16:21:50> Sentinel command flag infrastructure works correctly: OK +16:21:50> SENTINEL HELP output the sentinel subcommand help: OK +16:21:50> SENTINEL MYID return the sentinel instance ID: OK +16:21:50> SENTINEL INFO CACHE returns the cached info: OK +16:21:50> SENTINEL PENDING-SCRIPTS returns the information about pending scripts: OK +16:21:50> SENTINEL MASTERS returns a list of monitored masters: OK +16:21:50> SENTINEL SENTINELS returns a list of sentinel instances: OK +16:21:50> SENTINEL SLAVES returns a list of the monitored replicas: OK +16:21:50> SENTINEL SIMULATE-FAILURE HELP list supported flags: OK +16:21:50> Basic failover works if the master is down: OK +16:21:54> New master 127.0.0.1:30002 role matches: OK +16:21:54> All the other slaves now point to the new master: OK +16:21:54> The old master eventually gets reconfigured as a slave: OK +16:22:05> ODOWN is not possible without N (quorum) Sentinels reports: OK +16:22:06> Failover is not possible without majority agreement: OK +16:22:08> Failover works if we configure for absolute agreement: OK +16:22:12> New master 127.0.0.1:30003 role matches: OK +16:22:12> SENTINEL RESET can resets the master: OK Testing unit: 01-conf-update.tcl -19:49:14> (init) Restart killed instances: OK -19:49:14> (init) Remove old master entry from sentinels: OK -19:49:14> (init) Create a master-slaves cluster of 5 instances: OK -19:49:14> (init) Sentinels can start monitoring a master: OK -19:49:14> (init) Sentinels can talk with the master: OK -19:49:14> (init) Sentinels are able to auto-discover other sentinels: OK -19:49:16> (init) Sentinels are able to auto-discover slaves: OK -19:49:16> We can failover with Sentinel 1 crashed: OK -19:49:21> After Sentinel 1 is restarted, its config gets updated: OK -19:49:21> New master 127.0.0.1:30001 role matches: OK -19:49:21> Update log level: OK +16:22:12> (init) Restart killed instances: OK +16:22:12> (init) Remove old master entry from sentinels: OK +16:22:12> (init) Create a master-slaves cluster of 5 instances: OK +16:22:12> (init) Sentinels can start monitoring a master: OK +16:22:12> (init) Sentinels can talk with the master: OK +16:22:13> (init) Sentinels are able to auto-discover other sentinels: OK +16:22:14> (init) Sentinels are able to auto-discover slaves: OK +16:22:15> We can failover with Sentinel 1 crashed: OK +16:22:19> After Sentinel 1 is restarted, its config gets updated: OK +16:22:19> New master 127.0.0.1:30002 role matches: OK +16:22:19> Update log level: OK Testing unit: 02-slaves-reconf.tcl -19:49:21> (init) Restart killed instances: OK -19:49:21> (init) Remove old master entry from sentinels: OK -19:49:21> (init) Create a master-slaves cluster of 5 instances: OK -19:49:21> (init) Sentinels can start monitoring a master: OK -19:49:21> (init) Sentinels can talk with the master: OK -19:49:21> (init) Sentinels are able to auto-discover other sentinels: OK -19:49:23> (init) Sentinels are able to auto-discover slaves: OK -19:49:23> Check that slaves replicate from current master: OK -19:49:23> Crash the master and force a failover: OK -19:49:27> Check that slaves replicate from current master: OK -19:49:28> Kill a slave instance: OK -19:49:28> Crash the master and force a failover: OK -19:49:31> Check that slaves replicate from current master: OK -19:49:31> Wait for failover to end: OK -19:49:32> Restart killed slave and test replication of slaves again...: OK -19:49:32> Check that slaves replicate from current master: OK +16:22:19> (init) Restart killed instances: OK +16:22:19> (init) Remove old master entry from sentinels: OK +16:22:19> (init) Create a master-slaves cluster of 5 instances: OK +16:22:19> (init) Sentinels can start monitoring a master: OK +16:22:20> (init) Sentinels can talk with the master: OK +16:22:20> (init) Sentinels are able to auto-discover other sentinels: OK +16:22:22> (init) Sentinels are able to auto-discover slaves: OK +16:22:22> Check that slaves replicate from current master: OK +16:22:22> Crash the master and force a failover: OK +16:22:26> Check that slaves replicate from current master: OK +16:22:37> Kill a slave instance: OK +16:22:37> Crash the master and force a failover: OK +16:22:41> Check that slaves replicate from current master: OK +16:22:41> Wait for failover to end: OK +16:22:42> Restart killed slave and test replication of slaves again...: OK +16:22:42> Check that slaves replicate from current master: OK Testing unit: 03-runtime-reconf.tcl -19:49:42> (init) Restart killed instances: OK -19:49:42> (init) Remove old master entry from sentinels: OK -19:49:42> (init) Create a master-slaves cluster of 5 instances: OK -19:49:43> (init) Sentinels can start monitoring a master: OK -19:49:43> (init) Sentinels can talk with the master: OK -19:49:43> (init) Sentinels are able to auto-discover other sentinels: OK -19:49:43> (init) Sentinels are able to auto-discover slaves: OK -19:49:43> Sentinels (re)connection following SENTINEL SET mymaster auth-pass: OK -19:49:44> Sentinels (re)connection following master ACL change: OK -19:49:47> Set parameters in normal case: OK -19:49:47> Set parameters in normal case with bad format: OK -19:49:47> Sentinel Set with other error situations: OK +16:22:52> (init) Restart killed instances: OK +16:22:52> (init) Remove old master entry from sentinels: OK +16:22:52> (init) Create a master-slaves cluster of 5 instances: OK +16:22:52> (init) Sentinels can start monitoring a master: OK +16:22:52> (init) Sentinels can talk with the master: OK +16:22:52> (init) Sentinels are able to auto-discover other sentinels: OK +16:22:52> (init) Sentinels are able to auto-discover slaves: OK +16:22:52> Sentinels (re)connection following SENTINEL SET mymaster auth-pass: OK +16:22:54> Sentinels (re)connection following master ACL change: OK +16:22:56> Set parameters in normal case: OK +16:22:56> Set parameters in normal case with bad format: OK +16:22:56> Sentinel Set with other error situations: OK Testing unit: 04-slave-selection.tcl Testing unit: 05-manual.tcl -19:49:47> (init) Restart killed instances: OK -19:49:47> (init) Remove old master entry from sentinels: OK -19:49:47> (init) Create a master-slaves cluster of 5 instances: OK -19:49:47> (init) Sentinels can start monitoring a master: OK -19:49:47> (init) Sentinels can talk with the master: OK -19:49:47> (init) Sentinels are able to auto-discover other sentinels: OK -19:49:49> (init) Sentinels are able to auto-discover slaves: OK -19:49:49> Manual failover works: OK -19:49:50> New master 127.0.0.1:30001 role matches: OK -19:49:50> All the other slaves now point to the new master: OK -19:49:50> The old master eventually gets reconfigured as a slave: OK -19:49:54> (init) Restart killed instances: OK -19:49:54> (init) Remove old master entry from sentinels: OK -19:49:54> (init) Create a master-slaves cluster of 5 instances: OK -19:49:54> (init) Sentinels can start monitoring a master: OK -19:49:54> (init) Sentinels can talk with the master: OK -19:49:54> (init) Sentinels are able to auto-discover other sentinels: OK -19:49:55> (init) Sentinels are able to auto-discover slaves: OK -19:49:55> SENTINEL SIMULATE-FAILURE crash-after-election works: OK -19:49:55> (init) Restart killed instances: OK -19:49:55> (init) Remove old master entry from sentinels: OK -19:49:55> (init) Create a master-slaves cluster of 5 instances: OK -19:49:55> (init) Sentinels can start monitoring a master: OK -19:49:55> (init) Sentinels can talk with the master: OK -19:49:55> (init) Sentinels are able to auto-discover other sentinels: OK -19:49:57> (init) Sentinels are able to auto-discover slaves: OK -19:49:57> SENTINEL SIMULATE-FAILURE crash-after-promotion works: OK +16:22:56> (init) Restart killed instances: OK +16:22:56> (init) Remove old master entry from sentinels: OK +16:22:56> (init) Create a master-slaves cluster of 5 instances: OK +16:22:56> (init) Sentinels can start monitoring a master: OK +16:22:56> (init) Sentinels can talk with the master: OK +16:22:56> (init) Sentinels are able to auto-discover other sentinels: OK +16:22:58> (init) Sentinels are able to auto-discover slaves: OK +16:22:58> Manual failover works: OK +16:23:00> New master 127.0.0.1:30002 role matches: OK +16:23:00> All the other slaves now point to the new master: OK +16:23:00> The old master eventually gets reconfigured as a slave: OK +16:23:04> (init) Restart killed instances: OK +16:23:04> (init) Remove old master entry from sentinels: OK +16:23:04> (init) Create a master-slaves cluster of 5 instances: OK +16:23:04> (init) Sentinels can start monitoring a master: OK +16:23:04> (init) Sentinels can talk with the master: OK +16:23:04> (init) Sentinels are able to auto-discover other sentinels: OK +16:23:05> (init) Sentinels are able to auto-discover slaves: OK +16:23:05> SENTINEL SIMULATE-FAILURE crash-after-election works: OK +16:23:05> (init) Restart killed instances: OK +16:23:05> (init) Remove old master entry from sentinels: OK +16:23:05> (init) Create a master-slaves cluster of 5 instances: OK +16:23:05> (init) Sentinels can start monitoring a master: OK +16:23:05> (init) Sentinels can talk with the master: OK +16:23:05> (init) Sentinels are able to auto-discover other sentinels: OK +16:23:07> (init) Sentinels are able to auto-discover slaves: OK +16:23:07> SENTINEL SIMULATE-FAILURE crash-after-promotion works: OK Testing unit: 06-ckquorum.tcl -19:49:59> (init) Restart killed instances: OK -19:49:59> (init) Remove old master entry from sentinels: OK -19:49:59> (init) Create a master-slaves cluster of 5 instances: OK -19:49:59> (init) Sentinels can start monitoring a master: OK -19:49:59> (init) Sentinels can talk with the master: OK -19:49:59> (init) Sentinels are able to auto-discover other sentinels: OK -19:50:01> (init) Sentinels are able to auto-discover slaves: OK -19:50:01> CKQUORUM reports OK and the right amount of Sentinels: OK -19:50:01> CKQUORUM detects quorum cannot be reached: OK -19:50:01> CKQUORUM detects failover authorization cannot be reached: OK +16:23:08> (init) Restart killed instances: OK +16:23:08> (init) Remove old master entry from sentinels: OK +16:23:08> (init) Create a master-slaves cluster of 5 instances: OK +16:23:08> (init) Sentinels can start monitoring a master: OK +16:23:09> (init) Sentinels can talk with the master: OK +16:23:09> (init) Sentinels are able to auto-discover other sentinels: OK +16:23:11> (init) Sentinels are able to auto-discover slaves: OK +16:23:11> CKQUORUM reports OK and the right amount of Sentinels: OK +16:23:11> CKQUORUM detects quorum cannot be reached: OK +16:23:11> CKQUORUM detects failover authorization cannot be reached: OK Testing unit: 07-down-conditions.tcl -19:50:03> (init) Restart killed instances: OK -19:50:03> (init) Remove old master entry from sentinels: OK -19:50:03> (init) Create a master-slaves cluster of 5 instances: OK -19:50:03> (init) Sentinels can start monitoring a master: OK -19:50:03> (init) Sentinels can talk with the master: OK -19:50:03> (init) Sentinels are able to auto-discover other sentinels: OK -19:50:05> (init) Sentinels are able to auto-discover slaves: OK -19:50:05> Crash the majority of Sentinels to prevent failovers for this unit: OK -19:50:05> SDOWN is triggered by non-responding but not crashed instance: OK -19:50:08> SDOWN is triggered by crashed instance: OK -19:50:10> SDOWN is triggered by masters advertising as slaves: OK -19:50:14> SDOWN is triggered by misconfigured instance replying with errors: OK -19:50:24> SDOWN is triggered if we rename PING to PONG: OK +16:23:13> (init) Restart killed instances: OK +16:23:13> (init) Remove old master entry from sentinels: OK +16:23:13> (init) Create a master-slaves cluster of 5 instances: OK +16:23:13> (init) Sentinels can start monitoring a master: OK +16:23:13> (init) Sentinels can talk with the master: OK +16:23:13> (init) Sentinels are able to auto-discover other sentinels: OK +16:23:15> (init) Sentinels are able to auto-discover slaves: OK +16:23:15> Crash the majority of Sentinels to prevent failovers for this unit: OK +16:23:16> SDOWN is triggered by non-responding but not crashed instance: OK +16:23:18> SDOWN is triggered by crashed instance: OK +16:23:21> SDOWN is triggered by masters advertising as slaves: OK +16:23:25> SDOWN is triggered by misconfigured instance replying with errors: OK +16:23:35> SDOWN is triggered if we rename PING to PONG: OK Testing unit: 08-hostname-conf.tcl -19:50:27> (pre-init) Configure instances and sentinel for hostname use: sentinel/0 sentinel/1 sentinel/2 OK -19:50:27> (init) Restart killed instances: OK -19:50:27> (init) Remove old master entry from sentinels: OK -19:50:27> (init) Create a master-slaves cluster of 5 instances: OK -19:50:27> (init) Sentinels can start monitoring a master: OK -19:50:27> (init) Sentinels can talk with the master: OK -19:50:27> (init) Sentinels are able to auto-discover other sentinels: OK -19:50:29> (init) Sentinels are able to auto-discover slaves: OK -19:50:29> Sentinel announces hostnames: OK -19:50:29> (post-cleanup) Configure instances and sentinel for IPs: OK +16:23:37> (pre-init) Configure instances and sentinel for hostname use: sentinel/0 sentinel/1 sentinel/2 OK +16:23:38> (init) Restart killed instances: OK +16:23:38> (init) Remove old master entry from sentinels: OK +16:23:38> (init) Create a master-slaves cluster of 5 instances: OK +16:23:38> (init) Sentinels can start monitoring a master: OK +16:23:38> (init) Sentinels can talk with the master: OK +16:23:38> (init) Sentinels are able to auto-discover other sentinels: OK +16:23:40> (init) Sentinels are able to auto-discover slaves: OK +16:23:40> Sentinel announces hostnames: OK +16:23:40> (post-cleanup) Configure instances and sentinel for IPs: OK Testing unit: 09-acl-support.tcl -19:50:29> (init) Restart killed instances: OK -19:50:29> (init) Remove old master entry from sentinels: OK -19:50:29> (init) Create a master-slaves cluster of 5 instances: OK -19:50:29> (init) Sentinels can start monitoring a master: OK -19:50:29> (init) Sentinels can talk with the master: OK -19:50:29> (init) Sentinels are able to auto-discover other sentinels: OK -19:50:31> (init) Sentinels are able to auto-discover slaves: OK -19:50:31> (post-init) Set up ACL configuration: OK -19:50:31> SENTINEL CONFIG SET handles on-the-fly credentials reconfiguration: OK -19:50:34> (post-cleanup) Tear down ACL configuration: OK +16:23:40> (init) Restart killed instances: OK +16:23:40> (init) Remove old master entry from sentinels: OK +16:23:40> (init) Create a master-slaves cluster of 5 instances: OK +16:23:40> (init) Sentinels can start monitoring a master: OK +16:23:40> (init) Sentinels can talk with the master: OK +16:23:40> (init) Sentinels are able to auto-discover other sentinels: OK +16:23:42> (init) Sentinels are able to auto-discover slaves: OK +16:23:42> (post-init) Set up ACL configuration: OK +16:23:42> SENTINEL CONFIG SET handles on-the-fly credentials reconfiguration: OK +16:23:45> (post-cleanup) Tear down ACL configuration: OK Testing unit: 10-replica-priority.tcl -19:50:34> (init) Restart killed instances: OK -19:50:34> (init) Remove old master entry from sentinels: OK -19:50:34> (init) Create a master-slaves cluster of 5 instances: OK -19:50:34> (init) Sentinels can start monitoring a master: OK -19:50:34> (init) Sentinels can talk with the master: OK -19:50:34> (init) Sentinels are able to auto-discover other sentinels: OK -19:50:36> (init) Sentinels are able to auto-discover slaves: OK -19:50:36> Check acceptable replica-priority values: OK -19:50:36> Set replica-announced=yes on all replicas: OK -19:50:36> Check sentinel replies with 4 replicas: OK -19:50:36> Set replica-announced=no on 2 replicas: OK -19:50:36> Check sentinel replies with 2 replicas: OK -19:50:37> Set replica-announced=yes on all replicas: OK -19:50:37> Check sentinel replies with 4 replicas: OK +16:23:46> (init) Restart killed instances: OK +16:23:46> (init) Remove old master entry from sentinels: OK +16:23:46> (init) Create a master-slaves cluster of 5 instances: OK +16:23:46> (init) Sentinels can start monitoring a master: OK +16:23:46> (init) Sentinels can talk with the master: OK +16:23:46> (init) Sentinels are able to auto-discover other sentinels: OK +16:23:48> (init) Sentinels are able to auto-discover slaves: OK +16:23:48> Check acceptable replica-priority values: OK +16:23:48> Set replica-announced=yes on all replicas: OK +16:23:48> Check sentinel replies with 4 replicas: OK +16:23:48> Set replica-announced=no on 2 replicas: OK +16:23:48> Check sentinel replies with 2 replicas: OK +16:23:48> Set replica-announced=yes on all replicas: OK +16:23:48> Check sentinel replies with 4 replicas: OK Testing unit: 11-port-0.tcl -19:50:37> (init) Restart killed instances: OK -19:50:37> (init) Remove old master entry from sentinels: OK -19:50:37> (init) Create a master-slaves cluster of 5 instances: OK -19:50:37> (init) Sentinels can start monitoring a master: OK -19:50:37> (init) Sentinels can talk with the master: OK -19:50:37> (init) Sentinels are able to auto-discover other sentinels: OK -19:50:37> (init) Sentinels are able to auto-discover slaves: OK -19:50:37> Start/Stop sentinel on same port with a different runID should not change the total number of sentinels: OK +16:23:48> (init) Restart killed instances: OK +16:23:48> (init) Remove old master entry from sentinels: OK +16:23:48> (init) Create a master-slaves cluster of 5 instances: OK +16:23:48> (init) Sentinels can start monitoring a master: OK +16:23:48> (init) Sentinels can talk with the master: OK +16:23:48> (init) Sentinels are able to auto-discover other sentinels: OK +16:23:48> (init) Sentinels are able to auto-discover slaves: OK +16:23:48> Start/Stop sentinel on same port with a different runID should not change the total number of sentinels: OK Testing unit: 12-master-reboot.tcl -19:50:38> (init) Restart killed instances: sentinel/4 OK -19:50:38> (init) Remove old master entry from sentinels: OK -19:50:38> (init) Create a master-slaves cluster of 5 instances: OK -19:50:38> (init) Sentinels can start monitoring a master: OK -19:50:38> (init) Sentinels can talk with the master: OK -19:50:38> (init) Sentinels are able to auto-discover other sentinels: OK -19:50:40> (init) Sentinels are able to auto-discover slaves: OK -19:50:40> Master reboot in very short time: OK -19:50:48> New master 127.0.0.1:30001 role matches: OK -19:50:48> All the other slaves now point to the new master: OK -19:50:48> The old master eventually gets reconfigured as a slave: OK +16:23:50> (init) Restart killed instances: sentinel/4 OK +16:23:50> (init) Remove old master entry from sentinels: OK +16:23:50> (init) Create a master-slaves cluster of 5 instances: OK +16:23:50> (init) Sentinels can start monitoring a master: OK +16:23:50> (init) Sentinels can talk with the master: OK +16:23:50> (init) Sentinels are able to auto-discover other sentinels: OK +16:23:52> (init) Sentinels are able to auto-discover slaves: OK +16:23:52> Master reboot in very short time: OK +16:23:59> New master 127.0.0.1:30002 role matches: OK +16:23:59> All the other slaves now point to the new master: OK +16:23:59> The old master eventually gets reconfigured as a slave: OK Testing unit: 13-info-command.tcl -19:50:58> (init) Restart killed instances: OK -19:50:58> (init) Remove old master entry from sentinels: OK -19:50:58> (init) Create a master-slaves cluster of 5 instances: OK -19:50:58> (init) Sentinels can start monitoring a master: OK -19:50:58> (init) Sentinels can talk with the master: OK -19:50:58> (init) Sentinels are able to auto-discover other sentinels: OK -19:51:00> (init) Sentinels are able to auto-discover slaves: OK -19:51:00> info command with at most one argument: OK -19:51:00> info command with one sub-section: OK -19:51:00> info command with multiple sub-sections: OK +16:24:37> (init) Restart killed instances: OK +16:24:37> (init) Remove old master entry from sentinels: OK +16:24:37> (init) Create a master-slaves cluster of 5 instances: OK +16:24:37> (init) Sentinels can start monitoring a master: OK +16:24:37> (init) Sentinels can talk with the master: OK +16:24:37> (init) Sentinels are able to auto-discover other sentinels: OK +16:24:39> (init) Sentinels are able to auto-discover slaves: OK +16:24:39> info command with at most one argument: OK +16:24:39> info command with one sub-section: OK +16:24:39> info command with multiple sub-sections: OK Testing unit: 14-debug-command.tcl -19:51:00> (init) Restart killed instances: OK -19:51:00> (init) Remove old master entry from sentinels: OK -19:51:00> (init) Create a master-slaves cluster of 5 instances: OK -19:51:00> (init) Sentinels can start monitoring a master: OK -19:51:00> (init) Sentinels can talk with the master: OK -19:51:00> (init) Sentinels are able to auto-discover other sentinels: OK -19:51:02> (init) Sentinels are able to auto-discover slaves: OK -19:51:02> Sentinel debug test with arguments and without argument: OK +16:24:39> (init) Restart killed instances: OK +16:24:39> (init) Remove old master entry from sentinels: OK +16:24:39> (init) Create a master-slaves cluster of 5 instances: OK +16:24:39> (init) Sentinels can start monitoring a master: OK +16:24:39> (init) Sentinels can talk with the master: OK +16:24:39> (init) Sentinels are able to auto-discover other sentinels: OK +16:24:41> (init) Sentinels are able to auto-discover slaves: OK +16:24:41> Sentinel debug test with arguments and without argument: OK Testing unit: 15-config-set-config-get.tcl -19:51:02> (init) Restart killed instances: OK -19:51:02> (init) Remove old master entry from sentinels: OK -19:51:02> (init) Create a master-slaves cluster of 5 instances: OK -19:51:02> (init) Sentinels can start monitoring a master: OK -19:51:02> (init) Sentinels can talk with the master: OK -19:51:02> (init) Sentinels are able to auto-discover other sentinels: OK -19:51:04> (init) Sentinels are able to auto-discover slaves: OK -19:51:04> SENTINEL CONFIG SET and SENTINEL CONFIG GET handles multiple variables: OK -19:51:04> SENTINEL CONFIG GET for duplicate and unknown variables: OK -19:51:04> SENTINEL CONFIG GET for patterns: OK -19:51:04> SENTINEL CONFIG SET duplicate variables: OK -19:51:04> SENTINEL CONFIG SET, one option does not exist: OK -19:51:04> SENTINEL CONFIG SET, one option with wrong value: OK -19:51:04> SENTINEL CONFIG SET, wrong number of arguments: OK +16:24:41> (init) Restart killed instances: OK +16:24:41> (init) Remove old master entry from sentinels: OK +16:24:41> (init) Create a master-slaves cluster of 5 instances: OK +16:24:41> (init) Sentinels can start monitoring a master: OK +16:24:41> (init) Sentinels can talk with the master: OK +16:24:41> (init) Sentinels are able to auto-discover other sentinels: OK +16:24:43> (init) Sentinels are able to auto-discover slaves: OK +16:24:43> SENTINEL CONFIG SET and SENTINEL CONFIG GET handles multiple variables: OK +16:24:43> SENTINEL CONFIG GET for duplicate and unknown variables: OK +16:24:43> SENTINEL CONFIG GET for patterns: OK +16:24:43> SENTINEL CONFIG SET duplicate variables: OK +16:24:43> SENTINEL CONFIG SET, one option does not exist: OK +16:24:43> SENTINEL CONFIG SET, one option with wrong value: OK +16:24:43> SENTINEL CONFIG SET, wrong number of arguments: OK Cleaning up... -killing stale instance 1471641 -killing stale instance 1471659 -killing stale instance 1473669 -killing stale instance 1476244 -killing stale instance 1477320 -killing stale instance 1479964 -killing stale instance 1481191 -killing stale instance 1488021 -killing stale instance 1488071 -killing stale instance 1488109 -killing stale instance 1494810 -killing stale instance 1495637 -killing stale instance 1497970 +killing stale instance 3126170 +killing stale instance 3126352 +killing stale instance 3126452 +killing stale instance 3142284 +killing stale instance 3150643 +killing stale instance 3158280 +killing stale instance 3162143 +killing stale instance 3168477 +killing stale instance 3168501 +killing stale instance 3168523 +killing stale instance 3171189 +killing stale instance 3171391 +killing stale instance 3171994 GOOD! No errors. # Clean up after gen-test-certs.sh rm -rf tests/tls || true # Other cleanup find tests/tmp ! -name .gitignore -type f -exec rm -rfv {} + -removed 'tests/tmp/cli.865542.1081' -removed 'tests/tmp/server6.log.865542.974/stderr' -removed 'tests/tmp/server6.log.865542.974/stdout' -removed 'tests/tmp/server5.log.865542.971/stderr' -removed 'tests/tmp/server5.log.865542.971/stdout' -removed 'tests/tmp/server4.log.865542.968/stderr' -removed 'tests/tmp/server4.log.865542.968/stdout' -removed 'tests/tmp/server3.log.865542.965/stderr' -removed 'tests/tmp/server3.log.865542.965/stdout' -removed 'tests/tmp/server2.log.865542.962/stderr' -removed 'tests/tmp/server2.log.865542.962/stdout' -removed 'tests/tmp/server1.log.865542.959/stderr' -removed 'tests/tmp/server1.log.865542.959/stdout' -removed 'tests/tmp/duplicate.acl.865542.24/stderr' -removed 'tests/tmp/duplicate.acl.865542.24/stdout' -removed 'tests/tmp/duplicate.acl.865542.24/default.conf' -removed 'tests/tmp/duplicate.acl.865542.24/user.acl' -removed 'tests/tmp/resetchannels.acl.865542.17/stderr' -removed 'tests/tmp/resetchannels.acl.865542.17/stdout' -removed 'tests/tmp/resetchannels.acl.865542.17/default.conf' -removed 'tests/tmp/resetchannels.acl.865542.17/nodefaultuser.acl' -removed 'tests/tmp/resetchannels.acl.865542.14/stderr' -removed 'tests/tmp/resetchannels.acl.865542.14/stdout' -removed 'tests/tmp/resetchannels.acl.865542.14/default.conf' -removed 'tests/tmp/resetchannels.acl.865542.14/nodefaultuser.acl' -removed 'tests/tmp/selectors.acl.865542.3/stderr' -removed 'tests/tmp/selectors.acl.865542.3/stdout' -removed 'tests/tmp/selectors.acl.865542.3/default.conf' -removed 'tests/tmp/selectors.acl.865542.3/userwithselectors.acl' +removed 'tests/tmp/cli.2283897.1081' +removed 'tests/tmp/server6.log.2283897.974/stderr' +removed 'tests/tmp/server6.log.2283897.974/stdout' +removed 'tests/tmp/server5.log.2283897.971/stderr' +removed 'tests/tmp/server5.log.2283897.971/stdout' +removed 'tests/tmp/server4.log.2283897.968/stderr' +removed 'tests/tmp/server4.log.2283897.968/stdout' +removed 'tests/tmp/server3.log.2283897.965/stderr' +removed 'tests/tmp/server3.log.2283897.965/stdout' +removed 'tests/tmp/server2.log.2283897.962/stderr' +removed 'tests/tmp/server2.log.2283897.962/stdout' +removed 'tests/tmp/server1.log.2283897.959/stderr' +removed 'tests/tmp/server1.log.2283897.959/stdout' +removed 'tests/tmp/duplicate.acl.2283897.24/stderr' +removed 'tests/tmp/duplicate.acl.2283897.24/stdout' +removed 'tests/tmp/duplicate.acl.2283897.24/default.conf' +removed 'tests/tmp/duplicate.acl.2283897.24/user.acl' +removed 'tests/tmp/resetchannels.acl.2283897.17/stderr' +removed 'tests/tmp/resetchannels.acl.2283897.17/stdout' +removed 'tests/tmp/resetchannels.acl.2283897.17/default.conf' +removed 'tests/tmp/resetchannels.acl.2283897.17/nodefaultuser.acl' +removed 'tests/tmp/resetchannels.acl.2283897.14/stderr' +removed 'tests/tmp/resetchannels.acl.2283897.14/stdout' +removed 'tests/tmp/resetchannels.acl.2283897.14/default.conf' +removed 'tests/tmp/resetchannels.acl.2283897.14/nodefaultuser.acl' +removed 'tests/tmp/selectors.acl.2283897.3/stderr' +removed 'tests/tmp/selectors.acl.2283897.3/stdout' +removed 'tests/tmp/selectors.acl.2283897.3/default.conf' +removed 'tests/tmp/selectors.acl.2283897.3/userwithselectors.acl' make[1]: Leaving directory '/build/reproducible-path/redis-8.0.2' create-stamp debian/debhelper-build-stamp dh_prep @@ -7301,17 +7433,17 @@ diversion by libc6 from: /lib/ld-linux-aarch64.so.1 dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libc6 to: /lib/ld-linux-aarch64.so.1.usr-is-merged -dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/redis-tools/usr/bin/redis-check-rdb debian/redis-tools/usr/bin/redis-check-aof debian/redis-tools/usr/bin/redis-cli debian/redis-tools/usr/bin/redis-benchmark were not linked against libatomic.so.1 (they use none of the library's symbols) -dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/redis-tools/usr/bin/redis-check-rdb debian/redis-tools/usr/bin/redis-check-aof debian/redis-tools/usr/bin/redis-cli debian/redis-tools/usr/bin/redis-benchmark were not linked against liblzf.so.1 (they use none of the library's symbols) +dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/redis-tools/usr/bin/redis-cli debian/redis-tools/usr/bin/redis-check-aof debian/redis-tools/usr/bin/redis-benchmark debian/redis-tools/usr/bin/redis-check-rdb were not linked against liblzf.so.1 (they use none of the library's symbols) +dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/redis-tools/usr/bin/redis-cli debian/redis-tools/usr/bin/redis-check-aof debian/redis-tools/usr/bin/redis-benchmark debian/redis-tools/usr/bin/redis-check-rdb were not linked against libatomic.so.1 (they use none of the library's symbols) dh_installdeb dh_gencontrol dh_md5sums dh_builddeb -dpkg-deb: building package 'redis' in '../redis_8.0.2-3_all.deb'. -dpkg-deb: building package 'redis-tools' in '../redis-tools_8.0.2-3_arm64.deb'. -dpkg-deb: building package 'redis-server' in '../redis-server_8.0.2-3_arm64.deb'. dpkg-deb: building package 'redis-sentinel' in '../redis-sentinel_8.0.2-3_arm64.deb'. +dpkg-deb: building package 'redis' in '../redis_8.0.2-3_all.deb'. dpkg-deb: building package 'redis-tools-dbgsym' in '../redis-tools-dbgsym_8.0.2-3_arm64.deb'. +dpkg-deb: building package 'redis-server' in '../redis-server_8.0.2-3_arm64.deb'. +dpkg-deb: building package 'redis-tools' in '../redis-tools_8.0.2-3_arm64.deb'. dpkg-genbuildinfo --build=binary -O../redis_8.0.2-3_arm64.buildinfo dpkg-genchanges --build=binary -O../redis_8.0.2-3_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -7319,12 +7451,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/2275226/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/2275226/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/808866 and its subdirectories -I: Current time: Wed Aug 26 19:51:17 -12 2026 -I: pbuilder-time-stamp: 1787817077 +I: removing directory /srv/workspace/pbuilder/2275226 and its subdirectories +I: Current time: Fri Jul 25 16:25:08 +14 2025 +I: pbuilder-time-stamp: 1753410308