Diff of the two buildlogs: -- --- b1/build.log 2025-01-12 11:44:32.550006570 +0000 +++ b2/build.log 2025-01-12 13:00:44.764772636 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sat Jan 11 22:43:36 -12 2025 -I: pbuilder-time-stamp: 1736678616 +I: Current time: Mon Jan 13 01:44:58 +14 2025 +I: pbuilder-time-stamp: 1736682298 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -29,52 +29,84 @@ dpkg-source: info: applying 0005-Fix-hiredict-imports.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/9904/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/13419/tmp/hooks/D01_modify_environment starting +debug: Running on virt32a. +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 Jan 12 11:45 /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/13419/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/13419/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='armhf' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='armhf' + 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]="arm-unknown-linux-gnueabihf") + 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=armhf + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=4 ' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=arm + HOST_ARCH=armhf IFS=' ' - INVOCATION_ID='59969689d96a419194dd501e8a6d81ee' - 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='9904' - PS1='# ' - PS2='> ' + INVOCATION_ID=393547fadc054d4383295ea4ff010732 + LANG=C + LANGUAGE=it_CH:it + LC_ALL=C + MACHTYPE=arm-unknown-linux-gnueabihf + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnueabihf + 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=13419 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.FnrhpLQx/pbuilderrc_G4RY --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.FnrhpLQx/b1 --logfile b1/build.log redict_7.3.2+ds-1.dsc' - SUDO_GID='110' - SUDO_UID='103' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://10.0.0.15:3142/' + 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.FnrhpLQx/pbuilderrc_cU6r --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.FnrhpLQx/b2 --logfile b2/build.log redict_7.3.2+ds-1.dsc' + SUDO_GID=113 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://10.0.0.15:3142/ I: uname -a - Linux virt64z 6.1.0-29-arm64 #1 SMP Debian 6.1.123-1 (2025-01-02) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-29-armmp-lpae #1 SMP Debian 6.1.123-1 (2025-01-02) armv7l GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/9904/tmp/hooks/D02_print_environment finished +I: user script /srv/workspace/pbuilder/13419/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -196,7 +228,7 @@ Get: 58 http://deb.debian.org/debian trixie/main armhf tcl8.6 armhf 8.6.15+dfsg-2 [120 kB] Get: 59 http://deb.debian.org/debian trixie/main armhf tcl armhf 8.6.14 [4028 B] Get: 60 http://deb.debian.org/debian trixie/main armhf tcl-tls armhf 1.7.22-3+b3 [66.2 kB] -Fetched 28.7 MB in 3s (10.6 MB/s) +Fetched 28.7 MB in 1s (24.1 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 ... 19567 files and directories currently installed.) @@ -398,8 +430,8 @@ Setting up tzdata (2024b-4) ... Current default time zone: 'Etc/UTC' -Local time is now: Sun Jan 12 10:44:10 UTC 2025. -Universal Time is now: Sun Jan 12 10:44:10 UTC 2025. +Local time is now: Sun Jan 12 11:45:45 UTC 2025. +Universal Time is now: Sun Jan 12 11:45:45 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libjemalloc-dev (5.3.0-2+b2) ... @@ -461,7 +493,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/redict-7.3.2+ds/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../redict_7.3.2+ds-1_source.changes +I: user script /srv/workspace/pbuilder/13419/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/13419/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/redict-7.3.2+ds/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../redict_7.3.2+ds-1_source.changes dpkg-buildpackage: info: source package redict dpkg-buildpackage: info: source version 7.3.2+ds-1 dpkg-buildpackage: info: source distribution unstable @@ -471,7 +507,7 @@ debian/rules clean dh clean --with=installsysusers dh_auto_clean - make -j3 distclean + make -j4 distclean make[1]: Entering directory '/build/reproducible-path/redict-7.3.2+ds' make -C src distclean make[2]: Entering directory '/build/reproducible-path/redict-7.3.2+ds/src' @@ -480,11 +516,11 @@ (cd ../deps && make distclean) make[3]: Entering directory '/build/reproducible-path/redict-7.3.2+ds/deps' (cd hiredict && make clean) > /dev/null || true -/bin/sh: 1: cd: can't cd to hiredict +/bin/sh: line 1: cd: hiredict: No such file or directory (cd linenoise && make clean) > /dev/null || true (cd lua && make clean) > /dev/null || true (cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true -/bin/sh: 1: cd: can't cd to jemalloc +/bin/sh: line 1: cd: jemalloc: No such file or directory (cd hdr_histogram && make clean) > /dev/null || true (cd fpconv && make clean) > /dev/null || true (rm -f .make-*) @@ -509,7 +545,7 @@ debian/rules override_dh_auto_build make[1]: Entering directory '/build/reproducible-path/redict-7.3.2+ds' dh_auto_build -- V=1 USE_SYSTEM_JEMALLOC=yes USE_SYSTEMD=yes USE_JEMALLOC=yes USE_SYSTEM_HIREDICT=yes - make -j3 "INSTALL=install --strip-program=true" V=1 USE_SYSTEM_JEMALLOC=yes USE_SYSTEMD=yes USE_JEMALLOC=yes USE_SYSTEM_HIREDICT=yes + make -j4 "INSTALL=install --strip-program=true" V=1 USE_SYSTEM_JEMALLOC=yes USE_SYSTEMD=yes USE_JEMALLOC=yes USE_SYSTEM_HIREDICT=yes make[2]: Entering directory '/build/reproducible-path/redict-7.3.2+ds' make -C src all make[3]: Entering directory '/build/reproducible-path/redict-7.3.2+ds/src' @@ -556,16 +592,18 @@ (echo "-Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf" > .make-ldflags) MAKE linenoise MAKE lua -MAKE hdr_histogram cd linenoise && make cd lua/src && make all CFLAGS="-Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -O2" MYLDFLAGS="-Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf" AR="ar rc" +MAKE hdr_histogram cd hdr_histogram && make make[5]: Entering directory '/build/reproducible-path/redict-7.3.2+ds/deps/linenoise' cc -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -c linenoise.c make[5]: Entering directory '/build/reproducible-path/redict-7.3.2+ds/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/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -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/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lcode.o lcode.c make[5]: Entering directory '/build/reproducible-path/redict-7.3.2+ds/deps/hdr_histogram' cc -std=c99 -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -DHDR_MALLOC_INCLUDE=\"hdr_redis_malloc.h\" -c hdr_histogram.c +cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldebug.o ldebug.c make[5]: Leaving directory '/build/reproducible-path/redict-7.3.2+ds/deps/linenoise' MAKE fpconv cd fpconv && make @@ -573,11 +611,9 @@ cc -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -c fpconv_dtoa.c ar rcs libhdrhistogram.a hdr_histogram.o make[5]: Leaving directory '/build/reproducible-path/redict-7.3.2+ds/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/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lcode.o lcode.c -cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldebug.o ldebug.c +cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldo.o ldo.c ar rcs libfpconv.a fpconv_dtoa.o make[5]: Leaving directory '/build/reproducible-path/redict-7.3.2+ds/deps/fpconv' -cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldo.o ldo.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldump.o ldump.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lfunc.o lfunc.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lgc.o lgc.c @@ -621,13 +657,13 @@ cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o threads_mngr.o -c threads_mngr.c cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o adlist.o -c adlist.c cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o quicklist.o -c quicklist.c +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o ae.o -c ae.c In file included from threads_mngr.h:10, from threads_mngr.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o ae.o -c ae.c In file included from monotonic.h:20, from ae.h:11, from ae.c:8: @@ -648,12 +684,12 @@ 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o server.o -c server.c In file included from kvstore.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o server.o -c server.c In file included from server.h:11, from server.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined @@ -680,13 +716,13 @@ cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o ziplist.o -c ziplist.c cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o release.o -c release.c cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o networking.o -c networking.c +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o util.o -c util.c In file included from server.h:11, from networking.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o util.o -c util.c In file included from util.c:9: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE @@ -735,13 +771,13 @@ | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o t_set.o -c t_set.c +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o t_zset.o -c t_zset.c In file included from server.h:11, from t_set.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o t_zset.o -c t_zset.c In file included from server.h:11, from t_zset.c:37: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined @@ -784,13 +820,13 @@ | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o debug.o -c debug.c +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o sort.o -c sort.c In file included from server.h:11, from debug.c:9: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o sort.o -c sort.c In file included from server.h:11, from sort.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined @@ -813,13 +849,13 @@ | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o cluster_legacy.o -c cluster_legacy.c +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o crc16.o -c crc16.c In file included from server.h:11, from cluster_legacy.c:13: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o crc16.o -c crc16.c In file included from server.h:11, from crc16.c:1: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined @@ -828,13 +864,13 @@ : note: this is the location of the previous definition cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o endianconv.o -c endianconv.c cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o slowlog.o -c slowlog.c -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o eval.o -c eval.c In file included from server.h:11, from slowlog.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o eval.o -c eval.c In file included from server.h:11, from eval.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined @@ -857,28 +893,28 @@ cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o rand.o -c rand.c cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o memtest.o -c memtest.c cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o syscheck.o -c syscheck.c -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o crcspeed.o -c crcspeed.c In file included from syscheck.c:9: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o crcspeed.o -c crcspeed.c cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o crc64.o -c crc64.c cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o bitops.o -c bitops.c +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o sentinel.o -c sentinel.c In file included from server.h:11, from bitops.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o sentinel.o -c sentinel.c -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o notify.o -c notify.c In file included from server.h:11, from sentinel.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o notify.o -c notify.c In file included from server.h:11, from notify.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined @@ -887,13 +923,13 @@ : note: this is the location of the previous definition cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o setproctitle.o -c setproctitle.c cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o blocked.o -c blocked.c -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o hyperloglog.o -c hyperloglog.c In file included from server.h:11, from blocked.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o hyperloglog.o -c hyperloglog.c In file included from server.h:11, from hyperloglog.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined @@ -915,19 +951,27 @@ | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o redict-check-rdb.o -c redict-check-rdb.c +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o redict-check-aof.o -c redict-check-aof.c In file included from server.h:11, from redict-check-rdb.c:9: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o redict-check-aof.o -c redict-check-aof.c In file included from server.h:11, from redict-check-aof.c:9: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o geo.o -c geo.c +In file included from server.h:11, + from geo.h:10, + from geo.c:9: +fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined + 36 | #define _LARGEFILE_SOURCE + | ^~~~~~~~~~~~~~~~~ +: note: this is the location of the previous definition redict-check-aof.c: In function 'processAnnotations': redict-check-aof.c:173:59: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'time_t' {aka 'long long int'} [-Wformat=] 173 | printf("AOF %s has nothing before timestamp %ld, " @@ -977,11 +1021,10 @@ | ~~~~~~~~~~~~ | | | time_t {aka long long int} -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o geo.o -c geo.c cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o lazyfree.o -c lazyfree.c +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o module.o -c module.c In file included from server.h:11, - from geo.h:10, - from geo.c:9: + from module.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ @@ -992,13 +1035,6 @@ 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o module.o -c module.c -In file included from server.h:11, - from module.c:8: -fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined - 36 | #define _LARGEFILE_SOURCE - | ^~~~~~~~~~~~~~~~~ -: note: this is the location of the previous definition cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o evict.o -c evict.c In file included from server.h:11, from evict.c:8: @@ -1028,13 +1064,13 @@ | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o defrag.o -c defrag.c +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o siphash.o -c siphash.c In file included from server.h:11, from defrag.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o siphash.o -c siphash.c cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o rax.o -c rax.c cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o t_stream.o -c t_stream.c In file included from server.h:11, @@ -1051,8 +1087,8 @@ fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o lolwut5.o -c lolwut5.c : note: this is the location of the previous definition +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o lolwut5.o -c lolwut5.c In file included from server.h:11, from lolwut5.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined @@ -1067,13 +1103,13 @@ | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o acl.o -c acl.c +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o tracking.o -c tracking.c In file included from server.h:11, from acl.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o tracking.o -c tracking.c In file included from server.h:11, from tracking.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined @@ -1096,13 +1132,13 @@ : note: this is the location of the previous definition cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o sha256.o -c sha256.c cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o timeout.o -c timeout.c -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o setcpuaffinity.o -c setcpuaffinity.c In file included from server.h:11, from timeout.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o setcpuaffinity.o -c setcpuaffinity.c cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o monotonic.o -c monotonic.c In file included from monotonic.h:20, from monotonic.c:7: @@ -1112,13 +1148,13 @@ : note: this is the location of the previous definition cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o mt19937-64.o -c mt19937-64.c cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o resp_parser.o -c resp_parser.c +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o call_reply.o -c call_reply.c In file included from server.h:11, from resp_parser.c:37: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o call_reply.o -c call_reply.c cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o script_lua.o -c script_lua.c In file included from server.h:11, from call_reply.c:8: @@ -1126,6 +1162,7 @@ 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o script.o -c script.c In file included from server.h:11, from script_lua.h:29, from script_lua.c:8: @@ -1133,7 +1170,6 @@ 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o script.o -c script.c In file included from server.h:11, from script.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined @@ -1149,7 +1185,6 @@ | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o function_lua.o -c function_lua.c -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o commands.o -c commands.c In file included from server.h:11, from functions.h:29, from function_lua.c:20: @@ -1157,6 +1192,7 @@ 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o commands.o -c commands.c In file included from server.h:11, from commands.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined @@ -1193,21 +1229,21 @@ : note: this is the location of the previous definition cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o redictassert.o -c redictassert.c cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o cli_common.o -c cli_common.c +cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o cli_commands.o -c cli_commands.c In file included from cli_common.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition -cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o cli_commands.o -c cli_commands.c cc -pedantic -DREDICT_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/redict-7.3.2+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -I/usr/include/liblzf -funwind-tables -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -DUSE_SYSTEM_JEMALLOC -I/usr/include/jemalloc/include -D_FILE_OFFSET_BITS=64 -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o redict-benchmark.o -c redict-benchmark.c In file included from redict-benchmark.c:8: fmacros.h:36:9: warning: "_LARGEFILE_SOURCE" redefined 36 | #define _LARGEFILE_SOURCE | ^~~~~~~~~~~~~~~~~ : note: this is the location of the previous definition -cc -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -rdynamic -o redict-server threads_mngr.o adlist.o quicklist.o ae.o anet.o dict.o kvstore.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o cluster_legacy.o crc16.o endianconv.o slowlog.o eval.o bio.o rio.o rand.o memtest.o syscheck.o crcspeed.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redict-check-rdb.o redict-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o lolwut.o lolwut5.o lolwut6.o acl.o tracking.o socket.o tls.o sha256.o timeout.o setcpuaffinity.o monotonic.o mt19937-64.o resp_parser.o call_reply.o script_lua.o script.o functions.o function_lua.o commands.o strl.o connection.o unix.o logreqres.o ../deps/lua/src/liblua.a ../deps/hdr_histogram/libhdrhistogram.a ../deps/fpconv/libfpconv.a -ljemalloc -lm -ldl -pthread -lrt -lsystemd -lhiredict -lhiredict_ssl -lhiredict -lssl -lcrypto -cc -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -rdynamic -o redict-benchmark ae.o anet.o redict-benchmark.o adlist.o dict.o zmalloc.o redictassert.o release.o crcspeed.o crc64.o siphash.o crc16.o monotonic.o cli_common.o mt19937-64.o strl.o ../deps/hdr_histogram/libhdrhistogram.a -ljemalloc -lm -ldl -pthread -lrt -lsystemd -lhiredict -lhiredict_ssl -lhiredict -lssl -lcrypto -cc -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -rdynamic -o redict-cli anet.o adlist.o dict.o redict-cli.o zmalloc.o release.o ae.o redictassert.o crcspeed.o crc64.o siphash.o crc16.o monotonic.o cli_common.o mt19937-64.o strl.o cli_commands.o ../deps/linenoise/linenoise.o -ljemalloc -lm -ldl -pthread -lrt -lsystemd -lhiredict -lhiredict_ssl -lhiredict -lssl -lcrypto +cc -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -rdynamic -o redict-server threads_mngr.o adlist.o quicklist.o ae.o anet.o dict.o kvstore.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o cluster_legacy.o crc16.o endianconv.o slowlog.o eval.o bio.o rio.o rand.o memtest.o syscheck.o crcspeed.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redict-check-rdb.o redict-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o lolwut.o lolwut5.o lolwut6.o acl.o tracking.o socket.o tls.o sha256.o timeout.o setcpuaffinity.o monotonic.o mt19937-64.o resp_parser.o call_reply.o script_lua.o script.o functions.o function_lua.o commands.o strl.o connection.o unix.o logreqres.o ../deps/lua/src/liblua.a ../deps/hdr_histogram/libhdrhistogram.a ../deps/fpconv/libfpconv.a -ljemalloc -lm -latomic -ldl -pthread -lrt -lsystemd -lhiredict -lhiredict_ssl -lhiredict -lssl -lcrypto +cc -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -rdynamic -o redict-benchmark ae.o anet.o redict-benchmark.o adlist.o dict.o zmalloc.o redictassert.o release.o crcspeed.o crc64.o siphash.o crc16.o monotonic.o cli_common.o mt19937-64.o strl.o ../deps/hdr_histogram/libhdrhistogram.a -ljemalloc -lm -latomic -ldl -pthread -lrt -lsystemd -lhiredict -lhiredict_ssl -lhiredict -lssl -lcrypto +cc -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb -rdynamic -o redict-cli anet.o adlist.o dict.o redict-cli.o zmalloc.o release.o ae.o redictassert.o crcspeed.o crc64.o siphash.o crc16.o monotonic.o cli_common.o mt19937-64.o strl.o cli_commands.o ../deps/linenoise/linenoise.o -ljemalloc -lm -latomic -ldl -pthread -lrt -lsystemd -lhiredict -lhiredict_ssl -lhiredict -lssl -lcrypto In function 'memcpy', inlined from 'zipmapSet' at zipmap.c:239:5: /usr/include/arm-linux-gnueabihf/bits/string_fortified.h:29:10: warning: '__builtin_memcpy' writing 254 or more bytes into a region of size 0 overflows the destination [-Wstringop-overflow=] @@ -1217,9 +1253,9 @@ lto1: note: destination object is likely at address zero install --strip-program=true redict-server redict-sentinel install --strip-program=true redict-server redict-check-rdb -install --strip-program=true redict-server redict-check-aof -install: WARNING: ignoring --strip-program option as -s option was not specified install: WARNING: ignoring --strip-program option as -s option was not specified +install: install --strip-program=true redict-server redict-check-aof +WARNING: ignoring --strip-program option as -s option was not specified install: WARNING: ignoring --strip-program option as -s option was not specified Hint: It's a good idea to run 'make test' ;) @@ -1238,1925 +1274,1924 @@ Certificate request self-signature ok subject=O=Redict Test, CN=Generic-cert Generating DH parameters, 2048 bit long safe prime -.....................................................................+.................................................+........+..............................................................................................+.............................................................................................................................................+...........................................................................+..................+..................................................................+...+.....................................................................................................................................................................................+................................................................+.................................................................................+...................................................................................................+...............................+................................................................................................................................................................................................................................................................................................................................................+..............................+..................................................+.....................................................................................................................+...................................................................................................................................................+............................................................+.....................+.........................................+.........................................................+..............................................................+.....................................................+............................................+..................................................................................................+..............................................................................................................................................................................................................+.................................................................................................+................................................................................................+.......+.................................................................................................................................................................................................................................................................................................................................................................................................................................+..............................................................................+..................................+.....................................................+..............................................................................................................................................................................................+......................................................................................................................................................................................................+...+...............................................................................................................................................................+.....................................+...................................................................................................................................................+............................+.....................................+..............................+............................................................................+.........................................+.......................................+...............................+......................................................................................+...+...........................................+............+............................................................................................+........................................................................+......................................+.+...........+.....................................................................................................................................................................................................................+.........................................................................................................................................................................................................................................................................................+....+..........+.........................+......................................................................................+...................++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++* +.......................................................................................................................................+...................................................................................................................................+....+........................................................................................+...........................................................+..+......................++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++* # Avoid race conditions in upstream testsuite ./runtest --clients 1 --verbose --dump-logs --tls || true Cleanup: may take some time... OK Starting test server at port 21079 -[ready]: 13936 +[ready]: 16780 Testing unit/printver === () Starting server 127.0.0.1:21111 ok Testing Redict version 7.3.2 (00000000) -[1/91 done]: unit/printver (0 seconds) +[1/91 done]: unit/printver (1 seconds) Testing unit/dump === (dump) Starting server 127.0.0.1:21113 ok -[ok]: DUMP / RESTORE are able to serialize / unserialize a simple key (2 ms) -[ok]: RESTORE can set an arbitrary expire to the materialized key (2 ms) -[ok]: RESTORE can set an expire that overflows a 32 bit integer (1 ms) -[ok]: RESTORE can set an absolute expire (2 ms) -[ok]: RESTORE with ABSTTL in the past (2 ms) -[ok]: RESTORE can set LRU (2 ms) -[ok]: RESTORE can set LFU (3 ms) +[ok]: DUMP / RESTORE are able to serialize / unserialize a simple key (3 ms) +[ok]: RESTORE can set an arbitrary expire to the materialized key (3 ms) +[ok]: RESTORE can set an expire that overflows a 32 bit integer (3 ms) +[ok]: RESTORE can set an absolute expire (3 ms) +[ok]: RESTORE with ABSTTL in the past (3 ms) +[ok]: RESTORE can set LRU (4 ms) +[ok]: RESTORE can set LFU (4 ms) [ok]: RESTORE returns an error of the key already exists (1 ms) -[ok]: RESTORE can overwrite an existing key with REPLACE (2 ms) -[ok]: RESTORE can detect a syntax error for unrecognized options (0 ms) -[ok]: RESTORE should not store key that are already expired, with REPLACE will propagate it as DEL or UNLINK (144 ms) -[ok]: DUMP of non existing key returns nil (1 ms) +[ok]: RESTORE can overwrite an existing key with REPLACE (4 ms) +[ok]: RESTORE can detect a syntax error for unrecognized options (1 ms) +[ok]: RESTORE should not store key that are already expired, with REPLACE will propagate it as DEL or UNLINK (328 ms) +[ok]: DUMP of non existing key returns nil (0 ms) === (repl) Starting server 127.0.0.1:21115 ok -[ok]: MIGRATE is caching connections (248 ms) -[ok]: MIGRATE cached connections are released after some time (15003 ms) +[ok]: MIGRATE is caching connections (256 ms) +[ok]: MIGRATE cached connections are released after some time (15004 ms) === (repl) Starting server 127.0.0.1:21117 ok -[ok]: MIGRATE is able to migrate a key between two instances (255 ms) +[ok]: MIGRATE is able to migrate a key between two instances (258 ms) === (repl) Starting server 127.0.0.1:21119 ok -[ok]: MIGRATE is able to copy a key between two instances (255 ms) +[ok]: MIGRATE is able to copy a key between two instances (266 ms) === (repl) Starting server 127.0.0.1:21121 ok -[ok]: MIGRATE will not overwrite existing keys, unless REPLACE is used (256 ms) +[ok]: MIGRATE will not overwrite existing keys, unless REPLACE is used (257 ms) === (repl) Starting server 127.0.0.1:21123 ok [ok]: MIGRATE propagates TTL correctly (257 ms) === (repl) Starting server 127.0.0.1:21125 ok -[ok]: MIGRATE can correctly transfer large values (17434 ms) +[ok]: MIGRATE can correctly transfer large values (30721 ms) === (repl) Starting server 127.0.0.1:21127 ok -[ok]: MIGRATE can correctly transfer hashes (249 ms) +[ok]: MIGRATE can correctly transfer hashes (268 ms) === (repl) Starting server 127.0.0.1:21129 ok -[ok]: MIGRATE timeout actually works (743 ms) +[ok]: MIGRATE timeout actually works (769 ms) === (repl) Starting server 127.0.0.1:21131 ok -[ok]: MIGRATE can migrate multiple keys at once (251 ms) -[ok]: MIGRATE with multiple keys must have empty key arg (2 ms) +[ok]: MIGRATE can migrate multiple keys at once (259 ms) +[ok]: MIGRATE with multiple keys must have empty key arg (1 ms) === (repl) Starting server 127.0.0.1:21133 ok -[ok]: MIGRATE with multiple keys migrate just existing ones (252 ms) +[ok]: MIGRATE with multiple keys migrate just existing ones (260 ms) === (repl) Starting server 127.0.0.1:21135 ok -[ok]: MIGRATE with multiple keys: stress command rewriting (250 ms) +[ok]: MIGRATE with multiple keys: stress command rewriting (271 ms) === (repl) Starting server 127.0.0.1:21137 ok -[ok]: MIGRATE with multiple keys: delete just ack keys (247 ms) +[ok]: MIGRATE with multiple keys: delete just ack keys (257 ms) === (repl) Starting server 127.0.0.1:21139 ok -[ok]: MIGRATE AUTH: correct and wrong password cases (248 ms) -[2/91 done]: unit/dump (37 seconds) +[ok]: MIGRATE AUTH: correct and wrong password cases (261 ms) +[2/91 done]: unit/dump (50 seconds) Testing unit/auth === (auth external:skip) Starting server 127.0.0.1:21141 ok -[ok]: AUTH fails if there is no password configured server side (0 ms) +[ok]: AUTH fails if there is no password configured server side (1 ms) [ok]: Arity check for auth command (1 ms) === (auth external:skip) Starting server 127.0.0.1:21143 ok -[ok]: AUTH fails when a wrong password is given (20 ms) +[ok]: AUTH fails when a wrong password is given (30 ms) [ok]: Arbitrary command gives an error when AUTH is required (1 ms) [ok]: AUTH succeeds when the right password is given (1 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 (48 ms) +[ok]: For unauthenticated clients multibulk and bulk length are limited (68 ms) === (auth_binary_password external:skip) Starting server 127.0.0.1:21145 ok [ok]: AUTH fails when binary password is wrong (1 ms) [ok]: AUTH succeeds when binary password is correct (1 ms) === (masterauth) Starting server 127.0.0.1:21147 ok -[ok]: MASTERAUTH test with binary password (950 ms) -[3/91 done]: unit/auth (1 seconds) +[ok]: MASTERAUTH test with binary password (969 ms) +[3/91 done]: unit/auth (2 seconds) Testing unit/protocol === (protocol network) Starting server 127.0.0.1:21149 ok -[ok]: Handle an empty query (65 ms) -[ok]: Negative multibulk length (67 ms) -[ok]: Out of range multibulk length (26 ms) -[ok]: Wrong multibulk payload header (25 ms) -[ok]: Negative multibulk payload length (24 ms) -[ok]: Out of range multibulk payload length (25 ms) -[ok]: Non-number multibulk payload length (25 ms) -[ok]: Multi bulk request not followed by bulk arguments (24 ms) -[ok]: Generic wrong number of args (24 ms) -[ok]: Unbalanced number of quotes (26 ms) -[ok]: Protocol desync regression test #1 (183 ms) -[ok]: Protocol desync regression test #2 (183 ms) -[ok]: Protocol desync regression test #3 (183 ms) -[ok]: raw protocol response (0 ms) +[ok]: Handle an empty query (76 ms) +[ok]: Negative multibulk length (76 ms) +[ok]: Out of range multibulk length (35 ms) +[ok]: Wrong multibulk payload header (33 ms) +[ok]: Negative multibulk payload length (34 ms) +[ok]: Out of range multibulk payload length (34 ms) +[ok]: Non-number multibulk payload length (33 ms) +[ok]: Multi bulk request not followed by bulk arguments (34 ms) +[ok]: Generic wrong number of args (34 ms) +[ok]: Unbalanced number of quotes (35 ms) +[ok]: Protocol desync regression test #1 (225 ms) +[ok]: Protocol desync regression test #2 (226 ms) +[ok]: Protocol desync regression test #3 (226 ms) +[ok]: raw protocol response (1 ms) [ok]: raw protocol response - deferred (0 ms) -[ok]: raw protocol response - multiline (1 ms) +[ok]: raw protocol response - multiline (2 ms) [ok]: RESP3 attributes (3 ms) -[ok]: RESP3 attributes readraw (2 ms) -[ok]: RESP3 attributes on RESP2 (1 ms) +[ok]: RESP3 attributes readraw (3 ms) +[ok]: RESP3 attributes on RESP2 (2 ms) [ok]: test big number parsing (1 ms) -[ok]: test bool parsing (2 ms) -[ok]: test verbatim str parsing (1 ms) -[ok]: test large number of args (51 ms) -[ok]: test argument rewriting - issue 9598 (2 ms) +[ok]: test bool parsing (3 ms) +[ok]: test verbatim str parsing (2 ms) +[ok]: test large number of args (79 ms) +[ok]: test argument rewriting - issue 9598 (4 ms) === (regression) Starting server 127.0.0.1:21151 ok -[ok]: Regression for a crash with blocking ops and pipelining (25 ms) -[4/91 done]: unit/protocol (2 seconds) +[ok]: Regression for a crash with blocking ops and pipelining (35 ms) +[4/91 done]: unit/protocol (1 seconds) Testing unit/keyspace === (keyspace) Starting server 127.0.0.1:21153 ok -[ok]: DEL against a single item (1 ms) -[ok]: Vararg DEL (1 ms) -[ok]: Untagged multi-key commands (1 ms) -[ok]: KEYS with pattern (8 ms) +[ok]: DEL against a single item (2 ms) +[ok]: Vararg DEL (2 ms) +[ok]: Untagged multi-key commands (2 ms) +[ok]: KEYS with pattern (3 ms) [ok]: KEYS to get all keys (1 ms) -[ok]: DBSIZE (0 ms) -[ok]: KEYS with hashtag (3 ms) -[ok]: DEL all keys (3 ms) +[ok]: DBSIZE (1 ms) +[ok]: KEYS with hashtag (4 ms) +[ok]: DEL all keys (5 ms) [ok]: DEL against expired key (1103 ms) -[ok]: EXISTS (1 ms) -[ok]: Zero length value in key. SET/GET/EXISTS (1 ms) -[ok]: Commands pipelining (0 ms) -[ok]: Non existing command (0 ms) -[ok]: RENAME basic usage (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 against already existing key (0 ms) -[ok]: RENAMENX against already existing key (2) (0 ms) +[ok]: EXISTS (2 ms) +[ok]: Zero length value in key. SET/GET/EXISTS (2 ms) +[ok]: Commands pipelining (1 ms) +[ok]: Non existing command (1 ms) +[ok]: RENAME basic usage (2 ms) +[ok]: RENAME source key should no longer exist (1 ms) +[ok]: RENAME against already existing key (2 ms) +[ok]: RENAMENX basic usage (3 ms) +[ok]: RENAMENX against already existing key (2 ms) +[ok]: RENAMENX against already existing key (2) (2 ms) [ok]: RENAME against non existing source key (1 ms) [ok]: RENAME where source and dest key are the same (existing) (1 ms) -[ok]: RENAMENX where source and dest key are the same (existing) (0 ms) +[ok]: RENAMENX where source and dest key are the same (existing) (2 ms) [ok]: RENAME where source and dest key are the same (non existing) (1 ms) -[ok]: RENAME with volatile key, should move the TTL as well (2 ms) -[ok]: RENAME with volatile key, should not inherit TTL of target key (2 ms) -[ok]: DEL all keys again (DB 0) (1 ms) +[ok]: RENAME with volatile key, should move the TTL as well (4 ms) +[ok]: RENAME with volatile key, should not inherit TTL of target key (4 ms) +[ok]: DEL all keys again (DB 0) (2 ms) [ok]: DEL all keys again (DB 1) (1 ms) -[ok]: COPY basic usage for string (3 ms) -[ok]: COPY for string does not replace an existing key without REPLACE option (0 ms) -[ok]: COPY for string can replace an existing key with REPLACE option (0 ms) -[ok]: COPY for string ensures that copied data is independent of copying data (3 ms) -[ok]: COPY for string does not copy data to no-integer DB (1 ms) -[ok]: COPY can copy key expire metadata as well (1 ms) +[ok]: COPY basic usage for string (4 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 (2 ms) +[ok]: COPY for string ensures that copied data is independent of copying data (5 ms) +[ok]: COPY for string does not copy data to no-integer DB (2 ms) +[ok]: COPY can copy key expire metadata as well (2 ms) [ok]: COPY does not create an expire if it does not exist (2 ms) -[ok]: COPY basic usage for list - quicklist (46 ms) -[ok]: COPY basic usage for list - listpack (3 ms) -[ok]: COPY basic usage for $type set (3 ms) -[ok]: COPY basic usage for $type set (3 ms) -[ok]: COPY basic usage for $type set (47 ms) -[ok]: COPY basic usage for listpack sorted set (2 ms) -[ok]: COPY basic usage for skiplist sorted set (33 ms) -[ok]: COPY basic usage for listpack hash (2 ms) -[ok]: COPY basic usage for hashtable hash (29 ms) -[ok]: COPY basic usage for stream (272 ms) -[ok]: COPY basic usage for stream-cgroups (15 ms) -[ok]: MOVE basic usage (2 ms) -[ok]: MOVE against key existing in the target DB (1 ms) +[ok]: COPY basic usage for list - quicklist (50 ms) +[ok]: COPY basic usage for list - listpack (4 ms) +[ok]: COPY basic usage for $type set (4 ms) +[ok]: COPY basic usage for $type set (5 ms) +[ok]: COPY basic usage for $type set (71 ms) +[ok]: COPY basic usage for listpack sorted set (5 ms) +[ok]: COPY basic usage for skiplist sorted set (50 ms) +[ok]: COPY basic usage for listpack hash (4 ms) +[ok]: COPY basic usage for hashtable hash (53 ms) +[ok]: COPY basic usage for stream (409 ms) +[ok]: COPY basic usage for stream-cgroups (24 ms) +[ok]: MOVE basic usage (3 ms) +[ok]: MOVE against key existing in the target DB (2 ms) [ok]: MOVE against non-integer DB (#1428) (1 ms) -[ok]: MOVE can move key expire metadata as well (3 ms) -[ok]: MOVE does not create an expire if it does not exist (3 ms) -[ok]: SET/GET keys in different DBs (3 ms) -[ok]: RANDOMKEY (24 ms) -[ok]: RANDOMKEY against empty DB (0 ms) -[ok]: RANDOMKEY regression 1 (1 ms) -[ok]: KEYS * two times with long key, Github issue #1208 (1 ms) -[ok]: Regression for pattern matching long nested loops (1 ms) -[ok]: Regression for pattern matching very long nested loops (9 ms) -[ok]: Coverage: basic SWAPDB test and unhappy path (4 ms) -[ok]: Coverage: SWAPDB and FLUSHDB (4 ms) -[5/91 done]: unit/keyspace (2 seconds) +[ok]: MOVE can move key expire metadata as well (4 ms) +[ok]: MOVE does not create an expire if it does not exist (4 ms) +[ok]: SET/GET keys in different DBs (4 ms) +[ok]: RANDOMKEY (34 ms) +[ok]: RANDOMKEY against empty DB (2 ms) +[ok]: RANDOMKEY regression 1 (2 ms) +[ok]: KEYS * two times with long key, Github issue #1208 (2 ms) +[ok]: Regression for pattern matching long nested loops (2 ms) +[ok]: Regression for pattern matching very long nested loops (54 ms) +[ok]: Coverage: basic SWAPDB test and unhappy path (6 ms) +[ok]: Coverage: SWAPDB and FLUSHDB (7 ms) +[5/91 done]: unit/keyspace (3 seconds) Testing unit/scan === (scan network standalone) Starting server 127.0.0.1:21155 ok -[ok]: {standalone} SCAN basic (188 ms) -[ok]: {standalone} SCAN COUNT (203 ms) -[ok]: {standalone} SCAN MATCH (185 ms) -[ok]: {standalone} SCAN TYPE (260 ms) -[ok]: {standalone} SCAN unknown type (174 ms) -[ok]: {standalone} SCAN with expired keys (190 ms) -[ok]: {standalone} SCAN with expired keys with TYPE filter (193 ms) -[ok]: {standalone} SSCAN with encoding intset (4 ms) -[ok]: {standalone} SSCAN with encoding listpack (4 ms) -[ok]: {standalone} SSCAN with encoding hashtable (15 ms) -[ok]: {standalone} HSCAN with encoding listpack (4 ms) -[ok]: {standalone} HSCAN with encoding hashtable (140 ms) -[ok]: {standalone} ZSCAN with encoding listpack (4 ms) -[ok]: {standalone} ZSCAN with encoding skiplist (112 ms) -[ok]: {standalone} SCAN guarantees check under write load (58 ms) -[ok]: {standalone} SSCAN with integer encoded object (issue #1345) (1 ms) -[ok]: {standalone} SSCAN with PATTERN (1 ms) -[ok]: {standalone} HSCAN with PATTERN (1 ms) -[ok]: {standalone} HSCAN with NOVALUES (1 ms) -[ok]: {standalone} ZSCAN with PATTERN (1 ms) -[ok]: {standalone} ZSCAN scores: regression test for issue #2175 (125 ms) -[ok]: {standalone} SCAN regression test for issue #4906 (17613 ms) -[ok]: {standalone} SCAN MATCH pattern implies cluster slot (76 ms) +[ok]: {standalone} SCAN basic (289 ms) +[ok]: {standalone} SCAN COUNT (324 ms) +[ok]: {standalone} SCAN MATCH (269 ms) +[ok]: {standalone} SCAN TYPE (402 ms) +[ok]: {standalone} SCAN unknown type (279 ms) +[ok]: {standalone} SCAN with expired keys (298 ms) +[ok]: {standalone} SCAN with expired keys with TYPE filter (296 ms) +[ok]: {standalone} SSCAN with encoding intset (5 ms) +[ok]: {standalone} SSCAN with encoding listpack (5 ms) +[ok]: {standalone} SSCAN with encoding hashtable (16 ms) +[ok]: {standalone} HSCAN with encoding listpack (5 ms) +[ok]: {standalone} HSCAN with encoding hashtable (181 ms) +[ok]: {standalone} ZSCAN with encoding listpack (6 ms) +[ok]: {standalone} ZSCAN with encoding skiplist (157 ms) +[ok]: {standalone} SCAN guarantees check under write load (89 ms) +[ok]: {standalone} SSCAN with integer encoded object (issue #1345) (2 ms) +[ok]: {standalone} SSCAN with PATTERN (2 ms) +[ok]: {standalone} HSCAN with PATTERN (2 ms) +[ok]: {standalone} HSCAN with NOVALUES (2 ms) +[ok]: {standalone} ZSCAN with PATTERN (2 ms) +[ok]: {standalone} ZSCAN scores: regression test for issue #2175 (191 ms) +[ok]: {standalone} SCAN regression test for issue #4906 (25568 ms) +[ok]: {standalone} SCAN MATCH pattern implies cluster slot (125 ms) === (external:skip cluster scan) Starting server 127.0.0.1:21157 ok -[ok]: {cluster} SCAN basic (198 ms) -[ok]: {cluster} SCAN COUNT (213 ms) -[ok]: {cluster} SCAN MATCH (175 ms) -[ok]: {cluster} SCAN TYPE (255 ms) -[ok]: {cluster} SCAN unknown type (178 ms) -[ok]: {cluster} SCAN with expired keys (197 ms) -[ok]: {cluster} SCAN with expired keys with TYPE filter (206 ms) -[ok]: {cluster} SSCAN with encoding intset (4 ms) -[ok]: {cluster} SSCAN with encoding listpack (4 ms) -[ok]: {cluster} SSCAN with encoding hashtable (10 ms) -[ok]: {cluster} HSCAN with encoding listpack (3 ms) -[ok]: {cluster} HSCAN with encoding hashtable (127 ms) -[ok]: {cluster} ZSCAN with encoding listpack (4 ms) -[ok]: {cluster} ZSCAN with encoding skiplist (115 ms) -[ok]: {cluster} SCAN guarantees check under write load (58 ms) +[ok]: {cluster} SCAN basic (344 ms) +[ok]: {cluster} SCAN COUNT (386 ms) +[ok]: {cluster} SCAN MATCH (318 ms) +[ok]: {cluster} SCAN TYPE (467 ms) +[ok]: {cluster} SCAN unknown type (324 ms) +[ok]: {cluster} SCAN with expired keys (351 ms) +[ok]: {cluster} SCAN with expired keys with TYPE filter (352 ms) +[ok]: {cluster} SSCAN with encoding intset (5 ms) +[ok]: {cluster} SSCAN with encoding listpack (5 ms) +[ok]: {cluster} SSCAN with encoding hashtable (17 ms) +[ok]: {cluster} HSCAN with encoding listpack (6 ms) +[ok]: {cluster} HSCAN with encoding hashtable (187 ms) +[ok]: {cluster} ZSCAN with encoding listpack (7 ms) +[ok]: {cluster} ZSCAN with encoding skiplist (156 ms) +[ok]: {cluster} SCAN guarantees check under write load (104 ms) [ok]: {cluster} SSCAN with integer encoded object (issue #1345) (2 ms) -[ok]: {cluster} SSCAN with PATTERN (1 ms) +[ok]: {cluster} SSCAN with PATTERN (2 ms) [ok]: {cluster} HSCAN with PATTERN (2 ms) -[ok]: {cluster} HSCAN with NOVALUES (1 ms) +[ok]: {cluster} HSCAN with NOVALUES (2 ms) [ok]: {cluster} ZSCAN with PATTERN (2 ms) -[ok]: {cluster} ZSCAN scores: regression test for issue #2175 (113 ms) -[ok]: {cluster} SCAN regression test for issue #4906 (17160 ms) -[ok]: {cluster} SCAN MATCH pattern implies cluster slot (84 ms) -[6/91 done]: unit/scan (42 seconds) +[ok]: {cluster} ZSCAN scores: regression test for issue #2175 (208 ms) +[ok]: {cluster} SCAN regression test for issue #4906 (26371 ms) +[ok]: {cluster} SCAN MATCH pattern implies cluster slot (112 ms) +[6/91 done]: unit/scan (60 seconds) Testing unit/info === (info external:skip) Starting server 127.0.0.1:21159 ok === () Starting server 127.0.0.1:21161 ok -[ok]: latencystats: disable/enable (3 ms) -[ok]: latencystats: configure percentiles (6 ms) -[ok]: latencystats: bad configure percentiles (6 ms) -[ok]: latencystats: blocking commands (29 ms) -[ok]: latencystats: subcommands (3 ms) -[ok]: latencystats: measure latency (54 ms) -[ok]: errorstats: failed call authentication error (5 ms) -[ok]: errorstats: failed call within MULTI/EXEC (7 ms) -[ok]: errorstats: failed call within LUA (5 ms) -[ok]: errorstats: failed call NOSCRIPT error (4 ms) -[ok]: errorstats: failed call NOGROUP error (3 ms) -[ok]: errorstats: rejected call unknown command (4 ms) -[ok]: errorstats: rejected call within MULTI/EXEC (6 ms) -[ok]: errorstats: rejected call due to wrong arity (4 ms) -[ok]: errorstats: rejected call by OOM error (4 ms) -[ok]: errorstats: rejected call by authorization error (4 ms) -[ok]: errorstats: blocking commands (28 ms) -[ok]: errorstats: limit errors will not increase indefinitely (305 ms) +[ok]: latencystats: disable/enable (5 ms) +[ok]: latencystats: configure percentiles (7 ms) +[ok]: latencystats: bad configure percentiles (8 ms) +[ok]: latencystats: blocking commands (42 ms) +[ok]: latencystats: subcommands (4 ms) +[ok]: latencystats: measure latency (55 ms) +[ok]: errorstats: failed call authentication error (7 ms) +[ok]: errorstats: failed call within MULTI/EXEC (12 ms) +[ok]: errorstats: failed call within LUA (9 ms) +[ok]: errorstats: failed call NOSCRIPT error (7 ms) +[ok]: errorstats: failed call NOGROUP error (5 ms) +[ok]: errorstats: rejected call unknown command (5 ms) +[ok]: errorstats: rejected call within MULTI/EXEC (11 ms) +[ok]: errorstats: rejected call due to wrong arity (7 ms) +[ok]: errorstats: rejected call by OOM error (8 ms) +[ok]: errorstats: rejected call by authorization error (7 ms) +[ok]: errorstats: blocking commands (43 ms) +[ok]: errorstats: limit errors will not increase indefinitely (550 ms) eventloop metrics cycle1: 1103, cycle2: 1105 -eventloop metrics el_sum1: 95944, el_sum2: 96537 -eventloop metrics cmd_sum1: 18340, cmd_sum2: 18382 -[ok]: stats: eventloop metrics (114 ms) +eventloop metrics el_sum1: 159773, el_sum2: 160868 +eventloop metrics cmd_sum1: 31440, cmd_sum2: 31505 +[ok]: stats: eventloop metrics (115 ms) instantaneous metrics instantaneous_eventloop_cycles_per_sec: 8 -instantaneous metrics instantaneous_eventloop_duration_usec: 368 -[ok]: stats: instantaneous metrics (1605 ms) -[ok]: stats: debug metrics (117 ms) -[ok]: stats: client input and output buffer limit disconnections (134 ms) -[ok]: clients: pubsub clients (53 ms) -[ok]: clients: watching clients (42 ms) +instantaneous metrics instantaneous_eventloop_duration_usec: 761 +[ok]: stats: instantaneous metrics (1607 ms) +[ok]: stats: debug metrics (119 ms) +[ok]: stats: client input and output buffer limit disconnections (230 ms) +[ok]: clients: pubsub clients (75 ms) +[ok]: clients: watching clients (69 ms) === (info external:skip) Starting server 127.0.0.1:21163 ok -[ok]: memory: database and pubsub overhead and rehashing dict count (8 ms) -[7/91 done]: unit/info (3 seconds) +[ok]: memory: database and pubsub overhead and rehashing dict count (12 ms) +[7/91 done]: unit/info (4 seconds) Testing unit/info-command === (info and its relative command) Starting server 127.0.0.1:21165 ok -[ok]: info command with at most one sub command (3 ms) +[ok]: info command with at most one sub command (5 ms) [ok]: info command with one sub-section (2 ms) -[ok]: info command with multiple sub-sections (2 ms) -[8/91 done]: unit/info-command (0 seconds) +[ok]: info command with multiple sub-sections (3 ms) +[8/91 done]: unit/info-command (1 seconds) Testing unit/type/string === (string) Starting server 127.0.0.1:21167 ok -[ok]: SET and GET an item (1 ms) +[ok]: SET and GET an item (2 ms) [ok]: SET and GET an empty item (1 ms) -[ok]: Very big payload in GET/SET (205 ms) -[ok]: Very big payload random access (9948 ms) -[ok]: SET 10000 numeric keys and access all them in reverse order (3943 ms) -[ok]: DBSIZE should be 10000 now (0 ms) -[ok]: SETNX target key missing (1 ms) -[ok]: SETNX target key exists (1 ms) -[ok]: SETNX against not-expired volatile key (1 ms) -[ok]: SETNX against expired volatile key (4049 ms) -[ok]: GETEX EX option (1 ms) -[ok]: GETEX PX option (1 ms) -[ok]: GETEX EXAT option (1 ms) -[ok]: GETEX PXAT option (1 ms) -[ok]: GETEX PERSIST option (1 ms) -[ok]: GETEX no option (1 ms) -[ok]: GETEX syntax errors (0 ms) -[ok]: GETEX and GET expired key or not exist (4 ms) -[ok]: GETEX no arguments (0 ms) -[ok]: GETDEL command (1 ms) -[ok]: GETDEL propagate as DEL command to replica (162 ms) -[ok]: GETEX without argument does not propagate to replica (101 ms) -[ok]: MGET (12 ms) -[ok]: MGET against non existing key (1 ms) -[ok]: MGET against non-string key (1 ms) -[ok]: GETSET (set new value) (1 ms) -[ok]: GETSET (replace old value) (0 ms) -[ok]: MSET base case (1 ms) -[ok]: MSET/MSETNX wrong number of args (1 ms) -[ok]: MSET with already existing - same key twice (1 ms) -[ok]: MSETNX with already existent key (0 ms) -[ok]: MSETNX with not existing keys (0 ms) -[ok]: MSETNX with not existing keys - same key twice (1 ms) -[ok]: MSETNX with already existing keys - same key twice (1 ms) -[ok]: STRLEN against non-existing key (0 ms) -[ok]: STRLEN against integer-encoded value (1 ms) -[ok]: STRLEN against plain string (0 ms) -[ok]: SETBIT against non-existing key (1 ms) -[ok]: SETBIT against string-encoded key (1 ms) -[ok]: SETBIT against integer-encoded key (2 ms) -[ok]: SETBIT against key with wrong type (1 ms) -[ok]: SETBIT with out of range bit offset (1 ms) -[ok]: SETBIT with non-bit argument (1 ms) -[ok]: SETBIT fuzzing (960 ms) -[ok]: GETBIT against non-existing key (1 ms) -[ok]: GETBIT against string-encoded key (2 ms) -[ok]: GETBIT against integer-encoded key (2 ms) -[ok]: SETRANGE against non-existing key (2 ms) -[ok]: SETRANGE against string-encoded key (3 ms) -[ok]: SETRANGE against integer-encoded key (4 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 (0 ms) +[ok]: Very big payload in GET/SET (447 ms) +[ok]: Very big payload random access (16974 ms) +[ok]: SET 10000 numeric keys and access all them in reverse order (6432 ms) +[ok]: DBSIZE should be 10000 now (1 ms) +[ok]: SETNX target key missing (2 ms) +[ok]: SETNX target key exists (2 ms) +[ok]: SETNX against not-expired volatile key (2 ms) +[ok]: SETNX against expired volatile key (5138 ms) +[ok]: GETEX EX option (2 ms) +[ok]: GETEX PX option (2 ms) +[ok]: GETEX EXAT option (2 ms) +[ok]: GETEX PXAT option (2 ms) +[ok]: GETEX PERSIST option (3 ms) +[ok]: GETEX no option (3 ms) +[ok]: GETEX syntax errors (2 ms) +[ok]: GETEX and GET expired key or not exist (5 ms) +[ok]: GETEX no arguments (2 ms) +[ok]: GETDEL command (3 ms) +[ok]: GETDEL propagate as DEL command to replica (122 ms) +[ok]: GETEX without argument does not propagate to replica (206 ms) +[ok]: MGET (18 ms) +[ok]: MGET against non existing key (2 ms) +[ok]: MGET against non-string key (3 ms) +[ok]: GETSET (set new value) (2 ms) +[ok]: GETSET (replace old value) (2 ms) +[ok]: MSET base case (3 ms) +[ok]: MSET/MSETNX wrong number of args (2 ms) +[ok]: MSET with already existing - same key twice (2 ms) +[ok]: MSETNX with already existent key (2 ms) +[ok]: MSETNX with not existing keys (3 ms) +[ok]: MSETNX with not existing keys - same key twice (3 ms) +[ok]: MSETNX with already existing keys - same key twice (2 ms) +[ok]: STRLEN against non-existing key (2 ms) +[ok]: STRLEN against integer-encoded value (2 ms) +[ok]: STRLEN against plain string (2 ms) +[ok]: SETBIT against non-existing key (2 ms) +[ok]: SETBIT against string-encoded key (3 ms) +[ok]: SETBIT against integer-encoded key (4 ms) +[ok]: SETBIT against key with wrong type (3 ms) +[ok]: SETBIT with out of range bit offset (3 ms) +[ok]: SETBIT with non-bit argument (4 ms) +[ok]: SETBIT fuzzing (1847 ms) +[ok]: GETBIT against non-existing key (2 ms) +[ok]: GETBIT against string-encoded key (4 ms) +[ok]: GETBIT against integer-encoded key (4 ms) +[ok]: SETRANGE against non-existing key (4 ms) +[ok]: SETRANGE against string-encoded key (5 ms) +[ok]: SETRANGE against integer-encoded key (8 ms) +[ok]: SETRANGE against key with wrong type (2 ms) +[ok]: SETRANGE with out of range offset (3 ms) +[ok]: GETRANGE against non-existing key (1 ms) [ok]: GETRANGE against wrong key type (1 ms) -[ok]: GETRANGE against string value (1 ms) -[ok]: GETRANGE against integer-encoded value (2 ms) -[ok]: GETRANGE fuzzing (1677 ms) -[ok]: Coverage: SUBSTR (2 ms) -[ok]: trim on SET with big value (90 ms) +[ok]: GETRANGE against string value (4 ms) +[ok]: GETRANGE against integer-encoded value (3 ms) +[ok]: GETRANGE fuzzing (3315 ms) +[ok]: Coverage: SUBSTR (3 ms) +[ok]: trim on SET with big value (92 ms) [ok]: Extended SET can detect syntax errors (1 ms) -[ok]: Extended SET NX option (1 ms) +[ok]: Extended SET NX option (2 ms) [ok]: Extended SET XX option (2 ms) -[ok]: Extended SET GET option (1 ms) +[ok]: Extended SET GET option (2 ms) [ok]: Extended SET GET option with no previous value (1 ms) -[ok]: Extended SET GET option with XX (1 ms) -[ok]: Extended SET GET option with XX and no previous value (0 ms) -[ok]: Extended SET GET option with NX (0 ms) -[ok]: Extended SET GET option with NX and previous value (1 ms) -[ok]: Extended SET GET with incorrect type should result in wrong type error (1 ms) -[ok]: Extended SET EX option (0 ms) -[ok]: Extended SET PX option (1 ms) +[ok]: Extended SET GET option with XX (2 ms) +[ok]: Extended SET GET option with XX and no previous value (1 ms) +[ok]: Extended SET GET option with NX (2 ms) +[ok]: Extended SET GET option with NX and previous value (2 ms) +[ok]: Extended SET GET with incorrect type should result in wrong type error (2 ms) +[ok]: Extended SET EX option (1 ms) +[ok]: Extended SET PX option (2 ms) [ok]: Extended SET EXAT option (1 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 (2 ms) -[ok]: LCS len (1 ms) +[ok]: Extended SET using multiple options at once (2 ms) +[ok]: GETRANGE with huge ranges, Github issue #1844 (1 ms) +[ok]: LCS basic (3 ms) +[ok]: LCS len (3 ms) [ok]: LCS indexes (2 ms) -[ok]: LCS indexes with match len (1 ms) +[ok]: LCS indexes with match len (3 ms) [ok]: LCS indexes with match len and minimum match len (1 ms) [ok]: SETRANGE with huge offset (1 ms) -[ok]: APPEND modifies the encoding from int to raw (3 ms) -[9/91 done]: unit/type/string (22 seconds) +[ok]: APPEND modifies the encoding from int to raw (5 ms) +[9/91 done]: unit/type/string (35 seconds) Testing unit/type/incr === (incr) Starting server 127.0.0.1:21169 ok [ok]: INCR against non existing key (1 ms) -[ok]: INCR against key created by incr itself (1 ms) -[ok]: DECR against key created by incr (0 ms) +[ok]: INCR against key created by incr itself (0 ms) +[ok]: DECR against key created by incr (1 ms) [ok]: DECR against key is not exist and incr (1 ms) [ok]: INCR against key originally set with SET (1 ms) [ok]: INCR over 32bit value (1 ms) -[ok]: INCRBY over 32bit value with over 32bit increment (0 ms) +[ok]: INCRBY over 32bit value with over 32bit increment (1 ms) [ok]: INCR fails against key with spaces (left) (1 ms) [ok]: INCR fails against key with spaces (right) (1 ms) -[ok]: INCR fails against key with spaces (both) (0 ms) +[ok]: INCR fails against key with spaces (both) (1 ms) [ok]: DECRBY negation overflow (1 ms) -[ok]: INCR fails against a key holding a list (1 ms) +[ok]: INCR fails against a key holding a list (2 ms) [ok]: DECRBY over 32bit value with over 32bit increment, negative res (1 ms) -[ok]: DECRBY against key is not exist (0 ms) -[ok]: INCR uses shared objects in the 0-9999 range (2 ms) -[ok]: INCR can modify objects in-place (2 ms) -[ok]: INCRBYFLOAT against non existing key (1 ms) +[ok]: DECRBY against key is not exist (1 ms) +[ok]: INCR uses shared objects in the 0-9999 range (4 ms) +[ok]: INCR can modify objects in-place (3 ms) +[ok]: INCRBYFLOAT against non existing key (3 ms) [ok]: INCRBYFLOAT against key originally set with SET (1 ms) -[ok]: INCRBYFLOAT over 32bit value (0 ms) -[ok]: INCRBYFLOAT over 32bit value with over 32bit increment (0 ms) -[ok]: INCRBYFLOAT fails against key with spaces (left) (1 ms) -[ok]: INCRBYFLOAT fails against key with spaces (right) (0 ms) +[ok]: INCRBYFLOAT over 32bit value (2 ms) +[ok]: INCRBYFLOAT over 32bit value with over 32bit increment (1 ms) +[ok]: INCRBYFLOAT fails against key with spaces (left) (2 ms) +[ok]: INCRBYFLOAT fails against key with spaces (right) (1 ms) [ok]: INCRBYFLOAT fails against key with spaces (both) (1 ms) -[ok]: INCRBYFLOAT fails against a key holding a list (1 ms) -[ok]: INCRBYFLOAT does not allow NaN or Infinity (1 ms) -[ok]: INCRBYFLOAT decrement (0 ms) -[ok]: string to double with null terminator (0 ms) -[ok]: No negative zero (1 ms) -[ok]: INCRBY INCRBYFLOAT DECRBY against unhappy path (2 ms) -[ok]: incr operation should update encoding from raw to int (2 ms) -[ok]: decr operation should update encoding from raw to int (2 ms) -[ok]: incrby operation should update encoding from raw to int (2 ms) -[ok]: decrby operation should update encoding from raw to int (2 ms) +[ok]: INCRBYFLOAT fails against a key holding a list (2 ms) +[ok]: INCRBYFLOAT does not allow NaN or Infinity (2 ms) +[ok]: INCRBYFLOAT decrement (1 ms) +[ok]: string to double with null terminator (3 ms) +[ok]: No negative zero (2 ms) +[ok]: INCRBY INCRBYFLOAT DECRBY against unhappy path (4 ms) +[ok]: incr operation should update encoding from raw to int (4 ms) +[ok]: decr operation should update encoding from raw to int (3 ms) +[ok]: incrby operation should update encoding from raw to int (4 ms) +[ok]: decrby operation should update encoding from raw to int (4 ms) [10/91 done]: unit/type/incr (0 seconds) Testing unit/type/list === () Starting server 127.0.0.1:21171 ok -[ok]: packed node check compression with insert and pop (7 ms) -[ok]: packed node check compression combined with trim (3 ms) -[ok]: packed node check compression with lset (2 ms) -[ok]: plain node check compression with insert and pop (359 ms) -[ok]: plain node check compression combined with trim (131 ms) -[ok]: plain node check compression with lset (175 ms) +[ok]: packed node check compression with insert and pop (10 ms) +[ok]: packed node check compression combined with trim (4 ms) +[ok]: packed node check compression with lset (4 ms) +[ok]: plain node check compression with insert and pop (361 ms) +[ok]: plain node check compression combined with trim (136 ms) +[ok]: plain node check compression with lset (179 ms) === () Starting server 127.0.0.1:21173 ok -[ok]: Test LPUSH and LPOP on plain nodes (50 ms) -[ok]: Test LINDEX and LINSERT on plain nodes (4 ms) -[ok]: Test LTRIM on plain nodes (2 ms) -[ok]: Test LREM on plain nodes (4 ms) -[ok]: Test LPOS on plain nodes (2 ms) -[ok]: Test LMOVE on plain nodes (5 ms) -[ok]: Test LSET with packed / plain combinations (184 ms) -[ok]: Test LSET with packed is split in the middle (5 ms) -[ok]: Test LSET with packed consist only one item (183 ms) -[ok]: Crash due to delete entry from a compress quicklist node (3 ms) -[ok]: Crash due to split quicklist node wrongly (2 ms) -[ok]: Test LPUSH and LPOP on plain nodes (21 ms) -[ok]: Test LINDEX and LINSERT on plain nodes (3 ms) -[ok]: Test LTRIM on plain nodes (3 ms) -[ok]: Test LREM on plain nodes (3 ms) -[ok]: Test LPOS on plain nodes (2 ms) -[ok]: Test LMOVE on plain nodes (4 ms) -[ok]: Test LSET with packed / plain combinations (181 ms) -[ok]: Test LSET with packed is split in the middle (5 ms) -[ok]: Test LSET with packed consist only one item (182 ms) -[ok]: Crash due to delete entry from a compress quicklist node (4 ms) -[ok]: Crash due to split quicklist node wrongly (2 ms) +[ok]: Test LPUSH and LPOP on plain nodes (25 ms) +[ok]: Test LINDEX and LINSERT on plain nodes (5 ms) +[ok]: Test LTRIM on plain nodes (4 ms) +[ok]: Test LREM on plain nodes (5 ms) +[ok]: Test LPOS on plain nodes (4 ms) +[ok]: Test LMOVE on plain nodes (8 ms) +[ok]: Test LSET with packed / plain combinations (194 ms) +[ok]: Test LSET with packed is split in the middle (9 ms) +[ok]: Test LSET with packed consist only one item (207 ms) +[ok]: Crash due to delete entry from a compress quicklist node (12 ms) +[ok]: Crash due to split quicklist node wrongly (4 ms) +[ok]: Test LPUSH and LPOP on plain nodes (30 ms) +[ok]: Test LINDEX and LINSERT on plain nodes (5 ms) +[ok]: Test LTRIM on plain nodes (4 ms) +[ok]: Test LREM on plain nodes (5 ms) +[ok]: Test LPOS on plain nodes (4 ms) +[ok]: Test LMOVE on plain nodes (7 ms) +[ok]: Test LSET with packed / plain combinations (189 ms) +[ok]: Test LSET with packed is split in the middle (8 ms) +[ok]: Test LSET with packed consist only one item (192 ms) +[ok]: Crash due to delete entry from a compress quicklist node (7 ms) +[ok]: Crash due to split quicklist node wrongly (5 ms) === () Starting server 127.0.0.1:21175 ok === (list) Starting server 127.0.0.1:21177 ok -[ok]: LPOS basic usage - quicklist (44 ms) -[ok]: LPOS RANK (positive, negative and zero rank) option (3 ms) +[ok]: LPOS basic usage - quicklist (46 ms) +[ok]: LPOS RANK (positive, negative and zero rank) option (4 ms) [ok]: LPOS COUNT option (2 ms) -[ok]: LPOS COUNT + RANK option (1 ms) +[ok]: LPOS COUNT + RANK option (2 ms) +[ok]: LPOS non existing key (1 ms) +[ok]: LPOS no match (2 ms) +[ok]: LPOS MAXLEN (3 ms) +[ok]: LPOS when RANK is greater than matches (2 ms) +[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - quicklist (99 ms) +[ok]: LPOP/RPOP with wrong number of arguments (2 ms) +[ok]: RPOP/LPOP with the optional count argument - quicklist (48 ms) +[ok]: LPOS basic usage - listpack (3 ms) +[ok]: LPOS RANK (positive, negative and zero rank) option (4 ms) +[ok]: LPOS COUNT option (3 ms) +[ok]: LPOS COUNT + RANK option (2 ms) [ok]: LPOS non existing key (1 ms) [ok]: LPOS no match (1 ms) -[ok]: LPOS MAXLEN (1 ms) -[ok]: LPOS when RANK is greater than matches (1 ms) -[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - quicklist (95 ms) -[ok]: LPOP/RPOP with wrong number of arguments (1 ms) -[ok]: RPOP/LPOP with the optional count argument - quicklist (46 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 + RANK option (1 ms) -[ok]: LPOS non existing key (0 ms) -[ok]: LPOS no match (1 ms) -[ok]: LPOS MAXLEN (1 ms) -[ok]: LPOS when RANK is greater than matches (1 ms) -[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - listpack (6 ms) -[ok]: LPOP/RPOP with wrong number of arguments (1 ms) -[ok]: RPOP/LPOP with the optional count argument - listpack (2 ms) -[ok]: LPOP/RPOP with the count 0 returns an empty array in RESP3 (0 ms) -[ok]: LPOP/RPOP against non existing key in RESP3 (0 ms) -[ok]: LPOP/RPOP with against non existing key in RESP3 (1 ms) +[ok]: LPOS MAXLEN (6 ms) +[ok]: LPOS when RANK is greater than matches (2 ms) +[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - listpack (10 ms) +[ok]: LPOP/RPOP with wrong number of arguments (2 ms) +[ok]: RPOP/LPOP with the optional count argument - listpack (4 ms) +[ok]: LPOP/RPOP with the count 0 returns an empty array in RESP3 (1 ms) +[ok]: LPOP/RPOP against non existing key in RESP3 (2 ms) +[ok]: LPOP/RPOP with against non existing key in RESP3 (2 ms) [ok]: LPOP/RPOP with the count 0 returns an empty array in RESP2 (1 ms) -[ok]: LPOP/RPOP against non existing key in RESP2 (1 ms) -[ok]: LPOP/RPOP with against non existing key in RESP2 (1 ms) -[ok]: Variadic RPUSH/LPUSH (1 ms) -[ok]: DEL a list (1 ms) -[ok]: BLPOP: single existing list - quicklist (72 ms) -[ok]: BLPOP: multiple existing lists - quicklist (116 ms) -[ok]: BLPOP: second list has an entry - quicklist (71 ms) -[ok]: BLMPOP_LEFT: single existing list - quicklist (68 ms) -[ok]: BLMPOP_LEFT: multiple existing lists - quicklist (117 ms) -[ok]: BLMPOP_LEFT: second list has an entry - quicklist (71 ms) -[ok]: BRPOPLPUSH - quicklist (72 ms) -[ok]: BLMOVE left left - quicklist (72 ms) -[ok]: BLMOVE left right - quicklist (72 ms) -[ok]: BLMOVE right left - quicklist (72 ms) -[ok]: BLMOVE right right - quicklist (72 ms) -[ok]: BLPOP: single existing list - listpack (27 ms) -[ok]: BLPOP: multiple existing lists - listpack (28 ms) -[ok]: BLPOP: second list has an entry - listpack (26 ms) -[ok]: BLMPOP_LEFT: single existing list - listpack (27 ms) -[ok]: BLMPOP_LEFT: multiple existing lists - listpack (29 ms) -[ok]: BLMPOP_LEFT: second list has an entry - listpack (26 ms) -[ok]: BRPOPLPUSH - listpack (27 ms) -[ok]: BLMOVE left left - listpack (28 ms) -[ok]: BLMOVE left right - listpack (27 ms) -[ok]: BLMOVE right left - listpack (27 ms) -[ok]: BLMOVE right right - listpack (27 ms) -[ok]: BLPOP, LPUSH + DEL should not awake blocked client (27 ms) -[ok]: BLPOP, LPUSH + DEL + SET should not awake blocked client (27 ms) -[ok]: BLMPOP_LEFT, LPUSH + DEL should not awake blocked client (27 ms) -[ok]: BLMPOP_LEFT, LPUSH + DEL + SET should not awake blocked client (27 ms) -[ok]: BLPOP with same key multiple times should work (issue #801) (29 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BLPOP (27 ms) -[ok]: BLPOP with variadic LPUSH (26 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BLMPOP_LEFT (26 ms) -[ok]: BLMPOP_LEFT with variadic LPUSH (28 ms) -[ok]: BRPOPLPUSH with zero timeout should block indefinitely (27 ms) -[ok]: BLMOVE left left with zero timeout should block indefinitely (26 ms) -[ok]: BLMOVE left right with zero timeout should block indefinitely (26 ms) -[ok]: BLMOVE right left with zero timeout should block indefinitely (26 ms) -[ok]: BLMOVE right right with zero timeout should block indefinitely (26 ms) -[ok]: BLMOVE (left, left) with a client BLPOPing the target list (51 ms) -[ok]: BLMOVE (left, right) with a client BLPOPing the target list (50 ms) -[ok]: BLMOVE (right, left) with a client BLPOPing the target list (51 ms) -[ok]: BLMOVE (right, right) with a client BLPOPing the target list (50 ms) -[ok]: BRPOPLPUSH with wrong source type (24 ms) -[ok]: BRPOPLPUSH with wrong destination type (51 ms) -[ok]: BRPOPLPUSH maintains order of elements after failure (26 ms) -[ok]: BRPOPLPUSH with multiple blocked clients (52 ms) -[ok]: BLMPOP with multiple blocked clients (101 ms) -[ok]: Linked LMOVEs (52 ms) -[ok]: Circular BRPOPLPUSH (51 ms) -[ok]: Self-referential BRPOPLPUSH (25 ms) -[ok]: BRPOPLPUSH inside a transaction (3 ms) -[ok]: PUSH resulting from BRPOPLPUSH affect WATCH (50 ms) -[ok]: BRPOPLPUSH does not affect WATCH while still blocked (51 ms) -[ok]: BRPOPLPUSH timeout (1046 ms) -[ok]: SWAPDB awakes blocked client (27 ms) -[ok]: SWAPDB wants to wake blocked client, but the key already expired (206 ms) -[ok]: MULTI + LPUSH + EXPIRE + DEBUG SLEEP on blocked client, key already expired (299 ms) -[ok]: BLPOP unblock but the key is expired and then block again - reprocessing command (1037 ms) -[ok]: BLPOP when new key is moved into place (26 ms) -[ok]: BLPOP when result key is created by SORT..STORE (26 ms) -[ok]: BLMPOP_LEFT when new key is moved into place (26 ms) -[ok]: BLMPOP_LEFT when result key is created by SORT..STORE (27 ms) -[ok]: BLPOP: timeout value out of range (0 ms) -[ok]: BLPOP: with single empty list argument (25 ms) -[ok]: BLPOP: with negative timeout (24 ms) -[ok]: BLPOP: with non-integer timeout (25 ms) -[ok]: BLPOP: with zero timeout should block indefinitely (26 ms) -[ok]: BLPOP: with 0.001 timeout should not block indefinitely (47 ms) -[ok]: BLPOP: second argument is not a list (25 ms) -[ok]: BLPOP: timeout (1036 ms) -[ok]: BLPOP: arguments are empty (28 ms) -[ok]: BRPOP: with single empty list argument (27 ms) -[ok]: BRPOP: with negative timeout (24 ms) -[ok]: BRPOP: with non-integer timeout (25 ms) -[ok]: BRPOP: with zero timeout should block indefinitely (26 ms) -[ok]: BRPOP: with 0.001 timeout should not block indefinitely (47 ms) -[ok]: BRPOP: second argument is not a list (26 ms) -[ok]: BRPOP: timeout (1112 ms) -[ok]: BRPOP: arguments are empty (28 ms) -[ok]: BLMPOP_LEFT: with single empty list argument (26 ms) -[ok]: BLMPOP_LEFT: with negative timeout (24 ms) -[ok]: BLMPOP_LEFT: with non-integer timeout (26 ms) -[ok]: BLMPOP_LEFT: with zero timeout should block indefinitely (25 ms) -[ok]: BLMPOP_LEFT: with 0.001 timeout should not block indefinitely (48 ms) -[ok]: BLMPOP_LEFT: second argument is not a list (25 ms) -[ok]: BLMPOP_LEFT: timeout (1112 ms) -[ok]: BLMPOP_LEFT: arguments are empty (31 ms) -[ok]: BLMPOP_RIGHT: with single empty list argument (25 ms) -[ok]: BLMPOP_RIGHT: with negative timeout (24 ms) -[ok]: BLMPOP_RIGHT: with non-integer timeout (25 ms) -[ok]: BLMPOP_RIGHT: with zero timeout should block indefinitely (25 ms) -[ok]: BLMPOP_RIGHT: with 0.001 timeout should not block indefinitely (47 ms) -[ok]: BLMPOP_RIGHT: second argument is not a list (25 ms) -[ok]: BLMPOP_RIGHT: timeout (1109 ms) -[ok]: BLMPOP_RIGHT: arguments are empty (27 ms) -[ok]: BLPOP inside a transaction (2 ms) -[ok]: BLMPOP_LEFT inside a transaction (2 ms) -[ok]: BLMPOP propagate as pop with count command to replica (172 ms) -[ok]: LPUSHX, RPUSHX - generic (2 ms) -[ok]: LPUSHX, RPUSHX - quicklist (46 ms) -[ok]: LINSERT - quicklist (51 ms) -[ok]: LPUSHX, RPUSHX - listpack (3 ms) -[ok]: LINSERT - listpack (4 ms) -[ok]: LINSERT raise error on bad syntax (1 ms) +[ok]: LPOP/RPOP against non existing key in RESP2 (2 ms) +[ok]: LPOP/RPOP with against non existing key in RESP2 (2 ms) +[ok]: Variadic RPUSH/LPUSH (2 ms) +[ok]: DEL a list (2 ms) +[ok]: BLPOP: single existing list - quicklist (90 ms) +[ok]: BLPOP: multiple existing lists - quicklist (128 ms) +[ok]: BLPOP: second list has an entry - quicklist (85 ms) +[ok]: BLMPOP_LEFT: single existing list - quicklist (81 ms) +[ok]: BLMPOP_LEFT: multiple existing lists - quicklist (128 ms) +[ok]: BLMPOP_LEFT: second list has an entry - quicklist (89 ms) +[ok]: BRPOPLPUSH - quicklist (84 ms) +[ok]: BLMOVE left left - quicklist (92 ms) +[ok]: BLMOVE left right - quicklist (84 ms) +[ok]: BLMOVE right left - quicklist (84 ms) +[ok]: BLMOVE right right - quicklist (84 ms) +[ok]: BLPOP: single existing list - listpack (40 ms) +[ok]: BLPOP: multiple existing lists - listpack (46 ms) +[ok]: BLPOP: second list has an entry - listpack (36 ms) +[ok]: BLMPOP_LEFT: single existing list - listpack (41 ms) +[ok]: BLMPOP_LEFT: multiple existing lists - listpack (42 ms) +[ok]: BLMPOP_LEFT: second list has an entry - listpack (38 ms) +[ok]: BRPOPLPUSH - listpack (43 ms) +[ok]: BLMOVE left left - listpack (41 ms) +[ok]: BLMOVE left right - listpack (38 ms) +[ok]: BLMOVE right left - listpack (38 ms) +[ok]: BLMOVE right right - listpack (40 ms) +[ok]: BLPOP, LPUSH + DEL should not awake blocked client (38 ms) +[ok]: BLPOP, LPUSH + DEL + SET should not awake blocked client (38 ms) +[ok]: BLMPOP_LEFT, LPUSH + DEL should not awake blocked client (38 ms) +[ok]: BLMPOP_LEFT, LPUSH + DEL + SET should not awake blocked client (40 ms) +[ok]: BLPOP with same key multiple times should work (issue #801) (40 ms) +[ok]: MULTI/EXEC is isolated from the point of view of BLPOP (40 ms) +[ok]: BLPOP with variadic LPUSH (43 ms) +[ok]: MULTI/EXEC is isolated from the point of view of BLMPOP_LEFT (42 ms) +[ok]: BLMPOP_LEFT with variadic LPUSH (43 ms) +[ok]: BRPOPLPUSH with zero timeout should block indefinitely (38 ms) +[ok]: BLMOVE left left with zero timeout should block indefinitely (38 ms) +[ok]: BLMOVE left right with zero timeout should block indefinitely (43 ms) +[ok]: BLMOVE right left with zero timeout should block indefinitely (45 ms) +[ok]: BLMOVE right right with zero timeout should block indefinitely (38 ms) +[ok]: BLMOVE (left, left) with a client BLPOPing the target list (71 ms) +[ok]: BLMOVE (left, right) with a client BLPOPing the target list (71 ms) +[ok]: BLMOVE (right, left) with a client BLPOPing the target list (71 ms) +[ok]: BLMOVE (right, right) with a client BLPOPing the target list (90 ms) +[ok]: BRPOPLPUSH with wrong source type (35 ms) +[ok]: BRPOPLPUSH with wrong destination type (71 ms) +[ok]: BRPOPLPUSH maintains order of elements after failure (37 ms) +[ok]: BRPOPLPUSH with multiple blocked clients (71 ms) +[ok]: BLMPOP with multiple blocked clients (141 ms) +[ok]: Linked LMOVEs (70 ms) +[ok]: Circular BRPOPLPUSH (70 ms) +[ok]: Self-referential BRPOPLPUSH (35 ms) +[ok]: BRPOPLPUSH inside a transaction (5 ms) +[ok]: PUSH resulting from BRPOPLPUSH affect WATCH (69 ms) +[ok]: BRPOPLPUSH does not affect WATCH while still blocked (75 ms) +[ok]: BRPOPLPUSH timeout (1056 ms) +[ok]: SWAPDB awakes blocked client (39 ms) +[ok]: SWAPDB wants to wake blocked client, but the key already expired (269 ms) +[ok]: MULTI + LPUSH + EXPIRE + DEBUG SLEEP on blocked client, key already expired (300 ms) +[ok]: BLPOP unblock but the key is expired and then block again - reprocessing command (1058 ms) +[ok]: BLPOP when new key is moved into place (36 ms) +[ok]: BLPOP when result key is created by SORT..STORE (39 ms) +[ok]: BLMPOP_LEFT when new key is moved into place (37 ms) +[ok]: BLMPOP_LEFT when result key is created by SORT..STORE (37 ms) +[ok]: BLPOP: timeout value out of range (1 ms) +[ok]: BLPOP: with single empty list argument (36 ms) +[ok]: BLPOP: with negative timeout (34 ms) +[ok]: BLPOP: with non-integer timeout (43 ms) +[ok]: BLPOP: with zero timeout should block indefinitely (36 ms) +[ok]: BLPOP: with 0.001 timeout should not block indefinitely (58 ms) +[ok]: BLPOP: second argument is not a list (35 ms) +[ok]: BLPOP: timeout (1132 ms) +[ok]: BLPOP: arguments are empty (40 ms) +[ok]: BRPOP: with single empty list argument (35 ms) +[ok]: BRPOP: with negative timeout (33 ms) +[ok]: BRPOP: with non-integer timeout (34 ms) +[ok]: BRPOP: with zero timeout should block indefinitely (34 ms) +[ok]: BRPOP: with 0.001 timeout should not block indefinitely (57 ms) +[ok]: BRPOP: second argument is not a list (34 ms) +[ok]: BRPOP: timeout (1047 ms) +[ok]: BRPOP: arguments are empty (39 ms) +[ok]: BLMPOP_LEFT: with single empty list argument (35 ms) +[ok]: BLMPOP_LEFT: with negative timeout (33 ms) +[ok]: BLMPOP_LEFT: with non-integer timeout (34 ms) +[ok]: BLMPOP_LEFT: with zero timeout should block indefinitely (34 ms) +[ok]: BLMPOP_LEFT: with 0.001 timeout should not block indefinitely (59 ms) +[ok]: BLMPOP_LEFT: second argument is not a list (35 ms) +[ok]: BLMPOP_LEFT: timeout (1048 ms) +[ok]: BLMPOP_LEFT: arguments are empty (39 ms) +[ok]: BLMPOP_RIGHT: with single empty list argument (36 ms) +[ok]: BLMPOP_RIGHT: with negative timeout (34 ms) +[ok]: BLMPOP_RIGHT: with non-integer timeout (35 ms) +[ok]: BLMPOP_RIGHT: with zero timeout should block indefinitely (35 ms) +[ok]: BLMPOP_RIGHT: with 0.001 timeout should not block indefinitely (57 ms) +[ok]: BLMPOP_RIGHT: second argument is not a list (35 ms) +[ok]: BLMPOP_RIGHT: timeout (1048 ms) +[ok]: BLMPOP_RIGHT: arguments are empty (40 ms) +[ok]: BLPOP inside a transaction (4 ms) +[ok]: BLMPOP_LEFT inside a transaction (4 ms) +[ok]: BLMPOP propagate as pop with count command to replica (361 ms) +[ok]: LPUSHX, RPUSHX - generic (3 ms) +[ok]: LPUSHX, RPUSHX - quicklist (50 ms) +[ok]: LINSERT - quicklist (54 ms) +[ok]: LPUSHX, RPUSHX - listpack (4 ms) +[ok]: LINSERT - listpack (7 ms) +[ok]: LINSERT raise error on bad syntax (0 ms) [ok]: LINSERT against non-list value error (1 ms) -[ok]: LINSERT against non existing key (0 ms) -[ok]: LINDEX consistency test - listpack (151 ms) -[ok]: LINDEX random access - listpack (105 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - listpack (215 ms) -[ok]: LINDEX consistency test - listpack (302 ms) -[ok]: LINDEX random access - listpack (211 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - listpack (431 ms) -[ok]: LINDEX consistency test - quicklist (151 ms) -[ok]: LINDEX random access - quicklist (107 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (218 ms) -[ok]: LINDEX consistency test - quicklist (300 ms) -[ok]: LINDEX random access - quicklist (227 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (457 ms) +[ok]: LINSERT against non existing key (1 ms) +[ok]: LINDEX consistency test - listpack (293 ms) +[ok]: LINDEX random access - listpack (204 ms) +[ok]: Check if list is still ok after a DEBUG RELOAD - listpack (415 ms) +[ok]: LINDEX consistency test - listpack (597 ms) +[ok]: LINDEX random access - listpack (399 ms) +[ok]: Check if list is still ok after a DEBUG RELOAD - listpack (799 ms) +[ok]: LINDEX consistency test - quicklist (261 ms) +[ok]: LINDEX random access - quicklist (182 ms) +[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (369 ms) +[ok]: LINDEX consistency test - quicklist (528 ms) +[ok]: LINDEX random access - quicklist (364 ms) +[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (740 ms) [ok]: LLEN against non-list value error (1 ms) [ok]: LLEN against non existing key (1 ms) -[ok]: LINDEX against non-list value error (0 ms) -[ok]: LINDEX against non existing key (1 ms) -[ok]: LPUSH against non-list value error (0 ms) +[ok]: LINDEX against non-list value error (1 ms) +[ok]: LINDEX against non existing key (0 ms) +[ok]: LPUSH against non-list value error (1 ms) [ok]: RPUSH against non-list value error (1 ms) -[ok]: RPOPLPUSH base case - quicklist (45 ms) -[ok]: LMOVE left left base case - quicklist (47 ms) -[ok]: LMOVE left right base case - quicklist (48 ms) -[ok]: LMOVE right left base case - quicklist (47 ms) -[ok]: LMOVE right right base case - quicklist (48 ms) -[ok]: RPOPLPUSH with the same list as src and dst - quicklist (43 ms) -[ok]: LMOVE left left with the same list as src and dst - quicklist (44 ms) -[ok]: LMOVE left right with the same list as src and dst - quicklist (44 ms) -[ok]: LMOVE right left with the same list as src and dst - quicklist (44 ms) -[ok]: LMOVE right right with the same list as src and dst - quicklist (44 ms) -[ok]: RPOPLPUSH with quicklist source and existing target quicklist (92 ms) -[ok]: LMOVE left left with quicklist source and existing target quicklist (88 ms) -[ok]: LMOVE left right with quicklist source and existing target quicklist (93 ms) -[ok]: LMOVE right left with quicklist source and existing target quicklist (90 ms) -[ok]: LMOVE right right with quicklist source and existing target quicklist (87 ms) -[ok]: RPOPLPUSH with quicklist source and existing target listpack (48 ms) -[ok]: LMOVE left left with quicklist source and existing target listpack (48 ms) -[ok]: LMOVE left right with quicklist source and existing target listpack (48 ms) -[ok]: LMOVE right left with quicklist source and existing target listpack (47 ms) -[ok]: LMOVE right right with quicklist source and existing target listpack (48 ms) -[ok]: RPOPLPUSH base case - listpack (4 ms) -[ok]: LMOVE left left base case - listpack (3 ms) -[ok]: LMOVE left right base case - listpack (3 ms) -[ok]: LMOVE right left base case - listpack (3 ms) -[ok]: LMOVE right right base case - listpack (3 ms) -[ok]: RPOPLPUSH with the same list as src and dst - listpack (2 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 (2 ms) -[ok]: LMOVE right left with the same list as src and dst - listpack (2 ms) -[ok]: LMOVE right right with the same list as src and dst - listpack (2 ms) -[ok]: RPOPLPUSH with listpack source and existing target quicklist (45 ms) -[ok]: LMOVE left left with listpack source and existing target quicklist (45 ms) -[ok]: LMOVE left right with listpack source and existing target quicklist (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 (4 ms) -[ok]: LMOVE left left with listpack source and existing target listpack (3 ms) -[ok]: LMOVE left right with listpack source and existing target listpack (3 ms) -[ok]: LMOVE right left with listpack source and existing target listpack (3 ms) -[ok]: LMOVE right right with listpack source and existing target listpack (3 ms) -[ok]: RPOPLPUSH against non existing key (1 ms) -[ok]: RPOPLPUSH against non list src key (1 ms) -[ok]: RPOPLPUSH against non list dst key - quicklist (46 ms) -[ok]: RPOPLPUSH against non list dst key - listpack (3 ms) -[ok]: RPOPLPUSH against non existing src key (1 ms) -[ok]: Basic LPOP/RPOP/LMPOP - quicklist (88 ms) -[ok]: Basic LPOP/RPOP/LMPOP - listpack (4 ms) -[ok]: LPOP/RPOP/LMPOP against empty list (2 ms) -[ok]: LPOP/RPOP/LMPOP NON-BLOCK or BLOCK against non list value (3 ms) -[ok]: Mass RPOP/LPOP - listpack (103 ms) -[ok]: Mass RPOP/LPOP - listpack (204 ms) -[ok]: LMPOP with illegal argument (4 ms) -[ok]: LMPOP single existing list - quicklist (139 ms) -[ok]: LMPOP multiple existing lists - quicklist (184 ms) -[ok]: LMPOP single existing list - listpack (7 ms) -[ok]: LMPOP multiple existing lists - listpack (8 ms) -[ok]: LMPOP propagate as pop with count command to replica (123 ms) -[ok]: LRANGE basics - quicklist (46 ms) -[ok]: LRANGE inverted indexes - quicklist (47 ms) -[ok]: LRANGE out of range indexes including the full list - quicklist (47 ms) -[ok]: LRANGE out of range negative end index - quicklist (44 ms) -[ok]: LRANGE basics - listpack (4 ms) -[ok]: LRANGE inverted indexes - listpack (2 ms) -[ok]: LRANGE out of range indexes including the full list - listpack (2 ms) -[ok]: LRANGE out of range negative end index - listpack (2 ms) -[ok]: LRANGE against non existing key (0 ms) -[ok]: LRANGE with start > end yields an empty array for backward compatibility (2 ms) -[ok]: LTRIM basics - quicklist (531 ms) -[ok]: LTRIM out of range negative end index - quicklist (87 ms) -[ok]: LSET - quicklist (45 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 (5 ms) -[ok]: LSET - listpack (3 ms) -[ok]: LSET out of range index - listpack (0 ms) -[ok]: LSET against non existing key (0 ms) -[ok]: LSET against non list value (1 ms) -[ok]: LREM remove all the occurrences - quicklist (46 ms) -[ok]: LREM remove the first occurrence - quicklist (2 ms) -[ok]: LREM remove non existing element - quicklist (1 ms) -[ok]: LREM starting from tail with negative count - quicklist (46 ms) -[ok]: LREM starting from tail with negative count (2) - quicklist (1 ms) -[ok]: LREM deleting objects that may be int encoded - quicklist (44 ms) -[ok]: LREM remove all the occurrences - listpack (4 ms) -[ok]: LREM remove the first occurrence - listpack (1 ms) -[ok]: LREM remove non existing element - listpack (0 ms) -[ok]: LREM starting from tail with negative count - listpack (3 ms) -[ok]: LREM starting from tail with negative count (2) - listpack (0 ms) -[ok]: LREM deleting objects that may be int encoded - listpack (1 ms) -[ok]: Regression for bug 593 - chaining BRPOPLPUSH with other blocking cmds (49 ms) -[ok]: BLPOP/BLMOVE should increase dirty (28 ms) -[ok]: client unblock tests (29 ms) -[ok]: client unblock tests (29 ms) -[ok]: List listpack -> quicklist encoding conversion (8 ms) -[ok]: List listpack -> quicklist encoding conversion (177 ms) -[ok]: List quicklist -> listpack encoding conversion (227 ms) -[ok]: List encoding conversion when RDB loading (58 ms) -[ok]: List invalid list-max-listpack-size config (88 ms) -[ok]: List of various encodings (97 ms) -[ok]: List of various encodings - sanitize dump (6 ms) -[ok]: Unblock fairness is kept while pipelining (50 ms) -[ok]: Unblock fairness is kept during nested unblock (73 ms) -[ok]: Blocking command accounted only once in commandstats (26 ms) -[ok]: Blocking command accounted only once in commandstats after timeout (25 ms) -[ok]: Command being unblocked cause another command to get unblocked execution order test (193 ms) -[11/91 done]: unit/type/list (21 seconds) +[ok]: RPOPLPUSH base case - quicklist (50 ms) +[ok]: LMOVE left left base case - quicklist (50 ms) +[ok]: LMOVE left right base case - quicklist (52 ms) +[ok]: LMOVE right left base case - quicklist (51 ms) +[ok]: LMOVE right right base case - quicklist (52 ms) +[ok]: RPOPLPUSH with the same list as src and dst - quicklist (51 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 (47 ms) +[ok]: LMOVE right left with the same list as src and dst - quicklist (48 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 (93 ms) +[ok]: LMOVE left left with quicklist source and existing target quicklist (93 ms) +[ok]: LMOVE left right with quicklist source and existing target quicklist (95 ms) +[ok]: LMOVE right left with quicklist source and existing target quicklist (94 ms) +[ok]: LMOVE right right with quicklist source and existing target quicklist (92 ms) +[ok]: RPOPLPUSH with quicklist source and existing target listpack (52 ms) +[ok]: LMOVE left left with quicklist source and existing target listpack (51 ms) +[ok]: LMOVE left right with quicklist source and existing target listpack (51 ms) +[ok]: LMOVE right left with quicklist source and existing target listpack (50 ms) +[ok]: LMOVE right right with quicklist source and existing target listpack (53 ms) +[ok]: RPOPLPUSH base case - listpack (8 ms) +[ok]: LMOVE left left base case - listpack (8 ms) +[ok]: LMOVE left right base case - listpack (8 ms) +[ok]: LMOVE right left base case - listpack (8 ms) +[ok]: LMOVE right right base case - listpack (7 ms) +[ok]: RPOPLPUSH with the same list as src and dst - listpack (4 ms) +[ok]: LMOVE left left with the same list as src and dst - listpack (4 ms) +[ok]: LMOVE left right with the same list as src and dst - listpack (3 ms) +[ok]: LMOVE right left with the same list as src and dst - listpack (4 ms) +[ok]: LMOVE right right with the same list as src and dst - listpack (4 ms) +[ok]: RPOPLPUSH with listpack source and existing target quicklist (49 ms) +[ok]: LMOVE left left with listpack source and existing target quicklist (49 ms) +[ok]: LMOVE left right with listpack source and existing target quicklist (47 ms) +[ok]: LMOVE right left with listpack source and existing target quicklist (47 ms) +[ok]: LMOVE right right with listpack source and existing target quicklist (51 ms) +[ok]: RPOPLPUSH with listpack source and existing target listpack (5 ms) +[ok]: LMOVE left left with listpack source and existing target listpack (5 ms) +[ok]: LMOVE left right with listpack source and existing target listpack (6 ms) +[ok]: LMOVE right left with listpack source and existing target listpack (6 ms) +[ok]: LMOVE right right with listpack source and existing target listpack (6 ms) +[ok]: RPOPLPUSH against non existing key (3 ms) +[ok]: RPOPLPUSH against non list src key (3 ms) +[ok]: RPOPLPUSH against non list dst key - quicklist (47 ms) +[ok]: RPOPLPUSH against non list dst key - listpack (5 ms) +[ok]: RPOPLPUSH against non existing src key (2 ms) +[ok]: Basic LPOP/RPOP/LMPOP - quicklist (96 ms) +[ok]: Basic LPOP/RPOP/LMPOP - listpack (6 ms) +[ok]: LPOP/RPOP/LMPOP against empty list (3 ms) +[ok]: LPOP/RPOP/LMPOP NON-BLOCK or BLOCK against non list value (6 ms) +[ok]: Mass RPOP/LPOP - listpack (180 ms) +[ok]: Mass RPOP/LPOP - listpack (351 ms) +[ok]: LMPOP with illegal argument (9 ms) +[ok]: LMPOP single existing list - quicklist (146 ms) +[ok]: LMPOP multiple existing lists - quicklist (196 ms) +[ok]: LMPOP single existing list - listpack (32 ms) +[ok]: LMPOP multiple existing lists - listpack (45 ms) +[ok]: LMPOP propagate as pop with count command to replica (94 ms) +[ok]: LRANGE basics - quicklist (51 ms) +[ok]: LRANGE inverted indexes - quicklist (54 ms) +[ok]: LRANGE out of range indexes including the full list - quicklist (56 ms) +[ok]: LRANGE out of range negative end index - quicklist (56 ms) +[ok]: LRANGE basics - listpack (8 ms) +[ok]: LRANGE inverted indexes - listpack (6 ms) +[ok]: LRANGE out of range indexes including the full list - listpack (4 ms) +[ok]: LRANGE out of range negative end index - listpack (4 ms) +[ok]: LRANGE against non existing key (1 ms) +[ok]: LRANGE with start > end yields an empty array for backward compatibility (4 ms) +[ok]: LTRIM basics - quicklist (616 ms) +[ok]: LTRIM out of range negative end index - quicklist (129 ms) +[ok]: LSET - quicklist (65 ms) +[ok]: LSET out of range index - quicklist (5 ms) +[ok]: LTRIM basics - listpack (95 ms) +[ok]: LTRIM out of range negative end index - listpack (10 ms) +[ok]: LSET - listpack (5 ms) +[ok]: LSET out of range index - listpack (1 ms) +[ok]: LSET against non existing key (2 ms) +[ok]: LSET against non list value (2 ms) +[ok]: LREM remove all the occurrences - quicklist (54 ms) +[ok]: LREM remove the first occurrence - quicklist (3 ms) +[ok]: LREM remove non existing element - quicklist (3 ms) +[ok]: LREM starting from tail with negative count - quicklist (56 ms) +[ok]: LREM starting from tail with negative count (2) - quicklist (4 ms) +[ok]: LREM deleting objects that may be int encoded - quicklist (50 ms) +[ok]: LREM remove all the occurrences - listpack (6 ms) +[ok]: LREM remove the first occurrence - listpack (2 ms) +[ok]: LREM remove non existing element - listpack (2 ms) +[ok]: LREM starting from tail with negative count - listpack (6 ms) +[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 (75 ms) +[ok]: BLPOP/BLMOVE should increase dirty (48 ms) +[ok]: client unblock tests (55 ms) +[ok]: client unblock tests (49 ms) +[ok]: List listpack -> quicklist encoding conversion (29 ms) +[ok]: List listpack -> quicklist encoding conversion (201 ms) +[ok]: List quicklist -> listpack encoding conversion (251 ms) +[ok]: List encoding conversion when RDB loading (53 ms) +[ok]: List invalid list-max-listpack-size config (57 ms) +[ok]: List of various encodings (123 ms) +[ok]: List of various encodings - sanitize dump (17 ms) +[ok]: Unblock fairness is kept while pipelining (80 ms) +[ok]: Unblock fairness is kept during nested unblock (119 ms) +[ok]: Blocking command accounted only once in commandstats (44 ms) +[ok]: Blocking command accounted only once in commandstats after timeout (42 ms) +[ok]: Command being unblocked cause another command to get unblocked execution order test (262 ms) +[11/91 done]: unit/type/list (26 seconds) Testing unit/type/list-2 === (list) Starting server 127.0.0.1:21179 ok -[ok]: LTRIM stress testing - quicklist (16474 ms) -[ok]: LTRIM stress testing - listpack (16884 ms) -[12/91 done]: unit/type/list-2 (33 seconds) +[ok]: LTRIM stress testing - quicklist (41936 ms) +[ok]: LTRIM stress testing - listpack (41824 ms) +[12/91 done]: unit/type/list-2 (84 seconds) Testing unit/type/list-3 === (list ziplist) Starting server 127.0.0.1:21181 ok -[ok]: Explicit regression for a list bug (4 ms) -[ok]: Regression for quicklist #3343 bug (138 ms) -[ok]: Check compression with recompress (95 ms) -[ok]: Crash due to wrongly recompress after lrem (223 ms) -[ok]: LINSERT correctly recompress full quicklistNode after inserting a element before it (49 ms) -[ok]: LINSERT correctly recompress full quicklistNode after inserting a element after it (48 ms) -[ok]: Stress tester for #3343-alike bugs comp: 2 (8477 ms) -[ok]: Stress tester for #3343-alike bugs comp: 1 (10038 ms) -[ok]: Stress tester for #3343-alike bugs comp: 0 (9089 ms) -[ok]: ziplist implementation: value encoding and backlink (12695 ms) -[ok]: ziplist implementation: encoding stress testing (23115 ms) -[13/91 done]: unit/type/list-3 (65 seconds) +[ok]: Explicit regression for a list bug (6 ms) +[ok]: Regression for quicklist #3343 bug (146 ms) +[ok]: Check compression with recompress (61 ms) +[ok]: Crash due to wrongly recompress after lrem (263 ms) +[ok]: LINSERT correctly recompress full quicklistNode after inserting a element before it (59 ms) +[ok]: LINSERT correctly recompress full quicklistNode after inserting a element after it (58 ms) +[ok]: Stress tester for #3343-alike bugs comp: 2 (10819 ms) +[ok]: Stress tester for #3343-alike bugs comp: 1 (10595 ms) +[ok]: Stress tester for #3343-alike bugs comp: 0 (11026 ms) +[ok]: ziplist implementation: value encoding and backlink (14914 ms) +[ok]: ziplist implementation: encoding stress testing (46402 ms) +[13/91 done]: unit/type/list-3 (95 seconds) Testing unit/type/set === (set) Starting server 127.0.0.1:21183 ok -[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - listpack (5 ms) -[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - hashtable (46 ms) -[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - intset (5 ms) -[ok]: SMISMEMBER SMEMBERS SCARD against non set (2 ms) -[ok]: SMISMEMBER SMEMBERS SCARD against non existing key (1 ms) -[ok]: SMISMEMBER requires one or more members (2 ms) -[ok]: SADD against non set (1 ms) -[ok]: SADD a non-integer against a small intset (3 ms) -[ok]: SADD a non-integer against a large intset (43 ms) -[ok]: SADD an integer larger than 64 bits (2 ms) -[ok]: SADD an integer larger than 64 bits to a large intset (45 ms) -[ok]: SADD overflows the maximum allowed integers in an intset - single (158 ms) -[ok]: SADD overflows the maximum allowed elements in a listpack - single (45 ms) -[ok]: SADD overflows the maximum allowed integers in an intset - multiple (4 ms) -[ok]: SADD overflows the maximum allowed elements in a listpack - multiple (3 ms) -[ok]: SADD overflows the maximum allowed integers in an intset - single_multiple (45 ms) +[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - listpack (22 ms) +[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - hashtable (72 ms) +[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - intset (7 ms) +[ok]: SMISMEMBER SMEMBERS SCARD against non set (3 ms) +[ok]: SMISMEMBER SMEMBERS SCARD against non existing key (2 ms) +[ok]: SMISMEMBER requires one or more members (3 ms) +[ok]: SADD against non set (2 ms) +[ok]: SADD a non-integer against a small intset (5 ms) +[ok]: SADD a non-integer against a large intset (57 ms) +[ok]: SADD an integer larger than 64 bits (3 ms) +[ok]: SADD an integer larger than 64 bits to a large intset (60 ms) +[ok]: SADD overflows the maximum allowed integers in an intset - single (221 ms) +[ok]: SADD overflows the maximum allowed elements in a listpack - single (58 ms) +[ok]: SADD overflows the maximum allowed integers in an intset - multiple (8 ms) +[ok]: SADD overflows the maximum allowed elements in a listpack - multiple (5 ms) +[ok]: SADD overflows the maximum allowed integers in an intset - single_multiple (49 ms) [ok]: SADD overflows the maximum allowed elements in a listpack - single_multiple (4 ms) -[ok]: Variadic SADD (1 ms) -[ok]: Set encoding after DEBUG RELOAD (502 ms) +[ok]: Variadic SADD (2 ms) +[ok]: Set encoding after DEBUG RELOAD (761 ms) [ok]: SREM basics - $type (4 ms) -[ok]: SREM basics - $type (40 ms) +[ok]: SREM basics - $type (55 ms) [ok]: SREM basics - intset (3 ms) [ok]: SREM with multiple arguments (2 ms) -[ok]: SREM variadic version with more args needed to destroy the key (2 ms) -[ok]: SINTERCARD with illegal arguments (5 ms) -[ok]: SINTERCARD against non-set should throw error (2 ms) +[ok]: SREM variadic version with more args needed to destroy the key (6 ms) +[ok]: SINTERCARD with illegal arguments (39 ms) +[ok]: SINTERCARD against non-set should throw error (3 ms) [ok]: SINTERCARD against non-existing key (1 ms) -[ok]: Generated sets must be encoded correctly - regular (2 ms) -[ok]: SINTER with two sets - regular (1 ms) -[ok]: SINTERCARD with two sets - regular (2 ms) +[ok]: Generated sets must be encoded correctly - regular (4 ms) +[ok]: SINTER with two sets - regular (2 ms) +[ok]: SINTERCARD with two sets - regular (3 ms) [ok]: SINTERSTORE with two sets - regular (2 ms) -[ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - regular (15 ms) -[ok]: SUNION with two sets - regular (15 ms) -[ok]: SUNIONSTORE with two sets - regular (16 ms) +[ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - regular (19 ms) +[ok]: SUNION with two sets - regular (28 ms) +[ok]: SUNIONSTORE with two sets - regular (28 ms) [ok]: SINTER against three sets - regular (1 ms) [ok]: SINTERCARD against three sets - regular (2 ms) [ok]: SINTERSTORE with three sets - regular (1 ms) -[ok]: SUNION with non existing keys - regular (16 ms) +[ok]: SUNION with non existing keys - regular (25 ms) [ok]: SDIFF with two sets - regular (1 ms) [ok]: SDIFF with three sets - regular (1 ms) [ok]: SDIFFSTORE with three sets - regular (2 ms) -[ok]: SINTER/SUNION/SDIFF with three same sets - regular (12 ms) +[ok]: SINTER/SUNION/SDIFF with three same sets - regular (18 ms) [ok]: Generated sets must be encoded correctly - intset (2 ms) -[ok]: SINTER with two sets - intset (1 ms) -[ok]: SINTERCARD with two sets - intset (1 ms) -[ok]: SINTERSTORE with two sets - intset (1 ms) -[ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - intset (14 ms) -[ok]: SUNION with two sets - intset (14 ms) -[ok]: SUNIONSTORE with two sets - intset (15 ms) +[ok]: SINTER with two sets - intset (2 ms) +[ok]: SINTERCARD with two sets - intset (2 ms) +[ok]: SINTERSTORE with two sets - intset (2 ms) +[ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - intset (21 ms) +[ok]: SUNION with two sets - intset (25 ms) +[ok]: SUNIONSTORE with two sets - intset (30 ms) [ok]: SINTER against three sets - intset (1 ms) [ok]: SINTERCARD against three sets - intset (2 ms) -[ok]: SINTERSTORE with three sets - intset (1 ms) -[ok]: SUNION with non existing keys - intset (15 ms) +[ok]: SINTERSTORE with three sets - intset (2 ms) +[ok]: SUNION with non existing keys - intset (26 ms) [ok]: SDIFF with two sets - intset (1 ms) -[ok]: SDIFF with three sets - intset (1 ms) -[ok]: SDIFFSTORE with three sets - intset (1 ms) -[ok]: SINTER/SUNION/SDIFF with three same sets - intset (11 ms) -[ok]: SINTERSTORE with two listpack sets where result is intset (3 ms) -[ok]: SINTERSTORE with two hashtable sets where result is intset (76 ms) -[ok]: SUNION hashtable and listpack (5 ms) -[ok]: SDIFF with first set empty (1 ms) -[ok]: SDIFF with same set two times (1 ms) -[ok]: SDIFF fuzzing (11846 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 (5 ms) -[ok]: SDIFFSTORE should handle non existing key as empty (4 ms) -[ok]: SINTER against non-set should throw error (3 ms) +[ok]: SDIFF with three sets - intset (2 ms) +[ok]: SDIFFSTORE with three sets - intset (2 ms) +[ok]: SINTER/SUNION/SDIFF with three same sets - intset (22 ms) +[ok]: SINTERSTORE with two listpack sets where result is intset (5 ms) +[ok]: SINTERSTORE with two hashtable sets where result is intset (119 ms) +[ok]: SUNION hashtable and listpack (9 ms) +[ok]: SDIFF with first set empty (4 ms) +[ok]: SDIFF with same set two times (2 ms) +[ok]: SDIFF fuzzing (18360 ms) +[ok]: SDIFF against non-set should throw error (4 ms) +[ok]: SDIFF should handle non existing key as empty (3 ms) +[ok]: SDIFFSTORE against non-set should throw error (8 ms) +[ok]: SDIFFSTORE should handle non existing key as empty (7 ms) +[ok]: SINTER against non-set should throw error (4 ms) [ok]: SINTER should handle non existing key as empty (2 ms) -[ok]: SINTER with same integer elements but different encoding (2 ms) -[ok]: SINTERSTORE against non-set should throw error (5 ms) -[ok]: SINTERSTORE against non existing keys should delete dstkey (3 ms) -[ok]: SUNION against non-set should throw error (2 ms) +[ok]: SINTER with same integer elements but different encoding (4 ms) +[ok]: SINTERSTORE against non-set should throw error (7 ms) +[ok]: SINTERSTORE against non existing keys should delete dstkey (6 ms) +[ok]: SUNION against non-set should throw error (4 ms) [ok]: SUNION should handle non existing key as empty (2 ms) -[ok]: SUNIONSTORE against non-set should throw error (4 ms) -[ok]: SUNIONSTORE should handle non existing key as empty (4 ms) -[ok]: SUNIONSTORE against non existing keys should delete dstkey (1 ms) -[ok]: SPOP basics - listpack (3 ms) -[ok]: SPOP with =1 - listpack (2 ms) -[ok]: SRANDMEMBER - listpack (25 ms) -[ok]: SPOP basics - intset (2 ms) -[ok]: SPOP with =1 - intset (3 ms) -[ok]: SRANDMEMBER - intset (29 ms) -[ok]: SPOP integer from listpack set (4 ms) -[ok]: SPOP with - listpack (11 ms) -[ok]: SPOP with - intset (11 ms) -[ok]: SPOP with - hashtable (11 ms) -[ok]: SPOP using integers, testing Knuth's and Floyd's algorithm (10 ms) +[ok]: SUNIONSTORE against non-set should throw error (7 ms) +[ok]: SUNIONSTORE should handle non existing key as empty (8 ms) +[ok]: SUNIONSTORE against non existing keys should delete dstkey (2 ms) +[ok]: SPOP basics - listpack (5 ms) +[ok]: SPOP with =1 - listpack (4 ms) +[ok]: SRANDMEMBER - listpack (40 ms) +[ok]: SPOP basics - intset (4 ms) +[ok]: SPOP with =1 - intset (4 ms) +[ok]: SRANDMEMBER - intset (41 ms) +[ok]: SPOP integer from listpack set (6 ms) +[ok]: SPOP with - listpack (15 ms) +[ok]: SPOP with - intset (17 ms) +[ok]: SPOP with - hashtable (15 ms) +[ok]: SPOP using integers, testing Knuth's and Floyd's algorithm (16 ms) [ok]: SPOP using integers with Knuth's algorithm (1 ms) -[ok]: SPOP new implementation: code path #1 intset (8 ms) -[ok]: SPOP new implementation: code path #2 intset (8 ms) -[ok]: SPOP new implementation: code path #3 intset (8 ms) -[ok]: SPOP new implementation: code path #1 listpack (9 ms) -[ok]: SPOP new implementation: code path #2 listpack (8 ms) -[ok]: SPOP new implementation: code path #3 listpack (9 ms) -[ok]: SPOP new implementation: code path #1 propagate as DEL or UNLINK (89 ms) -[ok]: SRANDMEMBER count of 0 is handled correctly (1 ms) -[ok]: SRANDMEMBER with against non existing key (1 ms) +[ok]: SPOP new implementation: code path #1 intset (10 ms) +[ok]: SPOP new implementation: code path #2 intset (11 ms) +[ok]: SPOP new implementation: code path #3 intset (10 ms) +[ok]: SPOP new implementation: code path #1 listpack (10 ms) +[ok]: SPOP new implementation: code path #2 listpack (12 ms) +[ok]: SPOP new implementation: code path #3 listpack (10 ms) +[ok]: SPOP new implementation: code path #1 propagate as DEL or UNLINK (147 ms) +[ok]: SRANDMEMBER count of 0 is handled correctly (2 ms) +[ok]: SRANDMEMBER with against non existing key (2 ms) [ok]: SRANDMEMBER count overflow (1 ms) -[ok]: SRANDMEMBER count of 0 is handled correctly - emptyarray (1 ms) -[ok]: SRANDMEMBER with against non existing key - emptyarray (0 ms) -[ok]: SRANDMEMBER with - listpack (58 ms) -[ok]: SRANDMEMBER with - intset (59 ms) -[ok]: SRANDMEMBER with - hashtable (54 ms) -[ok]: SRANDMEMBER histogram distribution - listpack (241 ms) -[ok]: SRANDMEMBER histogram distribution - intset (229 ms) -[ok]: SRANDMEMBER histogram distribution - hashtable (242 ms) +[ok]: SRANDMEMBER count of 0 is handled correctly - emptyarray (2 ms) +[ok]: SRANDMEMBER with against non existing key - emptyarray (1 ms) +[ok]: SRANDMEMBER with - listpack (478 ms) +[ok]: SRANDMEMBER with - intset (332 ms) +[ok]: SRANDMEMBER with - hashtable (89 ms) +[ok]: SRANDMEMBER histogram distribution - listpack (394 ms) +[ok]: SRANDMEMBER histogram distribution - intset (424 ms) +[ok]: SRANDMEMBER histogram distribution - hashtable (377 ms) -Waiting for background save to finish... Waiting for background save to finish... Hash table 0 stats (main hash table): table size: 4096 number of elements: 499 - different slots: 22 - max chain length: 35 - avg chain length (counted): 22.68 - avg chain length (computed): 22.68 + different slots: 20 + max chain length: 33 + avg chain length (counted): 24.95 + avg chain length (computed): 24.95 Chain length distribution: - 0: 4074 (99.46%) - 9: 1 (0.02%) - 12: 1 (0.02%) - 14: 1 (0.02%) + 0: 4076 (99.51%) + 11: 1 (0.02%) 17: 1 (0.02%) 18: 1 (0.02%) - 19: 1 (0.02%) - 22: 2 (0.05%) - 24: 4 (0.10%) - 25: 3 (0.07%) - 26: 3 (0.07%) - 27: 2 (0.05%) + 20: 2 (0.05%) + 23: 2 (0.05%) + 25: 2 (0.05%) + 26: 2 (0.05%) + 27: 3 (0.07%) 28: 1 (0.02%) - 35: 1 (0.02%) + 29: 1 (0.02%) + 30: 1 (0.02%) + 32: 2 (0.05%) + 33: 1 (0.02%) -Waiting for background save to finish... -Waiting for background save to finish... [ok]: SRANDMEMBER with a dict containing long chain (31233 ms) -[ok]: SMOVE basics - from regular set to intset (8 ms) -[ok]: SMOVE basics - from intset to regular set (4 ms) -[ok]: SMOVE non existing key (4 ms) -[ok]: SMOVE non existing src set (3 ms) -[ok]: SMOVE from regular set to non existing destination set (3 ms) -[ok]: SMOVE from intset to non existing destination set (4 ms) +Waiting for background save to finish... [ok]: SRANDMEMBER with a dict containing long chain (54832 ms) +[ok]: SMOVE basics - from regular set to intset (12 ms) +[ok]: SMOVE basics - from intset to regular set (7 ms) +[ok]: SMOVE non existing key (7 ms) +[ok]: SMOVE non existing src set (6 ms) +[ok]: SMOVE from regular set to non existing destination set (7 ms) +[ok]: SMOVE from intset to non existing destination set (6 ms) [ok]: SMOVE wrong src key type (1 ms) [ok]: SMOVE wrong dst key type (1 ms) -[ok]: SMOVE with identical source and destination (1 ms) -[ok]: SMOVE only notify dstset when the addition is successful (28 ms) -[ok]: intsets implementation stress testing (5409 ms) +[ok]: SMOVE with identical source and destination (2 ms) +[ok]: SMOVE only notify dstset when the addition is successful (39 ms) +[ok]: intsets implementation stress testing (8906 ms) === () Starting server 127.0.0.1:21185 ok -[14/91 done]: unit/type/set (51 seconds) +[14/91 done]: unit/type/set (87 seconds) Testing unit/type/zset === (zset) Starting server 127.0.0.1:21187 ok -[ok]: Check encoding - listpack (1 ms) -[ok]: ZSET basic ZADD and score update - listpack (2 ms) -[ok]: ZSET element can't be set to NaN with ZADD - listpack (0 ms) -[ok]: ZSET element can't be set to NaN with ZINCRBY - listpack (0 ms) -[ok]: ZADD with options syntax error with incomplete pair - listpack (1 ms) -[ok]: ZADD XX option without key - listpack (1 ms) -[ok]: ZADD XX existing key - listpack (1 ms) -[ok]: ZADD XX returns the number of elements actually added - listpack (1 ms) -[ok]: ZADD XX updates existing elements score - listpack (2 ms) -[ok]: ZADD GT updates existing elements when new scores are greater - listpack (2 ms) -[ok]: ZADD LT updates existing elements when new scores are lower - listpack (2 ms) -[ok]: ZADD GT XX updates existing elements when new scores are greater and skips new elements - listpack (2 ms) -[ok]: ZADD LT XX updates existing elements when new scores are lower and skips new elements - listpack (3 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]: Check encoding - listpack (2 ms) +[ok]: ZSET basic ZADD and score update - listpack (4 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 (1 ms) +[ok]: ZADD with options syntax error with incomplete pair - listpack (3 ms) +[ok]: ZADD XX option without key - listpack (2 ms) +[ok]: ZADD XX existing key - listpack (3 ms) +[ok]: ZADD XX returns the number of elements actually added - listpack (2 ms) +[ok]: ZADD XX updates existing elements score - listpack (4 ms) +[ok]: ZADD GT updates existing elements when new scores are greater - listpack (3 ms) +[ok]: ZADD LT updates existing elements when new scores are lower - listpack (3 ms) +[ok]: ZADD GT XX updates existing elements when new scores are greater and skips new elements - listpack (3 ms) +[ok]: ZADD LT XX updates existing elements when new scores are lower and skips new elements - listpack (4 ms) +[ok]: ZADD XX and NX are not compatible - listpack (2 ms) +[ok]: ZADD NX with non existing key - listpack (2 ms) +[ok]: ZADD NX only add new elements without updating old ones - listpack (3 ms) [ok]: ZADD GT and NX are not compatible - listpack (1 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 (5 ms) +[ok]: ZADD LT and NX are not compatible - listpack (2 ms) +[ok]: ZADD LT and GT are not compatible - listpack (2 ms) +[ok]: ZADD INCR LT/GT replies with nill if score not updated - listpack (3 ms) +[ok]: ZADD INCR LT/GT with inf - listpack (8 ms) [ok]: ZADD INCR works like ZINCRBY - listpack (2 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 (1 ms) -[ok]: ZINCRBY against invalid incr value - listpack (1 ms) -[ok]: ZADD - Variadic version base case - listpack (1 ms) -[ok]: ZADD - Return value is the number of actually added items - listpack (1 ms) -[ok]: ZADD - Variadic version does not add nothing on single parsing err - listpack (1 ms) -[ok]: ZADD - Variadic version will raise error on missing arg - listpack (1 ms) +[ok]: ZADD INCR works with a single score-elemenet pair - listpack (2 ms) +[ok]: ZADD CH option changes return value to all changed elements - listpack (2 ms) +[ok]: ZINCRBY calls leading to NaN result in error - listpack (2 ms) +[ok]: ZINCRBY against invalid incr value - listpack (2 ms) +[ok]: ZADD - Variadic version base case - listpack (2 ms) +[ok]: ZADD - Return value is the number of actually added items - listpack (2 ms) +[ok]: ZADD - Variadic version does not add nothing on single parsing err - listpack (2 ms) +[ok]: ZADD - Variadic version will raise error on missing arg - listpack (2 ms) [ok]: ZINCRBY does not work variadic even if shares ZADD implementation - listpack (1 ms) -[ok]: ZCARD basics - listpack (1 ms) -[ok]: ZREM removes key after last element is removed - listpack (2 ms) -[ok]: ZREM variadic version - listpack (2 ms) -[ok]: ZREM variadic version -- remove elements after key deletion - listpack (1 ms) -[ok]: ZRANGE basics - listpack (6 ms) -[ok]: ZREVRANGE basics - listpack (6 ms) -[ok]: ZRANK/ZREVRANK basics - listpack (5 ms) -[ok]: ZRANK - after deletion - listpack (1 ms) -[ok]: ZINCRBY - can create a new sorted set - listpack (1 ms) -[ok]: ZINCRBY - increment and decrement - listpack (3 ms) -[ok]: ZINCRBY return value - listpack (1 ms) -[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - listpack (12 ms) -[ok]: ZRANGEBYSCORE with WITHSCORES - listpack (3 ms) -[ok]: ZRANGEBYSCORE with LIMIT - listpack (15 ms) -[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - listpack (3 ms) -[ok]: ZRANGEBYSCORE with non-value min or max - listpack (1 ms) -[ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - listpack (8 ms) -[ok]: ZLEXCOUNT advanced - listpack (5 ms) -[ok]: ZRANGEBYLEX with LIMIT - listpack (13 ms) -[ok]: ZRANGEBYLEX with invalid lex range specifiers - listpack (1 ms) -[ok]: ZREMRANGEBYSCORE basics - listpack (29 ms) -[ok]: ZREMRANGEBYSCORE with non-value min or max - listpack (1 ms) -[ok]: ZREMRANGEBYRANK basics - listpack (14 ms) -[ok]: ZREMRANGEBYLEX basics - listpack (35 ms) -[ok]: ZUNIONSTORE against non-existing key doesn't set destination - listpack (1 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF against non-existing key - listpack (2 ms) -[ok]: ZUNIONSTORE with empty set - listpack (2 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - listpack (2 ms) -[ok]: ZUNIONSTORE basics - listpack (3 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - listpack (3 ms) -[ok]: ZUNIONSTORE with weights - listpack (1 ms) -[ok]: ZUNION with weights - listpack (1 ms) -[ok]: ZUNIONSTORE with a regular set and weights - listpack (1 ms) -[ok]: ZUNIONSTORE with AGGREGATE MIN - listpack (1 ms) -[ok]: ZUNION/ZINTER with AGGREGATE MIN - listpack (1 ms) -[ok]: ZUNIONSTORE with AGGREGATE MAX - listpack (1 ms) -[ok]: ZUNION/ZINTER with AGGREGATE MAX - listpack (1 ms) -[ok]: ZINTERSTORE basics - listpack (1 ms) -[ok]: ZINTER basics - listpack (1 ms) -[ok]: ZINTERCARD with illegal arguments (2 ms) -[ok]: ZINTERCARD basics - listpack (1 ms) -[ok]: ZINTER RESP3 - listpack (2 ms) +[ok]: ZCARD basics - listpack (2 ms) +[ok]: ZREM removes key after last element is removed - listpack (4 ms) +[ok]: ZREM variadic version - listpack (3 ms) +[ok]: ZREM variadic version -- remove elements after key deletion - listpack (2 ms) +[ok]: ZRANGE basics - listpack (9 ms) +[ok]: ZREVRANGE basics - listpack (12 ms) +[ok]: ZRANK/ZREVRANK basics - listpack (10 ms) +[ok]: ZRANK - after deletion - listpack (3 ms) +[ok]: ZINCRBY - can create a new sorted set - listpack (2 ms) +[ok]: ZINCRBY - increment and decrement - listpack (4 ms) +[ok]: ZINCRBY return value - listpack (2 ms) +[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - listpack (20 ms) +[ok]: ZRANGEBYSCORE with WITHSCORES - listpack (5 ms) +[ok]: ZRANGEBYSCORE with LIMIT - listpack (25 ms) +[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - listpack (5 ms) +[ok]: ZRANGEBYSCORE with non-value min or max - listpack (2 ms) +[ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - listpack (13 ms) +[ok]: ZLEXCOUNT advanced - listpack (10 ms) +[ok]: ZRANGEBYLEX with LIMIT - listpack (24 ms) +[ok]: ZRANGEBYLEX with invalid lex range specifiers - listpack (3 ms) +[ok]: ZREMRANGEBYSCORE basics - listpack (51 ms) +[ok]: ZREMRANGEBYSCORE with non-value min or max - listpack (2 ms) +[ok]: ZREMRANGEBYRANK basics - listpack (25 ms) +[ok]: ZREMRANGEBYLEX basics - listpack (60 ms) +[ok]: ZUNIONSTORE against non-existing key doesn't set destination - listpack (2 ms) +[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF against non-existing key - listpack (4 ms) +[ok]: ZUNIONSTORE with empty set - listpack (3 ms) +[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - listpack (5 ms) +[ok]: ZUNIONSTORE basics - listpack (4 ms) +[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - listpack (6 ms) +[ok]: ZUNIONSTORE with weights - listpack (3 ms) +[ok]: ZUNION with weights - listpack (2 ms) +[ok]: ZUNIONSTORE with a regular set and weights - listpack (4 ms) +[ok]: ZUNIONSTORE with AGGREGATE MIN - listpack (2 ms) +[ok]: ZUNION/ZINTER with AGGREGATE MIN - listpack (2 ms) +[ok]: ZUNIONSTORE with AGGREGATE MAX - listpack (2 ms) +[ok]: ZUNION/ZINTER with AGGREGATE MAX - listpack (2 ms) +[ok]: ZINTERSTORE basics - listpack (2 ms) +[ok]: ZINTER basics - listpack (2 ms) +[ok]: ZINTERCARD with illegal arguments (3 ms) +[ok]: ZINTERCARD basics - listpack (2 ms) +[ok]: ZINTER RESP3 - listpack (3 ms) [ok]: ZINTERSTORE with weights - listpack (1 ms) -[ok]: ZINTER with weights - listpack (0 ms) -[ok]: ZINTERSTORE with a regular set and weights - listpack (2 ms) -[ok]: ZINTERSTORE with AGGREGATE MIN - listpack (1 ms) -[ok]: ZINTERSTORE with AGGREGATE MAX - listpack (1 ms) -[ok]: ZUNIONSTORE with +inf/-inf scores - listpack (5 ms) -[ok]: ZUNIONSTORE with NaN weights - listpack (2 ms) -[ok]: ZINTERSTORE with +inf/-inf scores - listpack (5 ms) -[ok]: ZINTERSTORE with NaN weights - listpack (1 ms) -[ok]: ZDIFFSTORE basics - listpack (1 ms) -[ok]: ZDIFF basics - listpack (1 ms) -[ok]: ZDIFFSTORE with a regular set - listpack (1 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 (12302 ms) -[ok]: ZPOPMIN with the count 0 returns an empty array (2 ms) -[ok]: ZPOPMIN with negative count (3 ms) -[ok]: ZPOPMAX with the count 0 returns an empty array (2 ms) -[ok]: ZPOPMAX with negative count (2 ms) -[ok]: Basic ZPOPMIN/ZPOPMAX with a single key - listpack (5 ms) -[ok]: ZPOPMIN/ZPOPMAX with count - listpack (3 ms) -[ok]: Basic ZMPOP_MIN/ZMPOP_MAX with a single key - listpack (5 ms) -[ok]: ZMPOP_MIN/ZMPOP_MAX with count - listpack (3 ms) -[ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - listpack (29 ms) -[ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - listpack (30 ms) -[ok]: BZPOPMIN/BZPOPMAX second sorted set has members - listpack (29 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - listpack (32 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - listpack (32 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - listpack (29 ms) -[ok]: Basic ZPOPMIN/ZPOPMAX - listpack RESP3 (3 ms) -[ok]: ZPOPMIN/ZPOPMAX with count - listpack RESP3 (5 ms) -[ok]: Basic ZMPOP_MIN/ZMPOP_MAX - listpack RESP3 (3 ms) -[ok]: ZMPOP_MIN/ZMPOP_MAX with count - listpack RESP3 (4 ms) -[ok]: BZPOPMIN/BZPOPMAX - listpack RESP3 (31 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX - listpack RESP3 (30 ms) +[ok]: ZINTER with weights - listpack (2 ms) +[ok]: ZINTERSTORE with a regular set and weights - listpack (3 ms) +[ok]: ZINTERSTORE with AGGREGATE MIN - listpack (2 ms) +[ok]: ZINTERSTORE with AGGREGATE MAX - listpack (2 ms) +[ok]: ZUNIONSTORE with +inf/-inf scores - listpack (7 ms) +[ok]: ZUNIONSTORE with NaN weights - listpack (3 ms) +[ok]: ZINTERSTORE with +inf/-inf scores - listpack (7 ms) +[ok]: ZINTERSTORE with NaN weights - listpack (13 ms) +[ok]: ZDIFFSTORE basics - listpack (5 ms) +[ok]: ZDIFF basics - listpack (2 ms) +[ok]: ZDIFFSTORE with a regular set - listpack (3 ms) +[ok]: ZDIFF subtracting set from itself - listpack (1 ms) +[ok]: ZDIFF algorithm 1 - listpack (5 ms) +[ok]: ZDIFF algorithm 2 - listpack (6 ms) +[ok]: ZDIFF fuzzing - listpack (16308 ms) +[ok]: ZPOPMIN with the count 0 returns an empty array (4 ms) +[ok]: ZPOPMIN with negative count (4 ms) +[ok]: ZPOPMAX with the count 0 returns an empty array (4 ms) +[ok]: ZPOPMAX with negative count (4 ms) +[ok]: Basic ZPOPMIN/ZPOPMAX with a single key - listpack (9 ms) +[ok]: ZPOPMIN/ZPOPMAX with count - listpack (6 ms) +[ok]: Basic ZMPOP_MIN/ZMPOP_MAX with a single key - listpack (9 ms) +[ok]: ZMPOP_MIN/ZMPOP_MAX with count - listpack (6 ms) +[ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - listpack (45 ms) +[ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - listpack (82 ms) +[ok]: BZPOPMIN/BZPOPMAX second sorted set has members - listpack (70 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - listpack (60 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - listpack (80 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - listpack (67 ms) +[ok]: Basic ZPOPMIN/ZPOPMAX - listpack RESP3 (5 ms) +[ok]: ZPOPMIN/ZPOPMAX with count - listpack RESP3 (6 ms) +[ok]: Basic ZMPOP_MIN/ZMPOP_MAX - listpack RESP3 (6 ms) +[ok]: ZMPOP_MIN/ZMPOP_MAX with count - listpack RESP3 (6 ms) +[ok]: BZPOPMIN/BZPOPMAX - listpack RESP3 (45 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX - listpack RESP3 (45 ms) [ok]: Check encoding - skiplist (1 ms) -[ok]: ZSET basic ZADD and score update - skiplist (3 ms) +[ok]: ZSET basic ZADD and score update - skiplist (4 ms) [ok]: ZSET element can't be set to NaN with ZADD - skiplist (1 ms) -[ok]: ZSET element can't be set to NaN with ZINCRBY - skiplist (0 ms) +[ok]: ZSET element can't be set to NaN with ZINCRBY - skiplist (1 ms) [ok]: ZADD with options syntax error with incomplete pair - skiplist (1 ms) [ok]: ZADD XX option without key - skiplist (1 ms) -[ok]: ZADD XX existing key - skiplist (1 ms) -[ok]: ZADD XX returns the number of elements actually added - skiplist (2 ms) +[ok]: ZADD XX existing key - skiplist (2 ms) +[ok]: ZADD XX returns the number of elements actually added - skiplist (1 ms) [ok]: ZADD XX updates existing elements score - skiplist (2 ms) -[ok]: ZADD GT updates existing elements when new scores are greater - skiplist (2 ms) -[ok]: ZADD LT updates existing elements when new scores are lower - skiplist (2 ms) +[ok]: ZADD GT updates existing elements when new scores are greater - skiplist (3 ms) +[ok]: ZADD LT updates existing elements when new scores are lower - skiplist (4 ms) [ok]: ZADD GT XX updates existing elements when new scores are greater and skips new elements - skiplist (3 ms) -[ok]: ZADD LT XX updates existing elements when new scores are lower and skips new elements - skiplist (2 ms) +[ok]: ZADD LT XX updates existing elements when new scores are lower and skips new elements - skiplist (3 ms) [ok]: ZADD XX and NX are not compatible - skiplist (1 ms) -[ok]: ZADD NX with non existing key - skiplist (1 ms) -[ok]: ZADD NX only add new elements without updating old ones - skiplist (1 ms) -[ok]: ZADD GT and NX are not compatible - skiplist (0 ms) -[ok]: ZADD LT and NX are not compatible - skiplist (1 ms) -[ok]: ZADD LT and GT are not compatible - skiplist (1 ms) -[ok]: ZADD INCR LT/GT replies with nill if score not updated - skiplist (2 ms) -[ok]: ZADD INCR LT/GT with inf - skiplist (5 ms) -[ok]: ZADD INCR works like ZINCRBY - skiplist (1 ms) +[ok]: ZADD NX with non existing key - skiplist (2 ms) +[ok]: ZADD NX only add new elements without updating old ones - skiplist (4 ms) +[ok]: ZADD GT and NX are not compatible - skiplist (1 ms) +[ok]: ZADD LT and NX are not compatible - skiplist (2 ms) +[ok]: ZADD LT and GT are not compatible - skiplist (3 ms) +[ok]: ZADD INCR LT/GT replies with nill if score not updated - skiplist (3 ms) +[ok]: ZADD INCR LT/GT with inf - skiplist (9 ms) +[ok]: ZADD INCR works like ZINCRBY - skiplist (2 ms) [ok]: ZADD INCR works with a single score-elemenet pair - skiplist (1 ms) -[ok]: ZADD CH option changes return value to all changed elements - skiplist (1 ms) +[ok]: ZADD CH option changes return value to all changed elements - skiplist (2 ms) [ok]: ZINCRBY calls leading to NaN result in error - skiplist (1 ms) -[ok]: ZINCRBY against invalid incr value - skiplist (1 ms) -[ok]: ZADD - Variadic version base case - skiplist (1 ms) -[ok]: ZADD - Return value is the number of actually added items - skiplist (0 ms) -[ok]: ZADD - Variadic version does not add nothing on single parsing err - skiplist (1 ms) +[ok]: ZINCRBY against invalid incr value - skiplist (2 ms) +[ok]: ZADD - Variadic version base case - skiplist (2 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 (2 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 (1 ms) [ok]: ZCARD basics - skiplist (2 ms) [ok]: ZREM removes key after last element is removed - skiplist (3 ms) [ok]: ZREM variadic version - skiplist (2 ms) [ok]: ZREM variadic version -- remove elements after key deletion - skiplist (1 ms) -[ok]: ZRANGE basics - skiplist (6 ms) -[ok]: ZREVRANGE basics - skiplist (8 ms) -[ok]: ZRANK/ZREVRANK basics - skiplist (7 ms) +[ok]: ZRANGE basics - skiplist (10 ms) +[ok]: ZREVRANGE basics - skiplist (10 ms) +[ok]: ZRANK/ZREVRANK basics - skiplist (10 ms) [ok]: ZRANK - after deletion - skiplist (2 ms) -[ok]: ZINCRBY - can create a new sorted set - skiplist (1 ms) -[ok]: ZINCRBY - increment and decrement - skiplist (2 ms) -[ok]: ZINCRBY return value - skiplist (1 ms) -[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - skiplist (12 ms) -[ok]: ZRANGEBYSCORE with WITHSCORES - skiplist (4 ms) -[ok]: ZRANGEBYSCORE with LIMIT - skiplist (15 ms) -[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - skiplist (3 ms) -[ok]: ZRANGEBYSCORE with non-value min or max - skiplist (1 ms) -[ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - skiplist (8 ms) -[ok]: ZLEXCOUNT advanced - skiplist (6 ms) -[ok]: ZRANGEBYLEX with LIMIT - skiplist (14 ms) +[ok]: ZINCRBY - can create a new sorted set - skiplist (2 ms) +[ok]: ZINCRBY - increment and decrement - skiplist (5 ms) +[ok]: ZINCRBY return value - skiplist (3 ms) +[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - skiplist (32 ms) +[ok]: ZRANGEBYSCORE with WITHSCORES - skiplist (28 ms) +[ok]: ZRANGEBYSCORE with LIMIT - skiplist (29 ms) +[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - skiplist (5 ms) +[ok]: ZRANGEBYSCORE with non-value min or max - skiplist (2 ms) +[ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - skiplist (12 ms) +[ok]: ZLEXCOUNT advanced - skiplist (8 ms) +[ok]: ZRANGEBYLEX with LIMIT - skiplist (22 ms) [ok]: ZRANGEBYLEX with invalid lex range specifiers - skiplist (2 ms) -[ok]: ZREMRANGEBYSCORE basics - skiplist (32 ms) +[ok]: ZREMRANGEBYSCORE basics - skiplist (45 ms) [ok]: ZREMRANGEBYSCORE with non-value min or max - skiplist (1 ms) -[ok]: ZREMRANGEBYRANK basics - skiplist (15 ms) -[ok]: ZREMRANGEBYLEX basics - skiplist (36 ms) +[ok]: ZREMRANGEBYRANK basics - skiplist (20 ms) +[ok]: ZREMRANGEBYLEX basics - skiplist (53 ms) [ok]: ZUNIONSTORE against non-existing key doesn't set destination - skiplist (1 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF against non-existing key - skiplist (1 ms) +[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF against non-existing key - skiplist (2 ms) [ok]: ZUNIONSTORE with empty set - skiplist (2 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - skiplist (2 ms) -[ok]: ZUNIONSTORE basics - skiplist (3 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - skiplist (3 ms) -[ok]: ZUNIONSTORE with weights - skiplist (0 ms) -[ok]: ZUNION with weights - skiplist (0 ms) -[ok]: ZUNIONSTORE with a regular set and weights - skiplist (2 ms) +[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - skiplist (3 ms) +[ok]: ZUNIONSTORE basics - skiplist (4 ms) +[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - skiplist (5 ms) +[ok]: ZUNIONSTORE with weights - skiplist (1 ms) +[ok]: ZUNION with weights - skiplist (1 ms) +[ok]: ZUNIONSTORE with a regular set and weights - skiplist (3 ms) [ok]: ZUNIONSTORE with AGGREGATE MIN - skiplist (1 ms) [ok]: ZUNION/ZINTER with AGGREGATE MIN - skiplist (1 ms) [ok]: ZUNIONSTORE with AGGREGATE MAX - skiplist (1 ms) [ok]: ZUNION/ZINTER with AGGREGATE MAX - skiplist (1 ms) -[ok]: ZINTERSTORE basics - skiplist (0 ms) -[ok]: ZINTER basics - skiplist (0 ms) -[ok]: ZINTERCARD with illegal arguments (3 ms) -[ok]: ZINTERCARD basics - skiplist (2 ms) -[ok]: ZINTER RESP3 - skiplist (1 ms) +[ok]: ZINTERSTORE basics - skiplist (1 ms) +[ok]: ZINTER basics - skiplist (1 ms) +[ok]: ZINTERCARD with illegal arguments (2 ms) +[ok]: ZINTERCARD basics - skiplist (1 ms) +[ok]: ZINTER RESP3 - skiplist (2 ms) [ok]: ZINTERSTORE with weights - skiplist (1 ms) [ok]: ZINTER with weights - skiplist (0 ms) -[ok]: ZINTERSTORE with a regular set and weights - skiplist (2 ms) -[ok]: ZINTERSTORE with AGGREGATE MIN - skiplist (0 ms) +[ok]: ZINTERSTORE with a regular set and weights - skiplist (3 ms) +[ok]: ZINTERSTORE with AGGREGATE MIN - skiplist (1 ms) [ok]: ZINTERSTORE with AGGREGATE MAX - skiplist (1 ms) -[ok]: ZUNIONSTORE with +inf/-inf scores - skiplist (4 ms) +[ok]: ZUNIONSTORE with +inf/-inf scores - skiplist (7 ms) [ok]: ZUNIONSTORE with NaN weights - skiplist (2 ms) -[ok]: ZINTERSTORE with +inf/-inf scores - skiplist (4 ms) -[ok]: ZINTERSTORE with NaN weights - skiplist (1 ms) +[ok]: ZINTERSTORE with +inf/-inf scores - skiplist (6 ms) +[ok]: ZINTERSTORE with NaN weights - skiplist (2 ms) [ok]: ZDIFFSTORE basics - skiplist (1 ms) -[ok]: ZDIFF basics - skiplist (0 ms) +[ok]: ZDIFF basics - skiplist (1 ms) [ok]: ZDIFFSTORE with a regular set - skiplist (2 ms) -[ok]: ZDIFF subtracting set from itself - skiplist (1 ms) +[ok]: ZDIFF subtracting set from itself - skiplist (0 ms) [ok]: ZDIFF algorithm 1 - skiplist (3 ms) -[ok]: ZDIFF algorithm 2 - skiplist (3 ms) -[ok]: ZDIFF fuzzing - skiplist (11477 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 (2 ms) -[ok]: Basic ZPOPMIN/ZPOPMAX with a single key - skiplist (3 ms) -[ok]: ZPOPMIN/ZPOPMAX with count - skiplist (2 ms) -[ok]: Basic ZMPOP_MIN/ZMPOP_MAX with a single key - skiplist (3 ms) -[ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist (2 ms) -[ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - skiplist (26 ms) -[ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - skiplist (27 ms) -[ok]: BZPOPMIN/BZPOPMAX second sorted set has members - skiplist (25 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - skiplist (26 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - skiplist (28 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - skiplist (27 ms) -[ok]: Basic ZPOPMIN/ZPOPMAX - skiplist RESP3 (3 ms) -[ok]: ZPOPMIN/ZPOPMAX with count - skiplist RESP3 (3 ms) -[ok]: Basic ZMPOP_MIN/ZMPOP_MAX - skiplist RESP3 (2 ms) -[ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist RESP3 (2 ms) -[ok]: BZPOPMIN/BZPOPMAX - skiplist RESP3 (27 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX - skiplist RESP3 (27 ms) -[ok]: ZPOP/ZMPOP against wrong type (3 ms) -[ok]: ZMPOP with illegal argument (5 ms) -[ok]: ZMPOP propagate as pop with count command to replica (122 ms) -[ok]: ZPOPMIN/ZPOPMAX readraw in RESP3 (3 ms) -[ok]: BZPOPMIN/BZPOPMAX readraw in RESP3 (169 ms) -[ok]: ZMPOP readraw in RESP3 (4 ms) +[ok]: ZDIFF algorithm 2 - skiplist (4 ms) +[ok]: ZDIFF fuzzing - skiplist (17890 ms) +[ok]: ZPOPMIN with the count 0 returns an empty array (2 ms) +[ok]: ZPOPMIN with negative count (3 ms) +[ok]: ZPOPMAX with the count 0 returns an empty array (3 ms) +[ok]: ZPOPMAX with negative count (3 ms) +[ok]: Basic ZPOPMIN/ZPOPMAX with a single key - skiplist (5 ms) +[ok]: ZPOPMIN/ZPOPMAX with count - skiplist (8 ms) +[ok]: Basic ZMPOP_MIN/ZMPOP_MAX with a single key - skiplist (7 ms) +[ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist (4 ms) +[ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - skiplist (43 ms) +[ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - skiplist (44 ms) +[ok]: BZPOPMIN/BZPOPMAX second sorted set has members - skiplist (49 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - skiplist (43 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - skiplist (46 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - skiplist (46 ms) +[ok]: Basic ZPOPMIN/ZPOPMAX - skiplist RESP3 (4 ms) +[ok]: ZPOPMIN/ZPOPMAX with count - skiplist RESP3 (4 ms) +[ok]: Basic ZMPOP_MIN/ZMPOP_MAX - skiplist RESP3 (6 ms) +[ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist RESP3 (5 ms) +[ok]: BZPOPMIN/BZPOPMAX - skiplist RESP3 (49 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX - skiplist RESP3 (45 ms) +[ok]: ZPOP/ZMPOP against wrong type (6 ms) +[ok]: ZMPOP with illegal argument (11 ms) +[ok]: ZMPOP propagate as pop with count command to replica (130 ms) +[ok]: ZPOPMIN/ZPOPMAX readraw in RESP3 (6 ms) +[ok]: BZPOPMIN/BZPOPMAX readraw in RESP3 (152 ms) +[ok]: ZMPOP readraw in RESP3 (9 ms) [ok]: BZMPOP readraw in RESP3 (198 ms) -[ok]: ZPOPMIN/ZPOPMAX readraw in RESP2 (3 ms) -[ok]: BZPOPMIN/BZPOPMAX readraw in RESP2 (174 ms) -[ok]: ZMPOP readraw in RESP2 (5 ms) -[ok]: BZMPOP readraw in RESP2 (198 ms) -[ok]: ZINTERSTORE regression with two sets, intset+hashtable (1 ms) -[ok]: ZUNIONSTORE regression, should not create NaN in scores (1 ms) -[ok]: ZINTERSTORE #516 regression, mixed sets and ziplist zsets (1 ms) -[ok]: ZUNIONSTORE result is sorted (148 ms) -[ok]: ZUNIONSTORE/ZINTERSTORE/ZDIFFSTORE error if using WITHSCORES (1 ms) -[ok]: ZMSCORE retrieve (1 ms) -[ok]: ZMSCORE retrieve from empty set (0 ms) -[ok]: ZMSCORE retrieve with missing member (1 ms) -[ok]: ZMSCORE retrieve single member (1 ms) -[ok]: ZMSCORE retrieve requires one or more members (1 ms) +[ok]: ZPOPMIN/ZPOPMAX readraw in RESP2 (9 ms) +[ok]: BZPOPMIN/BZPOPMAX readraw in RESP2 (278 ms) +[ok]: ZMPOP readraw in RESP2 (55 ms) +[ok]: BZMPOP readraw in RESP2 (254 ms) +[ok]: ZINTERSTORE regression with two sets, intset+hashtable (31 ms) +[ok]: ZUNIONSTORE regression, should not create NaN in scores (19 ms) +[ok]: ZINTERSTORE #516 regression, mixed sets and ziplist zsets (23 ms) +[ok]: ZUNIONSTORE result is sorted (291 ms) +[ok]: ZUNIONSTORE/ZINTERSTORE/ZDIFFSTORE error if using WITHSCORES (2 ms) +[ok]: ZMSCORE retrieve (2 ms) +[ok]: ZMSCORE retrieve from empty set (1 ms) +[ok]: ZMSCORE retrieve with missing member (2 ms) +[ok]: ZMSCORE retrieve single member (7 ms) +[ok]: ZMSCORE retrieve requires one or more members (3 ms) [ok]: ZSET commands don't accept the empty strings as valid score (1 ms) -[ok]: zunionInterDiffGenericCommand at least 1 input key (2 ms) -[ok]: ZSCORE - listpack (62 ms) -[ok]: ZMSCORE - listpack (61 ms) -[ok]: ZSCORE after a DEBUG RELOAD - listpack (83 ms) -[ok]: ZSET sorting stresser - listpack (81 ms) -[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 128 element sorted set - listpack (6370 ms) -[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (504 ms) -[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (652 ms) -[ok]: ZSETs skiplist implementation backlink consistency test - listpack (65 ms) -[ok]: ZSETs ZRANK augmented skip list stress testing - listpack (2047 ms) -[ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (28 ms) -[ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (27 ms) -[ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (25 ms) -[ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (25 ms) -[ok]: BZPOPMIN unblock but the key is expired and then block again - reprocessing command (1036 ms) -[ok]: BZPOPMIN with same key multiple times should work (28 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (25 ms) -[ok]: BZPOPMIN with variadic ZADD (25 ms) -[ok]: BZPOPMIN with zero timeout should block indefinitely (1029 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (25 ms) -[ok]: BZMPOP_MIN with variadic ZADD (25 ms) -[ok]: BZMPOP_MIN with zero timeout should block indefinitely (1031 ms) -[ok]: ZSCORE - skiplist (46 ms) -[ok]: ZMSCORE - skiplist (46 ms) -[ok]: ZSCORE after a DEBUG RELOAD - skiplist (57 ms) -[ok]: ZSET sorting stresser - skiplist (60 ms) -[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 100 element sorted set - skiplist (5074 ms) -[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (378 ms) -[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (538 ms) -[ok]: ZSETs skiplist implementation backlink consistency test - skiplist (50 ms) -[ok]: ZSETs ZRANK augmented skip list stress testing - skiplist (2039 ms) -[ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (27 ms) -[ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (26 ms) -[ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (26 ms) -[ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (26 ms) -[ok]: BZPOPMIN unblock but the key is expired and then block again - reprocessing command (1035 ms) -[ok]: BZPOPMIN with same key multiple times should work (28 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (26 ms) -[ok]: BZPOPMIN with variadic ZADD (26 ms) -[ok]: BZPOPMIN with zero timeout should block indefinitely (1029 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (26 ms) -[ok]: BZMPOP_MIN with variadic ZADD (25 ms) -[ok]: BZMPOP_MIN with zero timeout should block indefinitely (1029 ms) -[ok]: BZPOP/BZMPOP against wrong type (3 ms) -[ok]: BZMPOP with illegal argument (5 ms) -[ok]: BZMPOP with multiple blocked clients (97 ms) -[ok]: BZMPOP propagate as pop with count command to replica (229 ms) -[ok]: BZMPOP should not blocks on non key arguments - #10762 (50 ms) -[ok]: ZSET skiplist order consistency when elements are moved (2106 ms) -[ok]: ZRANGESTORE basic (1 ms) -[ok]: ZRANGESTORE RESP3 (1 ms) -[ok]: ZRANGESTORE range (1 ms) -[ok]: ZRANGESTORE BYLEX (1 ms) -[ok]: ZRANGESTORE BYSCORE (1 ms) -[ok]: ZRANGESTORE BYSCORE LIMIT (1 ms) -[ok]: ZRANGESTORE BYSCORE REV LIMIT (1 ms) -[ok]: ZRANGE BYSCORE REV LIMIT (0 ms) -[ok]: ZRANGESTORE - src key missing (1 ms) -[ok]: ZRANGESTORE - src key wrong type (1 ms) -[ok]: ZRANGESTORE - empty range (0 ms) -[ok]: ZRANGESTORE BYLEX - empty range (0 ms) +[ok]: zunionInterDiffGenericCommand at least 1 input key (4 ms) +[ok]: ZSCORE - listpack (125 ms) +[ok]: ZMSCORE - listpack (118 ms) +[ok]: ZSCORE after a DEBUG RELOAD - listpack (152 ms) +[ok]: ZSET sorting stresser - listpack (151 ms) +[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 128 element sorted set - listpack (15393 ms) +[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (832 ms) +[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (1178 ms) +[ok]: ZSETs skiplist implementation backlink consistency test - listpack (144 ms) +[ok]: ZSETs ZRANK augmented skip list stress testing - listpack (4546 ms) +[ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (42 ms) +[ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (41 ms) +[ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (40 ms) +[ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (41 ms) +[ok]: BZPOPMIN unblock but the key is expired and then block again - reprocessing command (1078 ms) +[ok]: BZPOPMIN with same key multiple times should work (46 ms) +[ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (46 ms) +[ok]: BZPOPMIN with variadic ZADD (43 ms) +[ok]: BZPOPMIN with zero timeout should block indefinitely (1051 ms) +[ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (51 ms) +[ok]: BZMPOP_MIN with variadic ZADD (41 ms) +[ok]: BZMPOP_MIN with zero timeout should block indefinitely (1051 ms) +[ok]: ZSCORE - skiplist (152 ms) +[ok]: ZMSCORE - skiplist (95 ms) +[ok]: ZSCORE after a DEBUG RELOAD - skiplist (109 ms) +[ok]: ZSET sorting stresser - skiplist (116 ms) +[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 100 element sorted set - skiplist (11674 ms) +[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (697 ms) +[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (937 ms) +[ok]: ZSETs skiplist implementation backlink consistency test - skiplist (104 ms) +[ok]: ZSETs ZRANK augmented skip list stress testing - skiplist (4412 ms) +[ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (41 ms) +[ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (41 ms) +[ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (41 ms) +[ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (41 ms) +[ok]: BZPOPMIN unblock but the key is expired and then block again - reprocessing command (1061 ms) +[ok]: BZPOPMIN with same key multiple times should work (51 ms) +[ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (44 ms) +[ok]: BZPOPMIN with variadic ZADD (43 ms) +[ok]: BZPOPMIN with zero timeout should block indefinitely (1043 ms) +[ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (99 ms) +[ok]: BZMPOP_MIN with variadic ZADD (85 ms) +[ok]: BZMPOP_MIN with zero timeout should block indefinitely (1111 ms) +[ok]: BZPOP/BZMPOP against wrong type (75 ms) +[ok]: BZMPOP with illegal argument (115 ms) +[ok]: BZMPOP with multiple blocked clients (225 ms) +[ok]: BZMPOP propagate as pop with count command to replica (231 ms) +[ok]: BZMPOP should not blocks on non key arguments - #10762 (91 ms) +[ok]: ZSET skiplist order consistency when elements are moved (4525 ms) +[ok]: ZRANGESTORE basic (4 ms) +[ok]: ZRANGESTORE RESP3 (3 ms) +[ok]: ZRANGESTORE range (2 ms) +[ok]: ZRANGESTORE BYLEX (3 ms) +[ok]: ZRANGESTORE BYSCORE (3 ms) +[ok]: ZRANGESTORE BYSCORE LIMIT (5 ms) +[ok]: ZRANGESTORE BYSCORE REV LIMIT (3 ms) +[ok]: ZRANGE BYSCORE REV LIMIT (2 ms) +[ok]: ZRANGESTORE - src key missing (2 ms) +[ok]: ZRANGESTORE - src key wrong type (3 ms) +[ok]: ZRANGESTORE - empty range (1 ms) +[ok]: ZRANGESTORE BYLEX - empty range (2 ms) [ok]: ZRANGESTORE BYSCORE - empty range (1 ms) -[ok]: ZRANGE BYLEX (0 ms) -[ok]: ZRANGESTORE invalid syntax (1 ms) -[ok]: ZRANGESTORE with zset-max-listpack-entries 0 #10767 case (2 ms) -[ok]: ZRANGESTORE with zset-max-listpack-entries 1 dst key should use skiplist encoding (2 ms) -[ok]: ZRANGE invalid syntax (1 ms) -[ok]: ZRANDMEMBER - listpack (19 ms) -[ok]: ZRANDMEMBER - skiplist (20 ms) -[ok]: ZRANDMEMBER with RESP3 (2 ms) -[ok]: ZRANDMEMBER count of 0 is handled correctly (0 ms) +[ok]: ZRANGE BYLEX (1 ms) +[ok]: ZRANGESTORE invalid syntax (2 ms) +[ok]: ZRANGESTORE with zset-max-listpack-entries 0 #10767 case (4 ms) +[ok]: ZRANGESTORE with zset-max-listpack-entries 1 dst key should use skiplist encoding (6 ms) +[ok]: ZRANGE invalid syntax (3 ms) +[ok]: ZRANDMEMBER - listpack (46 ms) +[ok]: ZRANDMEMBER - skiplist (47 ms) +[ok]: ZRANDMEMBER with RESP3 (3 ms) +[ok]: ZRANDMEMBER count of 0 is handled correctly (1 ms) [ok]: ZRANDMEMBER with against non existing key (1 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 (519 ms) -[ok]: ZRANDMEMBER with - listpack (514 ms) -[ok]: zset score double range (1 ms) -[ok]: zunionInterDiffGenericCommand acts on SET and ZSET (33 ms) -[ok]: ZADD overflows the maximum allowed elements in a listpack - single (15 ms) -[ok]: ZADD overflows the maximum allowed elements in a listpack - multiple (3 ms) -[ok]: ZADD overflows the maximum allowed elements in a listpack - single_multiple (3 ms) -[15/91 done]: unit/type/zset (55 seconds) +[ok]: ZRANDMEMBER count overflow (7 ms) +[ok]: ZRANDMEMBER count of 0 is handled correctly - emptyarray (1 ms) +[ok]: ZRANDMEMBER with against non existing key - emptyarray (1 ms) +[ok]: ZRANDMEMBER with - skiplist (1347 ms) +[ok]: ZRANDMEMBER with - listpack (1283 ms) +[ok]: zset score double range (2 ms) +[ok]: zunionInterDiffGenericCommand acts on SET and ZSET (81 ms) +[ok]: ZADD overflows the maximum allowed elements in a listpack - single (34 ms) +[ok]: ZADD overflows the maximum allowed elements in a listpack - multiple (6 ms) +[ok]: ZADD overflows the maximum allowed elements in a listpack - single_multiple (8 ms) +[15/91 done]: unit/type/zset (95 seconds) Testing unit/type/hash === (hash) Starting server 127.0.0.1:21189 ok -[ok]: HSET/HLEN - Small hash creation (2 ms) -[ok]: Is the small hash encoded with a listpack? (0 ms) -[ok]: HRANDFIELD - listpack (20 ms) -[ok]: HRANDFIELD - hashtable (20 ms) -[ok]: HRANDFIELD with RESP3 (2 ms) -[ok]: HRANDFIELD count of 0 is handled correctly (0 ms) -[ok]: HRANDFIELD count overflow (1 ms) -[ok]: HRANDFIELD with against non existing key (0 ms) -[ok]: HRANDFIELD count of 0 is handled correctly - emptyarray (0 ms) -[ok]: HRANDFIELD with against non existing key - emptyarray (0 ms) -[ok]: HRANDFIELD with - hashtable (283 ms) -[ok]: HRANDFIELD with - listpack (276 ms) -[ok]: HSET/HLEN - Big hash creation (245 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 (202 ms) -[ok]: HGET against non existing key (0 ms) -[ok]: HSET in update and insert mode (3 ms) +[ok]: HSET/HLEN - Small hash creation (6 ms) +[ok]: Is the small hash encoded with a listpack? (2 ms) +[ok]: HRANDFIELD - listpack (48 ms) +[ok]: HRANDFIELD - hashtable (49 ms) +[ok]: HRANDFIELD with RESP3 (3 ms) +[ok]: HRANDFIELD count of 0 is handled correctly (2 ms) +[ok]: HRANDFIELD count overflow (3 ms) +[ok]: HRANDFIELD with against non existing key (1 ms) +[ok]: HRANDFIELD count of 0 is handled correctly - emptyarray (1 ms) +[ok]: HRANDFIELD with against non existing key - emptyarray (1 ms) +[ok]: HRANDFIELD with - hashtable (567 ms) +[ok]: HRANDFIELD with - listpack (3048 ms) +[ok]: HSET/HLEN - Big hash creation (497 ms) +[ok]: Is the big hash encoded with an hash table? (1 ms) +[ok]: HGET against the small hash (8 ms) +[ok]: HGET against the big hash (387 ms) +[ok]: HGET against non existing key (2 ms) +[ok]: HSET in update and insert mode (4 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 (0 ms) -[ok]: HSETNX target key exists - big hash (1 ms) +[ok]: HSETNX target key exists - small hash (2 ms) +[ok]: HSETNX target key missing - big hash (2 ms) +[ok]: HSETNX target key exists - big hash (2 ms) [ok]: HSET/HMSET wrong number of args (1 ms) -[ok]: HMSET - small hash (0 ms) -[ok]: HMSET - big hash (65 ms) -[ok]: HMGET against non existing key and fields (1 ms) -[ok]: Hash commands against wrong type (5 ms) -[ok]: HMGET - small hash (0 ms) -[ok]: HMGET - big hash (66 ms) -[ok]: HKEYS - small hash (0 ms) -[ok]: HKEYS - big hash (20 ms) -[ok]: HVALS - small hash (1 ms) -[ok]: HVALS - big hash (2 ms) -[ok]: HGETALL - small hash (1 ms) -[ok]: HGETALL - big hash (49 ms) +[ok]: HMSET - small hash (1 ms) +[ok]: HMSET - big hash (89 ms) +[ok]: HMGET against non existing key and fields (5 ms) +[ok]: Hash commands against wrong type (15 ms) +[ok]: HMGET - small hash (1 ms) +[ok]: HMGET - big hash (91 ms) +[ok]: HKEYS - small hash (1 ms) +[ok]: HKEYS - big hash (36 ms) +[ok]: HVALS - small hash (0 ms) +[ok]: HVALS - big hash (4 ms) +[ok]: HGETALL - small hash (2 ms) +[ok]: HGETALL - big hash (73 ms) [ok]: HGETALL against non-existing key (1 ms) -[ok]: HDEL and return value (2 ms) -[ok]: HDEL - more than a single value (2 ms) -[ok]: HDEL - hash becomes empty before deleting all specified fields (1 ms) -[ok]: HEXISTS (1 ms) -[ok]: Is a ziplist encoded Hash promoted on big payload? (1 ms) -[ok]: HINCRBY against non existing database key (1 ms) -[ok]: HINCRBY HINCRBYFLOAT against non-integer increment value (1 ms) -[ok]: HINCRBY against non existing hash key (1 ms) -[ok]: HINCRBY against hash key created by hincrby itself (1 ms) -[ok]: HINCRBY against hash key originally set with HSET (1 ms) -[ok]: HINCRBY over 32bit value (1 ms) -[ok]: HINCRBY over 32bit value with over 32bit increment (1 ms) -[ok]: HINCRBY fails against hash value with spaces (left) (1 ms) -[ok]: HINCRBY fails against hash value with spaces (right) (1 ms) -[ok]: HINCRBY can detect overflows (1 ms) +[ok]: HDEL and return value (4 ms) +[ok]: HDEL - more than a single value (3 ms) +[ok]: HDEL - hash becomes empty before deleting all specified fields (2 ms) +[ok]: HEXISTS (2 ms) +[ok]: Is a ziplist encoded Hash promoted on big payload? (2 ms) +[ok]: HINCRBY against non existing database key (2 ms) +[ok]: HINCRBY HINCRBYFLOAT against non-integer increment value (2 ms) +[ok]: HINCRBY against non existing hash key (3 ms) +[ok]: HINCRBY against hash key created by hincrby itself (2 ms) +[ok]: HINCRBY against hash key originally set with HSET (3 ms) +[ok]: HINCRBY over 32bit value (3 ms) +[ok]: HINCRBY over 32bit value with over 32bit increment (2 ms) +[ok]: HINCRBY fails against hash value with spaces (left) (3 ms) +[ok]: HINCRBY fails against hash value with spaces (right) (2 ms) +[ok]: HINCRBY can detect overflows (2 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 (1 ms) -[ok]: HINCRBYFLOAT over 32bit value (1 ms) -[ok]: HINCRBYFLOAT over 32bit value with over 32bit increment (1 ms) -[ok]: HINCRBYFLOAT fails against hash value with spaces (left) (1 ms) -[ok]: HINCRBYFLOAT fails against hash value with spaces (right) (1 ms) -[ok]: HINCRBYFLOAT fails against hash value that contains a null-terminator in the middle (0 ms) -[ok]: HSTRLEN against the small hash (2 ms) -[ok]: HSTRLEN against the big hash (196 ms) -[ok]: HSTRLEN against non existing field (0 ms) -[ok]: HSTRLEN corner cases (6 ms) -[ok]: HINCRBYFLOAT over hash-max-listpack-value encoded with a listpack (4 ms) -[ok]: Hash ziplist regression test for large keys (0 ms) -[ok]: Hash fuzzing #1 - 10 fields (70 ms) -[ok]: Hash fuzzing #2 - 10 fields (51 ms) -[ok]: Hash fuzzing #1 - 512 fields (3196 ms) -[ok]: Hash fuzzing #2 - 512 fields (2207 ms) -[ok]: Stress test the hash ziplist -> hashtable encoding conversion (2653 ms) -[ok]: Hash ziplist of various encodings (101 ms) -[ok]: Hash ziplist of various encodings - sanitize dump (7 ms) +[ok]: HINCRBYFLOAT against non existing hash key (3 ms) +[ok]: HINCRBYFLOAT against hash key created by hincrby itself (3 ms) +[ok]: HINCRBYFLOAT against hash key originally set with HSET (2 ms) +[ok]: HINCRBYFLOAT over 32bit value (2 ms) +[ok]: HINCRBYFLOAT over 32bit value with over 32bit increment (3 ms) +[ok]: HINCRBYFLOAT fails against hash value with spaces (left) (3 ms) +[ok]: HINCRBYFLOAT fails against hash value with spaces (right) (2 ms) +[ok]: HINCRBYFLOAT fails against hash value that contains a null-terminator in the middle (2 ms) +[ok]: HSTRLEN against the small hash (3 ms) +[ok]: HSTRLEN against the big hash (411 ms) +[ok]: HSTRLEN against non existing field (1 ms) +[ok]: HSTRLEN corner cases (12 ms) +[ok]: HINCRBYFLOAT over hash-max-listpack-value encoded with a listpack (9 ms) +[ok]: Hash ziplist regression test for large keys (2 ms) +[ok]: Hash fuzzing #1 - 10 fields (144 ms) +[ok]: Hash fuzzing #2 - 10 fields (103 ms) +[ok]: Hash fuzzing #1 - 512 fields (10174 ms) +[ok]: Hash fuzzing #2 - 512 fields (4485 ms) +[ok]: Stress test the hash ziplist -> hashtable encoding conversion (5334 ms) +[ok]: Hash ziplist of various encodings (122 ms) +[ok]: Hash ziplist of various encodings - sanitize dump (17 ms) [ok]: HINCRBYFLOAT does not allow NaN or Infinity (2 ms) -[16/91 done]: unit/type/hash (10 seconds) +[16/91 done]: unit/type/hash (27 seconds) Testing unit/type/stream === (stream) Starting server 127.0.0.1:21191 ok -[ok]: XADD wrong number of args (1 ms) -[ok]: XADD can add entries into a stream that XRANGE can fetch (3 ms) -[ok]: XADD IDs are incremental (1 ms) +[ok]: XADD wrong number of args (2 ms) +[ok]: XADD can add entries into a stream that XRANGE can fetch (2 ms) +[ok]: XADD IDs are incremental (2 ms) [ok]: XADD IDs are incremental when ms is the same as well (2 ms) -[ok]: XADD IDs correctly report an error when overflowing (1 ms) +[ok]: XADD IDs correctly report an error when overflowing (2 ms) [ok]: XADD auto-generated sequence is incremented for last ID (2 ms) [ok]: XADD auto-generated sequence is zero for future timestamp ID (1 ms) [ok]: XADD auto-generated sequence can't be smaller than last ID (1 ms) [ok]: XADD auto-generated sequence can't overflow (2 ms) [ok]: XADD 0-* should succeed (1 ms) -[ok]: XADD with MAXLEN option (248 ms) -[ok]: XADD with MAXLEN option and the '=' argument (246 ms) -[ok]: XADD with MAXLEN option and the '~' argument (221 ms) +[ok]: XADD with MAXLEN option (481 ms) +[ok]: XADD with MAXLEN option and the '=' argument (482 ms) +[ok]: XADD with MAXLEN option and the '~' argument (450 ms) [ok]: XADD with NOMKSTREAM option (3 ms) -[ok]: XADD with MINID option (259 ms) -[ok]: XTRIM with MINID option (3 ms) -[ok]: XTRIM with MINID option, big delta from master record (1 ms) -[ok]: XADD mass insertion and XLEN (4287 ms) -[ok]: XADD with ID 0-0 (1 ms) +[ok]: XADD with MINID option (477 ms) +[ok]: XTRIM with MINID option (4 ms) +[ok]: XTRIM with MINID option, big delta from master record (2 ms) +[ok]: XADD mass insertion and XLEN (8505 ms) +[ok]: XADD with ID 0-0 (2 ms) [ok]: XADD with LIMIT delete entries no more than limit (2 ms) [ok]: XRANGE COUNT works as expected (1 ms) -[ok]: XREVRANGE COUNT works as expected (1 ms) -[ok]: XRANGE can be used to iterate the whole stream (736 ms) -[ok]: XREVRANGE returns the reverse of XRANGE (2953 ms) -[ok]: XRANGE exclusive ranges (7 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 (2534 ms) -[ok]: Blocking XREAD waiting new data (26 ms) -[ok]: Blocking XREAD waiting old data (25 ms) -[ok]: Blocking XREAD will not reply with an empty array (106 ms) -[ok]: Blocking XREAD for stream that ran dry (issue #5299) (103 ms) -[ok]: XREAD last element from non-empty stream (2 ms) -[ok]: XREAD last element from empty stream (2 ms) -[ok]: XREAD last element blocking from empty stream (25 ms) -[ok]: XREAD last element blocking from non-empty stream (1 ms) -[ok]: XREAD last element from multiple streams (2 ms) +[ok]: XREVRANGE COUNT works as expected (2 ms) +[ok]: XRANGE can be used to iterate the whole stream (1629 ms) +[ok]: XREVRANGE returns the reverse of XRANGE (4690 ms) +[ok]: XRANGE exclusive ranges (11 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 (5095 ms) +[ok]: Blocking XREAD waiting new data (40 ms) +[ok]: Blocking XREAD waiting old data (37 ms) +[ok]: Blocking XREAD will not reply with an empty array (129 ms) +[ok]: Blocking XREAD for stream that ran dry (issue #5299) (106 ms) +[ok]: XREAD last element from non-empty stream (5 ms) +[ok]: XREAD last element from empty stream (4 ms) +[ok]: XREAD last element blocking from empty stream (42 ms) +[ok]: XREAD last element blocking from non-empty stream (5 ms) +[ok]: XREAD last element from multiple streams (5 ms) [ok]: XREAD last element with count > 1 (2 ms) -[ok]: XREAD: XADD + DEL should not awake client (26 ms) -[ok]: XREAD: XADD + DEL + LPUSH should not awake client (26 ms) -[ok]: XREAD with same stream name multiple times should work (25 ms) -[ok]: XREAD + multiple XADD inside transaction (26 ms) -[ok]: XDEL basic test (2 ms) -[ok]: XDEL multiply id test (3 ms) -[ok]: XDEL fuzz test (3915 ms) -[ok]: XRANGE fuzzing (21136 ms) -[ok]: XREVRANGE regression test for issue #5006 (3 ms) -[ok]: XREAD streamID edge (no-blocking) (1 ms) -[ok]: XREAD streamID edge (blocking) (26 ms) -[ok]: XADD streamID edge (1 ms) -[ok]: XTRIM with MAXLEN option basic test (227 ms) -[ok]: XADD with LIMIT consecutive calls (24 ms) -[ok]: XTRIM with ~ is limited (25 ms) -[ok]: XTRIM without ~ is not limited (24 ms) -[ok]: XTRIM without ~ and with LIMIT (24 ms) -[ok]: XTRIM with LIMIT delete entries no more than limit (1 ms) +[ok]: XREAD: XADD + DEL should not awake client (45 ms) +[ok]: XREAD: XADD + DEL + LPUSH should not awake client (43 ms) +[ok]: XREAD with same stream name multiple times should work (41 ms) +[ok]: XREAD + multiple XADD inside transaction (43 ms) +[ok]: XDEL basic test (5 ms) +[ok]: XDEL multiply id test (7 ms) +[ok]: XDEL fuzz test (8018 ms) +[ok]: XRANGE fuzzing (36047 ms) +[ok]: XREVRANGE regression test for issue #5006 (5 ms) +[ok]: XREAD streamID edge (no-blocking) (4 ms) +[ok]: XREAD streamID edge (blocking) (39 ms) +[ok]: XADD streamID edge (5 ms) +[ok]: XTRIM with MAXLEN option basic test (468 ms) +[ok]: XADD with LIMIT consecutive calls (47 ms) +[ok]: XTRIM with ~ is limited (50 ms) +[ok]: XTRIM without ~ is not limited (47 ms) +[ok]: XTRIM without ~ and with LIMIT (52 ms) +[ok]: XTRIM with LIMIT delete entries no more than limit (7 ms) === (stream needs:debug) Starting server 127.0.0.1:21193 ok -[ok]: XADD with MAXLEN > xlen can propagate correctly (26 ms) +[ok]: XADD with MAXLEN > xlen can propagate correctly (60 ms) === (stream needs:debug) Starting server 127.0.0.1:21195 ok -[ok]: XADD with MINID > lastid can propagate correctly (27 ms) +[ok]: XADD with MINID > lastid can propagate correctly (57 ms) === (stream needs:debug) Starting server 127.0.0.1:21197 ok -[ok]: XADD with ~ MAXLEN can propagate correctly (27 ms) +[ok]: XADD with ~ MAXLEN can propagate correctly (643 ms) === (stream needs:debug) Starting server 127.0.0.1:21199 ok -[ok]: XADD with ~ MAXLEN and LIMIT can propagate correctly (31 ms) +[ok]: XADD with ~ MAXLEN and LIMIT can propagate correctly (62 ms) === (stream needs:debug) Starting server 127.0.0.1:21201 ok -[ok]: XADD with ~ MINID can propagate correctly (27 ms) +[ok]: XADD with ~ MINID can propagate correctly (104 ms) === (stream needs:debug) Starting server 127.0.0.1:21203 ok -[ok]: XADD with ~ MINID and LIMIT can propagate correctly (35 ms) +[ok]: XADD with ~ MINID and LIMIT can propagate correctly (51 ms) === (stream needs:debug) Starting server 127.0.0.1:21205 ok -[ok]: XTRIM with ~ MAXLEN can propagate correctly (37 ms) +[ok]: XTRIM with ~ MAXLEN can propagate correctly (50 ms) === (stream) Starting server 127.0.0.1:21207 ok -[ok]: XADD can CREATE an empty stream (1 ms) -[ok]: XSETID can set a specific ID (1 ms) -[ok]: XSETID cannot SETID with smaller ID (1 ms) -[ok]: XSETID cannot SETID on non-existent key (0 ms) -[ok]: XSETID cannot run with an offset but without a maximal tombstone (1 ms) -[ok]: XSETID cannot run with a maximal tombstone but without an offset (0 ms) -[ok]: XSETID errors on negstive offset (1 ms) -[ok]: XSETID cannot set the maximal tombstone with larger ID (1 ms) -[ok]: XSETID cannot set the offset to less than the length (1 ms) -[ok]: XSETID cannot set smaller ID than current MAXDELETEDID (3 ms) +[ok]: XADD can CREATE an empty stream (9 ms) +[ok]: XSETID can set a specific ID (8 ms) +[ok]: XSETID cannot SETID with smaller ID (8 ms) +[ok]: XSETID cannot SETID on non-existent key (7 ms) +[ok]: XSETID cannot run with an offset but without a maximal tombstone (7 ms) +[ok]: XSETID cannot run with a maximal tombstone but without an offset (8 ms) +[ok]: XSETID errors on negstive offset (7 ms) +[ok]: XSETID cannot set the maximal tombstone with larger ID (26 ms) +[ok]: XSETID cannot set the offset to less than the length (20 ms) +[ok]: XSETID cannot set smaller ID than current MAXDELETEDID (63 ms) === (stream) Starting server 127.0.0.1:21209 ok -[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 (5 ms) -[ok]: Maximum XDEL ID behaves correctly (3 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 (32 ms) +[ok]: XDEL/TRIM are reflected by recorded first entry (68 ms) +[ok]: Maximum XDEL ID behaves correctly (39 ms) +[ok]: XADD with artial ID with maximal seq (21 ms) === (stream needs:debug) Starting server 127.0.0.1:21211 ok Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Empty stream can be rewrite into AOF correctly (132 ms) +Waiting for background AOF rewrite to finish... [ok]: Empty stream can be rewrite into AOF correctly (130 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 (136 ms) +Waiting for background AOF rewrite to finish... [ok]: Stream can be rewrite into AOF correctly after XDEL lastid (103 ms) === (stream) Starting server 127.0.0.1:21213 ok -[ok]: XGROUP HELP should not have unexpected options (0 ms) -[ok]: XINFO HELP should not have unexpected options (0 ms) -[17/91 done]: unit/type/stream (41 seconds) +[ok]: XGROUP HELP should not have unexpected options (1 ms) +[ok]: XINFO HELP should not have unexpected options (1 ms) +[17/91 done]: unit/type/stream (73 seconds) Testing unit/type/stream-cgroups === (stream) Starting server 127.0.0.1:21215 ok [ok]: XGROUP CREATE: creation and duplicate group name detection (2 ms) -[ok]: XGROUP CREATE: with ENTRIESREAD parameter (3 ms) -[ok]: XGROUP CREATE: automatic stream creation fails without MKSTREAM (1 ms) -[ok]: XGROUP CREATE: automatic stream creation works with MKSTREAM (1 ms) -[ok]: XREADGROUP will return only new elements (2 ms) -[ok]: XREADGROUP can read the history of the elements we own (2 ms) +[ok]: XGROUP CREATE: with ENTRIESREAD parameter (8 ms) +[ok]: XGROUP CREATE: automatic stream creation fails without MKSTREAM (2 ms) +[ok]: XGROUP CREATE: automatic stream creation works with MKSTREAM (2 ms) +[ok]: XREADGROUP will return only new elements (3 ms) +[ok]: XREADGROUP can read the history of the elements we own (4 ms) [ok]: XPENDING is able to return pending items (2 ms) -[ok]: XPENDING can return single consumer items (1 ms) +[ok]: XPENDING can return single consumer items (2 ms) [ok]: XPENDING only group (1 ms) [ok]: XPENDING with IDLE (22 ms) -[ok]: XPENDING with exclusive range intervals works as expected (1 ms) -[ok]: XACK is able to remove items from the consumer/group PEL (3 ms) +[ok]: XPENDING with exclusive range intervals works as expected (2 ms) +[ok]: XACK is able to remove items from the consumer/group PEL (5 ms) [ok]: XACK can't remove the same item multiple times (1 ms) -[ok]: XACK is able to accept multiple arguments (0 ms) -[ok]: XACK should fail if got at least one invalid ID (2 ms) -[ok]: PEL NACK reassignment after XGROUP SETID event (3 ms) -[ok]: XREADGROUP will not report data on empty history. Bug #5577 (4 ms) -[ok]: XREADGROUP history reporting of deleted entries. Bug #5570 (3 ms) -[ok]: Blocking XREADGROUP will not reply with an empty array (49 ms) -[ok]: Blocking XREADGROUP: key deleted (27 ms) -[ok]: Blocking XREADGROUP: key type changed with SET (26 ms) -[ok]: Blocking XREADGROUP: key type changed with transaction (28 ms) -[ok]: Blocking XREADGROUP: flushed DB (26 ms) -[ok]: Blocking XREADGROUP: swapped DB, key doesn't exist (27 ms) -[ok]: Blocking XREADGROUP: swapped DB, key is not a stream (28 ms) -[ok]: XREAD and XREADGROUP against wrong parameter (2 ms) -[ok]: Blocking XREAD: key deleted (26 ms) -[ok]: Blocking XREAD: key type changed with SET (27 ms) -[ok]: Blocking XREADGROUP for stream that ran dry (issue #5299) (43 ms) -[ok]: Blocking XREADGROUP will ignore BLOCK if ID is not > (32 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 (72 ms) -[ok]: Blocking XREADGROUP for stream key that has clients blocked on stream - reprocessing command (1053 ms) -[ok]: XGROUP DESTROY should unblock XREADGROUP with -NOGROUP (29 ms) -[ok]: RENAME can unblock XREADGROUP with data (27 ms) -[ok]: RENAME can unblock XREADGROUP with -NOGROUP (27 ms) -[ok]: XCLAIM can claim PEL items from another consumer (613 ms) -[ok]: XCLAIM without JUSTID increments delivery count (407 ms) -[ok]: XCLAIM same consumer (206 ms) -[ok]: XAUTOCLAIM can claim PEL items from another consumer (611 ms) -[ok]: XAUTOCLAIM as an iterator (206 ms) -[ok]: XAUTOCLAIM COUNT must be > 0 (1 ms) -[ok]: XCLAIM with XDEL (3 ms) -[ok]: XCLAIM with trimming (3 ms) -[ok]: XAUTOCLAIM with XDEL (3 ms) -[ok]: XAUTOCLAIM with XDEL and count (3 ms) -[ok]: XAUTOCLAIM with out of range count (0 ms) -[ok]: XCLAIM with trimming (4 ms) -[ok]: XINFO FULL output (8 ms) -[ok]: Consumer seen-time and active-time (213 ms) -[ok]: XGROUP CREATECONSUMER: create consumer if does not exist (5 ms) -[ok]: XGROUP CREATECONSUMER: group must exist (1 ms) +[ok]: XACK is able to accept multiple arguments (1 ms) +[ok]: XACK should fail if got at least one invalid ID (7 ms) +[ok]: PEL NACK reassignment after XGROUP SETID event (7 ms) +[ok]: XREADGROUP will not report data on empty history. Bug #5577 (6 ms) +[ok]: XREADGROUP history reporting of deleted entries. Bug #5570 (4 ms) +[ok]: Blocking XREADGROUP will not reply with an empty array (66 ms) +[ok]: Blocking XREADGROUP: key deleted (46 ms) +[ok]: Blocking XREADGROUP: key type changed with SET (62 ms) +[ok]: Blocking XREADGROUP: key type changed with transaction (55 ms) +[ok]: Blocking XREADGROUP: flushed DB (43 ms) +[ok]: Blocking XREADGROUP: swapped DB, key doesn't exist (49 ms) +[ok]: Blocking XREADGROUP: swapped DB, key is not a stream (71 ms) +[ok]: XREAD and XREADGROUP against wrong parameter (15 ms) +[ok]: Blocking XREAD: key deleted (41 ms) +[ok]: Blocking XREAD: key type changed with SET (43 ms) +[ok]: Blocking XREADGROUP for stream that ran dry (issue #5299) (90 ms) +[ok]: Blocking XREADGROUP will ignore BLOCK if ID is not > (50 ms) +[ok]: Blocking XREADGROUP for stream key that has clients blocked on list (83 ms) +[ok]: Blocking XREADGROUP for stream key that has clients blocked on stream - avoid endless loop (114 ms) +[ok]: Blocking XREADGROUP for stream key that has clients blocked on stream - reprocessing command (1085 ms) +[ok]: XGROUP DESTROY should unblock XREADGROUP with -NOGROUP (56 ms) +[ok]: RENAME can unblock XREADGROUP with data (38 ms) +[ok]: RENAME can unblock XREADGROUP with -NOGROUP (37 ms) +[ok]: XCLAIM can claim PEL items from another consumer (616 ms) +[ok]: XCLAIM without JUSTID increments delivery count (413 ms) +[ok]: XCLAIM same consumer (210 ms) +[ok]: XAUTOCLAIM can claim PEL items from another consumer (621 ms) +[ok]: XAUTOCLAIM as an iterator (217 ms) +[ok]: XAUTOCLAIM COUNT must be > 0 (7 ms) +[ok]: XCLAIM with XDEL (71 ms) +[ok]: XCLAIM with trimming (79 ms) +[ok]: XAUTOCLAIM with XDEL (67 ms) +[ok]: XAUTOCLAIM with XDEL and count (21 ms) +[ok]: XAUTOCLAIM with out of range count (7 ms) +[ok]: XCLAIM with trimming (5 ms) +[ok]: XINFO FULL output (24 ms) +[ok]: Consumer seen-time and active-time (229 ms) +[ok]: XGROUP CREATECONSUMER: create consumer if does not exist (8 ms) +[ok]: XGROUP CREATECONSUMER: group must exist (2 ms) === (stream needs:debug) Starting server 127.0.0.1:21217 ok -[ok]: XREADGROUP with NOACK creates consumer (53 ms) +[ok]: XREADGROUP with NOACK creates consumer (81 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 (174 ms) -[ok]: Consumer group read counter and lag in empty streams (3 ms) -[ok]: Consumer group read counter and lag sanity (11 ms) -[ok]: Consumer group lag with XDELs (19 ms) -[ok]: Loading from legacy (Redict <= v6.2.x, rdb_ver < 10) persistence (3 ms) -[ok]: Loading from legacy (Redict <= v7.0.x, rdb_ver < 11) persistence (2 ms) +Waiting for background AOF rewrite to finish... [ok]: Consumer without PEL is present in AOF after AOFRW (244 ms) +[ok]: Consumer group read counter and lag in empty streams (12 ms) +[ok]: Consumer group read counter and lag sanity (32 ms) +[ok]: Consumer group lag with XDELs (45 ms) +[ok]: Loading from legacy (Redict <= v6.2.x, rdb_ver < 10) persistence (8 ms) +[ok]: Loading from legacy (Redict <= v7.0.x, rdb_ver < 11) persistence (6 ms) === (external:skip) Starting server 127.0.0.1:21219 ok -[ok]: Consumer group last ID propagation to slave (NOACK=0) (118 ms) -[ok]: Consumer group last ID propagation to slave (NOACK=1) (113 ms) +[ok]: Consumer group last ID propagation to slave (NOACK=0) (135 ms) +[ok]: Consumer group last ID propagation to slave (NOACK=1) (127 ms) === (external:skip) Starting server 127.0.0.1:21221 ok -[ok]: Replication tests of XCLAIM with deleted entries (autoclaim=0) (113 ms) -[ok]: Replication tests of XCLAIM with deleted entries (autoclaim=1) (9 ms) -[ok]: XREADGROUP ACK would propagate entries-read (6 ms) +[ok]: Replication tests of XCLAIM with deleted entries (autoclaim=0) (284 ms) +[ok]: Replication tests of XCLAIM with deleted entries (autoclaim=1) (22 ms) +[ok]: XREADGROUP ACK would propagate entries-read (12 ms) === (stream needs:debug) Starting server 127.0.0.1:21223 ok -Waiting for background AOF rewrite to finish... [ok]: Empty stream with no lastid can be rewrite into AOF correctly (81 ms) -[18/91 done]: unit/type/stream-cgroups (6 seconds) +Waiting for background AOF rewrite to finish... +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 (185 ms) +[18/91 done]: unit/type/stream-cgroups (8 seconds) Testing unit/sort === (sort) Starting server 127.0.0.1:21225 ok [ok]: Listpack: SORT BY key (1 ms) -[ok]: Listpack: SORT BY key with limit (1 ms) +[ok]: Listpack: SORT BY key with limit (2 ms) [ok]: Listpack: SORT BY hash field (1 ms) -[ok]: Quicklist: SORT BY key (22 ms) -[ok]: Quicklist: SORT BY key with limit (2 ms) -[ok]: Quicklist: SORT BY hash field (21 ms) -[ok]: Big Quicklist: SORT BY key (795 ms) -[ok]: Big Quicklist: SORT BY key with limit (14 ms) -[ok]: Big Quicklist: SORT BY hash field (807 ms) -[ok]: Intset: SORT BY key (0 ms) -[ok]: Intset: SORT BY key with limit (0 ms) +[ok]: Quicklist: SORT BY key (35 ms) +[ok]: Quicklist: SORT BY key with limit (3 ms) +[ok]: Quicklist: SORT BY hash field (33 ms) +[ok]: Big Quicklist: SORT BY key (1207 ms) +[ok]: Big Quicklist: SORT BY key with limit (24 ms) +[ok]: Big Quicklist: SORT BY hash field (1197 ms) +[ok]: Intset: SORT BY key (1 ms) +[ok]: Intset: SORT BY key with limit (1 ms) [ok]: Intset: SORT BY hash field (1 ms) -[ok]: Hash table: SORT BY key (22 ms) +[ok]: Hash table: SORT BY key (33 ms) [ok]: Hash table: SORT BY key with limit (2 ms) -[ok]: Hash table: SORT BY hash field (22 ms) -[ok]: Big Hash table: SORT BY key (692 ms) -[ok]: Big Hash table: SORT BY key with limit (18 ms) -[ok]: Big Hash table: SORT BY hash field (717 ms) +[ok]: Hash table: SORT BY hash field (33 ms) +[ok]: Big Hash table: SORT BY key (1161 ms) +[ok]: Big Hash table: SORT BY key with limit (24 ms) +[ok]: Big Hash table: SORT BY hash field (1204 ms) [ok]: SORT GET # (1 ms) [ok]: SORT GET (1 ms) [ok]: SORT_RO GET (1 ms) -[ok]: SORT GET (key and hash) with sanity check (9 ms) -[ok]: SORT BY key STORE (2 ms) -[ok]: SORT BY hash field STORE (2 ms) -[ok]: SORT extracts STORE correctly (1 ms) -[ok]: SORT_RO get keys (0 ms) -[ok]: SORT extracts multiple STORE correctly (0 ms) +[ok]: SORT GET (key and hash) with sanity check (14 ms) +[ok]: SORT BY key STORE (3 ms) +[ok]: SORT BY hash field STORE (3 ms) +[ok]: SORT extracts STORE correctly (0 ms) +[ok]: SORT_RO get keys (1 ms) +[ok]: SORT extracts multiple STORE correctly (1 ms) [ok]: SORT DESC (1 ms) [ok]: SORT ALPHA against integer encoded strings (2 ms) -[ok]: SORT sorted set (2 ms) -[ok]: SORT sorted set BY nosort should retain ordering (2 ms) -[ok]: SORT sorted set BY nosort + LIMIT (3 ms) -[ok]: SORT sorted set BY nosort works as expected from scripts (2 ms) -[ok]: SORT sorted set: +inf and -inf handling (2 ms) -[ok]: SORT regression for issue #19, sorting floats (16 ms) -[ok]: SORT with STORE returns zero if result is empty (github issue 224) (0 ms) -[ok]: SORT with STORE does not create empty lists (github issue 224) (1 ms) -[ok]: SORT with STORE removes key if result is empty (github issue 227) (1 ms) -[ok]: SORT with BY and STORE should still order output (1 ms) -[ok]: SORT will complain with numerical sorting and bad doubles (1) (2 ms) +[ok]: SORT sorted set (3 ms) +[ok]: SORT sorted set BY nosort should retain ordering (4 ms) +[ok]: SORT sorted set BY nosort + LIMIT (4 ms) +[ok]: SORT sorted set BY nosort works as expected from scripts (3 ms) +[ok]: SORT sorted set: +inf and -inf handling (4 ms) +[ok]: SORT regression for issue #19, sorting floats (20 ms) +[ok]: SORT with STORE returns zero if result is empty (github issue 224) (1 ms) +[ok]: SORT with STORE does not create empty lists (github issue 224) (2 ms) +[ok]: SORT with STORE removes key if result is empty (github issue 227) (2 ms) +[ok]: SORT with BY and STORE should still order output (3 ms) +[ok]: SORT will complain with numerical sorting and bad doubles (1) (1 ms) [ok]: SORT will complain with numerical sorting and bad doubles (2) (1 ms) [ok]: SORT BY sub-sorts lexicographically if score is the same (2 ms) [ok]: SORT GET with pattern ending with just -> does not get hash field (2 ms) [ok]: SORT by nosort retains native order for lists (1 ms) [ok]: SORT by nosort plus store retains native order for lists (2 ms) [ok]: SORT by nosort with limit returns based on original list order (1 ms) -[ok]: SORT_RO - Successful case (1 ms) +[ok]: SORT_RO - Successful case (2 ms) [ok]: SORT_RO - Cannot run with STORE arg (1 ms) - Average time to sort: 0.51000000000000001 milliseconds [ok]: SORT speed, 100 element list BY key, 100 times (51 ms) + Average time to sort: 0.78000000000000003 milliseconds [ok]: SORT speed, 100 element list BY key, 100 times (78 ms) - Average time to sort: 0.55000000000000004 milliseconds [ok]: SORT speed, 100 element list BY hash field, 100 times (55 ms) + Average time to sort: 0.83999999999999997 milliseconds [ok]: SORT speed, 100 element list BY hash field, 100 times (84 ms) - Average time to sort: 0.39000000000000001 milliseconds [ok]: SORT speed, 100 element list directly, 100 times (39 ms) + Average time to sort: 0.59999999999999998 milliseconds [ok]: SORT speed, 100 element list directly, 100 times (61 ms) - Average time to sort: 0.35999999999999999 milliseconds [ok]: SORT speed, 100 element list BY , 100 times (37 ms) -[ok]: SETRANGE with huge offset (1 ms) -[ok]: SORT STORE quicklist with the right options (59 ms) + Average time to sort: 0.57999999999999996 milliseconds [ok]: SORT speed, 100 element list BY , 100 times (58 ms) +[ok]: SETRANGE with huge offset (2 ms) +[ok]: SORT STORE quicklist with the right options (66 ms) === (external:skip cluster sort) Starting server 127.0.0.1:21227 ok [ok]: sort by in cluster mode (1 ms) [ok]: sort get in cluster mode (1 ms) -[ok]: sort_ro by in cluster mode (2 ms) +[ok]: sort_ro by in cluster mode (1 ms) [ok]: sort_ro get in cluster mode (1 ms) -[19/91 done]: unit/sort (21 seconds) +[19/91 done]: unit/sort (34 seconds) Testing unit/expire === (expire) Starting server 127.0.0.1:21229 ok -[ok]: EXPIRE - set timeouts multiple times (2 ms) +[ok]: EXPIRE - set timeouts multiple times (3 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 (2103 ms) -[ok]: EXPIRE - write on expire should work (2 ms) +[ok]: EXPIRE - After 2.1 seconds the key should no longer be here (2102 ms) +[ok]: EXPIRE - write on expire should work (3 ms) [ok]: EXPIREAT - Check for EXPIRE alike behavior (2 ms) [ok]: SETEX - Set + Expire combo operation. Check for TTL (1 ms) -[ok]: SETEX - Check value (1 ms) +[ok]: SETEX - Check value (0 ms) [ok]: SETEX - Overwrite old key (1 ms) -[ok]: SETEX - Wait for the key to expire (1102 ms) +[ok]: SETEX - Wait for the key to expire (1101 ms) [ok]: SETEX - Wrong time parameter (1 ms) -[ok]: PERSIST can undo an EXPIRE (2 ms) +[ok]: PERSIST can undo an EXPIRE (3 ms) [ok]: PERSIST returns 0 against non existing or non volatile keys (1 ms) millisecond expire test attempts: 0 -[ok]: EXPIRE precision is now the millisecond (1106 ms) +[ok]: EXPIRE precision is now the millisecond (1107 ms) PSETEX sub-second expire test attempts: 0 [ok]: PSETEX can set sub-second expires (104 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 (204 ms) +[ok]: PEXPIREAT can set sub-second expires (206 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 (3 ms) [ok]: TTL / PTTL / EXPIRETIME / PEXPIRETIME return -2 if key does not exit (2 ms) [ok]: EXPIRETIME returns absolute expiration time in seconds (1 ms) -[ok]: PEXPIRETIME returns absolute expiration time in milliseconds (1 ms) +[ok]: PEXPIRETIME returns absolute expiration time in milliseconds (2 ms) [ok]: Redict should actively expire keys incrementally (609 ms) [ok]: Redict should lazy expire keys (1008 ms) [ok]: EXPIRE should not resurrect keys (issue #1026) (1006 ms) -[ok]: 5 keys in, 5 keys out (3 ms) +[ok]: 5 keys in, 5 keys out (4 ms) [ok]: EXPIRE with empty string as TTL should report an error (1 ms) -[ok]: SET with EX with big integer should report an error (0 ms) -[ok]: SET with EX with smallest integer should report an error (0 ms) -[ok]: GETEX with big integer should report an error (1 ms) +[ok]: SET with EX with big 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 (2 ms) [ok]: GETEX with smallest integer should report an error (1 ms) -[ok]: EXPIRE with big integer overflows when converted to milliseconds (2 ms) -[ok]: PEXPIRE with big integer overflow when basetime is added (1 ms) -[ok]: EXPIRE with big negative integer (1 ms) +[ok]: EXPIRE with big integer overflows when converted to milliseconds (3 ms) +[ok]: PEXPIRE with big integer overflow when basetime is added (2 ms) +[ok]: EXPIRE with big negative integer (2 ms) [ok]: PEXPIREAT with big integer works (1 ms) [ok]: PEXPIREAT with big negative integer works (1 ms) === (external:skip) Starting server 127.0.0.1:21231 ok -[ok]: All time-to-live(TTL) in commands are propagated as absolute timestamp in milliseconds in AOF (2136 ms) -[ok]: All TTL in commands are propagated as absolute timestamp in replication stream (95 ms) +[ok]: All time-to-live(TTL) in commands are propagated as absolute timestamp in milliseconds in AOF (2137 ms) +[ok]: All TTL in commands are propagated as absolute timestamp in replication stream (75 ms) === (needs:repl external:skip) Starting server 127.0.0.1:21233 ok -[ok]: First server should have role slave after REPLICAOF (5 ms) -[ok]: For all replicated TTL-related commands, absolute expire times are identical on primary and replica (55 ms) +[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 (60 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 (328 ms) -[ok]: SET command will remove expire (1 ms) +Waiting for background AOF rewrite to finish... [ok]: expired key which is created in writeable replicas should be deleted by active expiry (303 ms) +[ok]: SET command will remove expire (2 ms) [ok]: SET - use KEEPTTL option, TTL should not be removed (2 ms) -[ok]: SET - use KEEPTTL option, TTL should not be removed after loadaof (2010 ms) +[ok]: SET - use KEEPTTL option, TTL should not be removed after loadaof (2012 ms) [ok]: GETEX use of PERSIST option should remove TTL (2 ms) -[ok]: GETEX use of PERSIST option should remove TTL after loadaof (2 ms) -[ok]: GETEX propagate as to replica as PERSIST, DEL, or nothing (149 ms) -[ok]: EXPIRE with NX option on a key with ttl (1 ms) +[ok]: GETEX use of PERSIST option should remove TTL after loadaof (3 ms) +[ok]: GETEX propagate as to replica as PERSIST, DEL, or nothing (144 ms) +[ok]: EXPIRE with NX option on a key with ttl (2 ms) [ok]: EXPIRE with NX option on a key without ttl (2 ms) -[ok]: EXPIRE with XX option on a key with ttl (1 ms) -[ok]: EXPIRE with XX option on a key without ttl (2 ms) +[ok]: EXPIRE with XX option on a key with ttl (2 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 (2 ms) +[ok]: EXPIRE with GT option on a key with higher ttl (1 ms) [ok]: EXPIRE with GT option on a key without ttl (1 ms) [ok]: EXPIRE with LT option on a key with higher ttl (2 ms) -[ok]: EXPIRE with LT option on a key with lower ttl (1 ms) -[ok]: EXPIRE with LT option on a key without ttl (1 ms) -[ok]: EXPIRE with LT and XX option on a key with ttl (2 ms) +[ok]: EXPIRE with LT option on a key with lower ttl (2 ms) +[ok]: EXPIRE with LT option on a key without ttl (2 ms) +[ok]: EXPIRE with LT and XX option on a key with ttl (1 ms) [ok]: EXPIRE with LT and XX option on a key without ttl (1 ms) [ok]: EXPIRE with conflicting options: LT GT (1 ms) [ok]: EXPIRE with conflicting options: NX GT (1 ms) [ok]: EXPIRE with conflicting options: NX LT (1 ms) [ok]: EXPIRE with conflicting options: NX XX (1 ms) -[ok]: EXPIRE with unsupported options (1 ms) +[ok]: EXPIRE with unsupported options (0 ms) [ok]: EXPIRE with unsupported options (1 ms) [ok]: EXPIRE with negative expiry (1 ms) [ok]: EXPIRE with negative expiry on a non-valitale key (2 ms) -[ok]: EXPIRE with non-existed key (1 ms) -[ok]: Redict should not propagate the read command on lazy expire (73 ms) +[ok]: EXPIRE with non-existed key (2 ms) +[ok]: Redict should not propagate the read command on lazy expire (65 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 (101 ms) === (expire external:skip cluster) Starting server 127.0.0.1:21235 ok -[ok]: expire scan should skip dictionaries with lot's of empty buckets (1288 ms) -[20/91 done]: unit/expire (17 seconds) +[ok]: expire scan should skip dictionaries with lot's of empty buckets (1286 ms) +[20/91 done]: unit/expire (16 seconds) Testing unit/other === (other) Starting server 127.0.0.1:21237 ok -[ok]: Coverage: HELP commands (9 ms) -[ok]: Coverage: MEMORY MALLOC-STATS (5 ms) -[ok]: Coverage: MEMORY PURGE (1 ms) -[ok]: SAVE - make sure there are all the types as values (19 ms) -[ok]: FUZZ stresser with data model binary (1222 ms) -[ok]: FUZZ stresser with data model alpha (1274 ms) -[ok]: FUZZ stresser with data model compr (1260 ms) +[ok]: Coverage: HELP commands (8 ms) +[ok]: Coverage: MEMORY MALLOC-STATS (7 ms) +[ok]: Coverage: MEMORY PURGE (2 ms) +[ok]: SAVE - make sure there are all the types as values (18 ms) +[ok]: FUZZ stresser with data model binary (1968 ms) +[ok]: FUZZ stresser with data model alpha (2033 ms) +[ok]: FUZZ stresser with data model compr (1898 ms) === (external:skip) Starting server 127.0.0.1:21239 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 (45 ms) +[ok]: FLUSHALL should not reset the dirty counter if we disable save (3 ms) +[ok]: FLUSHALL should reset the dirty counter to 0 if we enable save (12 ms) -Waiting for background save to finish... [ok]: BGSAVE (71 ms) +Waiting for background save to finish... +Waiting for background save to finish... [ok]: BGSAVE (131 ms) [ok]: SELECT an out of range DB (1 ms) -[ok]: Check consistency of different data types after a reload (1985 ms) +[ok]: Check consistency of different data types after a reload (2768 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Same dataset digest if saving/reloading as AOF? (449 ms) +Waiting for background AOF rewrite to finish... [ok]: Same dataset digest if saving/reloading as AOF? (602 ms) -Waiting for background AOF rewrite to finish... [ok]: EXPIRES after a reload (snapshot + append only file rewrite) (77 ms) +Waiting for background AOF rewrite to finish... [ok]: EXPIRES after a reload (snapshot + append only file rewrite) (78 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: EXPIRES after AOF reload (without rewrite) (2138 ms) -[ok]: PIPELINING stresser (also a regression for the old epoll bug) (1455 ms) -[ok]: APPEND basics (2 ms) +Waiting for background AOF rewrite to finish... [ok]: EXPIRES after AOF reload (without rewrite) (2126 ms) +[ok]: PIPELINING stresser (also a regression for the old epoll bug) (2346 ms) +[ok]: APPEND basics (3 ms) [ok]: APPEND basics, integer encoded values (3 ms) -[ok]: APPEND fuzzing (769 ms) -[ok]: FLUSHDB (79 ms) -[ok]: Perform a final SAVE to leave a clean DB on disk (12 ms) +[ok]: APPEND fuzzing (1178 ms) +[ok]: FLUSHDB (84 ms) +[ok]: Perform a final SAVE to leave a clean DB on disk (14 ms) [ok]: RESET clears client state (2 ms) -[ok]: RESET clears MONITOR state (25 ms) -[ok]: RESET clears and discards MULTI state (1 ms) -[ok]: RESET clears Pub/Sub state (1 ms) -[ok]: RESET clears authenticated state (1 ms) -[ok]: Subcommand syntax error crash (issue #10070) (1 ms) +[ok]: RESET clears MONITOR state (35 ms) +[ok]: RESET clears and discards MULTI state (2 ms) +[ok]: RESET clears Pub/Sub state (2 ms) +[ok]: RESET clears authenticated state (3 ms) +[ok]: Subcommand syntax error crash (issue #10070) (3 ms) === (other external:skip) Starting server 127.0.0.1:21241 ok -Waiting for background save to finish... -Waiting for background save to finish... [ok]: Don't rehash if redict has child process (819 ms) +Waiting for background save to finish... [ok]: Don't rehash if redict has child process (1271 ms) === (other external:skip) Starting server 127.0.0.1:21243 ok -[ok]: Process title set as expected (4 ms) +[ok]: Process title set as expected (3 ms) === (other external:skip cluster slow) Starting server 127.0.0.1:21245 ok -[ok]: Redict can trigger resizing (1801 ms) -[ok]: Redict can rewind and trigger smaller slot resizing (671 ms) +[ok]: Redict can trigger resizing (1716 ms) +[ok]: Redict can rewind and trigger smaller slot resizing (661 ms) === (other external:skip) Starting server 127.0.0.1:21247 ok -[ok]: Redict can resize empty dict (52 ms) -[21/91 done]: unit/other (17 seconds) +[ok]: Redict can resize empty dict (79 ms) +[21/91 done]: unit/other (23 seconds) Testing unit/multi === (multi) Starting server 127.0.0.1:21249 ok [ok]: MULTI / EXEC basics (3 ms) -[ok]: DISCARD (2 ms) -[ok]: Nested MULTI are not allowed (1 ms) -[ok]: MULTI where commands alter argc/argv (2 ms) +[ok]: DISCARD (3 ms) +[ok]: Nested MULTI are not allowed (2 ms) +[ok]: MULTI where commands alter argc/argv (3 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 (25 ms) -[ok]: If EXEC aborts, the client MULTI state is cleared (2 ms) -[ok]: EXEC works on WATCHed key not modified (1 ms) -[ok]: EXEC fail on WATCHed key modified (1 key of 1 watched) (1 ms) -[ok]: EXEC fail on WATCHed key modified (1 key of 5 watched) (1 ms) -[ok]: EXEC fail on WATCHed key modified by SORT with STORE even if the result is empty (2 ms) +[ok]: EXEC fails if there are errors while queueing commands #1 (4 ms) +[ok]: EXEC fails if there are errors while queueing commands #2 (35 ms) +[ok]: If EXEC aborts, the client MULTI state is cleared (3 ms) +[ok]: EXEC works on WATCHed key not modified (2 ms) +[ok]: EXEC fail on WATCHed key modified (1 key of 1 watched) (2 ms) +[ok]: EXEC fail on WATCHed key modified (1 key of 5 watched) (2 ms) +[ok]: EXEC fail on WATCHed key modified by SORT with STORE even if the result is empty (3 ms) EXEC fail on lazy expired WATCHed key attempts: 0 -[ok]: EXEC fail on lazy expired WATCHed key (104 ms) -[ok]: WATCH stale keys should not fail EXEC (4 ms) -[ok]: Delete WATCHed stale keys should not fail EXEC (5 ms) -[ok]: 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 (3 ms) -[ok]: It is possible to UNWATCH (1 ms) -[ok]: UNWATCH when there is nothing watched works as expected (0 ms) -[ok]: FLUSHALL is able to touch the watched keys (2 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 (1 ms) -[ok]: SWAPDB is able to touch the watched keys that do not exist (2 ms) -[ok]: SWAPDB does not touch watched stale keys (4 ms) -[ok]: SWAPDB does not touch non-existing key replaced with stale key (4 ms) -[ok]: SWAPDB does not touch stale key replaced with another stale key (5 ms) -[ok]: WATCH is able to remember the DB a key belongs to (2 ms) -[ok]: WATCH will consider touched keys target of EXPIRE (1 ms) -[ok]: WATCH will consider touched expired keys (1138 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) (136 ms) +[ok]: EXEC fail on lazy expired WATCHed key (106 ms) +[ok]: WATCH stale keys should not fail EXEC (6 ms) +[ok]: Delete WATCHed stale keys should not fail EXEC (6 ms) +[ok]: FLUSHDB while watching stale keys should not fail EXEC (6 ms) +[ok]: After successful EXEC key is no longer watched (3 ms) +[ok]: After failed EXEC key is no longer watched (4 ms) +[ok]: It is possible to UNWATCH (3 ms) +[ok]: UNWATCH when there is nothing watched works as expected (1 ms) +[ok]: FLUSHALL is able to touch the watched keys (3 ms) +[ok]: FLUSHALL does not touch non affected keys (2 ms) +[ok]: FLUSHDB is able to touch the watched keys (3 ms) +[ok]: FLUSHDB does not touch non affected keys (2 ms) +[ok]: SWAPDB is able to touch the watched keys that exist (4 ms) +[ok]: SWAPDB is able to touch the watched keys that do not exist (3 ms) +[ok]: SWAPDB does not touch watched stale keys (6 ms) +[ok]: SWAPDB does not touch non-existing key replaced with stale key (6 ms) +[ok]: SWAPDB does not touch stale key replaced with another stale key (8 ms) +[ok]: WATCH is able to remember the DB a key belongs to (4 ms) +[ok]: WATCH will consider touched keys target of EXPIRE (3 ms) +[ok]: WATCH will consider touched expired keys (1149 ms) +[ok]: DISCARD should clear the WATCH dirty flag on the client (3 ms) +[ok]: DISCARD should UNWATCH all the keys (4 ms) +[ok]: MULTI / EXEC is not propagated (single write command) (64 ms) [ok]: MULTI / EXEC is propagated correctly (multiple commands) (103 ms) -[ok]: MULTI / EXEC is propagated correctly (multiple commands with SELECT) (102 ms) -[ok]: MULTI / EXEC is propagated correctly (empty transaction) (100 ms) +[ok]: MULTI / EXEC is propagated correctly (multiple commands with SELECT) (103 ms) +[ok]: MULTI / EXEC is propagated correctly (empty transaction) (98 ms) [ok]: MULTI / EXEC is propagated correctly (read-only commands) (102 ms) [ok]: MULTI / EXEC is propagated correctly (write command, no effect) (101 ms) -[ok]: MULTI / EXEC with REPLICAOF (103 ms) -[ok]: DISCARD should not fail during OOM (24 ms) -[ok]: MULTI and script timeout (451 ms) -[ok]: EXEC and script timeout (452 ms) -[ok]: MULTI-EXEC body and script timeout (450 ms) -[ok]: just EXEC and script timeout (450 ms) -[ok]: exec with write commands and state change (25 ms) -[ok]: exec with read commands and stale replica state change (27 ms) -[ok]: EXEC with only read commands should not be rejected when OOM (24 ms) -[ok]: EXEC with at least one use-memory command should fail (24 ms) -[ok]: Blocking commands ignores the timeout (3 ms) -[ok]: MULTI propagation of PUBLISH (99 ms) +[ok]: MULTI / EXEC with REPLICAOF (104 ms) +[ok]: DISCARD should not fail during OOM (35 ms) +[ok]: MULTI and script timeout (474 ms) +[ok]: EXEC and script timeout (470 ms) +[ok]: MULTI-EXEC body and script timeout (473 ms) +[ok]: just EXEC and script timeout (471 ms) +[ok]: exec with write commands and state change (35 ms) +[ok]: exec with read commands and stale replica state change (39 ms) +[ok]: EXEC with only read commands should not be rejected when OOM (35 ms) +[ok]: EXEC with at least one use-memory command should fail (34 ms) +[ok]: Blocking commands ignores the timeout (5 ms) +[ok]: MULTI propagation of PUBLISH (55 ms) [ok]: MULTI propagation of SCRIPT LOAD (102 ms) [ok]: MULTI propagation of EVAL (101 ms) [ok]: MULTI propagation of SCRIPT FLUSH (102 ms) -[ok]: MULTI propagation of XREADGROUP (103 ms) -[ok]: MULTI with SAVE (1 ms) +[ok]: MULTI propagation of XREADGROUP (105 ms) +[ok]: MULTI with SAVE (3 ms) [ok]: MULTI with SHUTDOWN (2 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: MULTI with BGREWRITEAOF (208 ms) +Waiting for background AOF rewrite to finish... [ok]: MULTI with BGREWRITEAOF (211 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 (2 ms) -[ok]: Flushall while watching several keys by one client (1 ms) +[ok]: MULTI with config error (3 ms) +[ok]: Flushall while watching several keys by one client (3 ms) === (external:skip) Starting server 127.0.0.1:21251 ok [ok]: MULTI with FLUSHALL and AOF (9 ms) -[22/91 done]: unit/multi (6 seconds) +[22/91 done]: unit/multi (5 seconds) Testing unit/quit === (quit) Starting server 127.0.0.1:21253 ok -[ok]: QUIT returns OK (23 ms) -[ok]: Pipelined commands after QUIT must not be executed (45 ms) -[ok]: Pipelined commands after QUIT that exceed read buffer size (45 ms) -[23/91 done]: unit/quit (0 seconds) +[ok]: QUIT returns OK (33 ms) +[ok]: Pipelined commands after QUIT must not be executed (65 ms) +[ok]: Pipelined commands after QUIT that exceed read buffer size (64 ms) +[23/91 done]: unit/quit (1 seconds) Testing unit/aofrw === (aofrw external:skip logreqres:skip) Starting server 127.0.0.1:21255 ok Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite during write load: RDB preamble=yes (5838 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite during write load: RDB preamble=yes (5568 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... [ok]: AOF rewrite during write load: RDB preamble=no (7771 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite during write load: RDB preamble=no (6555 ms) === (aofrw external:skip) Starting server 127.0.0.1:21257 ok -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Turning off AOF kills the background writing child if any (122 ms) - -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with listpack encoding, string data (64 ms) +Waiting for background AOF rewrite to finish... [ok]: Turning off AOF kills the background writing child if any (74 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, string data (332 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 (115 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 (111 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, string data (535 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 (324 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... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with intset encoding, string data (111 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, int data (504 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, string data (302 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 (115 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 (113 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, string data (532 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 (331 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with intset encoding, int data (114 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 (111 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 (548 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, string data (319 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with listpack encoding, string data (80 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 (545 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with listpack encoding, int data (111 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with listpack encoding, int data (116 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 (350 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, int data (519 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 (111 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, string data (117 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, string data (392 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, string data (519 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 (110 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, int data (116 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, int data (321 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, int data (425 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite functions (109 ms) -[ok]: BGREWRITEAOF is delayed if BGSAVE is in progress (238 ms) -[ok]: BGREWRITEAOF is refused if already in progress (26 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite functions (113 ms) +[ok]: BGREWRITEAOF is delayed if BGSAVE is in progress (245 ms) +[ok]: BGREWRITEAOF is refused if already in progress (35 ms) [24/91 done]: unit/aofrw (18 seconds) Testing unit/acl === (acl external:skip) Starting server 127.0.0.1:21259 ok -[ok]: Connections start with the default user (1 ms) -[ok]: It is possible to create new users (0 ms) +[ok]: Connections start with the default user (0 ms) +[ok]: It is possible to create new users (1 ms) [ok]: Coverage: ACL USERS (1 ms) [ok]: Usernames can not contain spaces or null characters (1 ms) -[ok]: New users start disabled (1 ms) -[ok]: Enabling the user allows the login (1 ms) +[ok]: New users start disabled (2 ms) +[ok]: Enabling the user allows the login (2 ms) [ok]: Only the set of correct passwords work (2 ms) [ok]: It is possible to remove passwords from the set of valid ones (1 ms) [ok]: Test password hashes can be added (1 ms) [ok]: Test password hashes validate input (1 ms) -[ok]: ACL GETUSER returns the password hash instead of the actual password (1 ms) +[ok]: ACL GETUSER returns the password hash instead of the actual password (2 ms) [ok]: Test hashed passwords removal (1 ms) -[ok]: By default users are not able to access any command (1 ms) +[ok]: By default users are not able to access any command (0 ms) [ok]: By default users are not able to access any key (1 ms) -[ok]: It's possible to allow the access of a subset of keys (2 ms) -[ok]: By default, only default user is able to publish to any channel (1 ms) -[ok]: By default, only default user is not able to publish to any shard channel (1 ms) -[ok]: By default, only default user is able to subscribe to any channel (24 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 (1 ms) -[ok]: Validate subset of channels is prefixed with resetchannels flag (2 ms) -[ok]: In transaction queue publish/subscribe/psubscribe to unauthorized channel will fail (3 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 (23 ms) -[ok]: It's possible to allow subscribing to a subset of channel patterns (23 ms) -[ok]: Subscribers are killed when revoked of channel permission (25 ms) -[ok]: Subscribers are killed when revoked of channel permission (24 ms) -[ok]: Subscribers are killed when revoked of pattern permission (24 ms) -[ok]: Subscribers are killed when revoked of allchannels permission (24 ms) -[ok]: Subscribers are pardoned if literal permissions are retained and/or gaining allchannels (25 ms) -[ok]: blocked command gets rejected when reprocessed after permission change (26 ms) +[ok]: It's possible to allow the access of a subset of keys (3 ms) +[ok]: By default, only default user is able to publish to any channel (2 ms) +[ok]: By default, only default user is not able to publish to any shard channel (2 ms) +[ok]: By default, only default user is able to subscribe to any channel (34 ms) +[ok]: By default, only default user is able to subscribe to any shard channel (34 ms) +[ok]: By default, only default user is able to subscribe to any pattern (34 ms) +[ok]: It's possible to allow publishing to a subset of channels (2 ms) +[ok]: It's possible to allow publishing to a subset of shard channels (2 ms) +[ok]: Validate subset of channels is prefixed with resetchannels flag (4 ms) +[ok]: In transaction queue publish/subscribe/psubscribe to unauthorized channel will fail (4 ms) +[ok]: It's possible to allow subscribing to a subset of channels (33 ms) +[ok]: It's possible to allow subscribing to a subset of shard channels (34 ms) +[ok]: It's possible to allow subscribing to a subset of channel patterns (33 ms) +[ok]: Subscribers are killed when revoked of channel permission (35 ms) +[ok]: Subscribers are killed when revoked of channel permission (34 ms) +[ok]: Subscribers are killed when revoked of pattern permission (34 ms) +[ok]: Subscribers are killed when revoked of allchannels permission (35 ms) +[ok]: Subscribers are pardoned if literal permissions are retained and/or gaining allchannels (37 ms) +[ok]: blocked command gets rejected when reprocessed after permission change (38 ms) [ok]: Users can be configured to authenticate with any password (1 ms) -[ok]: ACLs can exclude single commands (1 ms) -[ok]: ACLs can include or exclude whole classes of commands (2 ms) -[ok]: ACLs can include single subcommands (2 ms) -[ok]: ACLs can exclude single subcommands, case 1 (1 ms) -[ok]: ACLs can exclude single subcommands, case 2 (1 ms) +[ok]: ACLs can exclude single commands (2 ms) +[ok]: ACLs can include or exclude whole classes of commands (4 ms) +[ok]: ACLs can include single subcommands (4 ms) +[ok]: ACLs can exclude single subcommands, case 1 (3 ms) +[ok]: ACLs can exclude single subcommands, case 2 (2 ms) [ok]: ACLs cannot include a subcommand with a specific arg (1 ms) -[ok]: ACLs cannot exclude or include a container commands with a specific arg (1 ms) -[ok]: ACLs cannot exclude or include a container command with two args (1 ms) -[ok]: ACLs including of a type includes also subcommands (1 ms) -[ok]: ACLs can block SELECT of all but a specific DB (1 ms) -[ok]: ACLs can block all DEBUG subcommands except one (2 ms) -[ok]: ACLs set can include subcommands, if already full command exists (3 ms) -[ok]: ACLs set can exclude subcommands, if already full command exists (6 ms) -[ok]: ACL SETUSER RESET reverting to default newly created user (2 ms) -[ok]: ACL GETUSER is able to translate back command permissions (2 ms) -[ok]: ACL GETUSER provides reasonable results (30 ms) -[ok]: ACL GETUSER provides correct results (9 ms) +[ok]: ACLs cannot exclude or include a container commands with a specific arg (2 ms) +[ok]: ACLs cannot exclude or include a container command with two args (2 ms) +[ok]: ACLs including of a type includes also subcommands (3 ms) +[ok]: ACLs can block SELECT of all but a specific DB (2 ms) +[ok]: ACLs can block all DEBUG subcommands except one (3 ms) +[ok]: ACLs set can include subcommands, if already full command exists (5 ms) +[ok]: ACLs set can exclude subcommands, if already full command exists (10 ms) +[ok]: ACL SETUSER RESET reverting to default newly created user (3 ms) +[ok]: ACL GETUSER is able to translate back command permissions (4 ms) +[ok]: ACL GETUSER provides reasonable results (55 ms) +[ok]: ACL GETUSER provides correct results (18 ms) [ok]: ACL CAT with illegal arguments (1 ms) -[ok]: ACL CAT without category - list all categories (1 ms) -[ok]: ACL CAT category - list all commands/subcommands that belong to category (3 ms) -[ok]: ACL requires explicit permission for scripting for EVAL_RO, EVALSHA_RO and FCALL_RO (1 ms) +[ok]: ACL CAT without category - list all categories (2 ms) +[ok]: ACL CAT category - list all commands/subcommands that belong to category (4 ms) +[ok]: ACL requires explicit permission for scripting for EVAL_RO, EVALSHA_RO and FCALL_RO (2 ms) [ok]: ACL #5998 regression: memory leaks adding / removing subcommands (1 ms) -[ok]: ACL LOG aggregates similar errors together and assigns unique entry-id to new errors (10 ms) -[ok]: ACL LOG shows failed command executions at toplevel (3 ms) -[ok]: ACL LOG shows failed subcommand executions at toplevel (2 ms) -[ok]: ACL LOG is able to test similar events (2 ms) -[ok]: ACL LOG is able to log keys access violations and key name (2 ms) -[ok]: ACL LOG is able to log channel access violations and channel name (2 ms) +[ok]: ACL LOG aggregates similar errors together and assigns unique entry-id to new errors (16 ms) +[ok]: ACL LOG shows failed command executions at toplevel (4 ms) +[ok]: ACL LOG shows failed subcommand executions at toplevel (4 ms) +[ok]: ACL LOG is able to test similar events (4 ms) +[ok]: ACL LOG is able to log keys access violations and key name (3 ms) +[ok]: ACL LOG is able to log channel access violations and channel name (4 ms) [ok]: ACL LOG RESET is able to flush the entries in the log (1 ms) -[ok]: ACL LOG can distinguish the transaction context (1) (2 ms) -[ok]: ACL LOG can distinguish the transaction context (2) (26 ms) -[ok]: ACL can log errors in the context of Lua scripting (2 ms) -[ok]: ACL LOG can accept a numerical argument to show less entries (4 ms) -[ok]: ACL LOG can log failed auth attempts (2 ms) -[ok]: ACLLOG - zero max length is correctly handled (3 ms) -[ok]: ACL LOG entries are limited to a maximum amount (5 ms) -[ok]: ACL LOG entries are still present on update of max len config (2 ms) -[ok]: When default user is off, new connections are not authenticated (24 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]: ACL HELP should not have unexpected options (0 ms) -[ok]: Delete a user that the client doesn't use (0 ms) -[ok]: Delete a user that the client is using (1 ms) -[ok]: ACL GENPASS command failed test (22 ms) +[ok]: ACL LOG can distinguish the transaction context (1) (4 ms) +[ok]: ACL LOG can distinguish the transaction context (2) (38 ms) +[ok]: ACL can log errors in the context of Lua scripting (3 ms) +[ok]: ACL LOG can accept a numerical argument to show less entries (7 ms) +[ok]: ACL LOG can log failed auth attempts (3 ms) +[ok]: ACLLOG - zero max length is correctly handled (6 ms) +[ok]: ACL LOG entries are limited to a maximum amount (9 ms) +[ok]: ACL LOG entries are still present on update of max len config (3 ms) +[ok]: When default user is off, new connections are not authenticated (32 ms) +[ok]: When default user has no command permission, hello command still works for other users (3 ms) +[ok]: When an authentication chain is used in the HELLO cmd, the last auth cmd has precedence (4 ms) +[ok]: When a setname chain is used in the HELLO cmd, the last setname cmd has precedence (2 ms) +[ok]: When authentication fails in the HELLO cmd, the client setname should not be applied (2 ms) +[ok]: ACL HELP should not have unexpected options (1 ms) +[ok]: Delete a user that the client doesn't use (2 ms) +[ok]: Delete a user that the client is using (2 ms) +[ok]: ACL GENPASS command failed test (32 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 (9 ms) -[ok]: ACL-Metrics invalid command accesses (6 ms) -[ok]: ACL-Metrics invalid key accesses (6 ms) -[ok]: ACL-Metrics invalid channels accesses (6 ms) +[ok]: ACL load non-existing configured ACL file (1 ms) +[ok]: ACL-Metrics user AUTH failure (15 ms) +[ok]: ACL-Metrics invalid command accesses (11 ms) +[ok]: ACL-Metrics invalid key accesses (12 ms) +[ok]: ACL-Metrics invalid channels accesses (12 ms) === (external:skip) Starting server 127.0.0.1:21261 ok [ok]: default: load from include file, can access any channels (2 ms) -[ok]: default: with config acl-pubsub-default allchannels after reset, can access any channels (2 ms) -[ok]: default: with config acl-pubsub-default resetchannels after reset, can not access any channels (2 ms) +[ok]: default: with config acl-pubsub-default allchannels after reset, can access any channels (3 ms) +[ok]: default: with config acl-pubsub-default resetchannels after reset, can not access any channels (3 ms) [ok]: Alice: can execute all command (2 ms) -[ok]: Bob: just execute @set and acl command (1 ms) -[ok]: ACL LOAD only disconnects affected clients (71 ms) -[ok]: ACL LOAD disconnects clients of deleted users (70 ms) -[ok]: ACL load and save (12 ms) -[ok]: ACL load and save with restricted channels (10 ms) +[ok]: Bob: just execute @set and acl command (2 ms) +[ok]: ACL LOAD only disconnects affected clients (99 ms) +[ok]: ACL LOAD disconnects clients of deleted users (98 ms) +[ok]: ACL load and save (15 ms) +[ok]: ACL load and save with restricted channels (13 ms) === (external:skip) Starting server 127.0.0.1:21263 ok -[ok]: Default user has access to all channels irrespective of flag (1 ms) -[ok]: Update acl-pubsub-default, existing users shouldn't get affected (3 ms) -[ok]: Single channel is valid (1 ms) -[ok]: Single channel is not valid with allchannels (1 ms) +[ok]: Default user has access to all channels irrespective of flag (2 ms) +[ok]: Update acl-pubsub-default, existing users shouldn't get affected (5 ms) +[ok]: Single channel is valid (2 ms) +[ok]: Single channel is not valid with allchannels (2 ms) === (external:skip) Starting server 127.0.0.1:21265 ok -[ok]: Only default user has access to all channels irrespective of flag (1 ms) +[ok]: Only default user has access to all channels irrespective of flag (2 ms) === (external:skip) Starting server 127.0.0.1:21267 ok -[ok]: default: load from config file, without channel permission default user can't access any channels (0 ms) +[ok]: default: load from config file, without channel permission default user can't access any channels (1 ms) === (external:skip) Starting server 127.0.0.1:21269 ok -[ok]: default: load from config file with all channels permissions (2 ms) +[ok]: default: load from config file with all channels permissions (3 ms) === (external:skip) Starting server 127.0.0.1:21271 ok -[ok]: Test loading an ACL file with duplicate users (7 ms) -[ok]: Test loading an ACL file with duplicate default user (7 ms) -[ok]: Test loading duplicate users in config on startup (35 ms) +[ok]: Test loading an ACL file with duplicate users (8 ms) +[ok]: Test loading an ACL file with duplicate default user (8 ms) +[ok]: Test loading duplicate users in config on startup (47 ms) === (acl external:skip) Starting server 127.0.0.1:21273 ok -[ok]: ACL from config file and config rewrite (217 ms) -[25/91 done]: unit/acl (3 seconds) +[ok]: ACL from config file and config rewrite (207 ms) +[25/91 done]: unit/acl (4 seconds) Testing unit/acl-v2 === (acl external:skip) Starting server 127.0.0.1:21275 ok -[ok]: Test basic multiple selectors (4 ms) +[ok]: Test basic multiple selectors (5 ms) [ok]: Test ACL selectors by default have no permissions (2 ms) -[ok]: Test deleting selectors (2 ms) -[ok]: Test selector syntax error reports the error in the selector context (2 ms) -[ok]: Test flexible selector definition (3 ms) -[ok]: Test separate read permission (2 ms) -[ok]: Test separate write permission (2 ms) -[ok]: Test separate read and write permissions (2 ms) +[ok]: Test deleting selectors (3 ms) +[ok]: Test selector syntax error reports the error in the selector context (4 ms) +[ok]: Test flexible selector definition (5 ms) +[ok]: Test separate read permission (3 ms) +[ok]: Test separate write permission (3 ms) +[ok]: Test separate read and write permissions (3 ms) [ok]: Validate read and write permissions format (1 ms) -[ok]: Validate key permissions format - empty and omitted pattern (2 ms) -[ok]: Test separate read and write permissions on different selectors are not additive (3 ms) -[ok]: Test SET with separate read permission (2 ms) -[ok]: Test SET with separate write permission (3 ms) -[ok]: Test SET with read and write permissions (3 ms) -[ok]: Test BITFIELD with separate read permission (3 ms) -[ok]: Test BITFIELD with separate write permission (2 ms) -[ok]: Test BITFIELD with read and write permissions (2 ms) -[ok]: Test ACL log correctly identifies the relevant item when selectors are used (4 ms) -[ok]: Test ACL GETUSER response information (1 ms) -[ok]: Test ACL list idempotency (2 ms) +[ok]: Validate key permissions format - empty and omitted pattern (5 ms) +[ok]: Test separate read and write permissions on different selectors are not additive (5 ms) +[ok]: Test SET with separate read permission (4 ms) +[ok]: Test SET with separate write permission (5 ms) +[ok]: Test SET with read and write permissions (5 ms) +[ok]: Test BITFIELD with separate read permission (4 ms) +[ok]: Test BITFIELD with separate write permission (3 ms) +[ok]: Test BITFIELD with read and write permissions (3 ms) +[ok]: Test ACL log correctly identifies the relevant item when selectors are used (7 ms) +[ok]: Test ACL GETUSER response information (3 ms) +[ok]: Test ACL list idempotency (3 ms) [ok]: Test R+W is the same as all permissions (1 ms) -[ok]: Test basic dry run functionality (1 ms) -[ok]: Test various commands for command permissions (1 ms) -[ok]: Test various odd commands for key permissions (9 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 (3 ms) -[ok]: Cardinality commands require some type of permission to execute (5 ms) -[ok]: Test sharded channel permissions (2 ms) -[ok]: Test sort with ACL permissions (5 ms) +[ok]: Test basic dry run functionality (2 ms) +[ok]: Test various commands for command permissions (2 ms) +[ok]: Test various odd commands for key permissions (13 ms) +[ok]: Existence test commands are not marked as access (4 ms) +[ok]: Intersection cardinaltiy commands are access commands (5 ms) +[ok]: Test general keyspace commands require some type of permission to execute (6 ms) +[ok]: Cardinality commands require some type of permission to execute (9 ms) +[ok]: Test sharded channel permissions (3 ms) +[ok]: Test sort with ACL permissions (6 ms) [ok]: Test DRYRUN with wrong number of arguments (2 ms) === (external:skip) Starting server 127.0.0.1:21277 ok [ok]: Test behavior of loading ACLs (2 ms) -[26/91 done]: unit/acl-v2 (1 seconds) +[26/91 done]: unit/acl-v2 (0 seconds) Testing unit/latency-monitor === (latency-monitor needs:latency) Starting server 127.0.0.1:21279 ok [ok]: LATENCY HISTOGRAM with empty histogram (1 ms) -[ok]: LATENCY HISTOGRAM all commands (1 ms) -[ok]: LATENCY HISTOGRAM sub commands (2 ms) -[ok]: LATENCY HISTOGRAM with a subset of commands (3 ms) -[ok]: LATENCY HISTOGRAM command (1 ms) -[ok]: LATENCY HISTOGRAM with wrong command name skips the invalid one (2 ms) -[ok]: Test latency events logging (3406 ms) +[ok]: LATENCY HISTOGRAM all commands (3 ms) +[ok]: LATENCY HISTOGRAM sub commands (3 ms) +[ok]: LATENCY HISTOGRAM with a subset of commands (5 ms) +[ok]: LATENCY HISTOGRAM command (3 ms) +[ok]: LATENCY HISTOGRAM with wrong command name skips the invalid one (5 ms) +[ok]: Test latency events logging (3408 ms) LATENCY HISTORY data: -{1736679331 300} {1736679332 400} {1736679334 500} +{1736683297 300} {1736683298 400} {1736683300 500} [ok]: LATENCY HISTORY output is ok (1 ms) LATENCY LATEST data: -{command 1736679334 500 500} +{command 1736683300 500 500} [ok]: LATENCY LATEST output is ok (1 ms) LATENCY GRAPH data: command - high 500 ms, low 300 ms (all time high 500 ms) @@ -3169,20 +3204,20 @@ 320 sss -[ok]: LATENCY GRAPH can output the event graph (1 ms) -[ok]: LATENCY GRAPH can output the expire event graph (1 ms) -[ok]: LATENCY of expire events are correctly collected (6442 ms) -[ok]: LATENCY HISTORY / RESET with wrong event name is fine (1 ms) -[ok]: LATENCY DOCTOR produces some output (2 ms) -[ok]: LATENCY RESET is able to reset events (1 ms) +[ok]: LATENCY GRAPH can output the event graph (2 ms) +[ok]: LATENCY GRAPH can output the expire event graph (0 ms) +[ok]: LATENCY of expire events are correctly collected (8555 ms) +[ok]: LATENCY HISTORY / RESET with wrong event name is fine (2 ms) +[ok]: LATENCY DOCTOR produces some output (3 ms) +[ok]: LATENCY RESET is able to reset events (2 ms) [ok]: LATENCY HELP should not have unexpected options (1 ms) -[27/91 done]: unit/latency-monitor (10 seconds) +[27/91 done]: unit/latency-monitor (13 seconds) Testing integration/block-repl === (repl external:skip) Starting server 127.0.0.1:21281 ok === () Starting server 127.0.0.1:21283 ok -[ok]: First server should have role slave after SLAVEOF (1005 ms) +[ok]: First server should have role slave after SLAVEOF (1012 ms) [ok]: Test replication with blocking lists and sorted sets operations (25010 ms) -[28/91 done]: integration/block-repl (27 seconds) +[28/91 done]: integration/block-repl (26 seconds) Testing integration/replication === (repl network external:skip) Starting server 127.0.0.1:21285 ok === () Starting server 127.0.0.1:21287 ok @@ -3191,2142 +3226,2417 @@ [ok]: Slave is able to detect timeout during handshake (0 ms) === (repl external:skip) Starting server 127.0.0.1:21289 ok === () Starting server 127.0.0.1:21291 ok -[ok]: Set instance A as slave of B (103 ms) -[ok]: INCRBYFLOAT replication, should not remove expire (4 ms) -[ok]: GETSET replication (4 ms) -[ok]: BRPOPLPUSH replication, when blocking against empty list (26 ms) -[ok]: BRPOPLPUSH replication, list exists (1031 ms) -[ok]: BLMOVE (left, left) replication, when blocking against empty list (25 ms) -[ok]: BLMOVE (left, left) replication, list exists (1031 ms) -[ok]: BLMOVE (left, right) replication, when blocking against empty list (26 ms) -[ok]: BLMOVE (left, right) replication, list exists (1030 ms) -[ok]: BLMOVE (right, left) replication, when blocking against empty list (25 ms) -[ok]: BLMOVE (right, left) replication, list exists (1031 ms) -[ok]: BLMOVE (right, right) replication, when blocking against empty list (25 ms) -[ok]: BLMOVE (right, right) replication, list exists (1028 ms) -[ok]: BLPOP followed by role change, issue #2473 (232 ms) +[ok]: Set instance A as slave of B (106 ms) +[ok]: INCRBYFLOAT replication, should not remove expire (5 ms) +[ok]: GETSET replication (5 ms) +[ok]: BRPOPLPUSH replication, when blocking against empty list (37 ms) +[ok]: BRPOPLPUSH replication, list exists (1040 ms) +[ok]: BLMOVE (left, left) replication, when blocking against empty list (37 ms) +[ok]: BLMOVE (left, left) replication, list exists (1040 ms) +[ok]: BLMOVE (left, right) replication, when blocking against empty list (37 ms) +[ok]: BLMOVE (left, right) replication, list exists (1040 ms) +[ok]: BLMOVE (right, left) replication, when blocking against empty list (35 ms) +[ok]: BLMOVE (right, left) replication, list exists (1041 ms) +[ok]: BLMOVE (right, right) replication, when blocking against empty list (36 ms) +[ok]: BLMOVE (right, right) replication, list exists (1041 ms) +[ok]: BLPOP followed by role change, issue #2473 (248 ms) === (repl external:skip) Starting server 127.0.0.1:21293 ok === () Starting server 127.0.0.1:21295 ok -[ok]: Second server should have role master at first (1 ms) -[ok]: SLAVEOF should start with link status "down" (2 ms) -[ok]: The role should immediately be changed to "replica" (1 ms) +[ok]: Second server should have role master at first (2 ms) +[ok]: SLAVEOF should start with link status "down" (3 ms) +[ok]: The role should immediately be changed to "replica" (6 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 (1 ms) -[ok]: FLUSHDB / FLUSHALL should replicate (62 ms) +[ok]: FLUSHDB / FLUSHALL should replicate (146 ms) [ok]: ROLE in master reports master with a slave (1 ms) -[ok]: ROLE in slave reports slave in connected state (0 ms) +[ok]: ROLE in slave reports slave in connected state (1 ms) === (repl external:skip) Starting server 127.0.0.1:21297 ok === () Starting server 127.0.0.1:21299 ok === () Starting server 127.0.0.1:21301 ok === () Starting server 127.0.0.1:21303 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=disabled (9556 ms) +[ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=disabled (10409 ms) === (repl external:skip) Starting server 127.0.0.1:21305 ok === () Starting server 127.0.0.1:21307 ok === () Starting server 127.0.0.1:21309 ok === () Starting server 127.0.0.1:21311 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=swapdb (9347 ms) +[ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=swapdb (8599 ms) === (repl external:skip) Starting server 127.0.0.1:21313 ok === () Starting server 127.0.0.1:21315 ok === () Starting server 127.0.0.1:21317 ok === () Starting server 127.0.0.1:21319 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=disabled (9829 ms) +[ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=disabled (10494 ms) === (repl external:skip) Starting server 127.0.0.1:21321 ok === () Starting server 127.0.0.1:21323 ok === () Starting server 127.0.0.1:21325 ok === () Starting server 127.0.0.1:21327 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=swapdb (9149 ms) +[ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=swapdb (8276 ms) === (repl external:skip) Starting server 127.0.0.1:21329 ok === () Starting server 127.0.0.1:21331 ok -[ok]: Master stream is correctly processed while the replica has a script in -BUSY state (51411 ms) +[ok]: Master stream is correctly processed while the replica has a script in -BUSY state (63821 ms) === (repl external:skip) Starting server 127.0.0.1:21333 ok === () Starting server 127.0.0.1:21335 ok -[ok]: Diskless load swapdb (different replid): new database is exposed after swapping (1 ms) +[ok]: Diskless load swapdb (different replid): new database is exposed after swapping (14 ms) === (repl external:skip) Starting server 127.0.0.1:21337 ok === () Starting server 127.0.0.1:21339 ok -[ok]: Diskless load swapdb (different replid): replica enter loading (489 ms) -[ok]: Diskless load swapdb (different replid): old database is exposed after replication fails (1 ms) +[ok]: Diskless load swapdb (different replid): replica enter loading (767 ms) +[ok]: Diskless load swapdb (different replid): old database is exposed after replication fails (11 ms) === (repl external:skip) Starting server 127.0.0.1:21341 ok === () Starting server 127.0.0.1:21343 ok -[ok]: Diskless load swapdb (async_loading): new database is exposed after swapping (1 ms) +[ok]: Diskless load swapdb (async_loading): new database is exposed after swapping (23 ms) === (repl external:skip) Starting server 127.0.0.1:21345 ok === () Starting server 127.0.0.1:21347 ok -[ok]: Diskless load swapdb (async_loading): replica enter async_loading (388 ms) -[ok]: Diskless load swapdb (async_loading): old database is exposed while async replication is in progress (930 ms) -[ok]: Busy script during async loading (1176 ms) -[ok]: Blocked commands and configs during async-loading (474 ms) -[ok]: Diskless load swapdb (async_loading): old database is exposed after async replication fails (1 ms) -Waiting for process 23612 to exit... -Waiting for process 23612 to exit... -Waiting for process 23612 to exit... -Waiting for process 23612 to exit... -Waiting for process 23612 to exit... -Waiting for process 23612 to exit... -Waiting for process 23612 to exit... +[ok]: Diskless load swapdb (async_loading): replica enter async_loading (687 ms) +[ok]: Diskless load swapdb (async_loading): old database is exposed while async replication is in progress (1285 ms) +[ok]: Busy script during async loading (1728 ms) +[ok]: Blocked commands and configs during async-loading (697 ms) +[ok]: Diskless load swapdb (async_loading): old database is exposed after async replication fails (2 ms) +Waiting for process 1227 to exit... +Waiting for process 1227 to exit... +Waiting for process 1227 to exit... +Waiting for process 1227 to exit... +Waiting for process 1227 to exit... === (repl) Starting server 127.0.0.1:21349 ok === () Starting server 127.0.0.1:21351 ok -filling took 3207 ms (TODO: use pipeline) -{24414:S 11 Jan 2025 22:58:23.610 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 51 -{24414:S 11 Jan 2025 22:58:23.663 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 66 -{24414:S 11 Jan 2025 22:58:23.723 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 81 -{24414:S 11 Jan 2025 22:58:23.806 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 96 -{24414:S 11 Jan 2025 22:58:23.908 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 111 -{24414:S 11 Jan 2025 22:58:23.961 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 126 -{24414:S 11 Jan 2025 22:58:24.020 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 141 -{24414:S 11 Jan 2025 22:58:24.102 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 156 -{24414:S 11 Jan 2025 22:58:24.183 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 171 -{24414:S 11 Jan 2025 22:58:24.235 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 186 -{24414:S 11 Jan 2025 22:58:24.305 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 201 -{24414:S 11 Jan 2025 22:58:24.365 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 216 -{24414:S 11 Jan 2025 22:58:24.409 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 231 -{24414:S 11 Jan 2025 22:58:24.461 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 246 -{24414:S 11 Jan 2025 22:58:24.543 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 261 -{24414:S 11 Jan 2025 22:58:24.604 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 276 -{24414:S 11 Jan 2025 22:58:24.664 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 291 -{24414:S 11 Jan 2025 22:58:24.746 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 306 -{24414:S 11 Jan 2025 22:58:24.815 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 321 -{24414:S 11 Jan 2025 22:58:24.897 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 336 -{24414:S 11 Jan 2025 22:58:24.979 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 351 -{24414:S 11 Jan 2025 22:58:25.032 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 366 -{24414:S 11 Jan 2025 22:58:25.114 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 381 -{24414:S 11 Jan 2025 22:58:25.174 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 396 -{24414:S 11 Jan 2025 22:58:25.258 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 411 -{24414:S 11 Jan 2025 22:58:25.340 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 426 -{24414:S 11 Jan 2025 22:58:25.392 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 441 -{24414:S 11 Jan 2025 22:58:25.461 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 456 -{24414:S 11 Jan 2025 22:58:25.562 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 471 -{24414:S 11 Jan 2025 22:58:25.644 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 486 -{24414:S 11 Jan 2025 22:58:25.746 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 501 -{24414:S 11 Jan 2025 22:58:25.846 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 516 -{24414:S 11 Jan 2025 22:58:25.916 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 531 -{24414:S 11 Jan 2025 22:58:25.998 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 546 -{24414:S 11 Jan 2025 22:58:26.079 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 561 -{24414:S 11 Jan 2025 22:58:26.131 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 576 -{24414:S 11 Jan 2025 22:58:26.201 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 591 -{24414:S 11 Jan 2025 22:58:26.282 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 606 -{24414:S 11 Jan 2025 22:58:26.363 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 621 -{24414:S 11 Jan 2025 22:58:26.416 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 636 -{24414:S 11 Jan 2025 22:58:26.475 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 651 -{24414:S 11 Jan 2025 22:58:26.528 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 666 -{24414:S 11 Jan 2025 22:58:26.579 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 681 -{24414:S 11 Jan 2025 22:58:26.660 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 696 -{24414:S 11 Jan 2025 22:58:26.729 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 711 -{24414:S 11 Jan 2025 22:58:26.829 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 726 -{24414:S 11 Jan 2025 22:58:26.897 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 741 -{24414:S 11 Jan 2025 22:58:26.966 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 756 -{24414:S 11 Jan 2025 22:58:27.018 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 771 -{24414:S 11 Jan 2025 22:58:27.099 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 786 -{24414:S 11 Jan 2025 22:58:27.167 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 801 -{24414:S 11 Jan 2025 22:58:27.219 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 816 -{24414:S 11 Jan 2025 22:58:27.279 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 831 -{24414:S 11 Jan 2025 22:58:27.331 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 846 -{24414:S 11 Jan 2025 22:58:27.431 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 861 -{24414:S 11 Jan 2025 22:58:27.482 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 876 -{24414:S 11 Jan 2025 22:58:27.533 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 891 -{24414:S 11 Jan 2025 22:58:27.617 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 906 -{24414:S 11 Jan 2025 22:58:27.717 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 921 -{24414:S 11 Jan 2025 22:58:27.768 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 936 -{24414:S 11 Jan 2025 22:58:27.849 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 951 -{24414:S 11 Jan 2025 22:58:27.949 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 966 -{24414:S 11 Jan 2025 22:58:28.020 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 981 -{24414:S 11 Jan 2025 22:58:28.120 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 996 -{24414:S 11 Jan 2025 22:58:28.203 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1011 -{24414:S 11 Jan 2025 22:58:28.254 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1026 -{24414:S 11 Jan 2025 22:58:28.312 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1041 -{24414:S 11 Jan 2025 22:58:28.393 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1056 -{24414:S 11 Jan 2025 22:58:28.493 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1071 -{24414:S 11 Jan 2025 22:58:28.562 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1086 -{24414:S 11 Jan 2025 22:58:28.661 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1101 -{24414:S 11 Jan 2025 22:58:28.719 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1116 -{24414:S 11 Jan 2025 22:58:28.771 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1131 -{24414:S 11 Jan 2025 22:58:28.839 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1146 -{24414:S 11 Jan 2025 22:58:28.901 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1161 -{24414:S 11 Jan 2025 22:58:28.961 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1176 -{24414:S 11 Jan 2025 22:58:29.061 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1191 -{24414:S 11 Jan 2025 22:58:29.112 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1206 -{24414:S 11 Jan 2025 22:58:29.212 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1221 -{24414:S 11 Jan 2025 22:58:29.272 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1236 -{24414:S 11 Jan 2025 22:58:29.332 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1251 -{24414:S 11 Jan 2025 22:58:29.391 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1266 -{24414:S 11 Jan 2025 22:58:29.435 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1281 -{24414:S 11 Jan 2025 22:58:29.517 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1296 -{24414:S 11 Jan 2025 22:58:29.617 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1311 -{24414:S 11 Jan 2025 22:58:29.676 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1326 -{24414:S 11 Jan 2025 22:58:29.745 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1341 -{24414:S 11 Jan 2025 22:58:29.797 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1356 -{24414:S 11 Jan 2025 22:58:29.878 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1371 -{24414:S 11 Jan 2025 22:58:29.938 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1386 -{24414:S 11 Jan 2025 22:58:30.038 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1401 -{24414:S 11 Jan 2025 22:58:30.119 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1416 -{24414:S 11 Jan 2025 22:58:30.189 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1431 -{24414:S 11 Jan 2025 22:58:30.241 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1446 -{24414:S 11 Jan 2025 22:58:30.346 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1461 -{24414:S 11 Jan 2025 22:58:30.406 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1476 -{24414:S 11 Jan 2025 22:58:30.462 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1491 -{24414:S 11 Jan 2025 22:58:30.562 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1506 -{24414:S 11 Jan 2025 22:58:30.631 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1521 -{24414:S 11 Jan 2025 22:58:30.712 # Internal error in RDB reading offset 1658056, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1536 -test took 7188 ms -[ok]: diskless loading short read (10801 ms) +filling took 15948 ms (TODO: use pipeline) +{5280:S 13 Jan 2025 02:05:17.747 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 51 +{5280:S 13 Jan 2025 02:05:17.907 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 66 +{5280:S 13 Jan 2025 02:05:18.183 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 81 +{5280:S 13 Jan 2025 02:05:18.341 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 96 +{5280:S 13 Jan 2025 02:05:18.543 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 111 +{5280:S 13 Jan 2025 02:05:18.710 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 126 +{5280:S 13 Jan 2025 02:05:18.869 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 141 +{5280:S 13 Jan 2025 02:05:19.048 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 156 +{5280:S 13 Jan 2025 02:05:19.214 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 171 +{5280:S 13 Jan 2025 02:05:19.402 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 186 +{5280:S 13 Jan 2025 02:05:19.531 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 201 +{5280:S 13 Jan 2025 02:05:19.738 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 216 +{5280:S 13 Jan 2025 02:05:19.859 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 231 +{5280:S 13 Jan 2025 02:05:20.004 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 246 +{5280:S 13 Jan 2025 02:05:20.213 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 261 +{5280:S 13 Jan 2025 02:05:20.347 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 276 +{5280:S 13 Jan 2025 02:05:20.527 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 291 +{5280:S 13 Jan 2025 02:05:20.667 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 306 +{5280:S 13 Jan 2025 02:05:20.835 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 321 +{5280:S 13 Jan 2025 02:05:21.025 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 336 +{5280:S 13 Jan 2025 02:05:21.187 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 351 +{5280:S 13 Jan 2025 02:05:21.307 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 366 +{5280:S 13 Jan 2025 02:05:21.465 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 381 +{5280:S 13 Jan 2025 02:05:21.643 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 396 +{5280:S 13 Jan 2025 02:05:21.869 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 411 +{5280:S 13 Jan 2025 02:05:22.043 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 426 +{5280:S 13 Jan 2025 02:05:22.180 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 441 +{5280:S 13 Jan 2025 02:05:22.394 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 456 +{5280:S 13 Jan 2025 02:05:22.507 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 471 +{5280:S 13 Jan 2025 02:05:22.583 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 486 +{5280:S 13 Jan 2025 02:05:22.680 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 501 +{5280:S 13 Jan 2025 02:05:22.822 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 516 +{5280:S 13 Jan 2025 02:05:22.958 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 531 +{5280:S 13 Jan 2025 02:05:23.082 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 546 +{5280:S 13 Jan 2025 02:05:23.221 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 561 +{5280:S 13 Jan 2025 02:05:23.332 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 576 +{5280:S 13 Jan 2025 02:05:23.465 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 591 +{5280:S 13 Jan 2025 02:05:23.577 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 606 +{5280:S 13 Jan 2025 02:05:23.700 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 621 +{5280:S 13 Jan 2025 02:05:23.868 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 636 +{5280:S 13 Jan 2025 02:05:24.014 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 651 +{5280:S 13 Jan 2025 02:05:24.163 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 666 +{5280:S 13 Jan 2025 02:05:24.344 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 681 +{5280:S 13 Jan 2025 02:05:24.534 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 696 +{5280:S 13 Jan 2025 02:05:24.689 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 711 +{5280:S 13 Jan 2025 02:05:24.854 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 726 +{5280:S 13 Jan 2025 02:05:25.015 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 741 +{5280:S 13 Jan 2025 02:05:25.143 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 756 +{5280:S 13 Jan 2025 02:05:25.290 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 771 +{5280:S 13 Jan 2025 02:05:25.413 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 786 +{5280:S 13 Jan 2025 02:05:25.563 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 801 +{5280:S 13 Jan 2025 02:05:25.663 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 816 +{5280:S 13 Jan 2025 02:05:25.786 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 831 +{5280:S 13 Jan 2025 02:05:25.897 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 846 +{5280:S 13 Jan 2025 02:05:25.975 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 861 +{5280:S 13 Jan 2025 02:05:26.068 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 876 +{5280:S 13 Jan 2025 02:05:26.184 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 891 +{5280:S 13 Jan 2025 02:05:26.316 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 906 +{5280:S 13 Jan 2025 02:05:26.425 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 921 +{5280:S 13 Jan 2025 02:05:26.571 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 936 +{5280:S 13 Jan 2025 02:05:26.735 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 951 +{5280:S 13 Jan 2025 02:05:26.843 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 966 +{5280:S 13 Jan 2025 02:05:27.012 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 981 +{5280:S 13 Jan 2025 02:05:27.152 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 996 +{5280:S 13 Jan 2025 02:05:27.263 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1011 +{5280:S 13 Jan 2025 02:05:27.398 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1026 +{5280:S 13 Jan 2025 02:05:27.503 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1041 +{5280:S 13 Jan 2025 02:05:27.611 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1056 +{5280:S 13 Jan 2025 02:05:27.768 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1071 +{5280:S 13 Jan 2025 02:05:27.865 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1086 +{5280:S 13 Jan 2025 02:05:27.998 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1101 +{5280:S 13 Jan 2025 02:05:28.168 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1116 +{5280:S 13 Jan 2025 02:05:28.257 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1131 +{5280:S 13 Jan 2025 02:05:28.419 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1146 +{5280:S 13 Jan 2025 02:05:28.570 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1161 +{5280:S 13 Jan 2025 02:05:28.695 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1176 +{5280:S 13 Jan 2025 02:05:28.832 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1191 +{5280:S 13 Jan 2025 02:05:28.969 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1206 +{5280:S 13 Jan 2025 02:05:29.098 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1221 +{5280:S 13 Jan 2025 02:05:29.278 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1236 +{5280:S 13 Jan 2025 02:05:29.426 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1251 +{5280:S 13 Jan 2025 02:05:29.630 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1266 +{5280:S 13 Jan 2025 02:05:29.718 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1281 +{5280:S 13 Jan 2025 02:05:29.863 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1296 +{5280:S 13 Jan 2025 02:05:30.131 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1311 +{5280:S 13 Jan 2025 02:05:30.287 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1326 +{5280:S 13 Jan 2025 02:05:30.423 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1341 +{5280:S 13 Jan 2025 02:05:30.592 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1356 +{5280:S 13 Jan 2025 02:05:30.721 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1371 +{5280:S 13 Jan 2025 02:05:30.832 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1386 +{5280:S 13 Jan 2025 02:05:30.951 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1401 +{5280:S 13 Jan 2025 02:05:31.059 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1416 +{5280:S 13 Jan 2025 02:05:31.163 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1431 +{5280:S 13 Jan 2025 02:05:31.270 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1446 +{5280:S 13 Jan 2025 02:05:31.424 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1461 +{5280:S 13 Jan 2025 02:05:31.554 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1476 +{5280:S 13 Jan 2025 02:05:31.692 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1491 +{5280:S 13 Jan 2025 02:05:31.798 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1506 +{5280:S 13 Jan 2025 02:05:31.925 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1521 +{5280:S 13 Jan 2025 02:05:32.077 # Internal error in RDB reading offset 0, function at rdb.c:3375 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1536 +test took 14669 ms +Waiting for process 5360 to exit... +Waiting for process 5360 to exit... +[ok]: diskless loading short read (37903 ms) === (repl external:skip) Starting server 127.0.0.1:21353 ok === () Starting server 127.0.0.1:21355 ok === () Starting server 127.0.0.1:21357 ok -[ok]: diskless no replicas drop during rdb pipe (11771 ms) +[ok]: diskless no replicas drop during rdb pipe (71588 ms) === () Starting server 127.0.0.1:21359 ok === () Starting server 127.0.0.1:21361 ok -[ok]: diskless slow replicas drop during rdb pipe (7266 ms) +[ok]: diskless slow replicas drop during rdb pipe (23100 ms) === () Starting server 127.0.0.1:21363 ok === () Starting server 127.0.0.1:21365 ok -[ok]: diskless fast replicas drop during rdb pipe (9880 ms) +[ok]: diskless fast replicas drop during rdb pipe (55342 ms) === () Starting server 127.0.0.1:21367 ok === () Starting server 127.0.0.1:21369 ok -[ok]: diskless all replicas drop during rdb pipe (2197 ms) +[ok]: diskless all replicas drop during rdb pipe (1818 ms) === () Starting server 127.0.0.1:21371 ok === () Starting server 127.0.0.1:21373 ok -[ok]: diskless timeout replicas drop during rdb pipe (10109 ms) +content of ./tests/tmp/server.16780.248/stdout from line: 186: +### Starting test diskless timeout replicas drop during rdb pipe in tests/integration/replication.tcl +10961:M 13 Jan 2025 02:08:12.072 - Accepted 127.0.0.1:33622 +10961:M 13 Jan 2025 02:08:12.095 - Accepted 127.0.0.1:33628 +10961:M 13 Jan 2025 02:08:12.148 * Replica 127.0.0.1:21371 asks for synchronization +10961:M 13 Jan 2025 02:08:12.148 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for 'fc9614c054f9718a91ad6d597a8eb1da26b3b66d', my replication IDs are '4f8ba985123d641f2f26bb8452ae270a01ccf917' and '0000000000000000000000000000000000000000') +10961:M 13 Jan 2025 02:08:12.148 * Delay next BGSAVE for diskless SYNC +10961:M 13 Jan 2025 02:08:12.158 * Replica 127.0.0.1:21373 asks for synchronization +10961:M 13 Jan 2025 02:08:12.158 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for '88a16656ae070cc26c53885c339ac98f0dc1ba77', my replication IDs are '4f8ba985123d641f2f26bb8452ae270a01ccf917' and '0000000000000000000000000000000000000000') +10961:M 13 Jan 2025 02:08:12.158 * Delay next BGSAVE for diskless SYNC +10961:M 13 Jan 2025 02:08:12.782 - DB 9: 20004 keys (0 volatile) in 32768 slots HT. +10961:M 13 Jan 2025 02:08:12.783 * Starting BGSAVE for SYNC with target: replicas sockets +10961:M 13 Jan 2025 02:08:12.804 * Background RDB transfer started by pid 27598 +27598:C 13 Jan 2025 02:08:12.836 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:08:17.547 # Disconnecting timedout replica (full sync): 127.0.0.1:21371 +10961:M 13 Jan 2025 02:08:17.547 * Connection with replica 127.0.0.1:21371 lost. +27598:C 13 Jan 2025 02:08:18.306 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:08:19.713 - DB 9: 20005 keys (0 volatile) in 32768 slots HT. +27598:C 13 Jan 2025 02:08:22.342 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:08:25.039 - DB 9: 20005 keys (0 volatile) in 32768 slots HT. +27598:C 13 Jan 2025 02:08:25.317 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +27598:C 13 Jan 2025 02:08:26.771 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:08:29.201 # Disconnecting timedout replica (full sync): 127.0.0.1:21373 +10961:M 13 Jan 2025 02:08:29.201 * Connection with replica 127.0.0.1:21373 lost. +10961:M 13 Jan 2025 02:08:29.201 # Diskless rdb transfer, last replica dropped, killing fork child. +27598:signal-handler (1736683709) Received SIGUSR1 in child, exiting now. +10961:M 13 Jan 2025 02:08:29.305 # Background transfer terminated by signal 10 + +===== Start of server log (pid 27204) ===== + +### Starting server for test diskless timeout replicas drop during rdb pipe in tests/integration/replication.tcl +27204:C 13 Jan 2025 02:08:11.861 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +27204:C 13 Jan 2025 02:08:11.861 * oO0OoO0OoO0Oo Redict is starting oO0OoO0OoO0Oo +27204:C 13 Jan 2025 02:08:11.861 * Redict version=7.3.2, bits=32, commit=00000000, modified=0, pid=27204, just started +27204:C 13 Jan 2025 02:08:11.861 * Configuration loaded +27204:M 13 Jan 2025 02:08:11.863 * Increased maximum number of open files to 10032 (it was originally set to 1024). +27204:M 13 Jan 2025 02:08:11.863 * monotonic clock: POSIX clock_gettime +27204:M 13 Jan 2025 02:08:11.864 # Warning: 32 bit instance detected but no memory limit set. Setting 3 GB maxmemory limit with 'noeviction' policy now. +27204:M 13 Jan 2025 02:08:11.864 # Failed to write PID file: Permission denied + + ## + ######## Redict 7.3.2 (00000000/0) 32 bit + ################ + ######################## Running in standalone mode + ############################## Port: 21374 + ################################: PID: 27204 + #############################::::: + ##::::####################:::::::: + ##::::::::############:::::::::::: https://redict.io + ##:::::::::::+####+::::::::::::::: + ##:::::::::::::::::::::::::::::::: + ##:::::::::::::::::::::::::::::::: + ##::::::::::::::::::::::::::::::### + ####::::::::::::::::::::::::#### + #####:::::::::::::::::#### + ####::::::::::#### + ####::#### + #### + +27204:M 13 Jan 2025 02:08:11.872 * Server initialized +27204:M 13 Jan 2025 02:08:11.872 * Ready to accept connections tcp +27204:M 13 Jan 2025 02:08:11.872 * Ready to accept connections unix +27204:M 13 Jan 2025 02:08:11.872 * Ready to accept connections tls +27204:M 13 Jan 2025 02:08:11.960 - Accepted 127.0.0.1:44193 +27204:M 13 Jan 2025 02:08:11.996 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +27204:M 13 Jan 2025 02:08:12.025 - Accepted 127.0.0.1:46477 +27204:S 13 Jan 2025 02:08:12.072 * Before turning into a replica, using my own master parameters to synthesize a cached master: I may be able to synchronize with the new master with just a partial transfer. +27204:S 13 Jan 2025 02:08:12.072 * Connecting to MASTER 127.0.0.1:21353 +27204:S 13 Jan 2025 02:08:12.072 * MASTER <-> REPLICA sync started +27204:S 13 Jan 2025 02:08:12.072 * REPLICAOF 127.0.0.1:21353 enabled (user request from 'id=4 addr=127.0.0.1:46477 laddr=127.0.0.1:21373 fd=11 name= age=0 idle=0 flags=N db=9 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=45 qbuf-free=20429 argv-mem=23 multi-mem=0 rbs=16384 rbp=16384 obl=0 oll=0 omem=0 tot-mem=37539 events=r cmd=replicaof user=default redir=-1 resp=2 lib-name= lib-ver=') +27204:S 13 Jan 2025 02:08:12.149 * Non blocking connect for SYNC fired the event. +27204:S 13 Jan 2025 02:08:12.156 * Master replied to PING, replication can continue... +27204:S 13 Jan 2025 02:08:12.157 * Trying a partial resynchronization (request 88a16656ae070cc26c53885c339ac98f0dc1ba77:1). +27204:S 13 Jan 2025 02:08:12.785 * Full resync from master: 4f8ba985123d641f2f26bb8452ae270a01ccf917:339 +27204:S 13 Jan 2025 02:08:12.841 * MASTER <-> REPLICA sync: receiving streamed RDB from master with EOF to disk +27204:signal-handler (1736683710) Received SIGTERM scheduling shutdown... +27204:S 13 Jan 2025 02:08:30.312 * User requested shutdown... +27204:S 13 Jan 2025 02:08:30.312 * Removing the pid file. +27204:S 13 Jan 2025 02:08:30.312 * Removing the unix socket file. +27204:S 13 Jan 2025 02:08:30.312 # Redict is now ready to exit, bye bye... +===== End of server log (pid 27204) ===== + + +===== Start of server stderr log (pid 27204) ===== + + +===== End of server stderr log (pid 27204) ===== + + +===== Start of server log (pid 27181) ===== + +### Starting server for test diskless timeout replicas drop during rdb pipe in tests/integration/replication.tcl +27181:C 13 Jan 2025 02:08:11.592 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +27181:C 13 Jan 2025 02:08:11.592 * oO0OoO0OoO0Oo Redict is starting oO0OoO0OoO0Oo +27181:C 13 Jan 2025 02:08:11.592 * Redict version=7.3.2, bits=32, commit=00000000, modified=0, pid=27181, just started +27181:C 13 Jan 2025 02:08:11.592 * Configuration loaded +27181:M 13 Jan 2025 02:08:11.598 * Increased maximum number of open files to 10032 (it was originally set to 1024). +27181:M 13 Jan 2025 02:08:11.598 * monotonic clock: POSIX clock_gettime +27181:M 13 Jan 2025 02:08:11.598 # Warning: 32 bit instance detected but no memory limit set. Setting 3 GB maxmemory limit with 'noeviction' policy now. +27181:M 13 Jan 2025 02:08:11.599 # Failed to write PID file: Permission denied + + ## + ######## Redict 7.3.2 (00000000/0) 32 bit + ################ + ######################## Running in standalone mode + ############################## Port: 21372 + ################################: PID: 27181 + #############################::::: + ##::::####################:::::::: + ##::::::::############:::::::::::: https://redict.io + ##:::::::::::+####+::::::::::::::: + ##:::::::::::::::::::::::::::::::: + ##:::::::::::::::::::::::::::::::: + ##::::::::::::::::::::::::::::::### + ####::::::::::::::::::::::::#### + #####:::::::::::::::::#### + ####::::::::::#### + ####::#### + #### + +27181:M 13 Jan 2025 02:08:11.615 * Server initialized +27181:M 13 Jan 2025 02:08:11.615 * Ready to accept connections tcp +27181:M 13 Jan 2025 02:08:11.615 * Ready to accept connections unix +27181:M 13 Jan 2025 02:08:11.615 * Ready to accept connections tls +27181:M 13 Jan 2025 02:08:11.696 - Accepted 127.0.0.1:37823 +27181:M 13 Jan 2025 02:08:11.768 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +27181:M 13 Jan 2025 02:08:11.777 - Accepted 127.0.0.1:45429 +27181:S 13 Jan 2025 02:08:12.070 * Before turning into a replica, using my own master parameters to synthesize a cached master: I may be able to synchronize with the new master with just a partial transfer. +27181:S 13 Jan 2025 02:08:12.070 * Connecting to MASTER 127.0.0.1:21353 +27181:S 13 Jan 2025 02:08:12.071 * MASTER <-> REPLICA sync started +27181:S 13 Jan 2025 02:08:12.071 * REPLICAOF 127.0.0.1:21353 enabled (user request from 'id=4 addr=127.0.0.1:45429 laddr=127.0.0.1:21371 fd=11 name= age=1 idle=0 flags=N db=9 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=45 qbuf-free=20429 argv-mem=23 multi-mem=0 rbs=1024 rbp=5 obl=0 oll=0 omem=0 tot-mem=22179 events=r cmd=replicaof user=default redir=-1 resp=2 lib-name= lib-ver=') +27181:S 13 Jan 2025 02:08:12.132 * Non blocking connect for SYNC fired the event. +27181:S 13 Jan 2025 02:08:12.141 * Master replied to PING, replication can continue... +27181:S 13 Jan 2025 02:08:12.146 * Trying a partial resynchronization (request fc9614c054f9718a91ad6d597a8eb1da26b3b66d:1). +27181:S 13 Jan 2025 02:08:12.785 * Full resync from master: 4f8ba985123d641f2f26bb8452ae270a01ccf917:339 +27181:S 13 Jan 2025 02:08:12.838 * MASTER <-> REPLICA sync: receiving streamed RDB from master with EOF to parser +27181:S 13 Jan 2025 02:08:12.838 * MASTER <-> REPLICA sync: Loading DB in memory +27181:S 13 Jan 2025 02:08:12.838 * Loading RDB produced by version 7.3.2 +27181:S 13 Jan 2025 02:08:12.838 * RDB age 0 seconds +27181:S 13 Jan 2025 02:08:12.838 * RDB memory usage when created 197.51 Mb +27181:signal-handler (1736683710) Received shutdown signal during loading, scheduling shutdown. +27181:S 13 Jan 2025 02:08:30.440 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +27181:S 13 Jan 2025 02:08:30.441 * User requested shutdown... +27181:S 13 Jan 2025 02:08:30.441 * Removing the pid file. +27181:S 13 Jan 2025 02:08:30.441 * Removing the unix socket file. +27181:S 13 Jan 2025 02:08:30.441 # Redict is now ready to exit, bye bye... +===== End of server log (pid 27181) ===== + + +===== Start of server stderr log (pid 27181) ===== + + +===== End of server stderr log (pid 27181) ===== + + +===== Start of server log (pid 10961) ===== + +[err]: diskless timeout replicas drop during rdb pipe in tests/integration/replication.tcl +log message of '"*Diskless rdb transfer, done reading from pipe, 1 replicas still up*"' not found in ./tests/tmp/server.16780.248/stdout after line: 186 till line: 211 +### Starting server for test +10961:C 13 Jan 2025 02:05:38.951 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +10961:C 13 Jan 2025 02:05:38.951 * oO0OoO0OoO0Oo Redict is starting oO0OoO0OoO0Oo +10961:C 13 Jan 2025 02:05:38.951 * Redict version=7.3.2, bits=32, commit=00000000, modified=0, pid=10961, just started +10961:C 13 Jan 2025 02:05:38.951 * Configuration loaded +10961:M 13 Jan 2025 02:05:38.957 * Increased maximum number of open files to 10032 (it was originally set to 1024). +10961:M 13 Jan 2025 02:05:38.957 * monotonic clock: POSIX clock_gettime +10961:M 13 Jan 2025 02:05:38.958 # Warning: 32 bit instance detected but no memory limit set. Setting 3 GB maxmemory limit with 'noeviction' policy now. +10961:M 13 Jan 2025 02:05:38.958 # Failed to write PID file: Permission denied + + ## + ######## Redict 7.3.2 (00000000/0) 32 bit + ################ + ######################## Running in standalone mode + ############################## Port: 21354 + ################################: PID: 10961 + #############################::::: + ##::::####################:::::::: + ##::::::::############:::::::::::: https://redict.io + ##:::::::::::+####+::::::::::::::: + ##:::::::::::::::::::::::::::::::: + ##:::::::::::::::::::::::::::::::: + ##::::::::::::::::::::::::::::::### + ####::::::::::::::::::::::::#### + #####:::::::::::::::::#### + ####::::::::::#### + ####::#### + #### + +10961:M 13 Jan 2025 02:05:38.973 * Server initialized +10961:M 13 Jan 2025 02:05:38.973 * Ready to accept connections tcp +10961:M 13 Jan 2025 02:05:38.973 * Ready to accept connections unix +10961:M 13 Jan 2025 02:05:38.973 * Ready to accept connections tls +10961:M 13 Jan 2025 02:05:39.073 - Accepted 127.0.0.1:42315 +10961:M 13 Jan 2025 02:05:39.127 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +10961:M 13 Jan 2025 02:05:39.136 - Accepted 127.0.0.1:46519 +### Starting test diskless no replicas drop during rdb pipe in tests/integration/replication.tcl +10961:M 13 Jan 2025 02:05:40.156 - Accepted 127.0.0.1:38926 +10961:M 13 Jan 2025 02:05:40.170 - Accepted 127.0.0.1:38938 +10961:M 13 Jan 2025 02:05:40.204 * Replica 127.0.0.1:21355 asks for synchronization +10961:M 13 Jan 2025 02:05:40.204 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for '8262e5cfa771bde1babe9e86fe0c86f0f4ed02f4', my replication IDs are '8da5816d376f26d9d681eb03e4177ba412ec5dae' and '0000000000000000000000000000000000000000') +10961:M 13 Jan 2025 02:05:40.204 * Replication backlog created, my new replication IDs are '4f8ba985123d641f2f26bb8452ae270a01ccf917' and '0000000000000000000000000000000000000000' +10961:M 13 Jan 2025 02:05:40.204 * Delay next BGSAVE for diskless SYNC +10961:M 13 Jan 2025 02:05:40.229 * Replica 127.0.0.1:21357 asks for synchronization +10961:M 13 Jan 2025 02:05:40.229 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for 'a55106769e9605955950b95af6e7694274b3c9f4', my replication IDs are '4f8ba985123d641f2f26bb8452ae270a01ccf917' and '0000000000000000000000000000000000000000') +10961:M 13 Jan 2025 02:05:40.229 * Delay next BGSAVE for diskless SYNC +10961:M 13 Jan 2025 02:05:40.448 * Starting BGSAVE for SYNC with target: replicas sockets +10961:M 13 Jan 2025 02:05:40.469 * Background RDB transfer started by pid 11462 +11462:C 13 Jan 2025 02:05:40.492 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +11462:C 13 Jan 2025 02:05:44.729 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:05:47.574 - DB 9: 20001 keys (0 volatile) in 32768 slots HT. +11462:C 13 Jan 2025 02:05:50.047 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +11462:C 13 Jan 2025 02:05:53.153 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:05:54.893 - DB 9: 20001 keys (0 volatile) in 32768 slots HT. +11462:C 13 Jan 2025 02:05:56.974 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +11462:C 13 Jan 2025 02:05:59.982 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +11462:C 13 Jan 2025 02:06:01.882 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:06:05.059 - DB 9: 20001 keys (0 volatile) in 32768 slots HT. +11462:C 13 Jan 2025 02:06:08.570 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +11462:C 13 Jan 2025 02:06:12.268 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:06:17.127 - DB 9: 20001 keys (0 volatile) in 32768 slots HT. +11462:C 13 Jan 2025 02:06:17.303 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +11462:C 13 Jan 2025 02:06:18.343 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +11462:C 13 Jan 2025 02:06:23.059 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:06:24.709 - DB 9: 20001 keys (0 volatile) in 32768 slots HT. +10961:M 13 Jan 2025 02:06:29.877 - DB 9: 20001 keys (0 volatile) in 32768 slots HT. +11462:C 13 Jan 2025 02:06:30.311 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +11462:C 13 Jan 2025 02:06:32.343 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +11462:C 13 Jan 2025 02:06:36.080 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:06:36.525 - DB 9: 20001 keys (0 volatile) in 32768 slots HT. +11462:C 13 Jan 2025 02:06:39.670 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +11462:C 13 Jan 2025 02:06:40.709 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +11462:C 13 Jan 2025 02:06:41.841 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:06:41.845 * Diskless rdb transfer, done reading from pipe, 2 replicas still up. +10961:M 13 Jan 2025 02:06:41.947 * Background RDB transfer terminated with success +10961:M 13 Jan 2025 02:06:42.352 * Streamed RDB transfer with replica 127.0.0.1:21355 succeeded (socket). Waiting for REPLCONF ACK from replica to enable streaming +10961:M 13 Jan 2025 02:06:42.352 * Synchronization with replica 127.0.0.1:21355 succeeded +10961:M 13 Jan 2025 02:06:42.352 * Streamed RDB transfer with replica 127.0.0.1:21357 succeeded (socket). Waiting for REPLCONF ACK from replica to enable streaming +10961:M 13 Jan 2025 02:06:42.352 * Synchronization with replica 127.0.0.1:21357 succeeded +10961:M 13 Jan 2025 02:06:46.349 - DB 9: 20001 keys (0 volatile) in 32768 slots HT. +10961:M 13 Jan 2025 02:06:50.916 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +10961:M 13 Jan 2025 02:06:50.916 * Connection with replica client id #6 lost. +10961:M 13 Jan 2025 02:06:51.147 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +10961:M 13 Jan 2025 02:06:51.147 * Connection with replica client id #5 lost. +### Starting test diskless slow replicas drop during rdb pipe in tests/integration/replication.tcl +10961:M 13 Jan 2025 02:06:51.848 - Accepted 127.0.0.1:49084 +10961:M 13 Jan 2025 02:06:51.866 - Accepted 127.0.0.1:49088 +10961:M 13 Jan 2025 02:06:51.910 * Replica 127.0.0.1:21359 asks for synchronization +10961:M 13 Jan 2025 02:06:51.910 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for '9311ebec40c82c77d85ba91e9e3584922de59450', my replication IDs are '4f8ba985123d641f2f26bb8452ae270a01ccf917' and '0000000000000000000000000000000000000000') +10961:M 13 Jan 2025 02:06:51.910 * Delay next BGSAVE for diskless SYNC +10961:M 13 Jan 2025 02:06:51.924 * Replica 127.0.0.1:21361 asks for synchronization +10961:M 13 Jan 2025 02:06:51.924 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for '4bd5be4f7b1cf2ad4446a22c058f7b6a0599c660', my replication IDs are '4f8ba985123d641f2f26bb8452ae270a01ccf917' and '0000000000000000000000000000000000000000') +10961:M 13 Jan 2025 02:06:51.924 * Delay next BGSAVE for diskless SYNC +10961:M 13 Jan 2025 02:06:52.145 * Starting BGSAVE for SYNC with target: replicas sockets +10961:M 13 Jan 2025 02:06:52.173 * Background RDB transfer started by pid 17297 +17297:C 13 Jan 2025 02:06:52.218 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:06:53.843 - Reading from client: Connection reset by peer +10961:M 13 Jan 2025 02:06:53.843 * Connection with replica client id #7 lost. +10961:M 13 Jan 2025 02:06:54.327 - DB 9: 20002 keys (0 volatile) in 32768 slots HT. +17297:C 13 Jan 2025 02:06:56.836 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +17297:C 13 Jan 2025 02:06:59.363 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:07:00.043 - DB 9: 20002 keys (0 volatile) in 32768 slots HT. +17297:C 13 Jan 2025 02:07:00.738 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +17297:C 13 Jan 2025 02:07:02.087 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +17297:C 13 Jan 2025 02:07:03.588 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:07:05.391 - DB 9: 20002 keys (0 volatile) in 32768 slots HT. +17297:C 13 Jan 2025 02:07:05.546 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +17297:C 13 Jan 2025 02:07:06.998 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +17297:C 13 Jan 2025 02:07:08.358 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +17297:C 13 Jan 2025 02:07:08.679 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:07:08.680 * Diskless rdb transfer, done reading from pipe, 1 replicas still up. +10961:M 13 Jan 2025 02:07:08.769 * Background RDB transfer terminated with success +10961:M 13 Jan 2025 02:07:08.769 * Streamed RDB transfer with replica 127.0.0.1:21361 succeeded (socket). Waiting for REPLCONF ACK from replica to enable streaming +10961:M 13 Jan 2025 02:07:08.769 * Synchronization with replica 127.0.0.1:21361 succeeded +10961:M 13 Jan 2025 02:07:12.341 - DB 9: 20002 keys (0 volatile) in 32768 slots HT. +10961:M 13 Jan 2025 02:07:14.237 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +10961:M 13 Jan 2025 02:07:14.237 * Connection with replica client id #8 lost. +### Starting test diskless fast replicas drop during rdb pipe in tests/integration/replication.tcl +10961:M 13 Jan 2025 02:07:15.002 - Accepted 127.0.0.1:50946 +10961:M 13 Jan 2025 02:07:15.026 - Accepted 127.0.0.1:50958 +10961:M 13 Jan 2025 02:07:15.090 * Replica 127.0.0.1:21363 asks for synchronization +10961:M 13 Jan 2025 02:07:15.090 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for '250b728f841bf605aab30c07b299278a6f7b2917', my replication IDs are '4f8ba985123d641f2f26bb8452ae270a01ccf917' and '0000000000000000000000000000000000000000') +10961:M 13 Jan 2025 02:07:15.090 * Delay next BGSAVE for diskless SYNC +10961:M 13 Jan 2025 02:07:15.107 * Replica 127.0.0.1:21365 asks for synchronization +10961:M 13 Jan 2025 02:07:15.107 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for 'ddd3fb01f2d9734cf2e66e14534741aa660eb2f6', my replication IDs are '4f8ba985123d641f2f26bb8452ae270a01ccf917' and '0000000000000000000000000000000000000000') +10961:M 13 Jan 2025 02:07:15.107 * Delay next BGSAVE for diskless SYNC +10961:M 13 Jan 2025 02:07:15.453 * Starting BGSAVE for SYNC with target: replicas sockets +10961:M 13 Jan 2025 02:07:15.479 * Background RDB transfer started by pid 19840 +19840:C 13 Jan 2025 02:07:15.511 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:07:16.323 # Diskless rdb transfer, write error sending DB to replica: Connection reset by peer +10961:M 13 Jan 2025 02:07:16.323 * Connection with replica client id #10 lost. +10961:M 13 Jan 2025 02:07:17.885 - DB 9: 20003 keys (0 volatile) in 32768 slots HT. +19840:C 13 Jan 2025 02:07:20.783 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:07:23.249 - DB 9: 20003 keys (0 volatile) in 32768 slots HT. +19840:C 13 Jan 2025 02:07:24.862 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:07:28.525 - DB 9: 20003 keys (0 volatile) in 32768 slots HT. +19840:C 13 Jan 2025 02:07:29.218 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +19840:C 13 Jan 2025 02:07:31.291 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:07:33.813 - DB 9: 20003 keys (0 volatile) in 32768 slots HT. +19840:C 13 Jan 2025 02:07:34.191 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +19840:C 13 Jan 2025 02:07:36.359 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +19840:C 13 Jan 2025 02:07:38.749 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:07:39.392 - DB 9: 20003 keys (0 volatile) in 32768 slots HT. +19840:C 13 Jan 2025 02:07:41.840 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +19840:C 13 Jan 2025 02:07:44.348 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:07:44.629 - DB 9: 20003 keys (0 volatile) in 32768 slots HT. +19840:C 13 Jan 2025 02:07:47.271 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +19840:C 13 Jan 2025 02:07:49.340 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:07:49.900 - DB 9: 20003 keys (0 volatile) in 32768 slots HT. +19840:C 13 Jan 2025 02:07:50.740 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +19840:C 13 Jan 2025 02:07:52.799 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +19840:C 13 Jan 2025 02:07:54.494 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:07:55.469 - DB 9: 20003 keys (0 volatile) in 32768 slots HT. +19840:C 13 Jan 2025 02:07:56.617 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +19840:C 13 Jan 2025 02:07:58.905 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:08:00.681 - DB 9: 20003 keys (0 volatile) in 32768 slots HT. +19840:C 13 Jan 2025 02:08:01.593 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +19840:C 13 Jan 2025 02:08:03.917 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +19840:C 13 Jan 2025 02:08:05.539 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:08:05.546 * Diskless rdb transfer, done reading from pipe, 1 replicas still up. +10961:M 13 Jan 2025 02:08:05.659 * Background RDB transfer terminated with success +10961:M 13 Jan 2025 02:08:05.666 * Streamed RDB transfer with replica 127.0.0.1:21363 succeeded (socket). Waiting for REPLCONF ACK from replica to enable streaming +10961:M 13 Jan 2025 02:08:05.666 * Synchronization with replica 127.0.0.1:21363 succeeded +10961:M 13 Jan 2025 02:08:06.006 - DB 9: 20003 keys (0 volatile) in 32768 slots HT. +10961:M 13 Jan 2025 02:08:09.639 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +10961:M 13 Jan 2025 02:08:09.639 * Connection with replica client id #9 lost. +### Starting test diskless all replicas drop during rdb pipe in tests/integration/replication.tcl +10961:M 13 Jan 2025 02:08:10.192 - Accepted 127.0.0.1:33598 +10961:M 13 Jan 2025 02:08:10.206 - Accepted 127.0.0.1:33612 +10961:M 13 Jan 2025 02:08:10.236 * Replica 127.0.0.1:21367 asks for synchronization +10961:M 13 Jan 2025 02:08:10.236 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for '23ce831a5cc983d15d5bae34e3228e91cdb5de56', my replication IDs are '4f8ba985123d641f2f26bb8452ae270a01ccf917' and '0000000000000000000000000000000000000000') +10961:M 13 Jan 2025 02:08:10.236 * Delay next BGSAVE for diskless SYNC +10961:M 13 Jan 2025 02:08:10.253 * Replica 127.0.0.1:21369 asks for synchronization +10961:M 13 Jan 2025 02:08:10.253 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for 'b3bbbb7fcfd470c15c88d95ddb7237f21483d2b5', my replication IDs are '4f8ba985123d641f2f26bb8452ae270a01ccf917' and '0000000000000000000000000000000000000000') +10961:M 13 Jan 2025 02:08:10.253 * Delay next BGSAVE for diskless SYNC +10961:M 13 Jan 2025 02:08:10.433 * Starting BGSAVE for SYNC with target: replicas sockets +10961:M 13 Jan 2025 02:08:10.446 * Background RDB transfer started by pid 27161 +27161:C 13 Jan 2025 02:08:10.459 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:08:11.125 # Diskless rdb transfer, write error sending DB to replica: Connection reset by peer +10961:M 13 Jan 2025 02:08:11.126 * Connection with replica client id #12 lost. +10961:M 13 Jan 2025 02:08:11.289 # Diskless rdb transfer, write error sending DB to replica: Connection reset by peer +10961:M 13 Jan 2025 02:08:11.289 * Connection with replica client id #11 lost. +10961:M 13 Jan 2025 02:08:11.289 # Diskless rdb transfer, last replica dropped, killing fork child. +27161:signal-handler (1736683691) Received SIGUSR1 in child, exiting now. +10961:M 13 Jan 2025 02:08:11.349 # Background transfer terminated by signal 10 +### Starting test diskless timeout replicas drop during rdb pipe in tests/integration/replication.tcl +10961:M 13 Jan 2025 02:08:12.072 - Accepted 127.0.0.1:33622 +10961:M 13 Jan 2025 02:08:12.095 - Accepted 127.0.0.1:33628 +10961:M 13 Jan 2025 02:08:12.148 * Replica 127.0.0.1:21371 asks for synchronization +10961:M 13 Jan 2025 02:08:12.148 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for 'fc9614c054f9718a91ad6d597a8eb1da26b3b66d', my replication IDs are '4f8ba985123d641f2f26bb8452ae270a01ccf917' and '0000000000000000000000000000000000000000') +10961:M 13 Jan 2025 02:08:12.148 * Delay next BGSAVE for diskless SYNC +10961:M 13 Jan 2025 02:08:12.158 * Replica 127.0.0.1:21373 asks for synchronization +10961:M 13 Jan 2025 02:08:12.158 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for '88a16656ae070cc26c53885c339ac98f0dc1ba77', my replication IDs are '4f8ba985123d641f2f26bb8452ae270a01ccf917' and '0000000000000000000000000000000000000000') +10961:M 13 Jan 2025 02:08:12.158 * Delay next BGSAVE for diskless SYNC +10961:M 13 Jan 2025 02:08:12.782 - DB 9: 20004 keys (0 volatile) in 32768 slots HT. +10961:M 13 Jan 2025 02:08:12.783 * Starting BGSAVE for SYNC with target: replicas sockets +10961:M 13 Jan 2025 02:08:12.804 * Background RDB transfer started by pid 27598 +27598:C 13 Jan 2025 02:08:12.836 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:08:17.547 # Disconnecting timedout replica (full sync): 127.0.0.1:21371 +10961:M 13 Jan 2025 02:08:17.547 * Connection with replica 127.0.0.1:21371 lost. +27598:C 13 Jan 2025 02:08:18.306 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:08:19.713 - DB 9: 20005 keys (0 volatile) in 32768 slots HT. +27598:C 13 Jan 2025 02:08:22.342 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:08:25.039 - DB 9: 20005 keys (0 volatile) in 32768 slots HT. +27598:C 13 Jan 2025 02:08:25.317 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +27598:C 13 Jan 2025 02:08:26.771 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +10961:M 13 Jan 2025 02:08:29.201 # Disconnecting timedout replica (full sync): 127.0.0.1:21373 +10961:M 13 Jan 2025 02:08:29.201 * Connection with replica 127.0.0.1:21373 lost. +10961:M 13 Jan 2025 02:08:29.201 # Diskless rdb transfer, last replica dropped, killing fork child. +27598:signal-handler (1736683709) Received SIGUSR1 in child, exiting now. +10961:M 13 Jan 2025 02:08:29.305 # Background transfer terminated by signal 10 +10961:M 13 Jan 2025 02:08:30.237 - DB 9: 20005 keys (0 volatile) in 32768 slots HT. +===== End of server log (pid 10961) ===== + + +===== Start of server stderr log (pid 10961) ===== + + +===== End of server stderr log (pid 10961) ===== + === (repl) Starting server 127.0.0.1:21375 ok === () Starting server 127.0.0.1:21377 ok -[ok]: diskless replication child being killed is collected (1775 ms) +[ok]: diskless replication child being killed is collected (2967 ms) === (repl) Starting server 127.0.0.1:21379 ok === () Starting server 127.0.0.1:21381 ok -[ok]: replication child dies when parent is killed - diskless: yes (1363 ms) +[ok]: replication child dies when parent is killed - diskless: yes (3314 ms) === (repl) Starting server 127.0.0.1:21383 ok === () Starting server 127.0.0.1:21385 ok -[ok]: replication child dies when parent is killed - diskless: no (1661 ms) +[ok]: replication child dies when parent is killed - diskless: no (4698 ms) === (repl) Starting server 127.0.0.1:21387 ok === () Starting server 127.0.0.1:21389 ok -[ok]: diskless replication read pipe cleanup (1033 ms) +[ok]: diskless replication read pipe cleanup (2223 ms) === (repl) Starting server 127.0.0.1:21391 ok === () Starting server 127.0.0.1:21393 ok === () Starting server 127.0.0.1:21395 ok -[ok]: replicaof right after disconnection (1975 ms) +[ok]: replicaof right after disconnection (12953 ms) === (repl) Starting server 127.0.0.1:21397 ok === () Starting server 127.0.0.1:21399 ok === () Starting server 127.0.0.1:21401 ok -[ok]: Kill rdb child process if its dumping RDB is not useful (1264 ms) +[ok]: Kill rdb child process if its dumping RDB is not useful (2121 ms) === (repl external:skip) Starting server 127.0.0.1:21403 ok === () Starting server 127.0.0.1:21405 ok === () Starting server 127.0.0.1:21407 ok === () Starting server 127.0.0.1:21409 ok -[ok]: Don't disconnect with replicas before loading transferred RDB when full sync (4 ms) -[ok]: Discard cache master before loading transferred RDB when full sync (112 ms) +[ok]: Don't disconnect with replicas before loading transferred RDB when full sync (7 ms) +[ok]: Discard cache master before loading transferred RDB when full sync (130 ms) === (repl) Starting server 127.0.0.1:21411 ok === () Starting server 127.0.0.1:21413 ok -[ok]: replica can handle EINTR if use diskless load (833 ms) +[ok]: replica can handle EINTR if use diskless load (1255 ms) === (repl external:skip) Starting server 127.0.0.1:21415 ok -SYNC _addReplyToBufferOrList: REDIS0012ú redis-ver7.3.2ú -redis-bitsÀ úctime‹ ƒgúused-memÂø úrepl-stream-dbÀúrepl-id(573f7a7888deedf74ea851b4baa3d87371221fa2ú repl-offsetÀúaof-baseÀÿ&þNöCe -[ok]: replica do not write the reply to the replication link - SYNC (_addReplyToBufferOrList) (66 ms) +SYNC _addReplyToBufferOrList: I/O error reading reply + +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - SYNC (_addReplyToBufferOrList) (289 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) (121 ms) +Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - SYNC (addReplyDeferredLen) (155 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) (86 ms) +Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - PSYNC (_addReplyToBufferOrList) (124 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) (134 ms) -[ok]: PSYNC with wrong offset should throw error (3 ms) +Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - PSYNC (addReplyDeferredLen) (191 ms) +[ok]: PSYNC with wrong offset should throw error (11 ms) === (repl external:skip) Starting server 127.0.0.1:21417 ok === () Starting server 127.0.0.1:21419 ok -[ok]: Test replication with lazy expire (116 ms) -[29/91 done]: integration/replication (197 seconds) +[ok]: Test replication with lazy expire (7402 ms) +[29/91 done]: integration/replication (419 seconds) Testing integration/replication-2 === (repl external:skip) Starting server 127.0.0.1:21421 ok === () Starting server 127.0.0.1:21423 ok -[ok]: First server should have role slave after SLAVEOF (111 ms) -[ok]: If min-slaves-to-write is honored, write is accepted (2 ms) +[ok]: First server should have role slave after SLAVEOF (613 ms) +[ok]: If min-slaves-to-write is honored, write is accepted (6 ms) [ok]: No write if min-slaves-to-write is < attached slaves (2 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 (2859 ms) -[ok]: min-slaves-to-write is ignored by slaves (2 ms) -[ok]: MASTER and SLAVE dataset should be identical after complex ops (17292 ms) -[30/91 done]: integration/replication-2 (22 seconds) +[ok]: If min-slaves-to-write is honored, write is accepted (again) (4 ms) +[ok]: No write if min-slaves-max-lag is > of the slave lag (3299 ms) +[ok]: min-slaves-to-write is ignored by slaves (8 ms) +[ok]: MASTER and SLAVE dataset should be identical after complex ops (44172 ms) +[30/91 done]: integration/replication-2 (49 seconds) Testing integration/replication-3 === (repl external:skip) Starting server 127.0.0.1:21425 ok === () Starting server 127.0.0.1:21427 ok -[ok]: First server should have role slave after SLAVEOF (104 ms) -[ok]: MASTER and SLAVE consistency with expire (8186 ms) -[ok]: Master can replicate command longer than client-query-buffer-limit on replica (125 ms) -[ok]: Slave is able to evict keys created in writable slaves (6006 ms) -[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 (106 ms) -[31/91 done]: integration/replication-3 (15 seconds) +[ok]: First server should have role slave after SLAVEOF (520 ms) +[ok]: MASTER and SLAVE consistency with expire (28846 ms) +[ok]: Master can replicate command longer than client-query-buffer-limit on replica (546 ms) +[ok]: Slave is able to evict keys created in writable slaves (6010 ms) +[ok]: Writable replica doesn't return expired keys (148 ms) +[ok]: PFCOUNT updates cache on readonly replica (31 ms) +[ok]: PFCOUNT doesn't use expired key on readonly replica (148 ms) +[31/91 done]: integration/replication-3 (38 seconds) Testing integration/replication-4 === (repl network external:skip singledb:skip) Starting server 127.0.0.1:21429 ok === () Starting server 127.0.0.1:21431 ok -[ok]: First server should have role slave after SLAVEOF (2 ms) -[ok]: Test replication with parallel clients writing in different DBs (5115 ms) +[ok]: First server should have role slave after SLAVEOF (8 ms) +[ok]: Test replication with parallel clients writing in different DBs (5114 ms) === (repl external:skip) Starting server 127.0.0.1:21433 ok === () Starting server 127.0.0.1:21435 ok -[ok]: First server should have role slave after SLAVEOF (102 ms) -[ok]: With min-slaves-to-write (1,3): master should be writable (2 ms) +[ok]: First server should have role slave after SLAVEOF (128 ms) +[ok]: With min-slaves-to-write (1,3): master should be writable (3 ms) [ok]: With min-slaves-to-write (2,3): master should not be writable (2 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 (2 ms) -[ok]: With min-slaves-to-write: master not writable with lagged slave (2666 ms) +[ok]: With min-slaves-to-write function without no-write flag (2 ms) +[ok]: With not enough good slaves, read in Lua script is still accepted (3 ms) +[ok]: With min-slaves-to-write: master not writable with lagged slave (2438 ms) === (repl external:skip) Starting server 127.0.0.1:21437 ok === () Starting server 127.0.0.1:21439 ok -[ok]: First server should have role slave after SLAVEOF (105 ms) +[ok]: First server should have role slave after SLAVEOF (115 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 (534 ms) +[ok]: Replication of an expired key does not delete the expired key (640 ms) === (repl external:skip) Starting server 127.0.0.1:21441 ok === () Starting server 127.0.0.1:21443 ok -[ok]: First server should have role slave after SLAVEOF (2 ms) -[ok]: Replication: commands with many arguments (issue #1221) (23330 ms) -[ok]: spopwithcount rewrite srem command (123 ms) -[ok]: Replication of SPOP command -- alsoPropagate() API (1203 ms) +[ok]: First server should have role slave after SLAVEOF (3 ms) +[ok]: Replication: commands with many arguments (issue #1221) (58136 ms) +[ok]: spopwithcount rewrite srem command (171 ms) +[ok]: Replication of SPOP command -- alsoPropagate() API (1707 ms) === (repl external:skip) Starting server 127.0.0.1:21445 ok === () Starting server 127.0.0.1:21447 ok -[ok]: First server should have role slave after SLAVEOF (104 ms) -[ok]: Data divergence can happen under default conditions (6 ms) -[ok]: Data divergence is allowed on writable replicas (4 ms) -[32/91 done]: integration/replication-4 (36 seconds) +[ok]: First server should have role slave after SLAVEOF (112 ms) +[ok]: Data divergence can happen under default conditions (72 ms) +[ok]: Data divergence is allowed on writable replicas (36 ms) +[32/91 done]: integration/replication-4 (75 seconds) Testing integration/replication-psync === (repl) Starting server 127.0.0.1:21449 ok === () Starting server 127.0.0.1:21451 ok -[ok]: Slave should be able to synchronize with the master (111 ms) -[ok]: Detect write load to master (1005 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, disabled, reconnect: 0) (31 ms) +[ok]: Slave should be able to synchronize with the master (254 ms) +[ok]: Detect write load to master (3025 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, disabled, reconnect: 0) (91 ms) === (repl) Starting server 127.0.0.1:21453 ok === () Starting server 127.0.0.1:21455 ok -[ok]: Slave should be able to synchronize with the master (104 ms) -[ok]: Detect write load to master (1005 ms) -[ok]: Test replication partial resync: ok psync (diskless: no, disabled, reconnect: 1) (6217 ms) +[ok]: Slave should be able to synchronize with the master (168 ms) +[ok]: Detect write load to master (1007 ms) +[ok]: Test replication partial resync: ok psync (diskless: no, disabled, reconnect: 1) (6309 ms) === (repl) Starting server 127.0.0.1:21457 ok === () Starting server 127.0.0.1:21459 ok -[ok]: Slave should be able to synchronize with the master (110 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: no backlog (diskless: no, disabled, reconnect: 1) (7751 ms) +[ok]: Slave should be able to synchronize with the master (236 ms) +[ok]: Detect write load to master (1006 ms) +[ok]: Test replication partial resync: no backlog (diskless: no, disabled, reconnect: 1) (7758 ms) === (repl) Starting server 127.0.0.1:21461 ok === () Starting server 127.0.0.1:21463 ok -[ok]: Slave should be able to synchronize with the master (106 ms) -[ok]: Detect write load to master (1006 ms) -[ok]: Test replication partial resync: ok after delay (diskless: no, disabled, reconnect: 1) (9270 ms) +[ok]: Slave should be able to synchronize with the master (144 ms) +[ok]: Detect write load to master (3034 ms) +[ok]: Test replication partial resync: ok after delay (diskless: no, disabled, reconnect: 1) (9258 ms) === (repl) Starting server 127.0.0.1:21465 ok === () Starting server 127.0.0.1:21467 ok -[ok]: Slave should be able to synchronize with the master (105 ms) -[ok]: Detect write load to master (1007 ms) -[ok]: Test replication partial resync: backlog expired (diskless: no, disabled, reconnect: 1) (9257 ms) +[ok]: Slave should be able to synchronize with the master (214 ms) +[ok]: Detect write load to master (3025 ms) +[ok]: Test replication partial resync: backlog expired (diskless: no, disabled, reconnect: 1) (9209 ms) === (repl) Starting server 127.0.0.1:21469 ok === () Starting server 127.0.0.1:21471 ok -[ok]: Slave should be able to synchronize with the master (104 ms) -[ok]: Detect write load to master (1005 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, swapdb, reconnect: 0) (29 ms) +[ok]: Slave should be able to synchronize with the master (316 ms) +[ok]: Detect write load to master (1004 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, swapdb, reconnect: 0) (47 ms) === (repl) Starting server 127.0.0.1:21473 ok === () Starting server 127.0.0.1:21475 ok -[ok]: Slave should be able to synchronize with the master (105 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: ok psync (diskless: no, swapdb, reconnect: 1) (6201 ms) +[ok]: Slave should be able to synchronize with the master (243 ms) +[ok]: Detect write load to master (2020 ms) +[ok]: Test replication partial resync: ok psync (diskless: no, swapdb, reconnect: 1) (6287 ms) === (repl) Starting server 127.0.0.1:21477 ok === () Starting server 127.0.0.1:21479 ok -[ok]: Slave should be able to synchronize with the master (104 ms) -[ok]: Detect write load to master (1003 ms) -[ok]: Test replication partial resync: no backlog (diskless: no, swapdb, reconnect: 1) (7714 ms) +[ok]: Slave should be able to synchronize with the master (210 ms) +[ok]: Detect write load to master (2014 ms) +[ok]: Test replication partial resync: no backlog (diskless: no, swapdb, reconnect: 1) (7735 ms) === (repl) Starting server 127.0.0.1:21481 ok === () Starting server 127.0.0.1:21483 ok -[ok]: Slave should be able to synchronize with the master (240 ms) -[ok]: Detect write load to master (1006 ms) -[ok]: Test replication partial resync: ok after delay (diskless: no, swapdb, reconnect: 1) (9184 ms) +[ok]: Slave should be able to synchronize with the master (215 ms) +[ok]: Detect write load to master (1007 ms) +[ok]: Test replication partial resync: ok after delay (diskless: no, swapdb, reconnect: 1) (9246 ms) === (repl) Starting server 127.0.0.1:21485 ok === () Starting server 127.0.0.1:21487 ok -[ok]: Slave should be able to synchronize with the master (252 ms) -[ok]: Detect write load to master (1005 ms) -[ok]: Test replication partial resync: backlog expired (diskless: no, swapdb, reconnect: 1) (9194 ms) +[ok]: Slave should be able to synchronize with the master (230 ms) +[ok]: Detect write load to master (1009 ms) +[ok]: Test replication partial resync: backlog expired (diskless: no, swapdb, reconnect: 1) (9218 ms) === (repl) Starting server 127.0.0.1:21489 ok === () Starting server 127.0.0.1:21491 ok -[ok]: Slave should be able to synchronize with the master (762 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, reconnect: 0) (23 ms) +[ok]: Slave should be able to synchronize with the master (1682 ms) +[ok]: Detect write load to master (2 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, reconnect: 0) (65 ms) === (repl) Starting server 127.0.0.1:21493 ok === () Starting server 127.0.0.1:21495 ok -[ok]: Slave should be able to synchronize with the master (1770 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: ok psync (diskless: yes, disabled, reconnect: 1) (6171 ms) +[ok]: Slave should be able to synchronize with the master (671 ms) +[ok]: Detect write load to master (1008 ms) +[ok]: Test replication partial resync: ok psync (diskless: yes, disabled, reconnect: 1) (6158 ms) === (repl) Starting server 127.0.0.1:21497 ok === () Starting server 127.0.0.1:21499 ok -[ok]: Slave should be able to synchronize with the master (722 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: no backlog (diskless: yes, disabled, reconnect: 1) (7689 ms) +[ok]: Slave should be able to synchronize with the master (685 ms) +[ok]: Detect write load to master (1002 ms) +[ok]: Test replication partial resync: no backlog (diskless: yes, disabled, reconnect: 1) (7693 ms) === (repl) Starting server 127.0.0.1:21501 ok === () Starting server 127.0.0.1:21503 ok -[ok]: Slave should be able to synchronize with the master (872 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: ok after delay (diskless: yes, disabled, reconnect: 1) (9174 ms) +[ok]: Slave should be able to synchronize with the master (681 ms) +[ok]: Detect write load to master (1007 ms) +[ok]: Test replication partial resync: ok after delay (diskless: yes, disabled, reconnect: 1) (9176 ms) === (repl) Starting server 127.0.0.1:21505 ok === () Starting server 127.0.0.1:21507 ok -[ok]: Slave should be able to synchronize with the master (1730 ms) +[ok]: Slave should be able to synchronize with the master (1699 ms) [ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: backlog expired (diskless: yes, disabled, reconnect: 1) (10339 ms) +[ok]: Test replication partial resync: backlog expired (diskless: yes, disabled, reconnect: 1) (10297 ms) === (repl) Starting server 127.0.0.1:21509 ok === () Starting server 127.0.0.1:21511 ok -[ok]: Slave should be able to synchronize with the master (777 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, reconnect: 0) (18 ms) +[ok]: Slave should be able to synchronize with the master (668 ms) +[ok]: Detect write load to master (2 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, reconnect: 0) (225 ms) === (repl) Starting server 127.0.0.1:21513 ok === () Starting server 127.0.0.1:21515 ok -[ok]: Slave should be able to synchronize with the master (1758 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: ok psync (diskless: yes, swapdb, reconnect: 1) (6177 ms) +[ok]: Slave should be able to synchronize with the master (1693 ms) +[ok]: Detect write load to master (0 ms) +[ok]: Test replication partial resync: ok psync (diskless: yes, swapdb, reconnect: 1) (6169 ms) === (repl) Starting server 127.0.0.1:21517 ok === () Starting server 127.0.0.1:21519 ok -[ok]: Slave should be able to synchronize with the master (746 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: no backlog (diskless: yes, swapdb, reconnect: 1) (7688 ms) +[ok]: Slave should be able to synchronize with the master (676 ms) +[ok]: Detect write load to master (1007 ms) +[ok]: Test replication partial resync: no backlog (diskless: yes, swapdb, reconnect: 1) (7692 ms) === (repl) Starting server 127.0.0.1:21521 ok === () Starting server 127.0.0.1:21523 ok -[ok]: Slave should be able to synchronize with the master (746 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: ok after delay (diskless: yes, swapdb, reconnect: 1) (9187 ms) +[ok]: Slave should be able to synchronize with the master (764 ms) +[ok]: Detect write load to master (1006 ms) +[ok]: Test replication partial resync: ok after delay (diskless: yes, swapdb, reconnect: 1) (9176 ms) === (repl) Starting server 127.0.0.1:21525 ok === () Starting server 127.0.0.1:21527 ok -[ok]: Slave should be able to synchronize with the master (747 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: backlog expired (diskless: yes, swapdb, reconnect: 1) (9290 ms) -[33/91 done]: integration/replication-psync (163 seconds) +[ok]: Slave should be able to synchronize with the master (1686 ms) +[ok]: Detect write load to master (2 ms) +[ok]: Test replication partial resync: backlog expired (diskless: yes, swapdb, reconnect: 1) (10294 ms) +[33/91 done]: integration/replication-psync (183 seconds) Testing integration/replication-buffer === (repl external:skip) Starting server 127.0.0.1:21529 ok === () Starting server 127.0.0.1:21531 ok === () Starting server 127.0.0.1:21533 ok === () Starting server 127.0.0.1:21535 ok -[ok]: All replicas share one global replication buffer (153 ms) -[ok]: Replication buffer will become smaller when no replica uses (7 ms) +[ok]: All replicas share one global replication buffer (293 ms) +[ok]: Replication buffer will become smaller when no replica uses (10 ms) === (repl external:skip) Starting server 127.0.0.1:21537 ok === () Starting server 127.0.0.1:21539 ok === () Starting server 127.0.0.1:21541 ok -[ok]: Replication backlog size can outgrow the backlog limit config (4718 ms) -[ok]: Replica could use replication buffer (beyond backlog config) for partial resynchronization (5539 ms) -[ok]: Replication backlog memory will become smaller if disconnecting with replica (383 ms) +[ok]: Replication backlog size can outgrow the backlog limit config (11637 ms) +[ok]: Replica could use replication buffer (beyond backlog config) for partial resynchronization (12633 ms) +[ok]: Replication backlog memory will become smaller if disconnecting with replica (298 ms) === (repl external:skip) Starting server 127.0.0.1:21543 ok === () Starting server 127.0.0.1:21545 ok -[ok]: Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size (5206 ms) +[ok]: Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size (8459 ms) === (repl external:skip) Starting server 127.0.0.1:21547 ok === () Starting server 127.0.0.1:21549 ok -[ok]: The update of replBufBlock's repl_offset is ok - Regression test for #11666 (25 ms) -[ok]: Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending (1158 ms) -[34/91 done]: integration/replication-buffer (21 seconds) +[ok]: The update of replBufBlock's repl_offset is ok - Regression test for #11666 (37 ms) +[ok]: Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending (1273 ms) +[34/91 done]: integration/replication-buffer (39 seconds) Testing integration/shutdown === () Starting server 127.0.0.1:21551 ok === () Starting server 127.0.0.1:21553 ok -[ok]: Shutting down master waits for replica to catch up (sigterm) (2607 ms) +[ok]: Shutting down master waits for replica to catch up (sigterm) (3236 ms) === () Starting server 127.0.0.1:21555 ok === () Starting server 127.0.0.1:21557 ok -[ok]: Shutting down master waits for replica to catch up (shutdown) (2528 ms) +[ok]: Shutting down master waits for replica to catch up (shutdown) (3151 ms) === () Starting server 127.0.0.1:21559 ok === () Starting server 127.0.0.1:21561 ok -[ok]: Shutting down master waits for replica timeout (2609 ms) +[ok]: Shutting down master waits for replica timeout (3113 ms) === () Starting server 127.0.0.1:21563 ok === () Starting server 127.0.0.1:21565 ok -[ok]: Shutting down master waits for replica then fails (1351 ms) +[ok]: Shutting down master waits for replica then fails (1425 ms) === () Starting server 127.0.0.1:21567 ok === () Starting server 127.0.0.1:21569 ok -[ok]: Shutting down master waits for replica then aborted (755 ms) -[35/91 done]: integration/shutdown (10 seconds) +[ok]: Shutting down master waits for replica then aborted (760 ms) +[35/91 done]: integration/shutdown (12 seconds) Testing integration/aof === () Starting server 127.0.0.1:21571 ok [ok]: Unfinished MULTI: Server should start if load-truncated is yes (2 ms) === () Starting server 127.0.0.1:21573 ok [ok]: Short read: Server should start if load-truncated is yes (2 ms) -[ok]: Truncated AOF loaded: we expect foo to be equal to 5 (23 ms) +[ok]: Truncated AOF loaded: we expect foo to be equal to 5 (33 ms) [ok]: Append a new command after loading an incomplete AOF (1 ms) === () Starting server 127.0.0.1:21575 ok [ok]: Short read + command: Server should start (2 ms) -[ok]: Truncated AOF loaded: we expect foo to be equal to 6 now (23 ms) +[ok]: Truncated AOF loaded: we expect foo to be equal to 6 now (32 ms) === () Starting server 127.0.0.1:21577 -[ok]: Bad format: Server should have logged an error (2 ms) +[ok]: Bad format: Server should have logged an error (3 ms) === () Starting server 127.0.0.1:21579 -[ok]: Unfinished MULTI: Server should have logged an error (2 ms) +[ok]: Unfinished MULTI: Server should have logged an error (3 ms) === () Starting server 127.0.0.1:21581 [ok]: Short read: Server should have logged an error (2 ms) -[ok]: Short read: Utility should confirm the AOF is not valid (18 ms) -[ok]: Short read: Utility should show the abnormal line num in AOF (18 ms) -[ok]: Short read: Utility should be able to fix the AOF (18 ms) +[ok]: Short read: Utility should confirm the AOF is not valid (26 ms) +[ok]: Short read: Utility should show the abnormal line num in AOF (25 ms) +[ok]: Short read: Utility should be able to fix the AOF (24 ms) === () Starting server 127.0.0.1:21583 ok -[ok]: Fixed AOF: Server should have been started (1 ms) -[ok]: Fixed AOF: Keyspace should contain values that were parseable (23 ms) +[ok]: Fixed AOF: Server should have been started (2 ms) +[ok]: Fixed AOF: Keyspace should contain values that were parseable (32 ms) === () Starting server 127.0.0.1:21585 ok -[ok]: AOF+SPOP: Server should have been started (1 ms) -[ok]: AOF+SPOP: Set should have 1 member (23 ms) +[ok]: AOF+SPOP: Server should have been started (2 ms) +[ok]: AOF+SPOP: Set should have 1 member (32 ms) === () Starting server 127.0.0.1:21587 ok -[ok]: AOF+SPOP: Server should have been started (1 ms) -[ok]: AOF+SPOP: Set should have 1 member (23 ms) +[ok]: AOF+SPOP: Server should have been started (2 ms) +[ok]: AOF+SPOP: Set should have 1 member (32 ms) === () Starting server 127.0.0.1:21589 ok -[ok]: AOF+EXPIRE: Server should have been started (1 ms) -[ok]: AOF+EXPIRE: List should be empty (23 ms) +[ok]: AOF+EXPIRE: Server should have been started (2 ms) +[ok]: AOF+EXPIRE: List should be empty (32 ms) === () Starting server 127.0.0.1:21591 ok [ok]: Redict should not try to convert DEL into EXPIREAT for EXPIRE -1 (1 ms) === () Starting server 127.0.0.1:21593 ok -[ok]: AOF fsync always barrier issue (7042 ms) +[ok]: AOF fsync always barrier issue (10385 ms) === () Starting server 127.0.0.1:21595 ok [ok]: GETEX should not append to AOF (2 ms) === () Starting server 127.0.0.1:21597 -[ok]: Unknown command: Server should have logged an error (3 ms) +[ok]: Unknown command: Server should have logged an error (2 ms) === () Starting server 127.0.0.1:21599 ok -[ok]: AOF+LMPOP/BLMPOP: pop elements from the list (145 ms) +[ok]: AOF+LMPOP/BLMPOP: pop elements from the list (165 ms) === () Starting server 127.0.0.1:21601 ok -[ok]: AOF+LMPOP/BLMPOP: after pop elements from the list (22 ms) +[ok]: AOF+LMPOP/BLMPOP: after pop elements from the list (32 ms) === () Starting server 127.0.0.1:21603 ok -[ok]: AOF+ZMPOP/BZMPOP: pop elements from the zset (148 ms) +[ok]: AOF+ZMPOP/BZMPOP: pop elements from the zset (164 ms) === () Starting server 127.0.0.1:21605 ok -[ok]: AOF+ZMPOP/BZMPOP: after pop elements from the zset (23 ms) +[ok]: AOF+ZMPOP/BZMPOP: after pop elements from the zset (32 ms) === () Starting server 127.0.0.1:21607 ok -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Generate timestamp annotations in AOF (381 ms) +Waiting for background AOF rewrite to finish... [ok]: Generate timestamp annotations in AOF (392 ms) === () Starting server 127.0.0.1:21609 ok -[ok]: Successfully load AOF which has timestamp annotations inside (23 ms) +[ok]: Successfully load AOF which has timestamp annotations inside (33 ms) === () Starting server 127.0.0.1:21611 ok === () Starting server 127.0.0.1:21613 ok === () Starting server 127.0.0.1:21615 ok -[ok]: Truncate AOF to specific timestamp (843 ms) +[ok]: Truncate AOF to specific timestamp (891 ms) === () Starting server 127.0.0.1:21617 ok -[ok]: EVAL timeout with slow verbatim Lua script from AOF (3020 ms) +[ok]: EVAL timeout with slow verbatim Lua script from AOF (3907 ms) === () Starting server 127.0.0.1:21619 ok -[ok]: EVAL can process writes from AOF in read-only replicas (257 ms) -[ok]: Test redict-check-aof for old style resp AOF (18 ms) -[ok]: Test redict-check-aof for old style resp AOF - has data in the same format as manifest (17 ms) -[ok]: Test redict-check-aof for old style rdb-preamble AOF (18 ms) -[ok]: Test redict-check-aof for Multi Part AOF with resp AOF base (18 ms) -[ok]: Test redict-check-aof for Multi Part AOF with rdb-preamble AOF base (21 ms) -[ok]: Test redict-check-aof for Multi Part AOF contains a format error (17 ms) -[ok]: Test redict-check-aof only truncates the last file for Multi Part AOF in fix mode (35 ms) -[ok]: Test redict-check-aof only truncates the last file for Multi Part AOF in truncate-to-timestamp mode (17 ms) +[ok]: EVAL can process writes from AOF in read-only replicas (275 ms) +[ok]: Test redict-check-aof for old style resp AOF (25 ms) +[ok]: Test redict-check-aof for old style resp AOF - has data in the same format as manifest (25 ms) +[ok]: Test redict-check-aof for old style rdb-preamble AOF (26 ms) +[ok]: Test redict-check-aof for Multi Part AOF with resp AOF base (26 ms) +[ok]: Test redict-check-aof for Multi Part AOF with rdb-preamble AOF base (31 ms) +[ok]: Test redict-check-aof for Multi Part AOF contains a format error (25 ms) +[ok]: Test redict-check-aof only truncates the last file for Multi Part AOF in fix mode (51 ms) +[ok]: Test redict-check-aof only truncates the last file for Multi Part AOF in truncate-to-timestamp mode (27 ms) === () Starting server 127.0.0.1:21621 ok -[ok]: FLUSHDB / FLUSHALL should persist in AOF (55 ms) -[36/91 done]: integration/aof (16 seconds) +[ok]: FLUSHDB / FLUSHALL should persist in AOF (57 ms) +[36/91 done]: integration/aof (21 seconds) Testing integration/aof-race === () Starting server 127.0.0.1:21623 ok === () Starting server 127.0.0.1:21625 ok [37/91 done]: integration/aof-race (1 seconds) Testing integration/aof-multi-part === () Starting server 127.0.0.1:21627 -[ok]: Multi Part AOF can't load data when some file missing (124 ms) +[ok]: Multi Part AOF can't load data when some file missing (128 ms) === () Starting server 127.0.0.1:21629 -[ok]: Multi Part AOF can't load data when the sequence not increase monotonically (124 ms) +[ok]: Multi Part AOF can't load data when the sequence not increase monotonically (127 ms) === () Starting server 127.0.0.1:21631 -[ok]: Multi Part AOF can't load data when there are blank lines in the manifest file (124 ms) +[ok]: Multi Part AOF can't load data when there are blank lines in the manifest file (129 ms) === () Starting server 127.0.0.1:21633 -[ok]: Multi Part AOF can't load data when there is a duplicate base file (124 ms) +[ok]: Multi Part AOF can't load data when there is a duplicate base file (128 ms) === () Starting server 127.0.0.1:21635 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (type unknown) (124 ms) +[ok]: Multi Part AOF can't load data when the manifest format is wrong (type unknown) (128 ms) === () Starting server 127.0.0.1:21637 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (missing key) (124 ms) +[ok]: Multi Part AOF can't load data when the manifest format is wrong (missing key) (128 ms) === () Starting server 127.0.0.1:21639 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (line too short) (125 ms) +[ok]: Multi Part AOF can't load data when the manifest format is wrong (line too short) (128 ms) === () Starting server 127.0.0.1:21641 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (line too long) (125 ms) +[ok]: Multi Part AOF can't load data when the manifest format is wrong (line too long) (128 ms) === () Starting server 127.0.0.1:21643 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (odd parameter) (125 ms) +[ok]: Multi Part AOF can't load data when the manifest format is wrong (odd parameter) (128 ms) === () Starting server 127.0.0.1:21645 -[ok]: Multi Part AOF can't load data when the manifest file is empty (125 ms) +[ok]: Multi Part AOF can't load data when the manifest file is empty (128 ms) === () Starting server 127.0.0.1:21647 ok -[ok]: Multi Part AOF can start when no aof and no manifest (269 ms) +[ok]: Multi Part AOF can start when no aof and no manifest (279 ms) === () Starting server 127.0.0.1:21649 ok -[ok]: Multi Part AOF can start when we have en empty AOF dir (254 ms) +[ok]: Multi Part AOF can start when we have en empty AOF dir (266 ms) === () Starting server 127.0.0.1:21651 ok -[ok]: Multi Part AOF can load data discontinuously increasing sequence (259 ms) +[ok]: Multi Part AOF can load data discontinuously increasing sequence (267 ms) === () Starting server 127.0.0.1:21653 ok -[ok]: Multi Part AOF can load data when manifest add new k-v (258 ms) +[ok]: Multi Part AOF can load data when manifest add new k-v (266 ms) === () Starting server 127.0.0.1:21655 ok -[ok]: Multi Part AOF can load data when some AOFs are empty (259 ms) +[ok]: Multi Part AOF can load data when some AOFs are empty (266 ms) === () Starting server 127.0.0.1:21657 ok -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can load data from old version redict (rdb preamble no) (381 ms) +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can load data from old version redict (rdb preamble no) (405 ms) === () Starting server 127.0.0.1:21659 ok -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can load data from old version redict (rdb preamble yes) (385 ms) +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can load data from old version redict (rdb preamble yes) (397 ms) === () Starting server 127.0.0.1:21661 ok -[ok]: Multi Part AOF can continue the upgrade from the interrupted upgrade state (269 ms) +[ok]: Multi Part AOF can continue the upgrade from the interrupted upgrade state (278 ms) === () Starting server 127.0.0.1:21663 ok -[ok]: Multi Part AOF can be loaded correctly when both server dir and aof dir contain old AOF (261 ms) +[ok]: Multi Part AOF can be loaded correctly when both server dir and aof dir contain old AOF (270 ms) === () Starting server 127.0.0.1:21665 -[ok]: Multi Part AOF can't load data when the manifest contains the old AOF file name but the file does not exist in server dir and aof dir (127 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 (130 ms) === () Starting server 127.0.0.1:21667 ok === () Starting server 127.0.0.1:21669 ok -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can upgrade when when two redict share the same server dir (redict1) (139 ms) +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can upgrade when when two redict share the same server dir (redict1) (100 ms) -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can upgrade when when two redict share the same server dir (redict2) (153 ms) -[ok]: Multi Part AOF can upgrade when when two redict share the same server dir (886 ms) +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can upgrade when when two redict share the same server dir (redict2) (100 ms) +[ok]: Multi Part AOF can upgrade when when two redict share the same server dir (807 ms) === () Starting server 127.0.0.1:21671 ok -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can handle appendfilename contains whitespaces (377 ms) +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can handle appendfilename contains whitespaces (391 ms) === () Starting server 127.0.0.1:21673 ok -[ok]: Multi Part AOF can create BASE (RDB format) when redict starts from empty (260 ms) +[ok]: Multi Part AOF can create BASE (RDB format) when redict starts from empty (281 ms) === () Starting server 127.0.0.1:21675 ok -[ok]: Multi Part AOF can create BASE (AOF format) when redict starts from empty (258 ms) +[ok]: Multi Part AOF can create BASE (AOF format) when redict starts from empty (283 ms) === (Multi Part AOF) Starting server 127.0.0.1:21677 ok [ok]: Make sure aof manifest appendonly.aof.manifest not in aof directory (0 ms) Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF enable will create manifest file (417 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF enable will create manifest file (345 ms) Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF multiple rewrite failures will open multiple INCR AOFs (835 ms) - -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 (1066 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 (371 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite doesn't open new aof when AOF turn off (318 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 (232 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF enable/disable auto gc (245 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF can produce consecutive sequence number after reload (74 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF can produce consecutive sequence number after reload (93 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 (324 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF enable during BGSAVE will not write data util AOFRW finish (346 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 will trigger limit when AOFRW fails many times (641 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF will trigger limit when AOFRW fails many times (632 ms) === () Starting server 127.0.0.1:21679 ok Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF will open a temporary INCR AOF to accumulate data until the first AOFRW success when AOF is dynamically enabled (1939 ms) -[38/91 done]: integration/aof-multi-part (11 seconds) +Waiting for background AOF rewrite to finish... [ok]: AOF will open a temporary INCR AOF to accumulate data until the first AOFRW success when AOF is dynamically enabled (2003 ms) +[38/91 done]: integration/aof-multi-part (12 seconds) Testing integration/rdb === () Starting server 127.0.0.1:21681 ok -[ok]: test old version rdb file (1 ms) +[ok]: test old version rdb file (2 ms) === () Starting server 127.0.0.1:21683 ok -[ok]: RDB encoding loading test (15 ms) +[ok]: RDB encoding loading test (22 ms) === () Starting server 127.0.0.1:21685 ok [ok]: Server started empty with non-existing RDB file (1 ms) === () Starting server 127.0.0.1:21687 ok -[ok]: Server started empty with empty RDB file (1 ms) +[ok]: Server started empty with empty RDB file (0 ms) === () Starting server 127.0.0.1:21689 ok -[ok]: Test RDB stream encoding (234 ms) -[ok]: Test RDB stream encoding - sanitize dump (17 ms) +[ok]: Test RDB stream encoding (358 ms) +[ok]: Test RDB stream encoding - sanitize dump (21 ms) === () Starting server 127.0.0.1:21691 [ok]: Server should not start if RDB file can't be open (2 ms) === () Starting server 127.0.0.1:21693 [ok]: Server should not start if RDB is corrupted (2 ms) === () Starting server 127.0.0.1:21695 ok -[ok]: Test FLUSHALL aborts bgsave (813 ms) -[ok]: bgsave resets the change counter (107 ms) +[ok]: Test FLUSHALL aborts bgsave (1274 ms) +[ok]: bgsave resets the change counter (110 ms) === () Starting server 127.0.0.1:21697 ok -[ok]: client freed during loading (1773 ms) +[ok]: client freed during loading (2303 ms) === () Starting server 127.0.0.1:21699 ok -[ok]: Test RDB load info (857 ms) +[ok]: Test RDB load info (1180 ms) === () Starting server 127.0.0.1:21701 ok Keys before bgsave start: 10000 COW info before copy-on-write: 0 current_save_keys_processed info : 0 -COW info before copy-on-write: 602112 +COW info before copy-on-write: 593920 current_save_keys_processed info : 1 -[ok]: Test child sending info (2944 ms) +[ok]: Test child sending info (2925 ms) === () Starting server 127.0.0.1:21703 ok -[ok]: script won't load anymore if it's in rdb (1 ms) +[ok]: script won't load anymore if it's in rdb (0 ms) === () Starting server 127.0.0.1:21705 ok Waiting for background save to finish... Waiting for background save to finish... -Waiting for background save to finish... [ok]: failed bgsave prevents writes (369 ms) -[39/91 done]: integration/rdb (10 seconds) +Waiting for background save to finish... +Waiting for background save to finish... [ok]: failed bgsave prevents writes (488 ms) +[39/91 done]: integration/rdb (11 seconds) Testing integration/corrupt-dump === () Starting server 127.0.0.1:21707 ok -[ok]: corrupt payload: #7445 - with sanitize (248 ms) +[ok]: corrupt payload: #7445 - with sanitize (261 ms) === () Starting server 127.0.0.1:21709 ok -[ok]: corrupt payload: hash with valid zip list header, invalid entry len (255 ms) +[ok]: corrupt payload: hash with valid zip list header, invalid entry len (259 ms) === () Starting server 127.0.0.1:21711 ok -[ok]: corrupt payload: invalid zlbytes header (246 ms) +[ok]: corrupt payload: invalid zlbytes header (262 ms) === () Starting server 127.0.0.1:21713 ok -[ok]: corrupt payload: valid zipped hash header, dup records (246 ms) +[ok]: corrupt payload: valid zipped hash header, dup records (262 ms) === () Starting server 127.0.0.1:21715 ok -[ok]: corrupt payload: quicklist big ziplist prev len (247 ms) +[ok]: corrupt payload: quicklist big ziplist prev len (263 ms) === () Starting server 127.0.0.1:21717 ok -[ok]: corrupt payload: quicklist small ziplist prev len (246 ms) +[ok]: corrupt payload: quicklist small ziplist prev len (260 ms) === () Starting server 127.0.0.1:21719 ok -[ok]: corrupt payload: quicklist ziplist wrong count (248 ms) +[ok]: corrupt payload: quicklist ziplist wrong count (264 ms) === () Starting server 127.0.0.1:21721 ok -[ok]: corrupt payload: #3080 - quicklist (257 ms) +[ok]: corrupt payload: #3080 - quicklist (262 ms) === () Starting server 127.0.0.1:21723 ok -[ok]: corrupt payload: quicklist with empty ziplist (247 ms) +[ok]: corrupt payload: quicklist with empty ziplist (263 ms) === () Starting server 127.0.0.1:21725 ok -[ok]: corrupt payload: quicklist encoded_len is 0 (255 ms) +[ok]: corrupt payload: quicklist encoded_len is 0 (259 ms) === () Starting server 127.0.0.1:21727 ok -[ok]: corrupt payload: quicklist listpack entry start with EOF (256 ms) +[ok]: corrupt payload: quicklist listpack entry start with EOF (260 ms) === () Starting server 127.0.0.1:21729 ok -[ok]: corrupt payload: #3080 - ziplist (246 ms) +[ok]: corrupt payload: #3080 - ziplist (262 ms) === () Starting server 127.0.0.1:21731 -[ok]: corrupt payload: load corrupted rdb with no CRC - #3505 (126 ms) +[ok]: corrupt payload: load corrupted rdb with no CRC - #3505 (130 ms) === () Starting server 127.0.0.1:21733 ok -[ok]: corrupt payload: load corrupted rdb with empty keys (251 ms) +[ok]: corrupt payload: load corrupted rdb with empty keys (269 ms) === () Starting server 127.0.0.1:21735 ok -[ok]: corrupt payload: load corrupted rdb with empty keys (252 ms) +[ok]: corrupt payload: load corrupted rdb with empty keys (268 ms) === () Starting server 127.0.0.1:21737 ok -[ok]: corrupt payload: listpack invalid size header (247 ms) +[ok]: corrupt payload: listpack invalid size header (258 ms) === () Starting server 127.0.0.1:21739 ok -[ok]: corrupt payload: listpack too long entry len (190 ms) +[ok]: corrupt payload: listpack too long entry len (217 ms) === () Starting server 127.0.0.1:21741 ok -[ok]: corrupt payload: listpack very long entry len (190 ms) +[ok]: corrupt payload: listpack very long entry len (216 ms) === () Starting server 127.0.0.1:21743 ok -[ok]: corrupt payload: listpack too long entry prev len (255 ms) +[ok]: corrupt payload: listpack too long entry prev len (258 ms) === () Starting server 127.0.0.1:21745 ok -[ok]: corrupt payload: stream with duplicate consumers (255 ms) +[ok]: corrupt payload: stream with duplicate consumers (261 ms) === () Starting server 127.0.0.1:21747 ok -[ok]: corrupt payload: hash ziplist with duplicate records (256 ms) +[ok]: corrupt payload: hash ziplist with duplicate records (257 ms) === () Starting server 127.0.0.1:21749 ok -[ok]: corrupt payload: hash listpack with duplicate records (253 ms) +[ok]: corrupt payload: hash listpack with duplicate records (255 ms) === () Starting server 127.0.0.1:21751 ok -[ok]: corrupt payload: hash listpack with duplicate records - convert (190 ms) +[ok]: corrupt payload: hash listpack with duplicate records - convert (216 ms) === () Starting server 127.0.0.1:21753 ok -[ok]: corrupt payload: hash ziplist uneven record count (253 ms) +[ok]: corrupt payload: hash ziplist uneven record count (255 ms) === () Starting server 127.0.0.1:21755 ok -[ok]: corrupt payload: hash duplicate records (259 ms) +[ok]: corrupt payload: hash duplicate records (254 ms) === () Starting server 127.0.0.1:21757 ok -[ok]: corrupt payload: hash empty zipmap (246 ms) +[ok]: corrupt payload: hash empty zipmap (256 ms) === () Starting server 127.0.0.1:21759 ok -[ok]: corrupt payload: fuzzer findings - NPD in streamIteratorGetID (191 ms) +[ok]: corrupt payload: fuzzer findings - NPD in streamIteratorGetID (217 ms) === () Starting server 127.0.0.1:21761 ok -[ok]: corrupt payload: fuzzer findings - listpack NPD on invalid stream (189 ms) +[ok]: corrupt payload: fuzzer findings - listpack NPD on invalid stream (216 ms) === () Starting server 127.0.0.1:21763 ok -[ok]: corrupt payload: fuzzer findings - NPD in quicklistIndex (253 ms) +[ok]: corrupt payload: fuzzer findings - NPD in quicklistIndex (256 ms) === () Starting server 127.0.0.1:21765 ok -[ok]: corrupt payload: fuzzer findings - encoded entry header reach outside the allocation (254 ms) +[ok]: corrupt payload: fuzzer findings - encoded entry header reach outside the allocation (256 ms) === () Starting server 127.0.0.1:21767 ok -[ok]: corrupt payload: fuzzer findings - invalid ziplist encoding (248 ms) +[ok]: corrupt payload: fuzzer findings - invalid ziplist encoding (256 ms) === () Starting server 127.0.0.1:21769 ok [ok]: corrupt payload: fuzzer findings - hash crash (256 ms) === () Starting server 127.0.0.1:21771 ok -[ok]: corrupt payload: fuzzer findings - uneven entry count in hash (244 ms) +[ok]: corrupt payload: fuzzer findings - uneven entry count in hash (256 ms) === () Starting server 127.0.0.1:21773 ok -[ok]: corrupt payload: fuzzer findings - invalid read in lzf_decompress (253 ms) +[ok]: corrupt payload: fuzzer findings - invalid read in lzf_decompress (255 ms) === () Starting server 127.0.0.1:21775 ok -[ok]: corrupt payload: fuzzer findings - leak in rdbloading due to dup entry in set (256 ms) +[ok]: corrupt payload: fuzzer findings - leak in rdbloading due to dup entry in set (254 ms) === () Starting server 127.0.0.1:21777 ok -[ok]: corrupt payload: fuzzer findings - empty intset (255 ms) +[ok]: corrupt payload: fuzzer findings - empty intset (254 ms) === () Starting server 127.0.0.1:21779 ok -[ok]: corrupt payload: fuzzer findings - zset ziplist entry lensize is 0 (256 ms) +[ok]: corrupt payload: fuzzer findings - zset ziplist entry lensize is 0 (257 ms) === () Starting server 127.0.0.1:21781 ok -[ok]: corrupt payload: fuzzer findings - valgrind ziplist prevlen reaches outside the ziplist (245 ms) +[ok]: corrupt payload: fuzzer findings - valgrind ziplist prevlen reaches outside the ziplist (257 ms) === () Starting server 127.0.0.1:21783 ok [ok]: corrupt payload: fuzzer findings - valgrind - bad rdbLoadDoubleValue (256 ms) === () Starting server 127.0.0.1:21785 ok -[ok]: corrupt payload: fuzzer findings - valgrind ziplist prev too big (256 ms) +[ok]: corrupt payload: fuzzer findings - valgrind ziplist prev too big (262 ms) === () Starting server 127.0.0.1:21787 ok -[ok]: corrupt payload: fuzzer findings - lzf decompression fails, avoid valgrind invalid read (254 ms) +[ok]: corrupt payload: fuzzer findings - lzf decompression fails, avoid valgrind invalid read (257 ms) === () Starting server 127.0.0.1:21789 ok -[ok]: corrupt payload: fuzzer findings - stream bad lp_count (259 ms) +[ok]: corrupt payload: fuzzer findings - stream bad lp_count (256 ms) === () Starting server 127.0.0.1:21791 ok -[ok]: corrupt payload: fuzzer findings - stream bad lp_count - unsanitized (193 ms) +[ok]: corrupt payload: fuzzer findings - stream bad lp_count - unsanitized (216 ms) === () Starting server 127.0.0.1:21793 ok -[ok]: corrupt payload: fuzzer findings - stream integrity check issue (254 ms) +[ok]: corrupt payload: fuzzer findings - stream integrity check issue (255 ms) === () Starting server 127.0.0.1:21795 ok -[ok]: corrupt payload: fuzzer findings - infinite loop (191 ms) +[ok]: corrupt payload: fuzzer findings - infinite loop (215 ms) === () Starting server 127.0.0.1:21797 ok -[ok]: corrupt payload: fuzzer findings - hash ziplist too long entry len (255 ms) +[ok]: corrupt payload: fuzzer findings - hash ziplist too long entry len (257 ms) === () Starting server 127.0.0.1:21799 ok -[ok]: corrupt payload: OOM in rdbGenericLoadStringObject (253 ms) +[ok]: corrupt payload: fuzzer findings - zset ziplist invalid tail offset (257 ms) === () Starting server 127.0.0.1:21801 ok -[ok]: corrupt payload: fuzzer findings - OOM in dictExpand (250 ms) +[ok]: corrupt payload: fuzzer findings - negative reply length (217 ms) === () Starting server 127.0.0.1:21803 ok -[ok]: corrupt payload: fuzzer findings - zset ziplist invalid tail offset (243 ms) +[ok]: corrupt payload: fuzzer findings - valgrind negative malloc (256 ms) === () Starting server 127.0.0.1:21805 ok -[ok]: corrupt payload: fuzzer findings - negative reply length (191 ms) +[ok]: corrupt payload: fuzzer findings - valgrind invalid read (255 ms) === () Starting server 127.0.0.1:21807 ok -[ok]: corrupt payload: fuzzer findings - valgrind negative malloc (256 ms) +[ok]: corrupt payload: fuzzer findings - empty hash ziplist (255 ms) === () Starting server 127.0.0.1:21809 ok -[ok]: corrupt payload: fuzzer findings - valgrind invalid read (255 ms) +[ok]: corrupt payload: fuzzer findings - stream with no records (216 ms) === () Starting server 127.0.0.1:21811 ok -[ok]: corrupt payload: fuzzer findings - empty hash ziplist (255 ms) +[ok]: corrupt payload: fuzzer findings - quicklist ziplist tail followed by extra data which start with 0xff (256 ms) === () Starting server 127.0.0.1:21813 ok -[ok]: corrupt payload: fuzzer findings - stream with no records (192 ms) +[ok]: corrupt payload: fuzzer findings - dict init to huge size (253 ms) === () Starting server 127.0.0.1:21815 ok -[ok]: corrupt payload: fuzzer findings - quicklist ziplist tail followed by extra data which start with 0xff (244 ms) +[ok]: corrupt payload: fuzzer findings - huge string (261 ms) === () Starting server 127.0.0.1:21817 ok -[ok]: corrupt payload: fuzzer findings - dict init to huge size (256 ms) +[ok]: corrupt payload: fuzzer findings - stream PEL without consumer (362 ms) === () Starting server 127.0.0.1:21819 ok -[ok]: corrupt payload: fuzzer findings - huge string (253 ms) +[ok]: corrupt payload: fuzzer findings - stream listpack valgrind issue (215 ms) === () Starting server 127.0.0.1:21821 ok -[ok]: corrupt payload: fuzzer findings - stream PEL without consumer (254 ms) +[ok]: corrupt payload: fuzzer findings - stream with bad lpFirst (253 ms) === () Starting server 127.0.0.1:21823 ok -[ok]: corrupt payload: fuzzer findings - stream listpack valgrind issue (191 ms) +[ok]: corrupt payload: fuzzer findings - stream listpack lpPrev valgrind issue (213 ms) === () Starting server 127.0.0.1:21825 ok -[ok]: corrupt payload: fuzzer findings - stream with bad lpFirst (254 ms) +[ok]: corrupt payload: fuzzer findings - stream with non-integer entry id (259 ms) === () Starting server 127.0.0.1:21827 ok -[ok]: corrupt payload: fuzzer findings - stream listpack lpPrev valgrind issue (192 ms) +[ok]: corrupt payload: fuzzer findings - empty quicklist (253 ms) === () Starting server 127.0.0.1:21829 ok -[ok]: corrupt payload: fuzzer findings - stream with non-integer entry id (255 ms) +[ok]: corrupt payload: fuzzer findings - empty zset (254 ms) === () Starting server 127.0.0.1:21831 ok -[ok]: corrupt payload: fuzzer findings - empty quicklist (249 ms) +[ok]: corrupt payload: fuzzer findings - hash with len of 0 (253 ms) === () Starting server 127.0.0.1:21833 ok -[ok]: corrupt payload: fuzzer findings - empty zset (253 ms) +[ok]: corrupt payload: fuzzer findings - hash listpack first element too long entry len (255 ms) === () Starting server 127.0.0.1:21835 ok -[ok]: corrupt payload: fuzzer findings - hash with len of 0 (255 ms) +[ok]: corrupt payload: fuzzer findings - stream double free listpack when insert dup node to rax returns 0 (254 ms) === () Starting server 127.0.0.1:21837 ok -[ok]: corrupt payload: fuzzer findings - hash listpack first element too long entry len (244 ms) +[ok]: corrupt payload: fuzzer findings - LCS OOM (254 ms) === () Starting server 127.0.0.1:21839 ok -[ok]: corrupt payload: fuzzer findings - stream double free listpack when insert dup node to rax returns 0 (244 ms) +[ok]: corrupt payload: fuzzer findings - gcc asan reports false leak on assert (214 ms) === () Starting server 127.0.0.1:21841 ok -[ok]: corrupt payload: fuzzer findings - LCS OOM (256 ms) +[ok]: corrupt payload: fuzzer findings - lpFind invalid access (210 ms) === () Starting server 127.0.0.1:21843 ok -[ok]: corrupt payload: fuzzer findings - gcc asan reports false leak on assert (192 ms) +[ok]: corrupt payload: fuzzer findings - invalid access in ziplist tail prevlen decoding (253 ms) === () Starting server 127.0.0.1:21845 ok -[ok]: corrupt payload: fuzzer findings - lpFind invalid access (188 ms) +[ok]: corrupt payload: fuzzer findings - zset zslInsert with a NAN score (253 ms) === () Starting server 127.0.0.1:21847 ok -[ok]: corrupt payload: fuzzer findings - invalid access in ziplist tail prevlen decoding (255 ms) +[ok]: corrupt payload: fuzzer findings - streamLastValidID panic (253 ms) === () Starting server 127.0.0.1:21849 ok -[ok]: corrupt payload: fuzzer findings - zset zslInsert with a NAN score (244 ms) +[ok]: corrupt payload: fuzzer findings - valgrind fishy value warning (253 ms) === () Starting server 127.0.0.1:21851 ok -[ok]: corrupt payload: fuzzer findings - streamLastValidID panic (256 ms) +[ok]: corrupt payload: fuzzer findings - empty set listpack (252 ms) === () Starting server 127.0.0.1:21853 ok -[ok]: corrupt payload: fuzzer findings - valgrind fishy value warning (245 ms) -=== () Starting server 127.0.0.1:21855 ok -[ok]: corrupt payload: fuzzer findings - empty set listpack (255 ms) -=== () Starting server 127.0.0.1:21857 ok -[ok]: corrupt payload: fuzzer findings - set with duplicate elements causes sdiff to hang (247 ms) +[ok]: corrupt payload: fuzzer findings - set with duplicate elements causes sdiff to hang (256 ms) [40/91 done]: integration/corrupt-dump (19 seconds) Testing integration/corrupt-dump-fuzzer -=== () Starting server 127.0.0.1:21859 ok -Done 18 cycles in 10 seconds. -RESTORE: successful: 10, rejected: 8 -Total commands sent in traffic: 7760, crashes during traffic: 0 (0 by signal). -[ok]: Fuzzer corrupt restore payloads - sanitize_dump: no (10033 ms) -=== () Starting server 127.0.0.1:21861 ok -Done 16 cycles in 10 seconds. -RESTORE: successful: 10, rejected: 6 -Total commands sent in traffic: 7657, crashes during traffic: 0 (0 by signal). -[ok]: Fuzzer corrupt restore payloads - sanitize_dump: yes (9973 ms) +=== () Starting server 127.0.0.1:21855 ok +Done 15 cycles in 10 seconds. +RESTORE: successful: 11, rejected: 4 +Total commands sent in traffic: 5011, crashes during traffic: 1 (0 by signal). +[ok]: Fuzzer corrupt restore payloads - sanitize_dump: no (9722 ms) +=== () Starting server 127.0.0.1:21857 ok +Done 15 cycles in 10 seconds. +RESTORE: successful: 10, rejected: 5 +Total commands sent in traffic: 4518, crashes during traffic: 0 (0 by signal). +[ok]: Fuzzer corrupt restore payloads - sanitize_dump: yes (9971 ms) [41/91 done]: integration/corrupt-dump-fuzzer (20 seconds) Testing integration/convert-zipmap-hash-on-load +=== () Starting server 127.0.0.1:21859 ok +[ok]: RDB load zipmap hash: converts to listpack (3 ms) +=== () Starting server 127.0.0.1:21861 ok +[ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-entries is exceeded (2 ms) === () Starting server 127.0.0.1:21863 ok -[ok]: RDB load zipmap hash: converts to listpack (1 ms) -=== () Starting server 127.0.0.1:21865 ok -[ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-entries is exceeded (1 ms) -=== () Starting server 127.0.0.1:21867 ok [ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-value is exceeded (2 ms) [42/91 done]: integration/convert-zipmap-hash-on-load (0 seconds) Testing integration/convert-ziplist-hash-on-load -=== () Starting server 127.0.0.1:21869 ok -[ok]: RDB load ziplist hash: converts to listpack when RDB loading (1 ms) -=== () Starting server 127.0.0.1:21871 ok +=== () Starting server 127.0.0.1:21865 ok +[ok]: RDB load ziplist hash: converts to listpack when RDB loading (2 ms) +=== () Starting server 127.0.0.1:21867 ok [ok]: RDB load ziplist hash: converts to hash table when hash-max-ziplist-entries is exceeded (2 ms) [43/91 done]: integration/convert-ziplist-hash-on-load (1 seconds) Testing integration/convert-ziplist-zset-on-load -=== () Starting server 127.0.0.1:21873 ok -[ok]: RDB load ziplist zset: converts to listpack when RDB loading (1 ms) -=== () Starting server 127.0.0.1:21875 ok -[ok]: RDB load ziplist zset: converts to skiplist when zset-max-ziplist-entries is exceeded (1 ms) +=== () Starting server 127.0.0.1:21869 ok +[ok]: RDB load ziplist zset: converts to listpack when RDB loading (2 ms) +=== () Starting server 127.0.0.1:21871 ok +[ok]: RDB load ziplist zset: converts to skiplist when zset-max-ziplist-entries is exceeded (2 ms) [44/91 done]: integration/convert-ziplist-zset-on-load (0 seconds) Testing integration/logging -=== () Starting server 127.0.0.1:21877 ok -{3775:M 11 Jan 2025 23:05:10.092 # Redict 7.3.2 crashed by signal: 6, si_code: 0} 41 +=== () Starting server 127.0.0.1:21873 ok +{4638:M 13 Jan 2025 02:17:16.190 # Redict 7.3.2 crashed by signal: 6, si_code: 0} 41 [ok]: Crash report generated on SIGABRT (106 ms) -=== () Starting server 127.0.0.1:21879 ok -{3799:M 11 Jan 2025 23:05:10.281 # Redict 7.3.2 crashed by signal: 11, si_code: 2} 41 +=== () Starting server 127.0.0.1:21875 ok +{4663:M 13 Jan 2025 02:17:16.414 # Redict 7.3.2 crashed by signal: 11, si_code: 2} 41 [ok]: Crash report generated on DEBUG SEGFAULT (11 ms) -=== () Starting server 127.0.0.1:21881 ok +=== () Starting server 127.0.0.1:21877 ok {Received SIGALRM} 39 [ok]: Stacktraces generated on SIGALRM (110 ms) [45/91 done]: integration/logging (1 seconds) Testing integration/psync2 -=== (psync2 external:skip) Starting server 127.0.0.1:21883 ok +=== (psync2 external:skip) Starting server 127.0.0.1:21879 ok +=== () Starting server 127.0.0.1:21881 ok +=== () Starting server 127.0.0.1:21883 ok === () Starting server 127.0.0.1:21885 ok === () Starting server 127.0.0.1:21887 ok -=== () Starting server 127.0.0.1:21889 ok -=== () Starting server 127.0.0.1:21891 ok [ok]: PSYNC2: --- CYCLE 1 --- (0 ms) [ok]: PSYNC2: [NEW LAYOUT] Set #4 as master (2 ms) -[ok]: PSYNC2: Set #0 to replicate from #2 (1 ms) +[ok]: PSYNC2: Set #0 to replicate from #1 (0 ms) [ok]: PSYNC2: Set #1 to replicate from #4 (1 ms) -[ok]: PSYNC2: Set #2 to replicate from #3 (1 ms) -[ok]: PSYNC2: Set #3 to replicate from #4 (1 ms) +[ok]: PSYNC2: Set #2 to replicate from #1 (1 ms) +[ok]: PSYNC2: Set #3 to replicate from #1 (1 ms) [ok]: PSYNC2: cluster is consistent after failover (3 ms) -[ok]: PSYNC2: generate load while killing replication links (5005 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 12411) (11 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (4 ms) +[ok]: PSYNC2: generate load while killing replication links (5001 ms) +[ok]: PSYNC2: cluster is consistent after load (x = 8592) (12 ms) +[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (6 ms) [ok]: PSYNC2: --- CYCLE 2 --- (0 ms) [ok]: PSYNC2: [NEW LAYOUT] Set #1 as master (2 ms) -[ok]: PSYNC2: Set #4 to replicate from #3 (1 ms) -[ok]: PSYNC2: Set #0 to replicate from #1 (1 ms) -[ok]: PSYNC2: Set #2 to replicate from #3 (1 ms) -[ok]: PSYNC2: Set #3 to replicate from #1 (1 ms) -[ok]: PSYNC2: cluster is consistent after failover (2 ms) -[ok]: PSYNC2: generate load while killing replication links (5000 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 25278) (13 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (4 ms) -[ok]: PSYNC2: --- CYCLE 3 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #3 as master (1 ms) -[ok]: PSYNC2: Set #4 to replicate from #0 (1 ms) -[ok]: PSYNC2: Set #0 to replicate from #3 (0 ms) -[ok]: PSYNC2: Set #1 to replicate from #3 (1 ms) -[ok]: PSYNC2: Set #2 to replicate from #1 (1 ms) -[ok]: PSYNC2: cluster is consistent after failover (3 ms) -[ok]: PSYNC2: generate load while killing replication links (5000 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 37712) (2 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (3 ms) -[ok]: PSYNC2: --- CYCLE 4 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #3 as master (1 ms) -[ok]: PSYNC2: Set #4 to replicate from #3 (1 ms) [ok]: PSYNC2: Set #0 to replicate from #3 (1 ms) -[ok]: PSYNC2: Set #1 to replicate from #0 (0 ms) +[ok]: PSYNC2: Set #4 to replicate from #2 (1 ms) +[ok]: PSYNC2: Set #2 to replicate from #1 (2 ms) +[ok]: PSYNC2: Set #3 to replicate from #2 (1 ms) +[ok]: PSYNC2: cluster is consistent after failover (4 ms) +[ok]: PSYNC2: generate load while killing replication links (5004 ms) +[ok]: PSYNC2: cluster is consistent after load (x = 16318) (28 ms) +[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (7 ms) +[ok]: PSYNC2: --- CYCLE 3 --- (0 ms) +[ok]: PSYNC2: [NEW LAYOUT] Set #3 as master (2 ms) +[ok]: PSYNC2: Set #0 to replicate from #2 (6 ms) +[ok]: PSYNC2: Set #4 to replicate from #1 (7 ms) +[ok]: PSYNC2: Set #1 to replicate from #3 (4 ms) [ok]: PSYNC2: Set #2 to replicate from #3 (1 ms) -[ok]: PSYNC2: cluster is consistent after failover (3 ms) -[ok]: PSYNC2: generate load while killing replication links (5001 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 50566) (7 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (5 ms) +[ok]: PSYNC2: cluster is consistent after failover (12 ms) +[ok]: PSYNC2: generate load while killing replication links (5003 ms) +[ok]: PSYNC2: cluster is consistent after load (x = 22833) (1058 ms) +[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (28 ms) +[ok]: PSYNC2: --- CYCLE 4 --- (0 ms) +[ok]: PSYNC2: [NEW LAYOUT] Set #2 as master (14 ms) +[ok]: PSYNC2: Set #4 to replicate from #0 (2 ms) +[ok]: PSYNC2: Set #0 to replicate from #2 (3 ms) +[ok]: PSYNC2: Set #1 to replicate from #0 (4 ms) +[ok]: PSYNC2: Set #3 to replicate from #2 (2 ms) +[ok]: PSYNC2: cluster is consistent after failover (15 ms) +[ok]: PSYNC2: generate load while killing replication links (5000 ms) +[ok]: PSYNC2: cluster is consistent after load (x = 28917) (5 ms) +[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (9 ms) [ok]: PSYNC2: --- CYCLE 5 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #0 as master (1 ms) -[ok]: PSYNC2: Set #4 to replicate from #1 (1 ms) -[ok]: PSYNC2: Set #1 to replicate from #0 (1 ms) -[ok]: PSYNC2: Set #2 to replicate from #1 (1 ms) -[ok]: PSYNC2: Set #3 to replicate from #1 (1 ms) -[ok]: PSYNC2: cluster is consistent after failover (3 ms) +[ok]: PSYNC2: [NEW LAYOUT] Set #3 as master (9 ms) +[ok]: PSYNC2: Set #4 to replicate from #3 (3 ms) +[ok]: PSYNC2: Set #0 to replicate from #2 (10 ms) +[ok]: PSYNC2: Set #1 to replicate from #0 (7 ms) +[ok]: PSYNC2: Set #2 to replicate from #3 (2 ms) +[ok]: PSYNC2: cluster is consistent after failover (12 ms) [ok]: PSYNC2: generate load while killing replication links (5000 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 63429) (16 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (4 ms) -[ok]: PSYNC2: Bring the master back again for next test (6 ms) -[ok]: PSYNC2: Partial resync after restart using RDB aux fields (257 ms) -[46/91 done]: integration/psync2 (44 seconds) +[ok]: PSYNC2: cluster is consistent after load (x = 34029) (19 ms) +[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (21 ms) +[ok]: PSYNC2: Bring the master back again for next test (28 ms) +[ok]: PSYNC2: Partial resync after restart using RDB aux fields (301 ms) +[46/91 done]: integration/psync2 (50 seconds) Testing integration/psync2-reg -=== (psync2 external:skip) Starting server 127.0.0.1:21893 ok -=== () Starting server 127.0.0.1:21895 ok -=== () Starting server 127.0.0.1:21897 ok -[ok]: PSYNC2 #3899 regression: setup (1027 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (2 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (0 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (2 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (2 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (5 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (2 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (2 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (0 ms) +=== (psync2 external:skip) Starting server 127.0.0.1:21889 ok +=== () Starting server 127.0.0.1:21891 ok +=== () Starting server 127.0.0.1:21893 ok +[ok]: PSYNC2 #3899 regression: setup (1087 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (3 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (2 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (1 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (3 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (3 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (3 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (7 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (7 ms) [ok]: PSYNC2 #3899 regression: kill first replica (2 ms) [ok]: PSYNC2 #3899 regression: kill first replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (1 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (3 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (3 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (2 ms) -[ok]: PSYNC2 #3899 regression: verify consistency (33 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (2 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (3 ms) +[ok]: PSYNC2 #3899 regression: verify consistency (86 ms) [47/91 done]: integration/psync2-reg (23 seconds) Testing integration/psync2-pingoff +=== (psync2 external:skip) Starting server 127.0.0.1:21895 ok +=== () Starting server 127.0.0.1:21897 ok +[ok]: PSYNC2 pingoff: setup (1064 ms) +[ok]: PSYNC2 pingoff: write and wait replication (28 ms) +[ok]: PSYNC2 pingoff: pause replica and promote it (5006 ms) +[ok]: Make the old master a replica of the new one and check conditions (1074 ms) === (psync2 external:skip) Starting server 127.0.0.1:21899 ok === () Starting server 127.0.0.1:21901 ok -[ok]: PSYNC2 pingoff: setup (1005 ms) -[ok]: PSYNC2 pingoff: write and wait replication (2 ms) -[ok]: PSYNC2 pingoff: pause replica and promote it (5007 ms) -[ok]: Make the old master a replica of the new one and check conditions (1010 ms) -=== (psync2 external:skip) Starting server 127.0.0.1:21903 ok +=== () Starting server 127.0.0.1:21903 ok === () Starting server 127.0.0.1:21905 ok === () Starting server 127.0.0.1:21907 ok -=== () Starting server 127.0.0.1:21909 ok +[ok]: test various edge cases of repl topology changes with missing pings at the end (3626 ms) +=== (psync2 external:skip) Starting server 127.0.0.1:21909 ok === () Starting server 127.0.0.1:21911 ok -[ok]: test various edge cases of repl topology changes with missing pings at the end (3276 ms) -=== (psync2 external:skip) Starting server 127.0.0.1:21913 ok -=== () Starting server 127.0.0.1:21915 ok -=== () Starting server 127.0.0.1:21917 ok -[ok]: Chained replicas disconnect when replica re-connect with the same master (2943 ms) -[48/91 done]: integration/psync2-pingoff (16 seconds) +=== () Starting server 127.0.0.1:21913 ok +[ok]: Chained replicas disconnect when replica re-connect with the same master (2933 ms) +[48/91 done]: integration/psync2-pingoff (20 seconds) Testing integration/psync2-master-restart -=== (psync2 external:skip) Starting server 127.0.0.1:21919 ok -=== () Starting server 127.0.0.1:21921 ok -=== () Starting server 127.0.0.1:21923 ok -[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields when offset is 0 (163 ms) -[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with data (1176 ms) -[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with expire (2593 ms) -[ok]: PSYNC2: Full resync after Master restart when too many key expired (3081 ms) -[49/91 done]: integration/psync2-master-restart (10 seconds) +=== (psync2 external:skip) Starting server 127.0.0.1:21915 ok +=== () Starting server 127.0.0.1:21917 ok +=== () Starting server 127.0.0.1:21919 ok +[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields when offset is 0 (2945 ms) +[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with data (6218 ms) +Waiting for process 12961 to exit... +Waiting for process 12961 to exit... +Waiting for process 12961 to exit... +[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with expire (9145 ms) +Waiting for process 14372 to exit... +Waiting for process 14372 to exit... +[ok]: PSYNC2: Full resync after Master restart when too many key expired (32479 ms) +[49/91 done]: integration/psync2-master-restart (68 seconds) Testing integration/failover -=== (failover external:skip) Starting server 127.0.0.1:21925 ok -=== () Starting server 127.0.0.1:21927 ok -=== () Starting server 127.0.0.1:21929 ok -[ok]: failover command fails without connected replica (0 ms) -[ok]: setup replication for following tests (105 ms) -[ok]: failover command fails with invalid host (1 ms) -[ok]: failover command fails with invalid port (0 ms) -[ok]: failover command fails with just force and timeout (0 ms) -[ok]: failover command fails when sent to a replica (1 ms) -[ok]: failover command fails with force without timeout (1 ms) -[ok]: failover command to specific replica works (977 ms) -[ok]: failover command to any replica works (665 ms) -[ok]: failover to a replica with force works (465 ms) -[ok]: failover with timeout aborts if replica never catches up (581 ms) -[ok]: failovers can be aborted (56 ms) -[ok]: failover aborts if target rejects sync request (587 ms) -[50/91 done]: integration/failover (5 seconds) +=== (failover external:skip) Starting server 127.0.0.1:21921 ok +=== () Starting server 127.0.0.1:21923 ok +=== () Starting server 127.0.0.1:21925 ok +[ok]: failover command fails without connected replica (1 ms) +[ok]: setup replication for following tests (12204 ms) +[ok]: failover command fails with invalid host (6 ms) +[ok]: failover command fails with invalid port (7 ms) +[ok]: failover command fails with just force and timeout (7 ms) +[ok]: failover command fails when sent to a replica (7 ms) +[ok]: failover command fails with force without timeout (7 ms) +[ok]: failover command to specific replica works (742 ms) +[ok]: failover command to any replica works (1461 ms) +[ok]: failover to a replica with force works (814 ms) +[ok]: failover with timeout aborts if replica never catches up (797 ms) +[ok]: failovers can be aborted (1037 ms) +[ok]: failover aborts if target rejects sync request (1563 ms) +[50/91 done]: integration/failover (21 seconds) Testing integration/redict-cli -=== (cli) Starting server 127.0.0.1:21931 ok -[ok]: Interactive CLI: INFO response should be printed raw (92 ms) -[ok]: Interactive CLI: Status reply (91 ms) -[ok]: Interactive CLI: Integer reply (92 ms) -[ok]: Interactive CLI: Bulk reply (93 ms) -[ok]: Interactive CLI: Multi-bulk reply (92 ms) -[ok]: Interactive CLI: Parsing quotes (459 ms) -[ok]: Interactive CLI: Subscribed mode (640 ms) -[ok]: Interactive non-TTY CLI: Subscribed mode (457 ms) -[ok]: Non-interactive TTY CLI: Status reply (40 ms) -[ok]: Non-interactive TTY CLI: Integer reply (39 ms) -[ok]: Non-interactive TTY CLI: Bulk reply (39 ms) -[ok]: Non-interactive TTY CLI: Multi-bulk reply (39 ms) -[ok]: Non-interactive TTY CLI: Read last argument from pipe (82 ms) -[ok]: Non-interactive TTY CLI: Read last argument from file (78 ms) -[ok]: Non-interactive TTY CLI: Escape character in JSON mode (349 ms) -[ok]: Non-interactive non-TTY CLI: Status reply (38 ms) -[ok]: Non-interactive non-TTY CLI: Integer reply (39 ms) -[ok]: Non-interactive non-TTY CLI: Bulk reply (38 ms) -[ok]: Non-interactive non-TTY CLI: Multi-bulk reply (41 ms) -[ok]: Non-interactive non-TTY CLI: Quoted input arguments (38 ms) -[ok]: Non-interactive non-TTY CLI: No accidental unquoting of input arguments (77 ms) -[ok]: Non-interactive non-TTY CLI: Invalid quoted input arguments (76 ms) -[ok]: Non-interactive non-TTY CLI: Read last argument from pipe (81 ms) -[ok]: Non-interactive non-TTY CLI: Read last argument from file (78 ms) -[ok]: Non-interactive non-TTY CLI: Test command-line hinting - latest server (53 ms) -[ok]: Non-interactive non-TTY CLI: Test command-line hinting - no server (15 ms) -[ok]: Non-interactive non-TTY CLI: Test command-line hinting - old server (55 ms) -[ok]: Dumping an RDB - functions only: no (3731 ms) -[ok]: Dumping an RDB - functions only: yes (1065 ms) -[ok]: Scan mode (345 ms) -[ok]: Connecting as a replica (2204 ms) -[ok]: Piping raw protocol (2353 ms) -[ok]: Options -X with illegal argument (63 ms) -[ok]: DUMP RESTORE with -x option (236 ms) -[ok]: DUMP RESTORE with -X option (242 ms) -[51/91 done]: integration/redict-cli (14 seconds) +=== (cli) Starting server 127.0.0.1:21927 ok +[ok]: Interactive CLI: INFO response should be printed raw (128 ms) +[ok]: Interactive CLI: Status reply (124 ms) +[ok]: Interactive CLI: Integer reply (135 ms) +[ok]: Interactive CLI: Bulk reply (127 ms) +[ok]: Interactive CLI: Multi-bulk reply (135 ms) +[ok]: Interactive CLI: Parsing quotes (627 ms) +[ok]: Interactive CLI: Subscribed mode (824 ms) +[ok]: Interactive non-TTY CLI: Subscribed mode (631 ms) +[ok]: Non-interactive TTY CLI: Status reply (99 ms) +[ok]: Non-interactive TTY CLI: Integer reply (57 ms) +[ok]: Non-interactive TTY CLI: Bulk reply (58 ms) +[ok]: Non-interactive TTY CLI: Multi-bulk reply (58 ms) +[ok]: Non-interactive TTY CLI: Read last argument from pipe (125 ms) +[ok]: Non-interactive TTY CLI: Read last argument from file (116 ms) +[ok]: Non-interactive TTY CLI: Escape character in JSON mode (535 ms) +[ok]: Non-interactive non-TTY CLI: Status reply (55 ms) +[ok]: Non-interactive non-TTY CLI: Integer reply (55 ms) +[ok]: Non-interactive non-TTY CLI: Bulk reply (55 ms) +[ok]: Non-interactive non-TTY CLI: Multi-bulk reply (67 ms) +[ok]: Non-interactive non-TTY CLI: Quoted input arguments (75 ms) +[ok]: Non-interactive non-TTY CLI: No accidental unquoting of input arguments (165 ms) +[ok]: Non-interactive non-TTY CLI: Invalid quoted input arguments (142 ms) +[ok]: Non-interactive non-TTY CLI: Read last argument from pipe (174 ms) +[ok]: Non-interactive non-TTY CLI: Read last argument from file (134 ms) +[ok]: Non-interactive non-TTY CLI: Test command-line hinting - latest server (97 ms) +[ok]: Non-interactive non-TTY CLI: Test command-line hinting - no server (24 ms) +[ok]: Non-interactive non-TTY CLI: Test command-line hinting - old server (100 ms) +[ok]: Dumping an RDB - functions only: no (7321 ms) +[ok]: Dumping an RDB - functions only: yes (2946 ms) +[ok]: Scan mode (944 ms) +[ok]: Connecting as a replica (2331 ms) +[ok]: Piping raw protocol (5286 ms) +[ok]: Options -X with illegal argument (132 ms) +[ok]: DUMP RESTORE with -x option (482 ms) +[ok]: DUMP RESTORE with -X option (414 ms) +[51/91 done]: integration/redict-cli (25 seconds) Testing integration/redict-benchmark -=== () Starting server 127.0.0.1:21933 ok -[ok]: benchmark: set,get (145 ms) -[ok]: benchmark: connecting using URI set,get (143 ms) -[ok]: benchmark: connecting using URI with authentication set,get (143 ms) -[ok]: benchmark: full test suite (2179 ms) -[ok]: benchmark: multi-thread set,get (642 ms) -[ok]: benchmark: pipelined full set,get (497 ms) -[ok]: benchmark: arbitrary command (101 ms) -[ok]: benchmark: keyspace length (563 ms) -[ok]: benchmark: clients idle mode should return error when reached maxclients limit (83 ms) -[ok]: benchmark: read last argument from stdin (184 ms) -[ok]: benchmark: specific tls-ciphers (837 ms) -[ok]: benchmark: tls connecting using URI with authentication set,get (153 ms) -[ok]: benchmark: specific tls-ciphersuites (599 ms) -[52/91 done]: integration/redict-benchmark (6 seconds) +=== () Starting server 127.0.0.1:21929 ok +[ok]: benchmark: set,get (281 ms) +[ok]: benchmark: connecting using URI set,get (319 ms) +[ok]: benchmark: connecting using URI with authentication set,get (301 ms) +[ok]: benchmark: full test suite (4095 ms) +[ok]: benchmark: multi-thread set,get (785 ms) +[ok]: benchmark: pipelined full set,get (1377 ms) +[ok]: benchmark: arbitrary command (206 ms) +[ok]: benchmark: keyspace length (1201 ms) +[ok]: benchmark: clients idle mode should return error when reached maxclients limit (181 ms) +[ok]: benchmark: read last argument from stdin (435 ms) +[ok]: benchmark: specific tls-ciphers (1393 ms) +[ok]: benchmark: tls connecting using URI with authentication set,get (292 ms) +[ok]: benchmark: specific tls-ciphersuites (1038 ms) +[52/91 done]: integration/redict-benchmark (12 seconds) Testing integration/dismiss-mem -=== (dismiss external:skip) Starting server 127.0.0.1:21935 ok +=== (dismiss external:skip) Starting server 127.0.0.1:21931 ok -Waiting for background AOF rewrite to finish... [ok]: dismiss all data types memory (1211 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: dismiss all data types memory (2048 ms) Waiting for background save to finish... -Waiting for background save to finish... [ok]: dismiss client output buffer (559 ms) +Waiting for background save to finish... [ok]: dismiss client output buffer (3936 ms) -Waiting for background save to finish... [ok]: dismiss client query buffer (179 ms) -=== () Starting server 127.0.0.1:21937 ok +Waiting for background save to finish... +Waiting for background save to finish... [ok]: dismiss client query buffer (277 ms) +=== () Starting server 127.0.0.1:21933 ok -Waiting for background save to finish... [ok]: dismiss replication backlog (1293 ms) -[53/91 done]: integration/dismiss-mem (4 seconds) +Waiting for background save to finish... +Waiting for background save to finish... [ok]: dismiss replication backlog (1779 ms) +[53/91 done]: integration/dismiss-mem (9 seconds) Testing unit/pubsub -=== (pubsub network) Starting server 127.0.0.1:21939 ok -[ok]: Pub/Sub PING on RESP2 (2 ms) -[ok]: Pub/Sub PING on RESP3 (1 ms) -[ok]: PUBLISH/SUBSCRIBE basics (26 ms) -[ok]: PUBLISH/SUBSCRIBE with two clients (48 ms) -[ok]: PUBLISH/SUBSCRIBE after UNSUBSCRIBE without arguments (25 ms) -[ok]: SUBSCRIBE to one channel more than once (24 ms) -[ok]: UNSUBSCRIBE from non-subscribed channels (24 ms) -[ok]: PUBLISH/PSUBSCRIBE basics (27 ms) -[ok]: PUBLISH/PSUBSCRIBE with two clients (50 ms) -[ok]: PUBLISH/PSUBSCRIBE after PUNSUBSCRIBE without arguments (25 ms) -[ok]: PubSub messages with CLIENT REPLY OFF (110 ms) -[ok]: PUNSUBSCRIBE from non-subscribed channels (24 ms) +=== (pubsub network) Starting server 127.0.0.1:21935 ok +[ok]: Pub/Sub PING on RESP2 (23 ms) +[ok]: Pub/Sub PING on RESP3 (20 ms) +[ok]: PUBLISH/SUBSCRIBE basics (45 ms) +[ok]: PUBLISH/SUBSCRIBE with two clients (82 ms) +[ok]: PUBLISH/SUBSCRIBE after UNSUBSCRIBE without arguments (38 ms) +[ok]: SUBSCRIBE to one channel more than once (38 ms) +[ok]: UNSUBSCRIBE from non-subscribed channels (36 ms) +[ok]: PUBLISH/PSUBSCRIBE basics (44 ms) +[ok]: PUBLISH/PSUBSCRIBE with two clients (71 ms) +[ok]: PUBLISH/PSUBSCRIBE after PUNSUBSCRIBE without arguments (39 ms) +[ok]: PubSub messages with CLIENT REPLY OFF (131 ms) +[ok]: PUNSUBSCRIBE from non-subscribed channels (41 ms) [ok]: NUMSUB returns numbers, not strings (#1561) (1 ms) -[ok]: NUMPATs returns the number of unique patterns (48 ms) -[ok]: Mix SUBSCRIBE and PSUBSCRIBE (24 ms) -[ok]: PUNSUBSCRIBE and UNSUBSCRIBE should always reply (1 ms) -[ok]: Keyspace notifications: we receive keyspace notifications (65 ms) -[ok]: Keyspace notifications: we receive keyevent notifications (68 ms) -[ok]: Keyspace notifications: we can receive both kind of events (26 ms) -[ok]: Keyspace notifications: we are able to mask events (26 ms) -[ok]: Keyspace notifications: general events test (26 ms) -[ok]: Keyspace notifications: list events test (27 ms) -[ok]: Keyspace notifications: set events test (27 ms) -[ok]: Keyspace notifications: zset events test (27 ms) -[ok]: Keyspace notifications: hash events test (27 ms) -[ok]: Keyspace notifications: stream events test (29 ms) -[ok]: Keyspace notifications: expired events (triggered expire) (127 ms) -[ok]: Keyspace notifications: expired events (background expire) (191 ms) -[ok]: Keyspace notifications: evicted events (28 ms) -[ok]: Keyspace notifications: test CONFIG GET/SET of event flags (3 ms) -[ok]: Keyspace notifications: new key test (28 ms) -[ok]: publish to self inside multi (3 ms) -[ok]: publish to self inside script (2 ms) -[ok]: unsubscribe inside multi, and publish to self (3 ms) -[54/91 done]: unit/pubsub (1 seconds) +[ok]: NUMPATs returns the number of unique patterns (86 ms) +[ok]: Mix SUBSCRIBE and PSUBSCRIBE (42 ms) +[ok]: PUNSUBSCRIBE and UNSUBSCRIBE should always reply (2 ms) +[ok]: Keyspace notifications: we receive keyspace notifications (86 ms) +[ok]: Keyspace notifications: we receive keyevent notifications (120 ms) +[ok]: Keyspace notifications: we can receive both kind of events (50 ms) +[ok]: Keyspace notifications: we are able to mask events (37 ms) +[ok]: Keyspace notifications: general events test (38 ms) +[ok]: Keyspace notifications: list events test (39 ms) +[ok]: Keyspace notifications: set events test (40 ms) +[ok]: Keyspace notifications: zset events test (40 ms) +[ok]: Keyspace notifications: hash events test (37 ms) +[ok]: Keyspace notifications: stream events test (43 ms) +[ok]: Keyspace notifications: expired events (triggered expire) (140 ms) +[ok]: Keyspace notifications: expired events (background expire) (279 ms) +[ok]: Keyspace notifications: evicted events (118 ms) +[ok]: Keyspace notifications: test CONFIG GET/SET of event flags (32 ms) +[ok]: Keyspace notifications: new key test (84 ms) +[ok]: publish to self inside multi (55 ms) +[ok]: publish to self inside script (20 ms) +[ok]: unsubscribe inside multi, and publish to self (72 ms) +[54/91 done]: unit/pubsub (3 seconds) Testing unit/pubsubshard +=== (pubsubshard external:skip) Starting server 127.0.0.1:21937 ok +[ok]: SPUBLISH/SSUBSCRIBE basics (83 ms) +[ok]: SPUBLISH/SSUBSCRIBE with two clients (75 ms) +[ok]: SPUBLISH/SSUBSCRIBE after UNSUBSCRIBE without arguments (40 ms) +[ok]: SSUBSCRIBE to one channel more than once (39 ms) +[ok]: SUNSUBSCRIBE from non-subscribed channels (40 ms) +[ok]: PUBSUB command basics (2 ms) +[ok]: SPUBLISH/SSUBSCRIBE with two clients (75 ms) +[ok]: SPUBLISH/SSUBSCRIBE with PUBLISH/SUBSCRIBE (78 ms) +[ok]: PubSubShard with CLIENT REPLY OFF (133 ms) +=== (pubsubshard external:skip) Starting server 127.0.0.1:21939 ok === (pubsubshard external:skip) Starting server 127.0.0.1:21941 ok -[ok]: SPUBLISH/SSUBSCRIBE basics (27 ms) -[ok]: SPUBLISH/SSUBSCRIBE with two clients (48 ms) -[ok]: SPUBLISH/SSUBSCRIBE after UNSUBSCRIBE without arguments (26 ms) -[ok]: SSUBSCRIBE to one channel more than once (25 ms) -[ok]: SUNSUBSCRIBE from non-subscribed channels (26 ms) -[ok]: PUBSUB command basics (1 ms) -[ok]: SPUBLISH/SSUBSCRIBE with two clients (50 ms) -[ok]: SPUBLISH/SSUBSCRIBE with PUBLISH/SUBSCRIBE (49 ms) -[ok]: PubSubShard with CLIENT REPLY OFF (112 ms) -=== (pubsubshard external:skip) Starting server 127.0.0.1:21943 ok -=== (pubsubshard external:skip) Starting server 127.0.0.1:21945 ok -[ok]: setup replication for following tests (107 ms) -[ok]: publish message to master and receive on replica (47 ms) +[ok]: setup replication for following tests (119 ms) +[ok]: publish message to master and receive on replica (82 ms) [55/91 done]: unit/pubsubshard (2 seconds) Testing unit/slowlog -=== (slowlog) Starting server 127.0.0.1:21947 ok +=== (slowlog) Starting server 127.0.0.1:21943 ok [ok]: SLOWLOG - check that it starts with an empty log (1 ms) -[ok]: SLOWLOG - only logs commands taking more time than specified (204 ms) -[ok]: SLOWLOG - zero max length is correctly handled (21 ms) -[ok]: SLOWLOG - max entries is correctly handled (21 ms) -[ok]: SLOWLOG - GET optional argument to limit output len works (4 ms) -[ok]: SLOWLOG - RESET subcommand works (1 ms) -[ok]: SLOWLOG - logged entry sanity check (202 ms) -[ok]: SLOWLOG - Certain commands are omitted that contain sensitive information (6 ms) -[ok]: SLOWLOG - Some commands can redact sensitive fields (3 ms) -[ok]: SLOWLOG - Rewritten commands are logged as their original command (32 ms) -[ok]: SLOWLOG - commands with too many arguments are trimmed (2 ms) -[ok]: SLOWLOG - too long arguments are trimmed (1 ms) -[ok]: SLOWLOG - EXEC is not logged, just executed commands (203 ms) -[ok]: SLOWLOG - can clean older entries (202 ms) -[ok]: SLOWLOG - can be disabled (405 ms) -[ok]: SLOWLOG - count must be >= -1 (1 ms) -[ok]: SLOWLOG - get all slow logs (4 ms) -[ok]: SLOWLOG - blocking command is reported only after unblocked (27 ms) +[ok]: SLOWLOG - only logs commands taking more time than specified (207 ms) +[ok]: SLOWLOG - zero max length is correctly handled (43 ms) +[ok]: SLOWLOG - max entries is correctly handled (42 ms) +[ok]: SLOWLOG - GET optional argument to limit output len works (6 ms) +[ok]: SLOWLOG - RESET subcommand works (2 ms) +[ok]: SLOWLOG - logged entry sanity check (206 ms) +[ok]: SLOWLOG - Certain commands are omitted that contain sensitive information (11 ms) +[ok]: SLOWLOG - Some commands can redact sensitive fields (5 ms) +[ok]: SLOWLOG - Rewritten commands are logged as their original command (60 ms) +[ok]: SLOWLOG - commands with too many arguments are trimmed (4 ms) +[ok]: SLOWLOG - too long arguments are trimmed (3 ms) +[ok]: SLOWLOG - EXEC is not logged, just executed commands (209 ms) +[ok]: SLOWLOG - can clean older entries (208 ms) +[ok]: SLOWLOG - can be disabled (411 ms) +[ok]: SLOWLOG - count must be >= -1 (2 ms) +[ok]: SLOWLOG - get all slow logs (7 ms) +[ok]: SLOWLOG - blocking command is reported only after unblocked (51 ms) [56/91 done]: unit/slowlog (2 seconds) Testing unit/scripting -=== (scripting) Starting server 127.0.0.1:21949 ok -[ok]: Redis compatibility global exists (1 ms) +=== (scripting) Starting server 127.0.0.1:21945 ok +[ok]: Redis compatibility global exists (13 ms) +[ok]: EVAL - Does Lua interpreter replies to our requests? (15 ms) +[ok]: EVAL - Return _G (15 ms) +[ok]: EVAL - Return table with a metatable that raise error (15 ms) +[ok]: EVAL - Return table with a metatable that call redict (17 ms) +[ok]: EVAL - Lua integer -> Redict protocol type conversion (2 ms) +[ok]: EVAL - Lua string -> Redict protocol type conversion (2 ms) +[ok]: EVAL - Lua true boolean -> Redict protocol type conversion (2 ms) +[ok]: EVAL - Lua false boolean -> Redict protocol type conversion (1 ms) +[ok]: EVAL - Lua status code reply -> Redict protocol type conversion (1 ms) +[ok]: EVAL - Lua error reply -> Redict protocol type conversion (2 ms) +[ok]: EVAL - Lua table -> Redict protocol type conversion (2 ms) +[ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (2 ms) +[ok]: EVAL - is Lua able to call Redict API? (2 ms) +[ok]: EVAL - Redict integer -> Lua type conversion (2 ms) +[ok]: EVAL - Lua number -> Redict integer conversion (2 ms) +[ok]: EVAL - Redict bulk -> Lua type conversion (2 ms) +[ok]: EVAL - Redict multi bulk -> Lua type conversion (4 ms) +[ok]: EVAL - Redict status reply -> Lua type conversion (2 ms) +[ok]: EVAL - Redict error reply -> Lua type conversion (2 ms) +[ok]: EVAL - Redict nil bulk reply -> Lua type conversion (2 ms) +[ok]: EVAL - Is the Lua client using the currently selected DB? (3 ms) +[ok]: EVAL - SELECT inside Lua should not affect the caller (2 ms) +[ok]: EVAL - Scripts do not block on blpop command (3 ms) +[ok]: EVAL - Scripts do not block on brpop command (3 ms) +[ok]: EVAL - Scripts do not block on brpoplpush command (7 ms) +[ok]: EVAL - Scripts do not block on blmove command (3 ms) +[ok]: EVAL - Scripts do not block on bzpopmin command (3 ms) +[ok]: EVAL - Scripts do not block on bzpopmax command (3 ms) +[ok]: EVAL - Scripts do not block on wait (1 ms) +[ok]: EVAL - Scripts do not block on waitaof (1 ms) +[ok]: EVAL - Scripts do not block on XREAD with BLOCK option (3 ms) +[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (2 ms) +[ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (3 ms) +[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option -- non empty stream (2 ms) +[ok]: EVAL - Scripts can run non-deterministic commands (1 ms) +[ok]: EVAL - No arguments to redict.call/pcall is considered an error (1 ms) +[ok]: EVAL - redict.call variant raises a Lua error on Redict cmd error (1) (1 ms) +[ok]: EVAL - redict.call variant raises a Lua error on Redict cmd error (1) (1 ms) +[ok]: EVAL - redict.call variant raises a Lua error on Redict cmd error (1) (3 ms) +[ignore]: EVAL - JSON string encoding a string larger than 2GB: large memory flag not provided +[ok]: EVAL - JSON numeric decoding (2 ms) +[ok]: EVAL - JSON string decoding (2 ms) +[ok]: EVAL - JSON smoke test (2 ms) +[ok]: EVAL - cmsgpack can pack double? (3 ms) +[ok]: EVAL - cmsgpack can pack negative int64? (2 ms) +[ok]: EVAL - cmsgpack pack/unpack smoke test (642 ms) +[ok]: EVAL - cmsgpack can pack and unpack circular references? (5 ms) +[ok]: EVAL - Numerical sanity check from bitop (2 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 (2 ms) +[ok]: redict.sha1hex() implementation (3 ms) +[ok]: Measures elapsed time os.clock() (1165 ms) +[ok]: Prohibit dangerous lua methods in sandbox (3 ms) +[ok]: Verify execution of prohibit dangerous Lua methods will fail (10 ms) +[ok]: Globals protection reading an undeclared global variable (2 ms) +[ok]: Globals protection setting an undeclared global* (1 ms) +[ok]: lua bit.tohex bug (2 ms) +[ok]: Test an example script DECR_IF_GT (8 ms) +[ok]: EVAL does not leak in the Lua stack (4424 ms) +[ok]: Call Redict command with many args from Lua (issue #1764) (10 ms) +[ok]: Number conversion precision test (issue #1118) (2 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) (1 ms) +[ok]: Scripts can handle commands with incorrect arity (3 ms) +[ok]: Correct handling of reused argv (issue #1939) (2 ms) +[ok]: Functions in the Redict namespace are able to report errors (2 ms) +[ok]: CLUSTER RESET can not be invoke from within a script (2 ms) +[ok]: Script with RESP3 map (8 ms) +[ok]: Script return recursive object (477 ms) +[ok]: Script check unpack with massive arguments (34 ms) +[ok]: Script read key with expiration set (2 ms) +[ok]: Script del key with expiration set (2 ms) +[ok]: Script ACL check (6 ms) +[ok]: Binary code loading failed (2 ms) +[ok]: Try trick global protection 1 (2 ms) +[ok]: Try trick global protection 2 (2 ms) +[ok]: Try trick global protection 3 (2 ms) +[ok]: Try trick global protection 4 (2 ms) +[ok]: Try trick readonly table on redict table (2 ms) +[ok]: Try trick readonly table on json table (2 ms) +[ok]: Try trick readonly table on cmsgpack table (2 ms) +[ok]: Try trick readonly table on bit table (12 ms) +[ok]: Test loadfile are not available (8 ms) +[ok]: Test dofile are not available (7 ms) +[ok]: Test print are not available (7 ms) +=== (scripting) Starting server 127.0.0.1:21947 ok +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (481 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (229 ms) +[ok]: Timedout script does not cause a false dead client (158 ms) +[ok]: Timedout script link is still usable after Lua returns (283 ms) +[ok]: Timedout scripts and unblocked command (694 ms) +[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (254 ms) +[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (18 ms) +=== (scripting repl needs:debug external:skip) Starting server 127.0.0.1:21949 ok +=== () Starting server 127.0.0.1:21951 ok +[ok]: Before the replica connects we issue two EVAL commands (27 ms) +[ok]: Connect a replica to the master instance (135 ms) +[ok]: Replication of script multiple pushes to list with BLPOP (67 ms) +[ok]: Lua scripts using SELECT are replicated correctly (35 ms) +=== (scripting repl external:skip) Starting server 127.0.0.1:21953 ok +=== () Starting server 127.0.0.1:21955 ok +[ok]: Connect a replica to the master instance (139 ms) +[ok]: redict.replicate_commands() can be issued anywhere now (2 ms) +[ok]: redict.set_repl() can be issued before replicate_commands() now (1 ms) +[ok]: redict.set_repl() don't accept invalid values (2 ms) +[ok]: Test selective replication of certain Redict commands from Lua (124 ms) +[ok]: PRNG is seeded randomly for command replication (4 ms) +[ok]: Using side effects is not a problem with command replication (7 ms) +=== (scripting needs:debug) Starting server 127.0.0.1:21957 ok +[ok]: test RESP2/2 big number protocol parsing (10 ms) +[ok]: test RESP2/2 malformed big number protocol parsing (11 ms) +[ok]: test RESP2/2 map protocol parsing (6 ms) +[ok]: test RESP2/2 set protocol parsing (10 ms) +[ok]: test RESP2/2 double protocol parsing (7 ms) +[ok]: test RESP2/2 null protocol parsing (7 ms) +[ok]: test RESP2/2 verbatim protocol parsing (8 ms) +[ok]: test RESP2/2 true protocol parsing (7 ms) +[ok]: test RESP2/2 false protocol parsing (7 ms) +[ok]: test RESP2/3 big number protocol parsing (8 ms) +[ok]: test RESP2/3 malformed big number protocol parsing (7 ms) +[ok]: test RESP2/3 map protocol parsing (9 ms) +[ok]: test RESP2/3 set protocol parsing (6 ms) +[ok]: test RESP2/3 double protocol parsing (7 ms) +[ok]: test RESP2/3 null protocol parsing (7 ms) +[ok]: test RESP2/3 verbatim protocol parsing (9 ms) +[ok]: test RESP2/3 true protocol parsing (7 ms) +[ok]: test RESP2/3 false protocol parsing (2 ms) +[ok]: test RESP3/2 big number protocol parsing (8 ms) +[ok]: test RESP3/2 malformed big number protocol parsing (15 ms) +[ok]: test RESP3/2 map protocol parsing (12 ms) +[ok]: test RESP3/2 set protocol parsing (16 ms) +[ok]: test RESP3/2 double protocol parsing (15 ms) +[ok]: test RESP3/2 null protocol parsing (15 ms) +[ok]: test RESP3/2 verbatim protocol parsing (16 ms) +[ok]: test RESP3/2 true protocol parsing (15 ms) +[ok]: test RESP3/2 false protocol parsing (15 ms) +[ok]: test RESP3/3 big number protocol parsing (12 ms) +[ok]: test RESP3/3 malformed big number protocol parsing (15 ms) +[ok]: test RESP3/3 map protocol parsing (8 ms) +[ok]: test RESP3/3 set protocol parsing (16 ms) +[ok]: test RESP3/3 double protocol parsing (15 ms) +[ok]: test RESP3/3 null protocol parsing (15 ms) +[ok]: test RESP3/3 verbatim protocol parsing (16 ms) +[ok]: test RESP3/3 true protocol parsing (15 ms) +[ok]: test RESP3/3 false protocol parsing (11 ms) +[ok]: test resp3 attribute protocol parsing (15 ms) +[ok]: Script block the time during execution (32 ms) +[ok]: Script delete the expired key (7 ms) +[ok]: TIME command using cached time (13 ms) +[ok]: Script block the time in some expiration related commands (102 ms) +[ok]: RESTORE expired keys with expiration time (14 ms) +=== (scripting) Starting server 127.0.0.1:21959 ok +[ok]: Redis compatibility global exists (2 ms) +[ok]: Script - disallow write on OOM (2 ms) [ok]: EVAL - Does Lua interpreter replies to our requests? (1 ms) -[ok]: EVAL - Return _G (1 ms) -[ok]: EVAL - Return table with a metatable that raise error (1 ms) +[ok]: EVAL - Return _G (0 ms) +[ok]: EVAL - Return table with a metatable that raise error (0 ms) [ok]: EVAL - Return table with a metatable that call redict (1 ms) -[ok]: EVAL - Lua integer -> Redict protocol type conversion (1 ms) -[ok]: EVAL - Lua string -> Redict protocol type conversion (1 ms) +[ok]: EVAL - Lua integer -> Redict protocol type conversion (0 ms) +[ok]: EVAL - Lua string -> Redict protocol type conversion (0 ms) [ok]: EVAL - Lua true boolean -> Redict protocol type conversion (1 ms) -[ok]: EVAL - Lua false boolean -> Redict protocol type conversion (0 ms) +[ok]: EVAL - Lua false boolean -> Redict protocol type conversion (1 ms) [ok]: EVAL - Lua status code reply -> Redict protocol type conversion (0 ms) -[ok]: EVAL - Lua error reply -> Redict protocol type conversion (1 ms) +[ok]: EVAL - Lua error reply -> Redict protocol type conversion (0 ms) [ok]: EVAL - Lua table -> Redict protocol type conversion (1 ms) [ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (1 ms) -[ok]: EVAL - is Lua able to call Redict API? (1 ms) -[ok]: EVAL - Redict integer -> Lua type conversion (2 ms) +[ok]: EVAL - is Lua able to call Redict API? (2 ms) +[ok]: EVALSHA - Can we call a SHA1 if already defined? (1 ms) +[ok]: EVALSHA_RO - Can we call a SHA1 if already defined? (1 ms) +[ok]: EVALSHA - Can we call a SHA1 in uppercase? (1 ms) +[ok]: EVALSHA - Do we get an error on invalid SHA1? (1 ms) +[ok]: EVALSHA - Do we get an error on non defined SHA1? (1 ms) +[ok]: EVAL - Redict integer -> Lua type conversion (1 ms) [ok]: EVAL - Lua number -> Redict integer conversion (1 ms) [ok]: EVAL - Redict bulk -> Lua type conversion (1 ms) -[ok]: EVAL - Redict multi bulk -> Lua type conversion (2 ms) +[ok]: EVAL - Redict multi bulk -> Lua type conversion (3 ms) [ok]: EVAL - Redict status reply -> Lua type conversion (1 ms) -[ok]: EVAL - Redict error reply -> Lua type conversion (1 ms) +[ok]: EVAL - Redict error reply -> Lua type conversion (3 ms) [ok]: EVAL - Redict nil bulk reply -> Lua type conversion (1 ms) [ok]: EVAL - Is the Lua client using the currently selected DB? (2 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 blpop command (2 ms) +[ok]: EVAL - Scripts do not block on brpop command (2 ms) [ok]: EVAL - Scripts do not block on brpoplpush command (2 ms) -[ok]: EVAL - Scripts do not block on blmove command (1 ms) -[ok]: EVAL - Scripts do not block on bzpopmin command (1 ms) -[ok]: EVAL - Scripts do not block on bzpopmax command (1 ms) +[ok]: EVAL - Scripts do not block on blmove command (2 ms) +[ok]: EVAL - Scripts do not block on bzpopmin command (2 ms) +[ok]: EVAL - Scripts do not block on bzpopmax command (2 ms) [ok]: EVAL - Scripts do not block on wait (1 ms) [ok]: EVAL - Scripts do not block on waitaof (1 ms) -[ok]: EVAL - Scripts do not block on XREAD with BLOCK option (2 ms) -[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (1 ms) -[ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (2 ms) -[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option -- non empty stream (1 ms) +[ok]: EVAL - Scripts do not block on XREAD with BLOCK option (3 ms) +[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (2 ms) +[ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (3 ms) +[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option -- non empty stream (2 ms) [ok]: EVAL - Scripts can run non-deterministic commands (1 ms) [ok]: EVAL - No arguments to redict.call/pcall is considered an error (1 ms) [ok]: EVAL - redict.call variant raises a Lua error on Redict cmd error (1) (1 ms) [ok]: EVAL - redict.call variant raises a Lua error on Redict cmd error (1) (1 ms) -[ok]: EVAL - redict.call variant raises a Lua error on Redict cmd error (1) (1 ms) +[ok]: EVAL - redict.call variant raises a Lua error on Redict cmd error (1) (2 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 (1 ms) -[ok]: EVAL - cmsgpack can pack double? (0 ms) +[ok]: EVAL - JSON numeric decoding (2 ms) +[ok]: EVAL - JSON string decoding (2 ms) +[ok]: EVAL - JSON smoke test (2 ms) +[ok]: EVAL - cmsgpack can pack double? (1 ms) [ok]: EVAL - cmsgpack can pack negative int64? (1 ms) -[ok]: EVAL - cmsgpack pack/unpack smoke test (443 ms) -[ok]: EVAL - cmsgpack can pack and unpack circular references? (3 ms) +[ok]: EVAL - cmsgpack pack/unpack smoke test (655 ms) +[ok]: EVAL - cmsgpack can pack and unpack circular references? (2 ms) [ok]: EVAL - Numerical sanity check from bitop (2 ms) [ok]: EVAL - Verify minimal bitop functionality (1 ms) [ok]: EVAL - Able to parse trailing comments (1 ms) [ok]: EVAL_RO - Successful case (2 ms) -[ok]: EVAL_RO - Cannot run write commands (1 ms) +[ok]: EVAL_RO - Cannot run write commands (2 ms) +[ok]: SCRIPTING FLUSH - is able to clear the scripts cache? (50 ms) +[ok]: SCRIPTING FLUSH ASYNC (57 ms) +[ok]: SCRIPT EXISTS - can detect already defined scripts? (2 ms) +[ok]: SCRIPT LOAD - is able to register scripts in the scripting cache (2 ms) +[ok]: SORT is normally not alpha re-ordered for the scripting engine (3 ms) +[ok]: SORT BY output gets ordered for scripting (3 ms) +[ok]: SORT BY with GET gets ordered for scripting (2 ms) [ok]: redict.sha1hex() implementation (2 ms) -[ok]: Measures elapsed time os.clock() (1003 ms) +[ok]: Measures elapsed time os.clock() (1079 ms) [ok]: Prohibit dangerous lua methods in sandbox (2 ms) [ok]: Verify execution of prohibit dangerous Lua methods will fail (6 ms) -[ok]: Globals protection reading an undeclared global variable (1 ms) +[ok]: Globals protection reading an undeclared global variable (2 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 (4 ms) -[ok]: EVAL does not leak in the Lua stack (2458 ms) -[ok]: Call Redict command with many args from Lua (issue #1764) (3 ms) +[ok]: random numbers are random now (2 ms) +[ok]: Scripting engine PRNG can be seeded correctly (3 ms) +[ok]: EVAL does not leak in the Lua stack (2040 ms) +[ok]: SPOP: We can call scripts rewriting client->argv from Lua (204 ms) +[ok]: MGET: mget shouldn't be propagated in Lua (97 ms) +[ok]: EXPIRE: We can call scripts rewriting client->argv from Lua (103 ms) +=== (scripting) Starting server 127.0.0.1:21961 ok +[ok]: INCRBYFLOAT: We can call scripts expanding client->argv from Lua (663 ms) +[ok]: Call Redict command with many args from Lua (issue #1764) (4 ms) [ok]: Number conversion precision test (issue #1118) (1 ms) -[ok]: String containing number precision test (regression of issue #1118) (1 ms) +[ok]: String containing number precision test (regression of issue #1118) (2 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]: Scripts can handle commands with incorrect arity (2 ms) [ok]: Correct handling of reused argv (issue #1939) (1 ms) [ok]: Functions in the Redict 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 (3 ms) -[ok]: Script return recursive object (251 ms) -[ok]: Script check unpack with massive arguments (18 ms) +[ok]: Script with RESP3 map (11 ms) +[ok]: Script return recursive object (498 ms) +[ok]: Script check unpack with massive arguments (39 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 (4 ms) +[ok]: Binary code loading failed (1 ms) [ok]: Try trick global protection 1 (1 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 global protection 4 (1 ms) [ok]: Try trick readonly table on redict table (1 ms) [ok]: Try trick readonly table on json table (1 ms) [ok]: Try trick readonly table on cmsgpack table (1 ms) -[ok]: Try trick readonly table on bit table (0 ms) +[ok]: Try trick readonly table on bit table (1 ms) [ok]: Test loadfile are not available (1 ms) -[ok]: Test dofile are not available (1 ms) +[ok]: Test dofile are not available (6 ms) [ok]: Test print are not available (1 ms) -=== (scripting) Starting server 127.0.0.1:21951 ok -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (434 ms) -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (152 ms) -[ok]: Timedout script does not cause a false dead client (142 ms) -[ok]: Timedout script link is still usable after Lua returns (202 ms) -[ok]: Timedout scripts and unblocked command (498 ms) -[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (228 ms) - -===== Start of server log (pid 5751) ===== - -[err]: SHUTDOWN NOSAVE can kill a timedout script anyway in tests/unit/scripting.tcl -Expected 'BUSY Redict is busy running a script. You can only call FUNCTION KILL or SHUTDOWN NOSAVE.' to match '*connection refused*' (context: type eval line 8 cmd {assert_match {*connection refused*} $e} proc ::test) -### Starting server for test -5751:C 11 Jan 2025 23:07:21.841 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. -5751:C 11 Jan 2025 23:07:21.841 * oO0OoO0OoO0Oo Redict is starting oO0OoO0OoO0Oo -5751:C 11 Jan 2025 23:07:21.841 * Redict version=7.3.2, bits=32, commit=00000000, modified=0, pid=5751, just started -5751:C 11 Jan 2025 23:07:21.841 * Configuration loaded -5751:M 11 Jan 2025 23:07:21.842 * Increased maximum number of open files to 10032 (it was originally set to 1024). -5751:M 11 Jan 2025 23:07:21.843 * monotonic clock: POSIX clock_gettime -5751:M 11 Jan 2025 23:07:21.843 # Warning: 32 bit instance detected but no memory limit set. Setting 3 GB maxmemory limit with 'noeviction' policy now. -5751:M 11 Jan 2025 23:07:21.843 # Failed to write PID file: Permission denied - - ## - ######## Redict 7.3.2 (00000000/0) 32 bit - ################ - ######################## Running in standalone mode - ############################## Port: 21952 - ################################: PID: 5751 - #############################::::: - ##::::####################:::::::: - ##::::::::############:::::::::::: https://redict.io - ##:::::::::::+####+::::::::::::::: - ##:::::::::::::::::::::::::::::::: - ##:::::::::::::::::::::::::::::::: - ##::::::::::::::::::::::::::::::### - ####::::::::::::::::::::::::#### - #####:::::::::::::::::#### - ####::::::::::#### - ####::#### - #### - -5751:M 11 Jan 2025 23:07:21.848 * Server initialized -5751:M 11 Jan 2025 23:07:21.848 * Ready to accept connections tcp -5751:M 11 Jan 2025 23:07:21.848 * Ready to accept connections unix -5751:M 11 Jan 2025 23:07:21.848 * Ready to accept connections tls -5751:M 11 Jan 2025 23:07:21.947 - Accepted 127.0.0.1:44757 -5751:M 11 Jan 2025 23:07:21.977 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading -5751:M 11 Jan 2025 23:07:21.986 - Accepted 127.0.0.1:38683 -### Starting test Timedout read-only scripts can be killed by SCRIPT KILL in tests/unit/scripting.tcl -5751:M 11 Jan 2025 23:07:22.008 - Accepted 127.0.0.1:37063 -5751:M 11 Jan 2025 23:07:22.042 # Slow script detected: still in execution after 10 milliseconds. You can try killing the script using the FUNCTION KILL command. Script name is: test. -5751:M 11 Jan 2025 23:07:22.238 * Lua script killed by user with SCRIPT KILL. -### Starting test Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall in tests/unit/scripting.tcl -5751:M 11 Jan 2025 23:07:22.442 - Reading from client: Connection reset by peer -5751:M 11 Jan 2025 23:07:22.443 - Accepted 127.0.0.1:33189 -5751:M 11 Jan 2025 23:07:22.507 # Slow script detected: still in execution after 40 milliseconds. You can try killing the script using the FUNCTION KILL command. Script name is: test. -5751:M 11 Jan 2025 23:07:22.592 * Lua script killed by user with SCRIPT KILL. -5751:M 11 Jan 2025 23:07:22.592 * Lua script killed by user with SCRIPT KILL. -5751:M 11 Jan 2025 23:07:22.594 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading -### Starting test Timedout script does not cause a false dead client in tests/unit/scripting.tcl -5751:M 11 Jan 2025 23:07:22.595 - Accepted 127.0.0.1:40285 -5751:M 11 Jan 2025 23:07:22.657 # Slow script detected: still in execution after 38 milliseconds. You can try killing the script using the FUNCTION KILL command. Script name is: test. -5751:M 11 Jan 2025 23:07:22.734 * Lua script killed by user with SCRIPT KILL. -5751:M 11 Jan 2025 23:07:22.736 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading -### Starting test Timedout script link is still usable after Lua returns in tests/unit/scripting.tcl -5751:M 11 Jan 2025 23:07:22.776 # Slow script detected: still in execution after 38 milliseconds. You can try killing the script using the FUNCTION KILL command. Script name is: test. -### Starting test Timedout scripts and unblocked command in tests/unit/scripting.tcl -5751:M 11 Jan 2025 23:07:22.939 * Creating AOF incr file temp-appendonly.aof.incr on background rewrite -5751:M 11 Jan 2025 23:07:22.940 * Background append only file rewriting started by pid 5851 -5751:M 11 Jan 2025 23:07:22.944 - Accepted 127.0.0.1:39897 -5751:M 11 Jan 2025 23:07:22.966 - Accepted 127.0.0.1:34471 -5751:M 11 Jan 2025 23:07:22.988 - Accepted 127.0.0.1:44033 -5751:M 11 Jan 2025 23:07:23.235 # Slow script detected: still in execution after 220 milliseconds. You can try killing the script using the FUNCTION KILL command. Script name is: test. -5751:M 11 Jan 2025 23:07:23.435 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading -5751:M 11 Jan 2025 23:07:23.435 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading -5751:M 11 Jan 2025 23:07:23.435 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading -### Starting test Timedout scripts that modified data can't be killed by SCRIPT KILL in tests/unit/scripting.tcl -5751:M 11 Jan 2025 23:07:23.437 - Accepted 127.0.0.1:34199 -5751:M 11 Jan 2025 23:07:23.470 # Slow script detected: still in execution after 10 milliseconds. You can try killing the script using the FUNCTION KILL command. Script name is: test. -5851:C 11 Jan 2025 23:07:23.528 * Successfully created the temporary AOF base file temp-rewriteaof-bg-5851.aof -5851:C 11 Jan 2025 23:07:23.530 * Fork CoW for AOF rewrite: current 0 MB, peak 0 MB, average 0 MB -### Starting test SHUTDOWN NOSAVE can kill a timedout script anyway in tests/unit/scripting.tcl -5751:M 11 Jan 2025 23:07:23.666 * User requested shutdown... -5751:M 11 Jan 2025 23:07:23.666 # Writing initial AOF, can't exit. -5751:M 11 Jan 2025 23:07:23.666 # Errors trying to shut down the server. Check the logs for more information. -5751:M 11 Jan 2025 23:07:23.667 - Accepted 127.0.0.1:43153 -===== End of server log (pid 5751) ===== - - -===== Start of server stderr log (pid 5751) ===== - - -===== End of server stderr log (pid 5751) ===== - -Waiting for process 5751 to exit... -Waiting for process 5751 to exit... -Waiting for process 5751 to exit... -Waiting for process 5751 to exit... -Waiting for process 5751 to exit... -Waiting for process 5751 to exit... -Waiting for process 5751 to exit... -Waiting for process 5751 to exit... -Waiting for process 5751 to exit... -Forcing process 5751 to crash... -=== (scripting repl needs:debug external:skip) Starting server 127.0.0.1:21953 ok -=== () Starting server 127.0.0.1:21955 ok -[ok]: Before the replica connects we issue two EVAL commands (2 ms) -[ok]: Connect a replica to the master instance (106 ms) -[ok]: Replication of script multiple pushes to list with BLPOP (28 ms) -[ok]: Lua scripts using SELECT are replicated correctly (3 ms) -=== (scripting repl external:skip) Starting server 127.0.0.1:21957 ok -=== () Starting server 127.0.0.1:21959 ok -[ok]: Connect a replica to the master instance (105 ms) +=== (scripting) Starting server 127.0.0.1:21963 ok +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (492 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (201 ms) +[ok]: Timedout script does not cause a false dead client (219 ms) +[ok]: Timedout script link is still usable after Lua returns (301 ms) +[ok]: Timedout scripts and unblocked command (739 ms) +[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (254 ms) +[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (21 ms) +=== (scripting repl needs:debug external:skip) Starting server 127.0.0.1:21965 ok +=== () Starting server 127.0.0.1:21967 ok +[ok]: Before the replica connects we issue two EVAL commands (15 ms) +[ok]: Connect a replica to the master instance (110 ms) +[ok]: Now use EVALSHA against the master, with both SHAs (7 ms) +[ok]: 'x' should be '4' for EVALSHA being replicated by effects (1 ms) +[ok]: Replication of script multiple pushes to list with BLPOP (38 ms) +[ok]: EVALSHA replication when first call is readonly (4 ms) +[ok]: Lua scripts using SELECT are replicated correctly (5 ms) +=== (scripting repl external:skip) Starting server 127.0.0.1:21969 ok +=== () Starting server 127.0.0.1:21971 ok +[ok]: Connect a replica to the master instance (186 ms) [ok]: redict.replicate_commands() can be issued anywhere now (1 ms) [ok]: redict.set_repl() can be issued before replicate_commands() now (1 ms) -[ok]: redict.set_repl() don't accept invalid values (1 ms) -[ok]: Test selective replication of certain Redict commands from Lua (5 ms) +[ok]: redict.set_repl() don't accept invalid values (0 ms) +[ok]: Test selective replication of certain Redict commands from Lua (16 ms) [ok]: PRNG is seeded randomly for command replication (2 ms) -[ok]: Using side effects is not a problem with command replication (3 ms) -=== (scripting needs:debug) Starting server 127.0.0.1:21961 ok -[ok]: test RESP2/2 big number protocol parsing (1 ms) -[ok]: test RESP2/2 malformed big number protocol parsing (0 ms) -[ok]: test RESP2/2 map protocol parsing (1 ms) +[ok]: Using side effects is not a problem with command replication (7 ms) +=== (scripting external:skip) Starting server 127.0.0.1:21973 ok +=== (scripting needs:debug external:skip) Starting server 127.0.0.1:21975 ok +[ok]: Test scripting debug protocol parsing (4 ms) +[ok]: Test scripting debug lua stack overflow (43 ms) +=== (scripting external:skip) Starting server 127.0.0.1:21977 ok +[ok]: Lua scripts eviction does not generate many scripts (3046 ms) +[ok]: Lua scripts eviction is plain LRU (322 ms) +[ok]: Lua scripts eviction does not affect script load (823 ms) +=== (scripting needs:debug) Starting server 127.0.0.1:21979 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 (2 ms) [ok]: test RESP2/2 set protocol parsing (1 ms) [ok]: test RESP2/2 double protocol parsing (1 ms) -[ok]: test RESP2/2 null protocol parsing (1 ms) +[ok]: test RESP2/2 null protocol parsing (2 ms) [ok]: test RESP2/2 verbatim protocol parsing (1 ms) -[ok]: test RESP2/2 true protocol parsing (3 ms) +[ok]: test RESP2/2 true protocol parsing (1 ms) [ok]: test RESP2/2 false protocol parsing (1 ms) -[ok]: test RESP2/3 big number protocol parsing (0 ms) -[ok]: test RESP2/3 malformed big number protocol parsing (0 ms) -[ok]: test RESP2/3 map protocol parsing (1 ms) +[ok]: test RESP2/3 big number protocol parsing (1 ms) +[ok]: test RESP2/3 malformed big number protocol parsing (1 ms) +[ok]: test RESP2/3 map protocol parsing (2 ms) [ok]: test RESP2/3 set protocol parsing (1 ms) [ok]: test RESP2/3 double protocol parsing (1 ms) [ok]: test RESP2/3 null protocol parsing (1 ms) -[ok]: test RESP2/3 verbatim protocol parsing (1 ms) +[ok]: test RESP2/3 verbatim protocol parsing (2 ms) [ok]: test RESP2/3 true protocol parsing (1 ms) [ok]: test RESP2/3 false protocol parsing (1 ms) [ok]: test RESP3/2 big number protocol parsing (1 ms) -[ok]: test RESP3/2 malformed big number protocol parsing (1 ms) -[ok]: test RESP3/2 map protocol parsing (2 ms) -[ok]: test RESP3/2 set protocol parsing (1 ms) +[ok]: test RESP3/2 malformed big number protocol parsing (2 ms) +[ok]: test RESP3/2 map protocol parsing (1 ms) +[ok]: test RESP3/2 set protocol parsing (2 ms) [ok]: test RESP3/2 double protocol parsing (1 ms) [ok]: test RESP3/2 null protocol parsing (1 ms) [ok]: test RESP3/2 verbatim protocol parsing (1 ms) -[ok]: test RESP3/2 true protocol parsing (0 ms) -[ok]: test RESP3/2 false protocol parsing (0 ms) +[ok]: test RESP3/2 true protocol parsing (1 ms) +[ok]: test RESP3/2 false protocol parsing (2 ms) [ok]: test RESP3/3 big number protocol parsing (1 ms) [ok]: test RESP3/3 malformed big number protocol parsing (1 ms) [ok]: test RESP3/3 map protocol parsing (1 ms) [ok]: test RESP3/3 set protocol parsing (1 ms) [ok]: test RESP3/3 double protocol parsing (1 ms) -[ok]: test RESP3/3 null protocol parsing (2 ms) +[ok]: test RESP3/3 null protocol parsing (1 ms) [ok]: test RESP3/3 verbatim protocol parsing (1 ms) -[ok]: test RESP3/3 true protocol parsing (1 ms) +[ok]: test RESP3/3 true protocol parsing (2 ms) [ok]: test RESP3/3 false protocol parsing (1 ms) [ok]: test resp3 attribute protocol parsing (1 ms) [ok]: Script block the time during execution (12 ms) -[ok]: Script delete the expired key (4 ms) -[ok]: TIME command using cached time (11 ms) -[ok]: Script block the time in some expiration related commands (84 ms) -[ok]: RESTORE expired keys with expiration time (11 ms) -=== (scripting) Starting server 127.0.0.1:21963 ok -[ok]: Redis compatibility global exists (0 ms) -[ok]: Script - disallow write on OOM (1 ms) -[ok]: EVAL - Does Lua interpreter replies to our requests? (0 ms) -[ok]: EVAL - Return _G (0 ms) -[ok]: EVAL - Return table with a metatable that raise error (0 ms) -[ok]: EVAL - Return table with a metatable that call redict (0 ms) -[ok]: EVAL - Lua integer -> Redict protocol type conversion (0 ms) -[ok]: EVAL - Lua string -> Redict protocol type conversion (0 ms) -[ok]: EVAL - Lua true boolean -> Redict protocol type conversion (1 ms) -[ok]: EVAL - Lua false boolean -> Redict protocol type conversion (0 ms) -[ok]: EVAL - Lua status code reply -> Redict protocol type conversion (0 ms) -[ok]: EVAL - Lua error reply -> Redict protocol type conversion (0 ms) -[ok]: EVAL - Lua table -> Redict protocol type conversion (1 ms) -[ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (0 ms) -[ok]: EVAL - is Lua able to call Redict API? (1 ms) -[ok]: EVALSHA - Can we call a SHA1 if already defined? (0 ms) -[ok]: EVALSHA_RO - Can we call a SHA1 if already defined? (0 ms) -[ok]: EVALSHA - Can we call a SHA1 in uppercase? (0 ms) -[ok]: EVALSHA - Do we get an error on invalid SHA1? (1 ms) -[ok]: EVALSHA - Do we get an error on non defined SHA1? (0 ms) -[ok]: EVAL - Redict integer -> Lua type conversion (0 ms) -[ok]: EVAL - Lua number -> Redict integer conversion (0 ms) -[ok]: EVAL - Redict bulk -> Lua type conversion (1 ms) -[ok]: EVAL - Redict multi bulk -> Lua type conversion (2 ms) -[ok]: EVAL - Redict status reply -> Lua type conversion (0 ms) -[ok]: EVAL - Redict error reply -> Lua type conversion (1 ms) -[ok]: EVAL - Redict nil bulk reply -> Lua type conversion (1 ms) -[ok]: EVAL - Is the Lua client using the currently selected DB? (1 ms) -[ok]: EVAL - SELECT inside Lua should not affect the caller (1 ms) -[ok]: EVAL - Scripts do not block on blpop command (1 ms) -[ok]: EVAL - Scripts do not block on brpop command (1 ms) -[ok]: EVAL - Scripts do not block on brpoplpush command (1 ms) -[ok]: EVAL - Scripts do not block on blmove command (1 ms) -[ok]: EVAL - Scripts do not block on bzpopmin command (1 ms) -[ok]: EVAL - Scripts do not block on bzpopmax command (1 ms) -[ok]: EVAL - Scripts do not block on wait (1 ms) -[ok]: EVAL - Scripts do not block on waitaof (0 ms) -[ok]: EVAL - Scripts do not block on XREAD with BLOCK option (2 ms) -[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (0 ms) -[ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (1 ms) -[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option -- non empty stream (0 ms) -[ok]: EVAL - Scripts can run non-deterministic commands (0 ms) -[ok]: EVAL - No arguments to redict.call/pcall is considered an error (0 ms) -[ok]: EVAL - redict.call variant raises a Lua error on Redict cmd error (1) (0 ms) -[ok]: EVAL - redict.call variant raises a Lua error on Redict cmd error (1) (0 ms) -[ok]: EVAL - redict.call variant raises a Lua error on Redict cmd error (1) (1 ms) -[ignore]: EVAL - JSON string encoding a string larger than 2GB: large memory flag not provided -[ok]: EVAL - JSON numeric decoding (0 ms) -[ok]: EVAL - JSON string decoding (1 ms) -[ok]: EVAL - JSON smoke test (1 ms) -[ok]: EVAL - cmsgpack can pack double? (0 ms) -[ok]: EVAL - cmsgpack can pack negative int64? (1 ms) -[ok]: EVAL - cmsgpack pack/unpack smoke test (540 ms) -[ok]: EVAL - cmsgpack can pack and unpack circular references? (1 ms) -[ok]: EVAL - Numerical sanity check from bitop (0 ms) -[ok]: EVAL - Verify minimal bitop functionality (1 ms) -[ok]: EVAL - Able to parse trailing comments (0 ms) -[ok]: EVAL_RO - Successful case (1 ms) -[ok]: EVAL_RO - Cannot run write commands (0 ms) -[ok]: SCRIPTING FLUSH - is able to clear the scripts cache? (49 ms) -[ok]: SCRIPTING FLUSH ASYNC (26 ms) -[ok]: SCRIPT EXISTS - can detect already defined scripts? (0 ms) -[ok]: SCRIPT LOAD - is able to register scripts in the scripting cache (1 ms) -[ok]: SORT is normally not alpha re-ordered for the scripting engine (1 ms) -[ok]: SORT BY output gets ordered for scripting (2 ms) -[ok]: SORT BY with GET gets ordered for scripting (1 ms) -[ok]: redict.sha1hex() implementation (1 ms) -[ok]: Measures elapsed time os.clock() (1001 ms) -[ok]: Prohibit dangerous lua methods in sandbox (1 ms) -[ok]: Verify execution of prohibit dangerous Lua methods will fail (4 ms) -[ok]: Globals protection reading an undeclared global variable (1 ms) -[ok]: Globals protection setting an undeclared global* (1 ms) -[ok]: lua bit.tohex bug (2 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 (1643 ms) -[ok]: SPOP: We can call scripts rewriting client->argv from Lua (162 ms) -[ok]: MGET: mget shouldn't be propagated in Lua (98 ms) -[ok]: EXPIRE: We can call scripts rewriting client->argv from Lua (101 ms) -=== (scripting) Starting server 127.0.0.1:21965 ok -[ok]: INCRBYFLOAT: We can call scripts expanding client->argv from Lua (361 ms) -[ok]: Call Redict command with many args from Lua (issue #1764) (3 ms) -[ok]: Number conversion precision test (issue #1118) (1 ms) -[ok]: String containing number precision test (regression of issue #1118) (1 ms) -[ok]: Verify negative arg count is error instead of crash (issue #1842) (0 ms) -[ok]: Scripts can handle commands with incorrect arity (0 ms) -[ok]: Correct handling of reused argv (issue #1939) (0 ms) -[ok]: Functions in the Redict namespace are able to report errors (1 ms) -[ok]: CLUSTER RESET can not be invoke from within a script (0 ms) -[ok]: Script with RESP3 map (2 ms) -[ok]: Script return recursive object (279 ms) -[ok]: Script check unpack with massive arguments (19 ms) -[ok]: Script read key with expiration set (1 ms) -[ok]: Script del key with expiration set (1 ms) -[ok]: Script ACL check (2 ms) -[ok]: Binary code loading failed (0 ms) -[ok]: Try trick global protection 1 (0 ms) -[ok]: Try trick global protection 2 (1 ms) -[ok]: Try trick global protection 3 (1 ms) -[ok]: Try trick global protection 4 (0 ms) -[ok]: Try trick readonly table on redict 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]: Test loadfile 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:21967 ok -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (434 ms) -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (149 ms) -[ok]: Timedout script does not cause a false dead client (145 ms) -[ok]: Timedout script link is still usable after Lua returns (200 ms) -[ok]: Timedout scripts and unblocked command (695 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 (23 ms) -=== (scripting repl needs:debug external:skip) Starting server 127.0.0.1:21969 ok -=== () Starting server 127.0.0.1:21971 ok -[ok]: Before the replica connects we issue two EVAL commands (1 ms) -[ok]: Connect a replica to the master instance (105 ms) -[ok]: Now use EVALSHA against the master, with both SHAs (1 ms) -[ok]: 'x' should be '4' for EVALSHA being replicated by effects (1 ms) -[ok]: Replication of script multiple pushes to list with BLPOP (25 ms) -[ok]: EVALSHA replication when first call is readonly (1 ms) -[ok]: Lua scripts using SELECT are replicated correctly (2 ms) -=== (scripting repl external:skip) Starting server 127.0.0.1:21973 ok -=== () Starting server 127.0.0.1:21975 ok -[ok]: Connect a replica to the master instance (104 ms) -[ok]: redict.replicate_commands() can be issued anywhere now (1 ms) -[ok]: redict.set_repl() can be issued before replicate_commands() now (1 ms) -[ok]: redict.set_repl() don't accept invalid values (1 ms) -[ok]: Test selective replication of certain Redict commands from Lua (3 ms) -[ok]: PRNG is seeded randomly for command replication (1 ms) -[ok]: Using side effects is not a problem with command replication (1 ms) -=== (scripting external:skip) Starting server 127.0.0.1:21977 ok -=== (scripting needs:debug external:skip) Starting server 127.0.0.1:21979 ok -[ok]: Test scripting debug protocol parsing (4 ms) -[ok]: Test scripting debug lua stack overflow (24 ms) -=== (scripting external:skip) Starting server 127.0.0.1:21981 ok -[ok]: Lua scripts eviction does not generate many scripts (255 ms) -[ok]: Lua scripts eviction is plain LRU (128 ms) -[ok]: Lua scripts eviction does not affect script load (278 ms) -=== (scripting needs:debug) Starting server 127.0.0.1:21983 ok -[ok]: test RESP2/2 big number protocol parsing (0 ms) -[ok]: test RESP2/2 malformed big number protocol parsing (0 ms) -[ok]: test RESP2/2 map protocol parsing (1 ms) -[ok]: test RESP2/2 set protocol parsing (1 ms) -[ok]: test RESP2/2 double protocol parsing (0 ms) -[ok]: test RESP2/2 null protocol parsing (0 ms) -[ok]: test RESP2/2 verbatim protocol parsing (1 ms) -[ok]: test RESP2/2 true protocol parsing (0 ms) -[ok]: test RESP2/2 false protocol parsing (1 ms) -[ok]: test RESP2/3 big number protocol parsing (1 ms) -[ok]: test RESP2/3 malformed big number protocol parsing (0 ms) -[ok]: test RESP2/3 map protocol parsing (0 ms) -[ok]: test RESP2/3 set protocol parsing (1 ms) -[ok]: test RESP2/3 double protocol parsing (0 ms) -[ok]: test RESP2/3 null protocol parsing (1 ms) -[ok]: test RESP2/3 verbatim protocol parsing (0 ms) -[ok]: test RESP2/3 true protocol parsing (1 ms) -[ok]: test RESP2/3 false protocol parsing (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 RESP3/2 double protocol parsing (0 ms) -[ok]: test RESP3/2 null protocol parsing (0 ms) -[ok]: test RESP3/2 verbatim protocol parsing (1 ms) -[ok]: test RESP3/2 true protocol parsing (0 ms) -[ok]: test RESP3/2 false protocol parsing (1 ms) -[ok]: test RESP3/3 big number protocol parsing (0 ms) -[ok]: test RESP3/3 malformed big number protocol parsing (1 ms) -[ok]: test RESP3/3 map protocol parsing (0 ms) -[ok]: test RESP3/3 set protocol parsing (1 ms) -[ok]: test RESP3/3 double protocol parsing (0 ms) -[ok]: test RESP3/3 null protocol parsing (0 ms) -[ok]: test RESP3/3 verbatim protocol parsing (0 ms) -[ok]: test RESP3/3 true protocol parsing (0 ms) -[ok]: test RESP3/3 false protocol parsing (1 ms) -[ok]: test resp3 attribute protocol parsing (1 ms) -[ok]: Script block the time during execution (11 ms) -[ok]: Script delete the expired key (4 ms) -[ok]: TIME command using cached time (11 ms) -[ok]: Script block the time in some expiration related commands (83 ms) -[ok]: RESTORE expired keys with expiration time (11 ms) -=== (scripting) Starting server 127.0.0.1:21985 ok -[ok]: Shebang support for lua engine (1 ms) -[ok]: Unknown shebang option (1 ms) -[ok]: Unknown shebang flag (0 ms) -[ok]: allow-oom shebang flag (3 ms) -[ok]: no-writes shebang flag (1 ms) -=== (external:skip) Starting server 127.0.0.1:21987 ok -[ok]: no-writes shebang flag on replica (161 ms) -[ok]: not enough good replicas (3 ms) -=== (external:skip) Starting server 127.0.0.1:21989 ok -[ok]: not enough good replicas state change during long script (1066 ms) -[ok]: allow-stale shebang flag (7 ms) -[ok]: reject script do not cause a Lua stack leak (23 ms) -=== (scripting) Starting server 127.0.0.1:21991 ok -[ok]: Consistent eval error reporting (21 ms) -[ok]: LUA redict.error_reply API (1 ms) -[ok]: LUA redict.error_reply API with empty string (1 ms) -[ok]: LUA redict.status_reply API (1 ms) -[ok]: LUA test pcall (1 ms) -[ok]: LUA test pcall with error (0 ms) -[ok]: LUA test pcall with non string/integer arg (1 ms) -[ok]: LUA test trim string as expected (2 ms) -[57/91 done]: unit/scripting (35 seconds) +[ok]: Script delete the expired key (5 ms) +[ok]: TIME command using cached time (12 ms) +[ok]: Script block the time in some expiration related commands (89 ms) +[ok]: RESTORE expired keys with expiration time (15 ms) +=== (scripting) Starting server 127.0.0.1:21981 ok +[ok]: Shebang support for lua engine (15 ms) +[ok]: Unknown shebang option (7 ms) +[ok]: Unknown shebang flag (8 ms) +[ok]: allow-oom shebang flag (54 ms) +[ok]: no-writes shebang flag (2 ms) +=== (external:skip) Starting server 127.0.0.1:21983 ok +[ok]: no-writes shebang flag on replica (240 ms) +[ok]: not enough good replicas (6 ms) +=== (external:skip) Starting server 127.0.0.1:21985 ok +[ok]: not enough good replicas state change during long script (1351 ms) +[ok]: allow-stale shebang flag (11 ms) +[ok]: reject script do not cause a Lua stack leak (31 ms) +=== (scripting) Starting server 127.0.0.1:21987 ok +[ok]: Consistent eval error reporting (122 ms) +[ok]: LUA redict.error_reply API (7 ms) +[ok]: LUA redict.error_reply API with empty string (14 ms) +[ok]: LUA redict.status_reply API (2 ms) +[ok]: LUA test pcall (4 ms) +[ok]: LUA test pcall with error (3 ms) +[ok]: LUA test pcall with non string/integer arg (10 ms) +[ok]: LUA test trim string as expected (5 ms) +[57/91 done]: unit/scripting (36 seconds) Testing unit/functions -=== (scripting) Starting server 127.0.0.1:21993 ok -[ok]: FUNCTION - Basic usage (1 ms) -[ok]: FUNCTION - Load with unknown argument (1 ms) -[ok]: FUNCTION - Create an already exiting library raise error (0 ms) +=== (scripting) Starting server 127.0.0.1:21989 ok +[ok]: FUNCTION - Basic usage (3 ms) +[ok]: FUNCTION - Load with unknown argument (2 ms) +[ok]: FUNCTION - Create an already exiting library raise error (1 ms) [ok]: FUNCTION - Create an already exiting library raise error (case insensitive) (1 ms) -[ok]: FUNCTION - Create a library with wrong name format (0 ms) +[ok]: FUNCTION - Create a library with wrong name format (2 ms) [ok]: FUNCTION - Create library with unexisting engine (1 ms) -[ok]: FUNCTION - Test uncompiled script (0 ms) -[ok]: FUNCTION - test replace argument (1 ms) +[ok]: FUNCTION - Test uncompiled script (1 ms) +[ok]: FUNCTION - test replace argument (5 ms) [ok]: FUNCTION - test function case insensitive (0 ms) -[ok]: FUNCTION - test replace argument with failure keeps old libraries (1 ms) -[ok]: FUNCTION - test function delete (1 ms) -[ok]: FUNCTION - test fcall bad arguments (0 ms) -[ok]: FUNCTION - test fcall bad number of keys arguments (0 ms) -[ok]: FUNCTION - test fcall negative number of keys (0 ms) -[ok]: FUNCTION - test delete on not exiting library (1 ms) -[ok]: FUNCTION - test function kill when function is not running (0 ms) -[ok]: FUNCTION - test wrong subcommand (1 ms) +[ok]: FUNCTION - test replace argument with failure keeps old libraries (4 ms) +[ok]: FUNCTION - test function delete (2 ms) +[ok]: FUNCTION - test fcall bad arguments (2 ms) +[ok]: FUNCTION - test fcall bad number of keys arguments (2 ms) +[ok]: FUNCTION - test fcall negative number of keys (2 ms) +[ok]: FUNCTION - test delete on not exiting library (2 ms) +[ok]: FUNCTION - test function kill when function is not running (1 ms) +[ok]: FUNCTION - test wrong subcommand (3 ms) [ok]: FUNCTION - test loading from rdb (16 ms) -[ok]: FUNCTION - test debug reload different options (15 ms) -[ok]: FUNCTION - test debug reload with nosave and noflush (11 ms) -[ok]: FUNCTION - test flushall and flushdb do not clean functions (1 ms) -[ok]: FUNCTION - test function dump and restore (2 ms) -[ok]: FUNCTION - test function dump and restore with flush argument (1 ms) -[ok]: FUNCTION - test function dump and restore with append argument (3 ms) -[ok]: FUNCTION - test function dump and restore with replace argument (3 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 (1 ms) -[ok]: FUNCTION - test fcall_ro with write command (1 ms) -[ok]: FUNCTION - test fcall_ro with read only commands (1 ms) +[ok]: FUNCTION - test debug reload different options (32 ms) +[ok]: FUNCTION - test debug reload with nosave and noflush (28 ms) +[ok]: FUNCTION - test flushall and flushdb do not clean functions (3 ms) +[ok]: FUNCTION - test function dump and restore (10 ms) +[ok]: FUNCTION - test function dump and restore with flush argument (3 ms) +[ok]: FUNCTION - test function dump and restore with append argument (10 ms) +[ok]: FUNCTION - test function dump and restore with replace argument (7 ms) +[ok]: FUNCTION - test function restore with bad payload do not drop existing functions (7 ms) +[ok]: FUNCTION - test function restore with wrong number of arguments (0 ms) +[ok]: FUNCTION - test fcall_ro with write command (2 ms) +[ok]: FUNCTION - test fcall_ro with read only commands (4 ms) [ok]: FUNCTION - test keys and argv (1 ms) -[ok]: FUNCTION - test command get keys on fcall (0 ms) -[ok]: FUNCTION - test command get keys on fcall_ro (1 ms) -[ok]: FUNCTION - test function kill (431 ms) -[ok]: FUNCTION - test script kill not working on function (430 ms) -[ok]: FUNCTION - test function kill not working on eval (430 ms) -[ok]: FUNCTION - test function flush (4 ms) -[ok]: FUNCTION - test function wrong argument (1 ms) -=== (scripting repl external:skip) Starting server 127.0.0.1:21995 ok -=== () Starting server 127.0.0.1:21997 ok -[ok]: Connect a replica to the master instance (104 ms) -[ok]: FUNCTION - creation is replicated to replica (2 ms) -[ok]: FUNCTION - call on replica (0 ms) -[ok]: FUNCTION - restore is replicated to replica (2 ms) +[ok]: FUNCTION - test command get keys on fcall (5 ms) +[ok]: FUNCTION - test command get keys on fcall_ro (0 ms) +[ok]: FUNCTION - test function kill (452 ms) +[ok]: FUNCTION - test script kill not working on function (501 ms) +[ok]: FUNCTION - test function kill not working on eval (476 ms) +[ok]: FUNCTION - test function flush (58 ms) +[ok]: FUNCTION - test function wrong argument (9 ms) +=== (scripting repl external:skip) Starting server 127.0.0.1:21991 ok +=== () Starting server 127.0.0.1:21993 ok +[ok]: Connect a replica to the master instance (112 ms) +[ok]: FUNCTION - creation is replicated to replica (4 ms) +[ok]: FUNCTION - call on replica (5 ms) +[ok]: FUNCTION - restore is replicated to replica (9 ms) [ok]: FUNCTION - delete is replicated to replica (1 ms) -[ok]: FUNCTION - flush is replicated to replica (1 ms) -[ok]: Disconnecting the replica from master instance (105 ms) +[ok]: FUNCTION - flush is replicated to replica (3 ms) +[ok]: Disconnecting the replica from master instance (116 ms) [ok]: FUNCTION - test replication to replica on rdb phase (1 ms) [ok]: FUNCTION - test replication to replica on rdb phase info command (1 ms) [ok]: FUNCTION - create on read only replica (1 ms) -[ok]: FUNCTION - delete on read only replica (0 ms) -[ok]: FUNCTION - function effect is replicated to replica (1 ms) +[ok]: FUNCTION - delete on read only replica (2 ms) +[ok]: FUNCTION - function effect is replicated to replica (3 ms) [ok]: FUNCTION - modify key space of read only replica (0 ms) -=== () Starting server 127.0.0.1:21999 ok +=== () Starting server 127.0.0.1:21995 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 (364 ms) -=== (scripting) Starting server 127.0.0.1:22001 ok +Waiting for background AOF rewrite to finish... [ok]: FUNCTION can processes create, delete and flush commands in AOF when doing "debug loadaof" in read-only slaves (720 ms) +=== (scripting) Starting server 127.0.0.1:21997 ok [ok]: LIBRARIES - test shared function can access default globals (1 ms) -[ok]: LIBRARIES - usage and code sharing (2 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 - usage and code sharing (3 ms) +[ok]: LIBRARIES - test registration failure revert the entire load (3 ms) +[ok]: LIBRARIES - test registration function name collision (2 ms) +[ok]: LIBRARIES - test registration function name collision on same library (1 ms) +[ok]: LIBRARIES - test registration with no argument (2 ms) [ok]: LIBRARIES - test registration with only name (1 ms) -[ok]: LIBRARIES - test registration with to many arguments (0 ms) -[ok]: LIBRARIES - test registration with no string name (1 ms) +[ok]: LIBRARIES - test registration with to many arguments (1 ms) +[ok]: LIBRARIES - test registration with no string name (2 ms) [ok]: LIBRARIES - test registration with wrong name format (1 ms) -[ok]: LIBRARIES - test registration with empty name (0 ms) +[ok]: LIBRARIES - test registration with empty name (2 ms) [ok]: LIBRARIES - math.random from function load (1 ms) [ok]: LIBRARIES - redict.call from function load (1 ms) -[ok]: LIBRARIES - redict.setresp from function load (0 ms) -[ok]: LIBRARIES - redict.set_repl from function load (0 ms) +[ok]: LIBRARIES - redict.setresp from function load (1 ms) +[ok]: LIBRARIES - redict.set_repl from function load (2 ms) [ok]: LIBRARIES - redict.acl_check_cmd from function load (1 ms) -[ok]: LIBRARIES - malicious access test (2 ms) +[ok]: LIBRARIES - malicious access test (3 ms) [ok]: LIBRARIES - delete removed all functions on library (1 ms) -[ok]: LIBRARIES - register function inside a function (1 ms) +[ok]: LIBRARIES - register function inside a function (2 ms) [ok]: LIBRARIES - register library with no functions (1 ms) -[ok]: LIBRARIES - load timeout (503 ms) -[ok]: LIBRARIES - verify global protection on the load run (1 ms) +[ok]: LIBRARIES - load timeout (502 ms) +[ok]: LIBRARIES - verify global protection on the load run (2 ms) [ok]: LIBRARIES - named arguments (1 ms) [ok]: LIBRARIES - named arguments, bad function name (1 ms) -[ok]: LIBRARIES - named arguments, bad callback type (0 ms) +[ok]: LIBRARIES - named arguments, bad callback type (1 ms) [ok]: LIBRARIES - named arguments, bad description (1 ms) [ok]: LIBRARIES - named arguments, unknown argument (1 ms) -[ok]: LIBRARIES - named arguments, missing function name (0 ms) +[ok]: LIBRARIES - named arguments, missing function name (1 ms) [ok]: LIBRARIES - named arguments, missing callback (1 ms) -[ok]: FUNCTION - test function restore with function name collision (7 ms) -[ok]: FUNCTION - test function list with code (1 ms) -[ok]: FUNCTION - test function list with pattern (1 ms) -[ok]: FUNCTION - test function list wrong argument (0 ms) -[ok]: FUNCTION - test function list with bad argument to library name (0 ms) +[ok]: FUNCTION - test function restore with function name collision (10 ms) +[ok]: FUNCTION - test function list with code (2 ms) +[ok]: FUNCTION - test function list with pattern (2 ms) +[ok]: FUNCTION - test function list wrong argument (1 ms) +[ok]: FUNCTION - test function list with bad argument to library name (1 ms) [ok]: FUNCTION - test function list withcode multiple times (0 ms) [ok]: FUNCTION - test function list libraryname multiple times (1 ms) -[ok]: FUNCTION - verify OOM on function load and function restore (2 ms) -[ok]: FUNCTION - verify allow-omm allows running any command (2 ms) -=== (scripting) Starting server 127.0.0.1:22003 ok -[ok]: FUNCTION - wrong flags type named arguments (0 ms) -[ok]: FUNCTION - wrong flag type (0 ms) -[ok]: FUNCTION - unknown flag (2 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 - redict version api (2 ms) -[ok]: FUNCTION - legacy redis version is hard-coded to 7.2.4 (1 ms) -[ok]: FUNCTION - function stats (2 ms) -[ok]: FUNCTION - function stats reloaded correctly from rdb (36 ms) -[ok]: FUNCTION - function stats delete library (1 ms) -[ok]: FUNCTION - test function stats on loading failure (2 ms) -[ok]: FUNCTION - function stats cleaned after flush (1 ms) -[ok]: FUNCTION - function test empty engine (1 ms) -[ok]: FUNCTION - function test unknown metadata value (1 ms) +[ok]: FUNCTION - verify OOM on function load and function restore (6 ms) +[ok]: FUNCTION - verify allow-omm allows running any command (3 ms) +=== (scripting) Starting server 127.0.0.1:21999 ok +[ok]: FUNCTION - wrong flags type named arguments (2 ms) +[ok]: FUNCTION - wrong flag type (2 ms) +[ok]: FUNCTION - unknown flag (1 ms) +[ok]: FUNCTION - write script on fcall_ro (2 ms) +[ok]: FUNCTION - write script with no-writes flag (2 ms) +[ok]: FUNCTION - deny oom (3 ms) +[ok]: FUNCTION - deny oom on no-writes function (7 ms) +[ok]: FUNCTION - allow stale (7 ms) +[ok]: FUNCTION - redict version api (3 ms) +[ok]: FUNCTION - legacy redis version is hard-coded to 7.2.4 (3 ms) +[ok]: FUNCTION - function stats (3 ms) +[ok]: FUNCTION - function stats reloaded correctly from rdb (23 ms) +[ok]: FUNCTION - function stats delete library (2 ms) +[ok]: FUNCTION - test function stats on loading failure (3 ms) +[ok]: FUNCTION - function stats cleaned after flush (2 ms) +[ok]: FUNCTION - function test empty engine (2 ms) +[ok]: FUNCTION - function test unknown metadata value (2 ms) [ok]: FUNCTION - function test no name (1 ms) -[ok]: FUNCTION - function test multiple names (0 ms) +[ok]: FUNCTION - function test multiple names (2 ms) [ok]: FUNCTION - function test name with quotes (1 ms) -[ok]: FUNCTION - trick global protection 1 (1 ms) -[ok]: FUNCTION - test getmetatable on script load (1 ms) -[58/91 done]: unit/functions (4 seconds) +[ok]: FUNCTION - trick global protection 1 (2 ms) +[ok]: FUNCTION - test getmetatable on script load (2 ms) +[58/91 done]: unit/functions (5 seconds) Testing unit/maxmemory -=== (maxmemory external:skip) Starting server 127.0.0.1:22005 ok -evicted keys: 10 +=== (maxmemory external:skip) Starting server 127.0.0.1:22001 ok +evicted keys: 14 evicted clients: 0 -dbsize: 40 -[ok]: eviction due to output buffers of many MGET clients, client eviction: false (964 ms) -evicted keys: 32 +dbsize: 36 +[ok]: eviction due to output buffers of many MGET clients, client eviction: false (2342 ms) +evicted keys: 31 evicted clients: 0 -dbsize: 17 -[ok]: eviction due to input buffer of a dead client, client eviction: false (1461 ms) -evicted keys: 11 +dbsize: 19 +[ok]: eviction due to input buffer of a dead client, client eviction: false (2676 ms) +evicted keys: 3 evicted clients: 0 -dbsize: 39 -[ok]: eviction due to output buffers of pubsub, client eviction: false (1481 ms) +dbsize: 47 +[ok]: eviction due to output buffers of pubsub, client eviction: false (2854 ms) evicted keys: 0 -evicted clients: 5 +evicted clients: 7 dbsize: 50 -[ok]: eviction due to output buffers of many MGET clients, client eviction: true (1002 ms) +[ok]: eviction due to output buffers of many MGET clients, client eviction: true (2441 ms) evicted keys: 0 evicted clients: 19 dbsize: 50 -[ok]: eviction due to input buffer of a dead client, client eviction: true (1483 ms) +[ok]: eviction due to input buffer of a dead client, client eviction: true (3200 ms) evicted keys: 0 -evicted clients: 7 +evicted clients: 4 dbsize: 50 -[ok]: eviction due to output buffers of pubsub, client eviction: true (1641 ms) -=== (maxmemory external:skip) Starting server 127.0.0.1:22007 ok -[ok]: Without maxmemory small integers are shared (2 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) (626 ms) -[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lru) (1032 ms) -[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lfu) (1015 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-lru) (1074 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-lfu) (979 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-random) (1038 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-ttl) (1087 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-random) (1454 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-lru) (1328 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-lru) (1452 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-random) (1387 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-ttl) (1445 ms) -[ok]: maxmemory - policy volatile-lru should only remove volatile keys. (1204 ms) -[ok]: maxmemory - policy volatile-lfu should only remove volatile keys. (1345 ms) -[ok]: maxmemory - policy volatile-random should only remove volatile keys. (1355 ms) -[ok]: maxmemory - policy volatile-ttl should only remove volatile keys. (1468 ms) +[ok]: eviction due to output buffers of pubsub, client eviction: true (2907 ms) +=== (maxmemory external:skip) Starting server 127.0.0.1:22003 ok +[ok]: Without maxmemory small integers are shared (23 ms) +[ok]: With maxmemory and non-LRU policy integers are still shared (27 ms) +[ok]: With maxmemory and LRU policy integers are not shared (63 ms) +[ok]: maxmemory - is the memory limit honoured? (policy allkeys-random) (940 ms) +[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lru) (2049 ms) +[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lfu) (2753 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-lru) (2159 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-lfu) (2594 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-random) (2159 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-ttl) (2290 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-random) (3064 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-lru) (3637 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-lru) (3074 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-random) (3742 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-ttl) (3030 ms) +[ok]: maxmemory - policy volatile-lru should only remove volatile keys. (2825 ms) +[ok]: maxmemory - policy volatile-lfu should only remove volatile keys. (3228 ms) +[ok]: maxmemory - policy volatile-random should only remove volatile keys. (3254 ms) +[ok]: maxmemory - policy volatile-ttl should only remove volatile keys. (2760 ms) +=== (maxmemory external:skip) Starting server 127.0.0.1:22005 ok +=== () Starting server 127.0.0.1:22007 ok +[ok]: slave buffer are counted correctly (195292 ms) === (maxmemory external:skip) Starting server 127.0.0.1:22009 ok === () Starting server 127.0.0.1:22011 ok -[ok]: slave buffer are counted correctly (99941 ms) +[ok]: replica buffer don't induce eviction (56505 ms) === (maxmemory external:skip) Starting server 127.0.0.1:22013 ok -=== () Starting server 127.0.0.1:22015 ok -[ok]: replica buffer don't induce eviction (40784 ms) -=== (maxmemory external:skip) Starting server 127.0.0.1:22017 ok -[ok]: Don't rehash if used memory exceeds maxmemory after rehash (627 ms) -=== (maxmemory external:skip) Starting server 127.0.0.1:22019 ok +[ok]: Don't rehash if used memory exceeds maxmemory after rehash (1388 ms) +=== (maxmemory external:skip) Starting server 127.0.0.1:22015 ok evicted: 35 evicted: 35 -[ok]: client tracking don't cause eviction feedback loop (2249 ms) +[ok]: client tracking don't cause eviction feedback loop (3618 ms) +=== (maxmemory external:skip) Starting server 127.0.0.1:22017 ok +[ok]: propagation with eviction (862 ms) +=== (maxmemory external:skip) Starting server 127.0.0.1:22019 ok +[ok]: propagation with eviction in MULTI (1599 ms) === (maxmemory external:skip) Starting server 127.0.0.1:22021 ok -[ok]: propagation with eviction (288 ms) -=== (maxmemory external:skip) Starting server 127.0.0.1:22023 ok -[ok]: propagation with eviction in MULTI (272 ms) -=== (maxmemory external:skip) Starting server 127.0.0.1:22025 ok -[ok]: lru/lfu value of the key just added (92 ms) -[59/91 done]: unit/maxmemory (176 seconds) +[ok]: lru/lfu value of the key just added (27 ms) +[59/91 done]: unit/maxmemory (326 seconds) Testing unit/introspection -=== (introspection) Starting server 127.0.0.1:22027 ok -[ok]: PING (23 ms) -[ok]: CLIENT LIST (8 ms) -[ok]: CLIENT LIST with IDs (16 ms) +=== (introspection) Starting server 127.0.0.1:22023 ok +[ok]: PING (30 ms) +[ok]: CLIENT LIST (2 ms) +[ok]: CLIENT LIST with IDs (22 ms) [ok]: CLIENT INFO (4 ms) -[ok]: CLIENT KILL with illegal arguments (84 ms) -CLIENT KILL maxAGE will kill old clients test attempts: 1 -[ok]: CLIENT KILL maxAGE will kill old clients (6252 ms) -[ok]: CLIENT KILL SKIPME YES/NO will kill all clients (212 ms) -[ok]: CLIENT command unhappy path coverage (131 ms) -[ok]: CLIENT KILL close the client connection during bgsave (228 ms) -[ok]: CLIENT REPLY OFF/ON: disable all commands reply (96 ms) -[ok]: CLIENT REPLY SKIP: skip the next command reply (91 ms) -[ok]: CLIENT REPLY ON: unset SKIP flag (99 ms) -[ok]: MONITOR can log executed commands (59 ms) -[ok]: MONITOR can log commands issued by the scripting engine (51 ms) -[ok]: MONITOR can log commands issued by functions (59 ms) -[ok]: MONITOR supports redacting command arguments (95 ms) -[ok]: MONITOR correctly handles multi-exec cases (95 ms) -[ok]: MONITOR log blocked command only once (148 ms) -[ok]: CLIENT GETNAME should return NIL if name is not assigned (7 ms) -[ok]: CLIENT GETNAME check if name set correctly (16 ms) -[ok]: CLIENT LIST shows empty fields for unassigned names (8 ms) -[ok]: CLIENT SETNAME does not accept spaces (8 ms) -[ok]: CLIENT SETNAME can assign a name to this connection (16 ms) -[ok]: CLIENT SETNAME can change the name of an existing connection (16 ms) -[ok]: After CLIENT SETNAME, connection can still be closed (56 ms) -[ok]: CLIENT SETINFO can set a library name to this connection (24 ms) -[ok]: CLIENT SETINFO invalid args (40 ms) -[ok]: RESET does NOT clean library name (12 ms) -[ok]: CLIENT SETINFO can clear library name (12 ms) +[ok]: CLIENT KILL with illegal arguments (37 ms) +CLIENT KILL maxAGE will kill old clients test attempts: 0 +[ok]: CLIENT KILL maxAGE will kill old clients (2117 ms) +[ok]: CLIENT KILL SKIPME YES/NO will kill all clients (231 ms) +[ok]: CLIENT command unhappy path coverage (10 ms) +[ok]: CLIENT KILL close the client connection during bgsave (74 ms) +[ok]: CLIENT REPLY OFF/ON: disable all commands reply (130 ms) +[ok]: CLIENT REPLY SKIP: skip the next command reply (119 ms) +[ok]: CLIENT REPLY ON: unset SKIP flag (131 ms) +[ok]: MONITOR can log executed commands (96 ms) +[ok]: MONITOR can log commands issued by the scripting engine (76 ms) +[ok]: MONITOR can log commands issued by functions (45 ms) +[ok]: MONITOR supports redacting command arguments (49 ms) +[ok]: MONITOR correctly handles multi-exec cases (45 ms) +[ok]: MONITOR log blocked command only once (125 ms) +[ok]: CLIENT GETNAME should return NIL if name is not assigned (1 ms) +[ok]: CLIENT GETNAME check if name set correctly (2 ms) +[ok]: CLIENT LIST shows empty fields for unassigned names (4 ms) +[ok]: CLIENT SETNAME does not accept spaces (2 ms) +[ok]: CLIENT SETNAME can assign a name to this connection (1 ms) +[ok]: CLIENT SETNAME can change the name of an existing connection (2 ms) +[ok]: After CLIENT SETNAME, connection can still be closed (42 ms) +[ok]: CLIENT SETINFO can set a library name to this connection (2 ms) +[ok]: CLIENT SETINFO invalid args (4 ms) +[ok]: RESET does NOT clean library name (2 ms) +[ok]: CLIENT SETINFO can clear library name (2 ms) +=== () Starting server 127.0.0.1:22025 ok +=== () Starting server 127.0.0.1:22027 ok === () Starting server 127.0.0.1:22029 ok === () Starting server 127.0.0.1:22031 ok +[ok]: CONFIG save params special case handled properly (2692 ms) +[ok]: CONFIG sanity (363 ms) +[ok]: CONFIG REWRITE sanity (1451 ms) === () Starting server 127.0.0.1:22033 ok -=== () Starting server 127.0.0.1:22035 ok -[ok]: CONFIG save params special case handled properly (1940 ms) -[ok]: CONFIG sanity (490 ms) -[ok]: CONFIG REWRITE sanity (2014 ms) -=== () Starting server 127.0.0.1:22037 ok -[ok]: CONFIG REWRITE handles save and shutdown properly (1720 ms) -[ok]: CONFIG SET with multiple args (60 ms) -[ok]: CONFIG SET rollback on set error (68 ms) -dummy_accept: sock193db20 -[ok]: CONFIG SET rollback on apply error (136 ms) -[ok]: CONFIG SET duplicate configs (8 ms) -[ok]: CONFIG SET set immutable (8 ms) -[ok]: CONFIG GET hidden configs (20 ms) -[ok]: CONFIG GET multiple args (8 ms) -[ok]: redict-server command line arguments - error cases (455 ms) +[ok]: CONFIG REWRITE handles save and shutdown properly (2461 ms) +[ok]: CONFIG SET with multiple args (11 ms) +[ok]: CONFIG SET rollback on set error (5 ms) +dummy_accept: sock1b72fd0 +[ok]: CONFIG SET rollback on apply error (56 ms) +[ok]: CONFIG SET duplicate configs (1 ms) +[ok]: CONFIG SET set immutable (0 ms) +[ok]: CONFIG GET hidden configs (15 ms) +[ok]: CONFIG GET multiple args (2 ms) +[ok]: redict-server command line arguments - error cases (567 ms) +=== () Starting server 127.0.0.1:22036 ok +[ok]: redict-server command line arguments - allow passing option name and option value in the same arg (588 ms) +=== () Starting server 127.0.0.1:22038 ok +[ok]: redict-server command line arguments - wrong usage that we support anyway (561 ms) === () Starting server 127.0.0.1:22040 ok -[ok]: redict-server command line arguments - allow passing option name and option value in the same arg (476 ms) +[ok]: redict-server command line arguments - allow option value to use the `--` prefix (555 ms) === () Starting server 127.0.0.1:22042 ok -[ok]: redict-server command line arguments - wrong usage that we support anyway (480 ms) +[ok]: redict-server command line arguments - option name and option value in the same arg and `--` prefix (555 ms) === () Starting server 127.0.0.1:22044 ok -[ok]: redict-server command line arguments - allow option value to use the `--` prefix (468 ms) === () Starting server 127.0.0.1:22046 ok -[ok]: redict-server command line arguments - option name and option value in the same arg and `--` prefix (460 ms) === () Starting server 127.0.0.1:22048 ok === () Starting server 127.0.0.1:22050 ok === () Starting server 127.0.0.1:22052 ok +[ok]: redict-server command line arguments - save with empty input (2879 ms) === () Starting server 127.0.0.1:22054 ok -=== () Starting server 127.0.0.1:22056 ok -[ok]: redict-server command line arguments - save with empty input (2316 ms) -=== () Starting server 127.0.0.1:22058 ok -[ok]: redict-server command line arguments - take one bulk string with spaces for MULTI_ARG configs parsing (468 ms) -=== (introspection external:skip) Starting server 127.0.0.1:22060 ok -[ok]: cannot modify protected configuration - no (1 ms) -=== (introspection external:skip) Starting server 127.0.0.1:22062 ok -[ok]: cannot modify protected configuration - local (15 ms) -=== () Starting server 127.0.0.1:22064 ok -[ok]: config during loading (3288 ms) +[ok]: redict-server command line arguments - take one bulk string with spaces for MULTI_ARG configs parsing (571 ms) +=== (introspection external:skip) Starting server 127.0.0.1:22056 ok +[ok]: cannot modify protected configuration - no (14 ms) +=== (introspection external:skip) Starting server 127.0.0.1:22058 ok +[ok]: cannot modify protected configuration - local (31 ms) +Waiting for process 25908 to exit... +=== () Starting server 127.0.0.1:22060 ok +Waiting for process 26263 to exit... +Waiting for process 26263 to exit... +Waiting for process 26263 to exit... +Waiting for process 26263 to exit... +[ok]: config during loading (12760 ms) +=== (introspection) Starting server 127.0.0.1:22062 ok +[ok]: CONFIG REWRITE handles rename-command properly (928 ms) +=== (introspection) Starting server 127.0.0.1:22064 ok === (introspection) Starting server 127.0.0.1:22066 ok -[ok]: CONFIG REWRITE handles rename-command properly (796 ms) -=== (introspection) Starting server 127.0.0.1:22068 ok -=== (introspection) Starting server 127.0.0.1:22070 ok -[ok]: CONFIG REWRITE handles alias config properly (1584 ms) -[60/91 done]: unit/introspection (27 seconds) +[ok]: CONFIG REWRITE handles alias config properly (2285 ms) +[60/91 done]: unit/introspection (37 seconds) Testing unit/introspection-2 -=== (introspection) Starting server 127.0.0.1:22072 ok -[ok]: The microsecond part of the TIME command will not overflow (6 ms) -[ok]: TTL, TYPE and EXISTS do not alter the last access time of a key (3004 ms) -[ok]: TOUCH alters the last access time of a key (3008 ms) -[ok]: Operations in no-touch mode do not alter the last access time of a key (1112 ms) -[ok]: TOUCH returns the number of existing keys specified (1 ms) -[ok]: command stats for GEOADD (3 ms) -[ok]: errors stats for GEOADD (2 ms) -[ok]: command stats for EXPIRE (2 ms) -[ok]: command stats for BRPOP (3 ms) -[ok]: command stats for MULTI (5 ms) -[ok]: command stats for scripts (3 ms) -[ok]: COMMAND COUNT get total number of Redict commands (0 ms) -[ok]: COMMAND GETKEYS GET (0 ms) -[ok]: COMMAND GETKEYSANDFLAGS (2 ms) -[ok]: COMMAND GETKEYS MEMORY USAGE (0 ms) -[ok]: COMMAND GETKEYS XGROUP (0 ms) -[ok]: COMMAND GETKEYS EVAL with keys (0 ms) -[ok]: COMMAND GETKEYS EVAL without keys (1 ms) -[ok]: COMMAND GETKEYS LCS (0 ms) -[ok]: COMMAND GETKEYS MORE THAN 256 KEYS (6 ms) -[ok]: COMMAND LIST syntax error (2 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 (3 ms) -[ok]: COMMAND LIST FILTERBY MODULE against non existing module (1 ms) -[ok]: COMMAND INFO of invalid subcommands (1 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 (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 (1 ms) -[ok]: PING command will not be marked with movablekeys (1 ms) -[ok]: MEMORY command will not be marked with movablekeys (2 ms) -[ok]: MEMORY|USAGE command will not be marked with movablekeys (1 ms) -[ok]: RENAME command will not be marked with movablekeys (1 ms) -[ok]: GEORADIUS_RO command will not be marked with movablekeys (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 (1 ms) -[ok]: SORT command is marked with movablekeys (2 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 (2 ms) -[61/91 done]: unit/introspection-2 (7 seconds) +=== (introspection) Starting server 127.0.0.1:22068 ok +[ok]: The microsecond part of the TIME command will not overflow (10 ms) +[ok]: TTL, TYPE and EXISTS do not alter the last access time of a key (3026 ms) +[ok]: TOUCH alters the last access time of a key (3027 ms) +[ok]: Operations in no-touch mode do not alter the last access time of a key (1163 ms) +[ok]: TOUCH returns the number of existing keys specified (31 ms) +[ok]: command stats for GEOADD (36 ms) +[ok]: errors stats for GEOADD (36 ms) +[ok]: command stats for EXPIRE (36 ms) +[ok]: command stats for BRPOP (40 ms) +[ok]: command stats for MULTI (84 ms) +[ok]: command stats for scripts (48 ms) +[ok]: COMMAND COUNT get total number of Redict commands (3 ms) +[ok]: COMMAND GETKEYS GET (3 ms) +[ok]: COMMAND GETKEYSANDFLAGS (28 ms) +[ok]: COMMAND GETKEYS MEMORY USAGE (3 ms) +[ok]: COMMAND GETKEYS XGROUP (3 ms) +[ok]: COMMAND GETKEYS EVAL with keys (3 ms) +[ok]: COMMAND GETKEYS EVAL without keys (3 ms) +[ok]: COMMAND GETKEYS LCS (3 ms) +[ok]: COMMAND GETKEYS MORE THAN 256 KEYS (14 ms) +[ok]: COMMAND LIST syntax error (23 ms) +[ok]: COMMAND LIST WITHOUT FILTERBY (25 ms) +[ok]: COMMAND LIST FILTERBY ACLCAT against non existing category (5 ms) +[ok]: COMMAND LIST FILTERBY ACLCAT - list all commands/subcommands (4 ms) +[ok]: COMMAND LIST FILTERBY PATTERN - list all commands/subcommands (55 ms) +[ok]: COMMAND LIST FILTERBY MODULE against non existing module (3 ms) +[ok]: COMMAND INFO of invalid subcommands (11 ms) +[ok]: SET command will not be marked with movablekeys (4 ms) +[ok]: GET command will not be marked with movablekeys (7 ms) +[ok]: MSET command will not be marked with movablekeys (7 ms) +[ok]: BITFIELD command will not be marked with movablekeys (7 ms) +[ok]: LMOVE command will not be marked with movablekeys (8 ms) +[ok]: LPOP command will not be marked with movablekeys (7 ms) +[ok]: BLPOP command will not be marked with movablekeys (7 ms) +[ok]: PING command will not be marked with movablekeys (7 ms) +[ok]: MEMORY command will not be marked with movablekeys (6 ms) +[ok]: MEMORY|USAGE command will not be marked with movablekeys (6 ms) +[ok]: RENAME command will not be marked with movablekeys (8 ms) +[ok]: GEORADIUS_RO command will not be marked with movablekeys (7 ms) +[ok]: ZUNIONSTORE command is marked with movablekeys (8 ms) +[ok]: XREAD command is marked with movablekeys (7 ms) +[ok]: EVAL command is marked with movablekeys (7 ms) +[ok]: SORT command is marked with movablekeys (8 ms) +[ok]: SORT_RO command is marked with movablekeys (8 ms) +[ok]: MIGRATE command is marked with movablekeys (8 ms) +[ok]: GEORADIUS command is marked with movablekeys (8 ms) +[61/91 done]: unit/introspection-2 (8 seconds) Testing unit/limits -=== (limits network external:skip) Starting server 127.0.0.1:22074 ok -[ok]: Check if maxclients works refusing connections (1127 ms) +=== (limits network external:skip) Starting server 127.0.0.1:22070 ok +[ok]: Check if maxclients works refusing connections (1329 ms) [62/91 done]: unit/limits (2 seconds) Testing unit/obuf-limits -=== (obuf-limits external:skip logreqres:skip) Starting server 127.0.0.1:22076 ok -[ok]: CONFIG SET client-output-buffer-limit (5 ms) -[ok]: Client output buffer hard limit is enforced (12050 ms) -[ok]: Client output buffer soft limit is enforced if time is overreached (4807 ms) -[ok]: Client output buffer soft limit is not enforced too early and is enforced when no traffic (5945 ms) -[ok]: No response for single command if client output buffer hard limit is enforced (160 ms) -[ok]: No response for multi commands in pipeline if client output buffer limit is enforced (1089 ms) -[ok]: Execute transactions completely even if client output buffer limit is enforced (61 ms) -[ok]: Obuf limit, HRANDFIELD with huge count stopped mid-run (57 ms) -[ok]: Obuf limit, KEYS stopped mid-run (172 ms) -[63/91 done]: unit/obuf-limits (24 seconds) +=== (obuf-limits external:skip logreqres:skip) Starting server 127.0.0.1:22072 ok +[ok]: CONFIG SET client-output-buffer-limit (79 ms) +[ok]: Client output buffer hard limit is enforced (28245 ms) +[ok]: Client output buffer soft limit is enforced if time is overreached (6729 ms) +[ok]: Client output buffer soft limit is not enforced too early and is enforced when no traffic (7062 ms) +[ok]: No response for single command if client output buffer hard limit is enforced (244 ms) +[ok]: No response for multi commands in pipeline if client output buffer limit is enforced (1140 ms) +[ok]: Execute transactions completely even if client output buffer limit is enforced (146 ms) +[ok]: Obuf limit, HRANDFIELD with huge count stopped mid-run (97 ms) +[ok]: Obuf limit, KEYS stopped mid-run (492 ms) +[63/91 done]: unit/obuf-limits (45 seconds) Testing unit/bitops -=== (bitops) Starting server 127.0.0.1:22078 ok -[ok]: BITCOUNT against wrong type (2 ms) -[ok]: BITCOUNT returns 0 against non existing key (1 ms) -[ok]: BITCOUNT returns 0 with out of range indexes (1 ms) -[ok]: BITCOUNT returns 0 with negative indexes where start > end (1 ms) -[ok]: BITCOUNT against test vector #1 (1 ms) -[ok]: BITCOUNT against test vector #2 (1 ms) -[ok]: BITCOUNT against test vector #3 (1 ms) -[ok]: BITCOUNT against test vector #4 (1 ms) -[ok]: BITCOUNT against test vector #5 (1 ms) -[ok]: BITCOUNT fuzzing without start/end (504 ms) -[ok]: BITCOUNT fuzzing with start/end (893 ms) -[ok]: BITCOUNT with start, end (3 ms) -[ok]: BITCOUNT with illegal arguments (2 ms) -[ok]: BITCOUNT against non-integer value (1 ms) -[ok]: BITCOUNT regression test for github issue #582 (1 ms) -[ok]: BITCOUNT misaligned prefix (1 ms) -[ok]: BITCOUNT misaligned prefix + full words + remainder (1 ms) -[ok]: BITOP NOT (empty string) (1 ms) -[ok]: BITOP NOT (known string) (1 ms) -[ok]: BITOP where dest and target are the same key (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 (2 ms) -[ok]: BITOP shorter keys are zero-padded to the key with max length (2 ms) -[ok]: BITOP and fuzzing (494 ms) -[ok]: BITOP or fuzzing (494 ms) -[ok]: BITOP xor fuzzing (408 ms) -[ok]: BITOP NOT fuzzing (50 ms) -[ok]: BITOP with integer encoded source objects (1 ms) -[ok]: BITOP with non string source key (2 ms) -[ok]: BITOP with empty string after non empty string (issue #529) (1 ms) -[ok]: BITPOS against wrong type (1 ms) -[ok]: BITPOS will illegal arguments (2 ms) -[ok]: BITPOS against non-integer value (2 ms) -[ok]: BITPOS bit=0 with empty key returns 0 (1 ms) -[ok]: BITPOS bit=1 with empty key returns -1 (1 ms) -[ok]: BITPOS bit=0 with string less than 1 word works (1 ms) -[ok]: BITPOS bit=1 with string less than 1 word works (1 ms) -[ok]: BITPOS bit=0 starting at unaligned address (1 ms) -[ok]: BITPOS bit=1 starting at unaligned address (0 ms) -[ok]: BITPOS bit=0 unaligned+full word+reminder (5 ms) -[ok]: BITPOS bit=1 unaligned+full word+reminder (5 ms) -[ok]: BITPOS bit=1 returns -1 if string is all 0 bits (11 ms) -[ok]: BITPOS bit=0 works with intervals (2 ms) -[ok]: BITPOS bit=1 works with intervals (3 ms) -[ok]: BITPOS bit=0 changes behavior if end is given (1 ms) -[ok]: SETBIT/BITFIELD only increase dirty when the value changed (8 ms) -[ok]: BITPOS bit=1 fuzzy testing using SETBIT (600 ms) -[ok]: BITPOS bit=0 fuzzy testing using SETBIT (676 ms) -[ok]: BITPOS/BITCOUNT fuzzy testing using SETBIT (732 ms) -=== (bitops) Starting server 127.0.0.1:22080 ok +=== (bitops) Starting server 127.0.0.1:22074 ok +[ok]: BITCOUNT against wrong type (6 ms) +[ok]: BITCOUNT returns 0 against non existing key (4 ms) +[ok]: BITCOUNT returns 0 with out of range indexes (3 ms) +[ok]: BITCOUNT returns 0 with negative indexes where start > end (5 ms) +[ok]: BITCOUNT against test vector #1 (3 ms) +[ok]: BITCOUNT against test vector #2 (3 ms) +[ok]: BITCOUNT against test vector #3 (2 ms) +[ok]: BITCOUNT against test vector #4 (4 ms) +[ok]: BITCOUNT against test vector #5 (4 ms) +[ok]: BITCOUNT fuzzing without start/end (1262 ms) +[ok]: BITCOUNT fuzzing with start/end (2030 ms) +[ok]: BITCOUNT with start, end (7 ms) +[ok]: BITCOUNT with illegal arguments (5 ms) +[ok]: BITCOUNT against non-integer value (3 ms) +[ok]: BITCOUNT regression test for github issue #582 (2 ms) +[ok]: BITCOUNT misaligned prefix (2 ms) +[ok]: BITCOUNT misaligned prefix + full words + remainder (2 ms) +[ok]: BITOP NOT (empty string) (3 ms) +[ok]: BITOP NOT (known string) (2 ms) +[ok]: BITOP where dest and target are the same key (2 ms) +[ok]: BITOP AND|OR|XOR don't change the string with single input key (4 ms) +[ok]: BITOP missing key is considered a stream of zero (4 ms) +[ok]: BITOP shorter keys are zero-padded to the key with max length (4 ms) +[ok]: BITOP and fuzzing (973 ms) +[ok]: BITOP or fuzzing (1074 ms) +[ok]: BITOP xor fuzzing (1128 ms) +[ok]: BITOP NOT fuzzing (132 ms) +[ok]: BITOP with integer encoded source objects (2 ms) +[ok]: BITOP with non string source key (3 ms) +[ok]: BITOP with empty string after non empty string (issue #529) (3 ms) +[ok]: BITPOS against wrong type (3 ms) +[ok]: BITPOS will illegal arguments (4 ms) +[ok]: BITPOS against non-integer value (8 ms) +[ok]: BITPOS bit=0 with empty key returns 0 (2 ms) +[ok]: BITPOS bit=1 with empty key returns -1 (2 ms) +[ok]: BITPOS bit=0 with string less than 1 word works (2 ms) +[ok]: BITPOS bit=1 with string less than 1 word works (2 ms) +[ok]: BITPOS bit=0 starting at unaligned address (2 ms) +[ok]: BITPOS bit=1 starting at unaligned address (2 ms) +[ok]: BITPOS bit=0 unaligned+full word+reminder (15 ms) +[ok]: BITPOS bit=1 unaligned+full word+reminder (15 ms) +[ok]: BITPOS bit=1 returns -1 if string is all 0 bits (29 ms) +[ok]: BITPOS bit=0 works with intervals (6 ms) +[ok]: BITPOS bit=1 works with intervals (7 ms) +[ok]: BITPOS bit=0 changes behavior if end is given (3 ms) +[ok]: SETBIT/BITFIELD only increase dirty when the value changed (18 ms) +[ok]: BITPOS bit=1 fuzzy testing using SETBIT (1473 ms) +[ok]: BITPOS bit=0 fuzzy testing using SETBIT (1578 ms) +[ok]: BITPOS/BITCOUNT fuzzy testing using SETBIT (1561 ms) +=== (bitops) Starting server 127.0.0.1:22076 ok [ignore]: BIT pos larger than UINT_MAX: large memory flag not provided [ignore]: SETBIT values larger than UINT32_MAX and lzf_compress/lzf_decompress correctly: large memory flag not provided -[64/91 done]: unit/bitops (6 seconds) +[64/91 done]: unit/bitops (12 seconds) Testing unit/bitfield -=== (bitops) Starting server 127.0.0.1:22082 ok -[ok]: BITFIELD signed SET and GET basics (2 ms) -[ok]: BITFIELD unsigned SET and GET basics (2 ms) -[ok]: BITFIELD signed SET and GET together (1 ms) -[ok]: BITFIELD unsigned with SET, GET and INCRBY arguments (1 ms) +=== (bitops) Starting server 127.0.0.1:22078 ok +[ok]: BITFIELD signed SET and GET basics (3 ms) +[ok]: BITFIELD unsigned SET and GET basics (3 ms) +[ok]: BITFIELD signed SET and GET together (2 ms) +[ok]: BITFIELD unsigned with SET, GET and INCRBY arguments (2 ms) [ok]: BITFIELD with only key as argument (1 ms) -[ok]: BITFIELD # form (2 ms) -[ok]: BITFIELD basic INCRBY form (1 ms) -[ok]: BITFIELD chaining of multiple commands (1 ms) -[ok]: BITFIELD unsigned overflow wrap (2 ms) -[ok]: BITFIELD unsigned overflow sat (2 ms) -[ok]: BITFIELD signed overflow wrap (2 ms) -[ok]: BITFIELD signed overflow sat (2 ms) -[ok]: BITFIELD overflow detection fuzzing (655 ms) -[ok]: BITFIELD overflow wrap fuzzing (925 ms) -[ok]: BITFIELD regression for #3221 (2 ms) -[ok]: BITFIELD regression for #3564 (6 ms) +[ok]: BITFIELD # form (3 ms) +[ok]: BITFIELD basic INCRBY form (3 ms) +[ok]: BITFIELD chaining of multiple commands (2 ms) +[ok]: BITFIELD unsigned overflow wrap (4 ms) +[ok]: BITFIELD unsigned overflow sat (4 ms) +[ok]: BITFIELD signed overflow wrap (4 ms) +[ok]: BITFIELD signed overflow sat (4 ms) +[ok]: BITFIELD overflow detection fuzzing (1649 ms) +[ok]: BITFIELD overflow wrap fuzzing (2402 ms) +[ok]: BITFIELD regression for #3221 (1 ms) +[ok]: BITFIELD regression for #3564 (12 ms) [ok]: BITFIELD_RO with only key as argument (1 ms) [ok]: BITFIELD_RO fails when write option is used (1 ms) -=== (repl external:skip) Starting server 127.0.0.1:22084 ok -=== () Starting server 127.0.0.1:22086 ok -[ok]: BITFIELD: setup slave (104 ms) -[ok]: BITFIELD: write on master, read on slave (4 ms) -[ok]: BITFIELD_RO with only key as argument on read-only replica (1 ms) -[ok]: BITFIELD_RO fails when write option is used on read-only replica (1 ms) -[65/91 done]: unit/bitfield (2 seconds) +=== (repl external:skip) Starting server 127.0.0.1:22080 ok +=== () Starting server 127.0.0.1:22082 ok +[ok]: BITFIELD: setup slave (113 ms) +[ok]: BITFIELD: write on master, read on slave (121 ms) +[ok]: BITFIELD_RO with only key as argument on read-only replica (4 ms) +[ok]: BITFIELD_RO fails when write option is used on read-only replica (7 ms) +[65/91 done]: unit/bitfield (6 seconds) Testing unit/geo -=== (geo) Starting server 127.0.0.1:22088 ok -[ok]: GEO with wrong type src key (5 ms) -[ok]: GEO with non existing src key (2 ms) -[ok]: GEO BYLONLAT with empty search (1 ms) -[ok]: GEO BYMEMBER with non existing member (2 ms) +=== (geo) Starting server 127.0.0.1:22084 ok +[ok]: GEO with wrong type src key (11 ms) +[ok]: GEO with non existing src key (5 ms) +[ok]: GEO BYLONLAT with empty search (5 ms) +[ok]: GEO BYMEMBER with non existing member (4 ms) [ok]: GEOADD create (1 ms) -[ok]: GEOADD update (0 ms) -[ok]: GEOADD update with CH option (1 ms) -[ok]: GEOADD update with NX option (1 ms) -[ok]: GEOADD update with XX option (1 ms) -[ok]: GEOADD update with CH NX option (0 ms) -[ok]: GEOADD update with CH XX option (0 ms) -[ok]: GEOADD update with XX NX option will return syntax error (0 ms) -[ok]: GEOADD update with invalid option (0 ms) +[ok]: GEOADD update (2 ms) +[ok]: GEOADD update with CH option (4 ms) +[ok]: GEOADD update with NX option (2 ms) +[ok]: GEOADD update with XX option (3 ms) +[ok]: GEOADD update with CH NX option (1 ms) +[ok]: GEOADD update with CH XX option (1 ms) +[ok]: GEOADD update with XX NX option will return syntax error (1 ms) +[ok]: GEOADD update with invalid option (2 ms) [ok]: GEOADD invalid coordinates (1 ms) -[ok]: GEOADD multi add (0 ms) -[ok]: Check geoset values (1 ms) -[ok]: GEORADIUS simple (sorted) (1 ms) -[ok]: GEORADIUS_RO simple (sorted) (0 ms) -[ok]: GEOSEARCH simple (sorted) (1 ms) -[ok]: GEOSEARCH FROMLONLAT and FROMMEMBER cannot exist at the same time (0 ms) -[ok]: GEOSEARCH FROMLONLAT and FROMMEMBER one must exist (0 ms) -[ok]: GEOSEARCH BYRADIUS and BYBOX cannot exist at the same time (1 ms) -[ok]: GEOSEARCH BYRADIUS and BYBOX one must exist (0 ms) -[ok]: GEOSEARCH with STOREDIST option (0 ms) -[ok]: GEORADIUS withdist (sorted) (1 ms) -[ok]: GEOSEARCH withdist (sorted) (0 ms) -[ok]: GEORADIUS with COUNT (0 ms) -[ok]: GEORADIUS with multiple WITH* tokens (2 ms) -[ok]: GEORADIUS with ANY not sorted by default (0 ms) +[ok]: GEOADD multi add (1 ms) +[ok]: Check geoset values (2 ms) +[ok]: GEORADIUS simple (sorted) (4 ms) +[ok]: GEORADIUS_RO simple (sorted) (2 ms) +[ok]: GEOSEARCH simple (sorted) (2 ms) +[ok]: GEOSEARCH FROMLONLAT and FROMMEMBER cannot exist at the same time (1 ms) +[ok]: GEOSEARCH FROMLONLAT and FROMMEMBER one must exist (1 ms) +[ok]: GEOSEARCH BYRADIUS and BYBOX cannot exist at the same time (3 ms) +[ok]: GEOSEARCH BYRADIUS and BYBOX one must exist (1 ms) +[ok]: GEOSEARCH with STOREDIST option (1 ms) +[ok]: GEORADIUS withdist (sorted) (2 ms) +[ok]: GEOSEARCH withdist (sorted) (1 ms) +[ok]: GEORADIUS with COUNT (1 ms) +[ok]: GEORADIUS with multiple WITH* tokens (3 ms) +[ok]: GEORADIUS with ANY not sorted by default (2 ms) [ok]: GEORADIUS with ANY sorted by ASC (1 ms) -[ok]: GEORADIUS with ANY but no COUNT (0 ms) -[ok]: GEORADIUS with COUNT but missing integer argument (1 ms) -[ok]: GEORADIUS with COUNT DESC (0 ms) -[ok]: GEORADIUS HUGE, issue #2767 (1 ms) -[ok]: GEORADIUSBYMEMBER simple (sorted) (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 (1 ms) +[ok]: GEORADIUS with ANY but no COUNT (1 ms) +[ok]: GEORADIUS with COUNT but missing integer argument (2 ms) +[ok]: GEORADIUS with COUNT DESC (2 ms) +[ok]: GEORADIUS HUGE, issue #2767 (2 ms) +[ok]: GEORADIUSBYMEMBER simple (sorted) (2 ms) +[ok]: GEORADIUSBYMEMBER_RO simple (sorted) (2 ms) +[ok]: GEORADIUSBYMEMBER search areas contain satisfied points in oblique direction (6 ms) +[ok]: GEORADIUSBYMEMBER crossing pole search (3 ms) [ok]: GEOSEARCH FROMMEMBER simple (sorted) (1 ms) -[ok]: GEOSEARCH vs GEORADIUS (2 ms) -[ok]: GEOSEARCH non square, long and narrow (2 ms) -[ok]: GEOSEARCH corner point test (1 ms) -[ok]: GEORADIUSBYMEMBER withdist (sorted) (1 ms) -[ok]: GEOHASH is able to return geohash strings (1 ms) -[ok]: GEOHASH with only key as argument (1 ms) -[ok]: GEOPOS simple (2 ms) -[ok]: GEOPOS missing element (1 ms) +[ok]: GEOSEARCH vs GEORADIUS (6 ms) +[ok]: GEOSEARCH non square, long and narrow (5 ms) +[ok]: GEOSEARCH corner point test (3 ms) +[ok]: GEORADIUSBYMEMBER withdist (sorted) (2 ms) +[ok]: GEOHASH is able to return geohash strings (2 ms) +[ok]: GEOHASH with only key as argument (3 ms) +[ok]: GEOPOS simple (4 ms) +[ok]: GEOPOS missing element (2 ms) [ok]: GEOPOS with only key as argument (2 ms) -[ok]: GEODIST simple & unit (1 ms) -[ok]: GEODIST missing elements (2 ms) -[ok]: GEORADIUS STORE option: syntax error (1 ms) -[ok]: GEOSEARCHSTORE STORE option: syntax error (0 ms) -[ok]: GEORANGE STORE option: incompatible options (2 ms) -[ok]: GEORANGE STORE option: plain usage (2 ms) -[ok]: GEORADIUSBYMEMBER STORE/STOREDIST option: plain usage (2 ms) -[ok]: GEOSEARCHSTORE STORE option: plain usage (1 ms) -[ok]: GEORANGE STOREDIST option: plain usage (2 ms) -[ok]: GEOSEARCHSTORE STOREDIST option: plain usage (1 ms) -[ok]: GEORANGE STOREDIST option: COUNT ASC and DESC (2 ms) -[ok]: GEOSEARCH the box spans -180° or 180° (2 ms) -[ok]: GEOSEARCH with small distance (1 ms) -[ok]: GEOSEARCH fuzzy test - byradius (36761 ms) -[ok]: GEOSEARCH fuzzy test - bybox (25445 ms) -[ok]: GEOSEARCH box edges fuzzy test (123 ms) -[66/91 done]: unit/geo (63 seconds) +[ok]: GEODIST simple & unit (3 ms) +[ok]: GEODIST missing elements (3 ms) +[ok]: GEORADIUS STORE option: syntax error (3 ms) +[ok]: GEOSEARCHSTORE STORE option: syntax error (1 ms) +[ok]: GEORANGE STORE option: incompatible options (3 ms) +[ok]: GEORANGE STORE option: plain usage (3 ms) +[ok]: GEORADIUSBYMEMBER STORE/STOREDIST option: plain usage (5 ms) +[ok]: GEOSEARCHSTORE STORE option: plain usage (3 ms) +[ok]: GEORANGE STOREDIST option: plain usage (4 ms) +[ok]: GEOSEARCHSTORE STOREDIST option: plain usage (2 ms) +[ok]: GEORANGE STOREDIST option: COUNT ASC and DESC (5 ms) +[ok]: GEOSEARCH the box spans -180° or 180° (3 ms) +[ok]: GEOSEARCH with small distance (3 ms) +[ok]: GEOSEARCH fuzzy test - byradius (82177 ms) +[ok]: GEOSEARCH fuzzy test - bybox (56329 ms) +[ok]: GEOSEARCH box edges fuzzy test (353 ms) +[66/91 done]: unit/geo (140 seconds) Testing unit/memefficiency -=== (memefficiency external:skip) Starting server 127.0.0.1:22090 ok -[ok]: Memory efficiency with values in range 32 (1021 ms) -[ok]: Memory efficiency with values in range 64 (1028 ms) -[ok]: Memory efficiency with values in range 128 (1098 ms) -[ok]: Memory efficiency with values in range 1024 (1407 ms) -[ok]: Memory efficiency with values in range 16384 (3421 ms) -=== (defrag external:skip cluster) Starting server 127.0.0.1:22092 ok -=== (defrag external:skip standalone) Starting server 127.0.0.1:22094 ok -[67/91 done]: unit/memefficiency (10 seconds) +=== (memefficiency external:skip) Starting server 127.0.0.1:22086 ok +[ok]: Memory efficiency with values in range 32 (2539 ms) +[ok]: Memory efficiency with values in range 64 (2841 ms) +[ok]: Memory efficiency with values in range 128 (2559 ms) +[ok]: Memory efficiency with values in range 1024 (3005 ms) +[ok]: Memory efficiency with values in range 16384 (7847 ms) +=== (defrag external:skip cluster) Starting server 127.0.0.1:22088 ok +=== (defrag external:skip standalone) Starting server 127.0.0.1:22090 ok +[67/91 done]: unit/memefficiency (22 seconds) Testing unit/hyperloglog -=== (hll) Starting server 127.0.0.1:22096 ok -[ok]: HyperLogLog self test passes (1788 ms) -[ok]: PFADD without arguments creates an HLL value (1 ms) -[ok]: Approximated cardinality after creation is zero (1 ms) -[ok]: PFADD returns 1 when at least 1 reg was modified (0 ms) -[ok]: PFADD returns 0 when no reg was modified (0 ms) -[ok]: PFADD works with empty string (regression) (0 ms) -[ok]: PFCOUNT returns approximated cardinality of set (2 ms) -[ok]: HyperLogLogs are promote from sparse to dense (1162 ms) -[ok]: Change hll-sparse-max-bytes (1 ms) -[ok]: Hyperloglog promote to dense well in different hll-sparse-max-bytes (127 ms) -[ok]: HyperLogLog sparse encoding stress test (2291 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 dense HyperLogLogs are detected: Wrong length (1 ms) -[ok]: Fuzzing dense/sparse encoding: Redict should always detect errors (44703 ms) -[ok]: PFADD, PFCOUNT, PFMERGE type checking works (2 ms) -[ok]: PFMERGE results on the cardinality of union of sets (2 ms) -[ok]: PFMERGE on missing source keys will create an empty destkey (2 ms) -[ok]: PFMERGE with one empty input key, create an empty destkey (1 ms) -[ok]: PFMERGE with one non-empty input key, dest key is actually one of the source keys (1 ms) -[ok]: PFCOUNT multiple-keys merge returns cardinality of union #1 (11227 ms) -[ok]: PFCOUNT multiple-keys merge returns cardinality of union #2 (6104 ms) -[ok]: PFDEBUG GETREG returns the HyperLogLog raw registers (1955 ms) -[ok]: PFADD / PFCOUNT cache invalidation works (2 ms) -[68/91 done]: unit/hyperloglog (70 seconds) +=== (hll) Starting server 127.0.0.1:22092 ok +[ok]: HyperLogLog self test passes (2714 ms) +[ok]: PFADD without arguments creates an HLL value (11 ms) +[ok]: Approximated cardinality after creation is zero (4 ms) +[ok]: PFADD returns 1 when at least 1 reg was modified (3 ms) +[ok]: PFADD returns 0 when no reg was modified (4 ms) +[ok]: PFADD works with empty string (regression) (4 ms) +[ok]: PFCOUNT returns approximated cardinality of set (35 ms) +[ok]: HyperLogLogs are promote from sparse to dense (3555 ms) +[ok]: Change hll-sparse-max-bytes (3 ms) +[ok]: Hyperloglog promote to dense well in different hll-sparse-max-bytes (321 ms) +[ok]: HyperLogLog sparse encoding stress test (6228 ms) +[ok]: Corrupted sparse HyperLogLogs are detected: Additional at tail (3 ms) +[ok]: Corrupted sparse HyperLogLogs are detected: Broken magic (2 ms) +[ok]: Corrupted sparse HyperLogLogs are detected: Invalid encoding (6 ms) +[ok]: Corrupted dense HyperLogLogs are detected: Wrong length (2 ms) +[ok]: Fuzzing dense/sparse encoding: Redict should always detect errors (54793 ms) +[ok]: PFADD, PFCOUNT, PFMERGE type checking works (3 ms) +[ok]: PFMERGE results on the cardinality of union of sets (3 ms) +[ok]: PFMERGE on missing source keys will create an empty destkey (3 ms) +[ok]: PFMERGE with one empty input key, create an empty destkey (2 ms) +[ok]: PFMERGE with one non-empty input key, dest key is actually one of the source keys (2 ms) +[ok]: PFCOUNT multiple-keys merge returns cardinality of union #1 (19493 ms) +[ok]: PFCOUNT multiple-keys merge returns cardinality of union #2 (12075 ms) +[ok]: PFDEBUG GETREG returns the HyperLogLog raw registers (3247 ms) +[ok]: PFADD / PFCOUNT cache invalidation works (5 ms) +[68/91 done]: unit/hyperloglog (103 seconds) Testing unit/lazyfree -=== (lazyfree) Starting server 127.0.0.1:22098 ok -[ok]: UNLINK can reclaim memory in background (399 ms) -[ok]: FLUSHDB ASYNC can reclaim memory in background (462 ms) -[ok]: lazy free a stream with all types of metadata (271 ms) -[ok]: lazy free a stream with deleted cgroup (3 ms) -[69/91 done]: unit/lazyfree (1 seconds) +=== (lazyfree) Starting server 127.0.0.1:22094 ok +[ok]: UNLINK can reclaim memory in background (641 ms) +[ok]: FLUSHDB ASYNC can reclaim memory in background (701 ms) +[ok]: lazy free a stream with all types of metadata (487 ms) +[ok]: lazy free a stream with deleted cgroup (5 ms) +[69/91 done]: unit/lazyfree (2 seconds) Testing unit/wait -=== (wait network external:skip) Starting server 127.0.0.1:22100 ok -=== () Starting server 127.0.0.1:22102 ok -[ok]: Setup slave (103 ms) -[ok]: WAIT out of range timeout (milliseconds) (2 ms) -[ok]: WAIT should acknowledge 1 additional copy of the data (2 ms) -[ok]: WAIT should not acknowledge 2 additional copies of the data (1094 ms) -[ok]: WAIT should not acknowledge 1 additional copy if slave is blocked (1114 ms) -[ok]: WAIT implicitly blocks on client pause since ACKs aren't sent (1112 ms) -[ok]: WAIT replica multiple clients unblock - reuse last result (73 ms) -=== () Starting server 127.0.0.1:22104 ok -[ok]: WAITAOF local copy before fsync (71 ms) -[ok]: WAITAOF local copy everysec (101 ms) -[ok]: WAITAOF local copy with appendfsync always (10 ms) -[ok]: WAITAOF local wait and then stop aof (29 ms) +=== (wait network external:skip) Starting server 127.0.0.1:22096 ok +=== () Starting server 127.0.0.1:22098 ok +[ok]: Setup slave (110 ms) +[ok]: WAIT out of range timeout (milliseconds) (3 ms) +[ok]: WAIT should acknowledge 1 additional copy of the data (4 ms) +[ok]: WAIT should not acknowledge 2 additional copies of the data (1038 ms) +[ok]: WAIT should not acknowledge 1 additional copy if slave is blocked (1119 ms) +[ok]: WAIT implicitly blocks on client pause since ACKs aren't sent (1115 ms) +[ok]: WAIT replica multiple clients unblock - reuse last result (123 ms) +=== () Starting server 127.0.0.1:22100 ok +[ok]: WAITAOF local copy before fsync (64 ms) +[ok]: WAITAOF local copy everysec (102 ms) +[ok]: WAITAOF local copy with appendfsync always (9 ms) +[ok]: WAITAOF local wait and then stop aof (44 ms) [ok]: WAITAOF local on server with aof disabled (2 ms) -[ok]: WAITAOF local if AOFRW was postponed (280 ms) -=== () Starting server 127.0.0.1:22106 ok -[ok]: WAITAOF on demoted master gets unblocked with an error (26 ms) -[ok]: WAITAOF replica copy before fsync (79 ms) -[ok]: WAITAOF replica copy everysec (660 ms) +[ok]: WAITAOF local if AOFRW was postponed (392 ms) +=== () Starting server 127.0.0.1:22102 ok +[ok]: WAITAOF on demoted master gets unblocked with an error (39 ms) +[ok]: WAITAOF replica copy before fsync (86 ms) +[ok]: WAITAOF replica copy everysec (621 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec with AOFRW (1026 ms) +Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec with AOFRW (1037 ms) Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... @@ -5347,440 +5657,439 @@ Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec with slow AOFRW (2044 ms) - Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec->always with AOFRW (122 ms) -[ok]: WAITAOF replica copy appendfsync always (8 ms) -[ok]: WAITAOF replica copy if replica is blocked (81 ms) -[ok]: WAITAOF replica multiple clients unblock - reuse last result (82 ms) -[ok]: WAITAOF on promoted replica (2 ms) -[ok]: WAITAOF master that loses a replica and backlog is dropped (2012 ms) -[ok]: WAITAOF master without backlog, wait is released when the replica finishes full-sync (745 ms) -[ok]: WAITAOF master isn't configured to do AOF (1009 ms) - Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica isn't configured to do AOF (112 ms) +Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec with slow AOFRW (2183 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 (912 ms) +Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec->always with AOFRW (103 ms) +[ok]: WAITAOF replica copy appendfsync always (13 ms) +[ok]: WAITAOF replica copy if replica is blocked (207 ms) +[ok]: WAITAOF replica multiple clients unblock - reuse last result (133 ms) +[ok]: WAITAOF on promoted replica (3 ms) +[ok]: WAITAOF master that loses a replica and backlog is dropped (2016 ms) +[ok]: WAITAOF master without backlog, wait is released when the replica finishes full-sync (649 ms) +[ok]: WAITAOF master isn't configured to do AOF (1015 ms) + +Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica isn't configured to do AOF (68 ms) + +Waiting for background AOF rewrite to finish... [ok]: WAITAOF both local and replica got AOF enabled at runtime (966 ms) [ok]: WAITAOF master sends PING after last write (1212 ms) -[ok]: WAITAOF master client didn't send any write command (1227 ms) -[ok]: WAITAOF master client didn't send any command (1206 ms) +[ok]: WAITAOF master client didn't send any write command (1239 ms) +[ok]: WAITAOF master client didn't send any command (1208 ms) +=== () Starting server 127.0.0.1:22104 ok +=== () Starting server 127.0.0.1:22106 ok +[ok]: WAITAOF when replica switches between masters, fsync: no (3675 ms) === () Starting server 127.0.0.1:22108 ok === () Starting server 127.0.0.1:22110 ok -[ok]: WAITAOF when replica switches between masters, fsync: no (3592 ms) +[ok]: WAITAOF when replica switches between masters, fsync: everysec (2553 ms) === () Starting server 127.0.0.1:22112 ok === () Starting server 127.0.0.1:22114 ok -[ok]: WAITAOF when replica switches between masters, fsync: everysec (2495 ms) -=== () Starting server 127.0.0.1:22116 ok +[ok]: WAITAOF when replica switches between masters, fsync: always (1610 ms) +=== (failover external:skip) Starting server 127.0.0.1:22116 ok === () Starting server 127.0.0.1:22118 ok -[ok]: WAITAOF when replica switches between masters, fsync: always (1581 ms) -=== (failover external:skip) Starting server 127.0.0.1:22120 ok -=== () Starting server 127.0.0.1:22122 ok -=== () Starting server 127.0.0.1:22124 ok -[ok]: setup replication for following tests (105 ms) +=== () Starting server 127.0.0.1:22120 ok +[ok]: setup replication for following tests (112 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 (602 ms) -[70/91 done]: unit/wait (27 seconds) +Waiting for background AOF rewrite to finish... [ok]: WAIT and WAITAOF replica multiple clients unblock - reuse last result (583 ms) +[70/91 done]: unit/wait (28 seconds) Testing unit/pause -=== (pause network) Starting server 127.0.0.1:22126 ok -[ok]: Test read commands are not blocked by client pause (24 ms) -[ok]: Test old pause-all takes precedence over new pause-write (less restrictive) (289 ms) -[ok]: Test new pause time is smaller than old one, then old time preserved (125 ms) -[ok]: Test write commands are paused by RO (24 ms) -[ok]: Test special commands are paused by RO (48 ms) -[ok]: Test read/admin multi-execs are not blocked by pause RO (25 ms) -[ok]: Test write multi-execs are blocked by pause RO (24 ms) -[ok]: Test scripts are blocked by pause RO (47 ms) -[ok]: Test RO scripts are not blocked by pause RO (26 ms) -[ok]: Test read-only scripts in multi-exec are not blocked by pause RO (25 ms) -[ok]: Test write scripts in multi-exec are blocked by pause RO (46 ms) -[ok]: Test may-replicate commands are rejected in RO scripts (2 ms) -[ok]: Test multiple clients can be queued up and unblocked (68 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 (106 ms) -[ok]: Test that client pause starts at the end of a transaction (26 ms) -=== (needs:repl external:skip) Starting server 127.0.0.1:22128 ok -[ok]: Test when replica paused, offset would not grow (6 ms) -[ok]: Test replica offset would grow after unpause (2 ms) +=== (pause network) Starting server 127.0.0.1:22122 ok +[ok]: Test read commands are not blocked by client pause (39 ms) +[ok]: Test old pause-all takes precedence over new pause-write (less restrictive) (361 ms) +[ok]: Test new pause time is smaller than old one, then old time preserved (141 ms) +[ok]: Test write commands are paused by RO (39 ms) +[ok]: Test special commands are paused by RO (76 ms) +[ok]: Test read/admin multi-execs are not blocked by pause RO (41 ms) +[ok]: Test write multi-execs are blocked by pause RO (39 ms) +[ok]: Test scripts are blocked by pause RO (74 ms) +[ok]: Test RO scripts are not blocked by pause RO (42 ms) +[ok]: Test read-only scripts in multi-exec are not blocked by pause RO (40 ms) +[ok]: Test write scripts in multi-exec are blocked by pause RO (76 ms) +[ok]: Test may-replicate commands are rejected in RO scripts (4 ms) +[ok]: Test multiple clients can be queued up and unblocked (110 ms) +[ok]: Test clients with syntax errors will get responses immediately (2 ms) +[ok]: Test both active and passive expires are skipped during client pause (111 ms) +[ok]: Test that client pause starts at the end of a transaction (42 ms) +=== (needs:repl external:skip) Starting server 127.0.0.1:22124 ok +[ok]: Test when replica paused, offset would not grow (12 ms) +[ok]: Test replica offset would grow after unpause (5 ms) [71/91 done]: unit/pause (2 seconds) Testing unit/querybuf -=== (querybuf slow) Starting server 127.0.0.1:22130 ok -[ok]: query buffer resized correctly (2764 ms) -[ok]: query buffer resized correctly when not idle (104 ms) -[ok]: query buffer resized correctly with fat argv (2890 ms) +=== (querybuf slow) Starting server 127.0.0.1:22126 ok +[ok]: query buffer resized correctly (2426 ms) +[ok]: query buffer resized correctly when not idle (131 ms) +[ok]: query buffer resized correctly with fat argv (2864 ms) [72/91 done]: unit/querybuf (6 seconds) Testing unit/tls -=== (tls) Starting server 127.0.0.1:22132 ok -[ok]: TLS: Not accepting non-TLS connections on a TLS port (0 ms) -[ok]: TLS: Verify tls-auth-clients behaves as expected (46 ms) -[ok]: TLS: Verify tls-protocols behaves as expected (33 ms) -[ok]: TLS: Verify tls-ciphers behaves as expected (61 ms) -[ok]: TLS: Verify tls-prefer-server-ciphers behaves as expected (61 ms) -=== () Starting server 127.0.0.1:22134 ok -[ok]: TLS: Verify tls-cert-file is also used as a client cert if none specified (350 ms) -[ok]: TLS: switch between tcp and tls ports (50 ms) -[ok]: TLS: Working with an encrypted keyfile (30 ms) -[73/91 done]: unit/tls (0 seconds) +=== (tls) Starting server 127.0.0.1:22128 ok +[ok]: TLS: Not accepting non-TLS connections on a TLS port (2 ms) +[ok]: TLS: Verify tls-auth-clients behaves as expected (72 ms) +[ok]: TLS: Verify tls-protocols behaves as expected (51 ms) +[ok]: TLS: Verify tls-ciphers behaves as expected (97 ms) +[ok]: TLS: Verify tls-prefer-server-ciphers behaves as expected (94 ms) +=== () Starting server 127.0.0.1:22130 ok +[ok]: TLS: Verify tls-cert-file is also used as a client cert if none specified (390 ms) +[ok]: TLS: switch between tcp and tls ports (78 ms) +[ok]: TLS: Working with an encrypted keyfile (50 ms) +[73/91 done]: unit/tls (1 seconds) Testing unit/tracking -=== (tracking network logreqres:skip) Starting server 127.0.0.1:22136 ok +=== (tracking network logreqres:skip) Starting server 127.0.0.1:22132 ok [ok]: Clients are able to enable tracking and redirect it (1 ms) -[ok]: The other connection is able to get invalidations (3 ms) +[ok]: The other connection is able to get invalidations (4 ms) [ok]: The client is now able to disable tracking (2 ms) [ok]: Clients can enable the BCAST mode with the empty prefix (1 ms) [ok]: The connection gets invalidation messages about all the keys (1 ms) -[ok]: Clients can enable the BCAST mode with prefixes (3 ms) +[ok]: Clients can enable the BCAST mode with prefixes (5 ms) [ok]: Adding prefixes to BCAST mode works (2 ms) [ok]: Tracking NOLOOP mode in standard mode works (3 ms) -[ok]: Tracking NOLOOP mode in BCAST mode works (2 ms) -[ok]: Tracking gets notification of expired keys (1006 ms) -[ok]: Tracking gets notification of lazy expired keys (104 ms) -[ok]: HELLO 3 reply is correct (1 ms) -[ok]: HELLO without protover (3 ms) -[ok]: RESP3 based basic invalidation (2 ms) -[ok]: RESP3 tracking redirection (2 ms) -[ok]: Invalidations of previous keys can be redirected after switching to RESP3 (2 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 (3 ms) -[ok]: Tracking only occurs for scripts when a command calls a read-only command (5 ms) -[ok]: RESP3 Client gets tracking-redir-broken push message after cached key changed when rediretion client is terminated (25 ms) -[ok]: Different clients can redirect to the same connection (2 ms) -[ok]: Different clients using different protocols can track the same key (3 ms) -[ok]: No invalidation message when using OPTIN option (3 ms) -[ok]: Invalidation message sent when using OPTIN option with CLIENT CACHING yes (1 ms) -[ok]: Invalidation message sent when using OPTOUT option (2 ms) -[ok]: No invalidation message when using OPTOUT option with CLIENT CACHING no (2 ms) -[ok]: Able to redirect to a RESP3 client (3 ms) -[ok]: After switching from normal tracking to BCAST mode, no invalidation message is produced for pre-BCAST keys (3 ms) -[ok]: BCAST with prefix collisions throw errors (25 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 (3 ms) -[ok]: Tracking invalidation message of eviction keys should be before response (7 ms) -[ok]: Unblocked BLMOVE gets notification after response (2 ms) -[ok]: Tracking gets notification on tracking table key eviction (82 ms) -[ok]: Invalidation message received for flushall (50 ms) -[ok]: Invalidation message received for flushdb (49 ms) -[ok]: Test ASYNC flushall (52 ms) -[ok]: flushdb tracking invalidation message is not interleaved with transaction response (51 ms) -[ok]: Server is able to evacuate enough keys when num of keys surpasses limit by more than defined initial effort (317 ms) -[ok]: Tracking info is correct (55 ms) -[ok]: CLIENT GETREDIR provides correct client id (2 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking off (1 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on (0 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on with options (0 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optin (2 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optout (2 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking bcast mode (3 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking redir broken (49 ms) -[ok]: Regression test for #11715 (50 ms) -[ok]: RESP3 based basic invalidation with client reply off (49 ms) -[ok]: RESP2 based basic invalidation with client reply off (90 ms) -[ok]: RESP3 based basic redirect invalidation with client reply off (71 ms) -[ok]: RESP3 based basic tracking-redir-broken with client reply off (48 ms) -=== (tracking network) Starting server 127.0.0.1:22138 ok -[ok]: Coverage: Basic CLIENT CACHING (23 ms) -[ok]: Coverage: Basic CLIENT REPLY (1 ms) +[ok]: Tracking NOLOOP mode in BCAST mode works (3 ms) +[ok]: Tracking gets notification of expired keys (1007 ms) +[ok]: Tracking gets notification of lazy expired keys (207 ms) +[ok]: HELLO 3 reply is correct (2 ms) +[ok]: HELLO without protover (5 ms) +[ok]: RESP3 based basic invalidation (3 ms) +[ok]: RESP3 tracking redirection (3 ms) +[ok]: Invalidations of previous keys can be redirected after switching to RESP3 (4 ms) +[ok]: Invalidations of new keys can be redirected after switching to RESP3 (3 ms) +[ok]: Invalid keys should not be tracked for scripts in NOLOOP mode (5 ms) +[ok]: Tracking only occurs for scripts when a command calls a read-only command (8 ms) +[ok]: RESP3 Client gets tracking-redir-broken push message after cached key changed when rediretion client is terminated (39 ms) +[ok]: Different clients can redirect to the same connection (4 ms) +[ok]: Different clients using different protocols can track the same key (14 ms) +[ok]: No invalidation message when using OPTIN option (11 ms) +[ok]: Invalidation message sent when using OPTIN option with CLIENT CACHING yes (7 ms) +[ok]: Invalidation message sent when using OPTOUT option (7 ms) +[ok]: No invalidation message when using OPTOUT option with CLIENT CACHING no (8 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 (5 ms) +[ok]: BCAST with prefix collisions throw errors (39 ms) +[ok]: hdel deliver invalidate message after response in the same connection (5 ms) +[ok]: Tracking invalidation message is not interleaved with multiple keys response (119 ms) +[ok]: Tracking invalidation message is not interleaved with transaction response (5 ms) +[ok]: Tracking invalidation message of eviction keys should be before response (13 ms) +[ok]: Unblocked BLMOVE gets notification after response (5 ms) +[ok]: Tracking gets notification on tracking table key eviction (77 ms) +[ok]: Invalidation message received for flushall (76 ms) +[ok]: Invalidation message received for flushdb (76 ms) +[ok]: Test ASYNC flushall (79 ms) +[ok]: flushdb tracking invalidation message is not interleaved with transaction response (78 ms) +[ok]: Server is able to evacuate enough keys when num of keys surpasses limit by more than defined initial effort (429 ms) +[ok]: Tracking info is correct (81 ms) +[ok]: CLIENT GETREDIR provides correct client id (3 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking off (2 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on (1 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on with options (2 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optin (3 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optout (4 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking bcast mode (4 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking redir broken (79 ms) +[ok]: Regression test for #11715 (79 ms) +[ok]: RESP3 based basic invalidation with client reply off (76 ms) +[ok]: RESP2 based basic invalidation with client reply off (119 ms) +[ok]: RESP3 based basic redirect invalidation with client reply off (116 ms) +[ok]: RESP3 based basic tracking-redir-broken with client reply off (77 ms) +=== (tracking network) Starting server 127.0.0.1:22134 ok +[ok]: Coverage: Basic CLIENT CACHING (61 ms) +[ok]: Coverage: Basic CLIENT REPLY (2 ms) [ok]: Coverage: Basic CLIENT TRACKINGINFO (1 ms) -[ok]: Coverage: Basic CLIENT GETREDIR (0 ms) +[ok]: Coverage: Basic CLIENT GETREDIR (1 ms) [74/91 done]: unit/tracking (3 seconds) Testing unit/oom-score-adj -=== (oom-score-adj external:skip) Starting server 127.0.0.1:22140 ok -[ok]: CONFIG SET oom-score-adj works as expected (29 ms) -[ok]: CONFIG SET oom-score-adj handles configuration failures (3 ms) +=== (oom-score-adj external:skip) Starting server 127.0.0.1:22136 ok +[ok]: CONFIG SET oom-score-adj works as expected (61 ms) +[ok]: CONFIG SET oom-score-adj handles configuration failures (5 ms) [ok]: CONFIG SET oom-score-adj-values doesn't touch proc when disabled (2 ms) -[ok]: CONFIG SET oom score restored on disable (1 ms) +[ok]: CONFIG SET oom score restored on disable (3 ms) [ok]: CONFIG SET oom score relative and absolute (2 ms) [ok]: CONFIG SET out-of-range oom score (1 ms) [75/91 done]: unit/oom-score-adj (1 seconds) Testing unit/shutdown +=== (shutdown external:skip) Starting server 127.0.0.1:22138 ok +[ok]: Temp rdb will be deleted if we use bg_unlink when shutdown (171 ms) +=== (shutdown external:skip) Starting server 127.0.0.1:22140 ok +[ok]: SHUTDOWN ABORT can cancel SIGTERM (19 ms) +[ok]: Temp rdb will be deleted in signal handle (36 ms) === (shutdown external:skip) Starting server 127.0.0.1:22142 ok -[ok]: Temp rdb will be deleted if we use bg_unlink when shutdown (140 ms) +[ok]: RDB save will be failed in shutdown (12 ms) +[ok]: SHUTDOWN will abort if rdb save failed on signal (42 ms) +[ok]: SHUTDOWN will abort if rdb save failed on shutdown command (8 ms) +[ok]: SHUTDOWN can proceed if shutdown command was with nosave (7 ms) +[ok]: Clean up rdb same named folder (3 ms) === (shutdown external:skip) Starting server 127.0.0.1:22144 ok -[ok]: SHUTDOWN ABORT can cancel SIGTERM (17 ms) -[ok]: Temp rdb will be deleted in signal handle (53 ms) -=== (shutdown external:skip) Starting server 127.0.0.1:22146 ok -[ok]: RDB save will be failed in shutdown (7 ms) -[ok]: SHUTDOWN will abort if rdb save failed on signal (64 ms) -[ok]: SHUTDOWN will abort if rdb save failed on shutdown command (4 ms) -[ok]: SHUTDOWN can proceed if shutdown command was with nosave (5 ms) -[ok]: Clean up rdb same named folder (2 ms) -=== (shutdown external:skip) Starting server 127.0.0.1:22148 ok -[ok]: SHUTDOWN SIGTERM will abort if there's an initial AOFRW - default (71 ms) +[ok]: SHUTDOWN SIGTERM will abort if there's an initial AOFRW - default (55 ms) [76/91 done]: unit/shutdown (1 seconds) Testing unit/networking -=== () Starting server 127.0.0.1:22150 ok -[ok]: CONFIG SET port number (359 ms) +=== () Starting server 127.0.0.1:22146 ok +[ok]: CONFIG SET port number (377 ms) +=== () Starting server 127.0.0.1:22149 ok +[ok]: CONFIG SET bind address (269 ms) +=== () Starting server 127.0.0.1:22151 ok === () Starting server 127.0.0.1:22153 ok -[ok]: CONFIG SET bind address (246 ms) -=== () Starting server 127.0.0.1:22155 ok -=== () Starting server 127.0.0.1:22157 ok -[ok]: CONFIG SET bind-source-addr (557 ms) -=== (external:skip) Starting server 127.0.0.1:22159 ok -[ok]: Default bind address configuration handling (242 ms) +[ok]: CONFIG SET bind-source-addr (675 ms) +=== (external:skip) Starting server 127.0.0.1:22155 ok +[ok]: Default bind address configuration handling (270 ms) [ok]: Protected mode works as expected (3 ms) [77/91 done]: unit/networking (2 seconds) Testing unit/client-eviction +=== () Starting server 127.0.0.1:22157 ok +[ok]: client evicted due to large argv (196 ms) +[ok]: client evicted due to large query buf (95 ms) +[ok]: client evicted due to percentage of maxmemory (99 ms) +[ok]: client evicted due to large multi buf (507 ms) +[ok]: client evicted due to watched key list (2174 ms) +[ok]: client evicted due to pubsub subscriptions (8057 ms) +[ok]: client evicted due to tracking redirection (265 ms) +[ok]: client evicted due to client tracking prefixes (18854 ms) +[ok]: client evicted due to output buf (159 ms) +[ok]: client no-evict on (284 ms) +[ok]: client no-evict off (114 ms) +=== () Starting server 127.0.0.1:22159 ok +[ok]: avoid client eviction when client is freed by output buffer limit (647 ms) === () Starting server 127.0.0.1:22161 ok -[ok]: client evicted due to large argv (142 ms) -[ok]: client evicted due to large query buf (72 ms) -[ok]: client evicted due to percentage of maxmemory (63 ms) -[ok]: client evicted due to large multi buf (158 ms) -[ok]: client evicted due to watched key list (1079 ms) -[ok]: client evicted due to pubsub subscriptions (3354 ms) -[ok]: client evicted due to tracking redirection (168 ms) -[ok]: client evicted due to client tracking prefixes (11766 ms) -[ok]: client evicted due to output buf (106 ms) -[ok]: client no-evict on (148 ms) -[ok]: client no-evict off (75 ms) +[ok]: decrease maxmemory-clients causes client eviction (1143 ms) === () Starting server 127.0.0.1:22163 ok -[ok]: avoid client eviction when client is freed by output buffer limit (291 ms) +[ok]: evict clients only until below limit (1455 ms) === () Starting server 127.0.0.1:22165 ok -[ok]: decrease maxmemory-clients causes client eviction (645 ms) +[ok]: evict clients in right order (large to small) (1213 ms) === () Starting server 127.0.0.1:22167 ok -[ok]: evict clients only until below limit (529 ms) -=== () Starting server 127.0.0.1:22169 ok -[ok]: evict clients in right order (large to small) (552 ms) -=== () Starting server 127.0.0.1:22171 ok -[ok]: client total memory grows during client no-evict (150 ms) -[ok]: client total memory grows during maxmemory-clients disabled (147 ms) -[78/91 done]: unit/client-eviction (20 seconds) +[ok]: client total memory grows during client no-evict (191 ms) +[ok]: client total memory grows during maxmemory-clients disabled (188 ms) +[78/91 done]: unit/client-eviction (37 seconds) Testing unit/violations -=== () Starting server 127.0.0.1:22173 ok +=== () Starting server 127.0.0.1:22169 ok [ignore]: XADD one huge field: large memory flag not provided -=== () Starting server 127.0.0.1:22175 ok +=== () Starting server 127.0.0.1:22171 ok [ignore]: XADD one huge field - 1: large memory flag not provided -=== () Starting server 127.0.0.1:22177 ok +=== () Starting server 127.0.0.1:22173 ok [ignore]: several XADD big fields: large memory flag not provided -=== () Starting server 127.0.0.1:22179 ok +=== () Starting server 127.0.0.1:22175 ok [ignore]: single XADD big fields: large memory flag not provided -=== () Starting server 127.0.0.1:22181 ok +=== () Starting server 127.0.0.1:22177 ok [ignore]: hash with many big fields: large memory flag not provided -=== () Starting server 127.0.0.1:22183 ok +=== () Starting server 127.0.0.1:22179 ok [ignore]: hash with one huge field: large memory flag not provided -=== () Starting server 127.0.0.1:22185 ok -[ok]: SORT adds integer field to list (2 ms) +=== () Starting server 127.0.0.1:22181 ok +[ok]: SORT adds integer field to list (4 ms) [79/91 done]: unit/violations (2 seconds) Testing unit/replybufsize -=== (replybufsize) Starting server 127.0.0.1:22187 ok -[ok]: verify reply buffer limits (682 ms) +=== (replybufsize) Starting server 127.0.0.1:22183 ok +[ok]: verify reply buffer limits (707 ms) [80/91 done]: unit/replybufsize (1 seconds) Testing unit/cluster/announced-endpoints +=== (external:skip cluster) Starting server 127.0.0.1:22185 ok +=== (external:skip cluster) Starting server 127.0.0.1:22187 ok === (external:skip cluster) Starting server 127.0.0.1:22189 ok === (external:skip cluster) Starting server 127.0.0.1:22191 ok -=== (external:skip cluster) Starting server 127.0.0.1:22193 ok -=== (external:skip cluster) Starting server 127.0.0.1:22195 ok -[ok]: Test change cluster-announce-port and cluster-announce-tls-port at runtime (106 ms) -[ok]: Test change cluster-announce-bus-port at runtime (206 ms) -[81/91 done]: unit/cluster/announced-endpoints (3 seconds) +[ok]: Test change cluster-announce-port and cluster-announce-tls-port at runtime (108 ms) +[ok]: Test change cluster-announce-bus-port at runtime (126 ms) +[81/91 done]: unit/cluster/announced-endpoints (4 seconds) Testing unit/cluster/misc +=== (external:skip cluster) Starting server 127.0.0.1:22195 ok +=== (external:skip cluster) Starting server 127.0.0.1:22197 ok === (external:skip cluster) Starting server 127.0.0.1:22199 ok === (external:skip cluster) Starting server 127.0.0.1:22201 ok -=== (external:skip cluster) Starting server 127.0.0.1:22203 ok -=== (external:skip cluster) Starting server 127.0.0.1:22205 ok -[ok]: Key lazy expires during key migration (16 ms) -[ok]: Coverage: Basic cluster commands (11 ms) -[82/91 done]: unit/cluster/misc (4 seconds) +[ok]: Key lazy expires during key migration (21 ms) +[ok]: Coverage: Basic cluster commands (19 ms) +[82/91 done]: unit/cluster/misc (3 seconds) Testing unit/cluster/cli [ignore]: Not supported in tls mode [83/91 done]: unit/cluster/cli (0 seconds) Testing unit/cluster/scripting -=== (external:skip cluster) Starting server 127.0.0.1:22207 ok -[ok]: Eval scripts with shebangs and functions default to no cross slots (2 ms) -[ok]: Cross slot commands are allowed by default for eval scripts and with allow-cross-slot-keys flag (3 ms) +=== (external:skip cluster) Starting server 127.0.0.1:22203 ok +[ok]: Eval scripts with shebangs and functions default to no cross slots (3 ms) +[ok]: Cross slot commands are allowed by default for eval scripts and with allow-cross-slot-keys flag (6 ms) [ok]: Cross slot commands are also blocked if they disagree with pre-declared keys (1 ms) -[ok]: Cross slot commands are allowed by default if they disagree with pre-declared keys (1 ms) -[ok]: Function no-cluster flag (0 ms) +[ok]: Cross slot commands are allowed by default if they disagree with pre-declared keys (12 ms) +[ok]: Function no-cluster flag (3 ms) [ok]: Script no-cluster flag (1 ms) -[84/91 done]: unit/cluster/scripting (2 seconds) +[84/91 done]: unit/cluster/scripting (3 seconds) Testing unit/cluster/hostnames +=== (external:skip cluster) Starting server 127.0.0.1:22205 ok +=== (external:skip cluster) Starting server 127.0.0.1:22207 ok === (external:skip cluster) Starting server 127.0.0.1:22209 ok === (external:skip cluster) Starting server 127.0.0.1:22211 ok === (external:skip cluster) Starting server 127.0.0.1:22213 ok === (external:skip cluster) Starting server 127.0.0.1:22215 ok === (external:skip cluster) Starting server 127.0.0.1:22217 ok +[ok]: Set cluster hostnames and verify they are propagated (249 ms) +[ok]: Update hostnames and make sure they are all eventually propagated (247 ms) +[ok]: Remove hostnames and make sure they are all eventually propagated (244 ms) +[ok]: Verify cluster-preferred-endpoint-type behavior for redirects and info (236 ms) +[ok]: Verify the nodes configured with prefer hostname only show hostname for new nodes (3847 ms) +[ok]: Test restart will keep hostname information (348 ms) +[ok]: Test hostname validation (3 ms) +[85/91 done]: unit/cluster/hostnames (9 seconds) +Testing unit/cluster/human-announced-nodename === (external:skip cluster) Starting server 127.0.0.1:22219 ok === (external:skip cluster) Starting server 127.0.0.1:22221 ok -[ok]: Set cluster hostnames and verify they are propagated (221 ms) -[ok]: Update hostnames and make sure they are all eventually propagated (119 ms) -[ok]: Remove hostnames and make sure they are all eventually propagated (223 ms) -[ok]: Verify cluster-preferred-endpoint-type behavior for redirects and info (114 ms) -[ok]: Verify the nodes configured with prefer hostname only show hostname for new nodes (3572 ms) -[ok]: Test restart will keep hostname information (260 ms) -[ok]: Test hostname validation (2 ms) -[85/91 done]: unit/cluster/hostnames (8 seconds) -Testing unit/cluster/human-announced-nodename === (external:skip cluster) Starting server 127.0.0.1:22223 ok +[ok]: Set cluster human announced nodename and let it propagate (229 ms) +[ok]: Human nodenames are visible in log messages (3594 ms) +[86/91 done]: unit/cluster/human-announced-nodename (7 seconds) +Testing unit/cluster/multi-slot-operations === (external:skip cluster) Starting server 127.0.0.1:22225 ok === (external:skip cluster) Starting server 127.0.0.1:22227 ok -[ok]: Set cluster human announced nodename and let it propagate (112 ms) -[ok]: Human nodenames are visible in log messages (3557 ms) -[86/91 done]: unit/cluster/human-announced-nodename (6 seconds) -Testing unit/cluster/multi-slot-operations === (external:skip cluster) Starting server 127.0.0.1:22229 ok === (external:skip cluster) Starting server 127.0.0.1:22231 ok === (external:skip cluster) Starting server 127.0.0.1:22233 ok -=== (external:skip cluster) Starting server 127.0.0.1:22235 ok -=== (external:skip cluster) Starting server 127.0.0.1:22237 ok -[ok]: Continuous slots distribution (21 ms) -[ok]: ADDSLOTS command with several boundary conditions test suite (3 ms) -[ok]: ADDSLOTSRANGE command with several boundary conditions test suite (3 ms) -[ok]: DELSLOTSRANGE command with several boundary conditions test suite (10 ms) +[ok]: Continuous slots distribution (45 ms) +[ok]: ADDSLOTS command with several boundary conditions test suite (12 ms) +[ok]: ADDSLOTSRANGE command with several boundary conditions test suite (11 ms) +[ok]: DELSLOTSRANGE command with several boundary conditions test suite (16 ms) [87/91 done]: unit/cluster/multi-slot-operations (3 seconds) Testing unit/cluster/slot-ownership +=== (external:skip cluster) Starting server 127.0.0.1:22235 ok +=== (external:skip cluster) Starting server 127.0.0.1:22237 ok === (external:skip cluster) Starting server 127.0.0.1:22239 ok === (external:skip cluster) Starting server 127.0.0.1:22241 ok +[ok]: Verify that slot ownership transfer through gossip propagates deletes to replicas (145 ms) +[88/91 done]: unit/cluster/slot-ownership (3 seconds) +Testing unit/cluster/links === (external:skip cluster) Starting server 127.0.0.1:22243 ok === (external:skip cluster) Starting server 127.0.0.1:22245 ok -[ok]: Verify that slot ownership transfer through gossip propagates deletes to replicas (217 ms) -[88/91 done]: unit/cluster/slot-ownership (4 seconds) -Testing unit/cluster/links === (external:skip cluster) Starting server 127.0.0.1:22247 ok +[ok]: Broadcast message across a cluster shard while a cluster link is down (198 ms) === (external:skip cluster) Starting server 127.0.0.1:22249 ok === (external:skip cluster) Starting server 127.0.0.1:22251 ok -[ok]: Broadcast message across a cluster shard while a cluster link is down (154 ms) === (external:skip cluster) Starting server 127.0.0.1:22253 ok -=== (external:skip cluster) Starting server 127.0.0.1:22255 ok -=== (external:skip cluster) Starting server 127.0.0.1:22257 ok -[ok]: Each node has two links with each peer (8 ms) -[ok]: Validate cluster links format (1 ms) -[ok]: Disconnect link when send buffer limit reached (8544 ms) -[ok]: Link memory increases with publishes (599 ms) -[ok]: Link memory resets after publish messages flush (951 ms) -[89/91 done]: unit/cluster/links (15 seconds) +[ok]: Each node has two links with each peer (14 ms) +[ok]: Validate cluster links format (2 ms) +[ok]: Disconnect link when send buffer limit reached (8989 ms) +[ok]: Link memory increases with publishes (711 ms) +[ok]: Link memory resets after publish messages flush (778 ms) +[89/91 done]: unit/cluster/links (17 seconds) Testing unit/cluster/cluster-response-tls +=== (external:skip cluster tls) Starting server 127.0.0.1:22255 ok +=== (external:skip cluster tls) Starting server 127.0.0.1:22257 ok === (external:skip cluster tls) Starting server 127.0.0.1:22259 ok === (external:skip cluster tls) Starting server 127.0.0.1:22261 ok === (external:skip cluster tls) Starting server 127.0.0.1:22263 ok === (external:skip cluster tls) Starting server 127.0.0.1:22265 ok +[ok]: CLUSTER SLOTS with different connection type -- tls-cluster yes (139 ms) +[ok]: CLUSTER NODES return port according to connection type -- tls-cluster yes (118 ms) +[ok]: Set many keys in the cluster -- tls-cluster yes (6604 ms) +[ok]: Test cluster responses during migration of slot x -- tls-cluster yes (8 ms) === (external:skip cluster tls) Starting server 127.0.0.1:22267 ok === (external:skip cluster tls) Starting server 127.0.0.1:22269 ok -[ok]: CLUSTER SLOTS with different connection type -- tls-cluster yes (73 ms) -[ok]: CLUSTER NODES return port according to connection type -- tls-cluster yes (70 ms) -[ok]: Set many keys in the cluster -- tls-cluster yes (3547 ms) -[ok]: Test cluster responses during migration of slot x -- tls-cluster yes (5 ms) === (external:skip cluster tls) Starting server 127.0.0.1:22271 ok === (external:skip cluster tls) Starting server 127.0.0.1:22273 ok === (external:skip cluster tls) Starting server 127.0.0.1:22275 ok === (external:skip cluster tls) Starting server 127.0.0.1:22277 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:22279 ok -=== (external:skip cluster tls) Starting server 127.0.0.1:22281 ok -[ok]: CLUSTER SLOTS with different connection type -- tls-cluster no (69 ms) -[ok]: CLUSTER NODES return port according to connection type -- tls-cluster no (67 ms) -[ok]: Set many keys in the cluster -- tls-cluster no (3174 ms) -[ok]: Test cluster responses during migration of slot x -- tls-cluster no (4 ms) -[90/91 done]: unit/cluster/cluster-response-tls (16 seconds) +[ok]: CLUSTER SLOTS with different connection type -- tls-cluster no (128 ms) +[ok]: CLUSTER NODES return port according to connection type -- tls-cluster no (121 ms) +[ok]: Set many keys in the cluster -- tls-cluster no (5803 ms) +[ok]: Test cluster responses during migration of slot x -- tls-cluster no (7 ms) +[90/91 done]: unit/cluster/cluster-response-tls (22 seconds) Testing unit/cluster/failure-marking +=== (external:skip cluster) Starting server 127.0.0.1:22279 ok +=== (external:skip cluster) Starting server 127.0.0.1:22281 ok +[ok]: Verify that single primary marks replica as failed (3248 ms) === (external:skip cluster) Starting server 127.0.0.1:22283 ok === (external:skip cluster) Starting server 127.0.0.1:22285 ok -[ok]: Verify that single primary marks replica as failed (3098 ms) === (external:skip cluster) Starting server 127.0.0.1:22287 ok -=== (external:skip cluster) Starting server 127.0.0.1:22289 ok -=== (external:skip cluster) Starting server 127.0.0.1:22291 ok -[ok]: Verify that multiple primaries mark replica as failed (3428 ms) -[91/91 done]: unit/cluster/failure-marking (11 seconds) +[ok]: Verify that multiple primaries mark replica as failed (3334 ms) +[91/91 done]: unit/cluster/failure-marking (12 seconds) The End Execution time of different units: - 0 seconds - unit/printver - 37 seconds - unit/dump - 1 seconds - unit/auth - 2 seconds - unit/protocol - 2 seconds - unit/keyspace - 42 seconds - unit/scan - 3 seconds - unit/info - 0 seconds - unit/info-command - 22 seconds - unit/type/string + 1 seconds - unit/printver + 50 seconds - unit/dump + 2 seconds - unit/auth + 1 seconds - unit/protocol + 3 seconds - unit/keyspace + 60 seconds - unit/scan + 4 seconds - unit/info + 1 seconds - unit/info-command + 35 seconds - unit/type/string 0 seconds - unit/type/incr - 21 seconds - unit/type/list - 33 seconds - unit/type/list-2 - 65 seconds - unit/type/list-3 - 51 seconds - unit/type/set - 55 seconds - unit/type/zset - 10 seconds - unit/type/hash - 41 seconds - unit/type/stream - 6 seconds - unit/type/stream-cgroups - 21 seconds - unit/sort - 17 seconds - unit/expire - 17 seconds - unit/other - 6 seconds - unit/multi - 0 seconds - unit/quit + 26 seconds - unit/type/list + 84 seconds - unit/type/list-2 + 95 seconds - unit/type/list-3 + 87 seconds - unit/type/set + 95 seconds - unit/type/zset + 27 seconds - unit/type/hash + 73 seconds - unit/type/stream + 8 seconds - unit/type/stream-cgroups + 34 seconds - unit/sort + 16 seconds - unit/expire + 23 seconds - unit/other + 5 seconds - unit/multi + 1 seconds - unit/quit 18 seconds - unit/aofrw - 3 seconds - unit/acl - 1 seconds - unit/acl-v2 - 10 seconds - unit/latency-monitor - 27 seconds - integration/block-repl - 197 seconds - integration/replication - 22 seconds - integration/replication-2 - 15 seconds - integration/replication-3 - 36 seconds - integration/replication-4 - 163 seconds - integration/replication-psync - 21 seconds - integration/replication-buffer - 10 seconds - integration/shutdown - 16 seconds - integration/aof + 4 seconds - unit/acl + 0 seconds - unit/acl-v2 + 13 seconds - unit/latency-monitor + 26 seconds - integration/block-repl + 419 seconds - integration/replication + 49 seconds - integration/replication-2 + 38 seconds - integration/replication-3 + 75 seconds - integration/replication-4 + 183 seconds - integration/replication-psync + 39 seconds - integration/replication-buffer + 12 seconds - integration/shutdown + 21 seconds - integration/aof 1 seconds - integration/aof-race - 11 seconds - integration/aof-multi-part - 10 seconds - integration/rdb + 12 seconds - integration/aof-multi-part + 11 seconds - integration/rdb 19 seconds - integration/corrupt-dump 20 seconds - integration/corrupt-dump-fuzzer 0 seconds - integration/convert-zipmap-hash-on-load 1 seconds - integration/convert-ziplist-hash-on-load 0 seconds - integration/convert-ziplist-zset-on-load 1 seconds - integration/logging - 44 seconds - integration/psync2 + 50 seconds - integration/psync2 23 seconds - integration/psync2-reg - 16 seconds - integration/psync2-pingoff - 10 seconds - integration/psync2-master-restart - 5 seconds - integration/failover - 14 seconds - integration/redict-cli - 6 seconds - integration/redict-benchmark - 4 seconds - integration/dismiss-mem - 1 seconds - unit/pubsub + 20 seconds - integration/psync2-pingoff + 68 seconds - integration/psync2-master-restart + 21 seconds - integration/failover + 25 seconds - integration/redict-cli + 12 seconds - integration/redict-benchmark + 9 seconds - integration/dismiss-mem + 3 seconds - unit/pubsub 2 seconds - unit/pubsubshard 2 seconds - unit/slowlog - 35 seconds - unit/scripting - 4 seconds - unit/functions - 176 seconds - unit/maxmemory - 27 seconds - unit/introspection - 7 seconds - unit/introspection-2 + 36 seconds - unit/scripting + 5 seconds - unit/functions + 326 seconds - unit/maxmemory + 37 seconds - unit/introspection + 8 seconds - unit/introspection-2 2 seconds - unit/limits - 24 seconds - unit/obuf-limits - 6 seconds - unit/bitops - 2 seconds - unit/bitfield - 63 seconds - unit/geo - 10 seconds - unit/memefficiency - 70 seconds - unit/hyperloglog - 1 seconds - unit/lazyfree - 27 seconds - unit/wait + 45 seconds - unit/obuf-limits + 12 seconds - unit/bitops + 6 seconds - unit/bitfield + 140 seconds - unit/geo + 22 seconds - unit/memefficiency + 103 seconds - unit/hyperloglog + 2 seconds - unit/lazyfree + 28 seconds - unit/wait 2 seconds - unit/pause 6 seconds - unit/querybuf - 0 seconds - unit/tls + 1 seconds - unit/tls 3 seconds - unit/tracking 1 seconds - unit/oom-score-adj 1 seconds - unit/shutdown 2 seconds - unit/networking - 20 seconds - unit/client-eviction + 37 seconds - unit/client-eviction 2 seconds - unit/violations 1 seconds - unit/replybufsize - 3 seconds - unit/cluster/announced-endpoints - 4 seconds - unit/cluster/misc + 4 seconds - unit/cluster/announced-endpoints + 3 seconds - unit/cluster/misc 0 seconds - unit/cluster/cli - 2 seconds - unit/cluster/scripting - 8 seconds - unit/cluster/hostnames - 6 seconds - unit/cluster/human-announced-nodename + 3 seconds - unit/cluster/scripting + 9 seconds - unit/cluster/hostnames + 7 seconds - unit/cluster/human-announced-nodename 3 seconds - unit/cluster/multi-slot-operations - 4 seconds - unit/cluster/slot-ownership - 15 seconds - unit/cluster/links - 16 seconds - unit/cluster/cluster-response-tls - 11 seconds - unit/cluster/failure-marking + 3 seconds - unit/cluster/slot-ownership + 17 seconds - unit/cluster/links + 22 seconds - unit/cluster/cluster-response-tls + 12 seconds - unit/cluster/failure-marking !!! WARNING The following tests failed: -*** [err]: SHUTDOWN NOSAVE can kill a timedout script anyway in tests/unit/scripting.tcl -Expected 'BUSY Redict is busy running a script. You can only call FUNCTION KILL or SHUTDOWN NOSAVE.' to match '*connection refused*' (context: type eval line 8 cmd {assert_match {*connection refused*} $e} proc ::test) +*** [err]: diskless timeout replicas drop during rdb pipe in tests/integration/replication.tcl +log message of '"*Diskless rdb transfer, done reading from pipe, 1 replicas still up*"' not found in ./tests/tmp/server.16780.248/stdout after line: 186 till line: 211 Cleanup: may take some time... OK timeout 30m ./runtest-cluster --tls || true Starting redict #0 at port 30000 @@ -5804,667 +6113,684 @@ Starting redict #18 at port 30036 Starting redict #19 at port 30038 Testing unit: 00-base.tcl -23:16:44> (init) Restart killed instances: OK -23:16:44> Cluster nodes are reachable: OK -23:16:44> Cluster nodes hard reset: OK -23:16:45> Cluster Join and auto-discovery test: OK -23:16:48> Before slots allocation, all nodes report cluster failure: OK -23:16:48> Different nodes have different IDs: OK -23:16:48> It is possible to perform slot allocation: OK -23:16:48> After the join, every node gets a different config epoch: OK -23:16:49> Nodes should report cluster_state is ok now: OK -23:16:52> Sanity for CLUSTER COUNTKEYSINSLOT: OK -23:16:52> It is possible to write and read from the cluster: OK -23:16:52> CLUSTER RESET SOFT test: OK -23:16:53> Coverage: CLUSTER HELP: OK -23:16:53> Coverage: ASKING: OK -23:16:53> CLUSTER SLAVES and CLUSTER REPLICAS with zero replicas: OK +02:36:25> (init) Restart killed instances: OK +02:36:25> Cluster nodes are reachable: OK +02:36:26> Cluster nodes hard reset: OK +02:36:27> Cluster Join and auto-discovery test: OK +02:36:31> Before slots allocation, all nodes report cluster failure: OK +02:36:31> Different nodes have different IDs: OK +02:36:31> It is possible to perform slot allocation: OK +02:36:32> After the join, every node gets a different config epoch: OK +02:36:32> Nodes should report cluster_state is ok now: OK +02:36:35> Sanity for CLUSTER COUNTKEYSINSLOT: OK +02:36:35> It is possible to write and read from the cluster: OK +02:36:36> CLUSTER RESET SOFT test: OK +02:36:37> Coverage: CLUSTER HELP: OK +02:36:37> Coverage: ASKING: OK +02:36:37> CLUSTER SLAVES and CLUSTER REPLICAS with zero replicas: OK Testing unit: 01-faildet.tcl -23:16:53> (init) Restart killed instances: OK -23:16:53> Cluster nodes are reachable: OK -23:16:53> Cluster nodes hard reset: OK -23:16:54> Cluster Join and auto-discovery test: OK -23:16:57> Before slots allocation, all nodes report cluster failure: OK -23:16:57> Create a 5 nodes cluster: OK -23:17:01> Cluster should start ok: OK -23:17:01> Killing two slave nodes: OK -23:17:01> Cluster should be still up: OK -23:17:01> Killing one master node: OK -23:17:01> Cluster should be down now: OK -23:17:06> Restarting master node: OK -23:17:06> Cluster should be up again: OK +02:36:37> (init) Restart killed instances: OK +02:36:37> Cluster nodes are reachable: OK +02:36:37> Cluster nodes hard reset: OK +02:36:40> Cluster Join and auto-discovery test: OK +02:36:45> Before slots allocation, all nodes report cluster failure: OK +02:36:45> Create a 5 nodes cluster: OK +02:36:49> Cluster should start ok: OK +02:36:49> Killing two slave nodes: OK +02:36:49> Cluster should be still up: OK +02:36:49> Killing one master node: OK +02:36:49> Cluster should be down now: OK +02:36:53> Restarting master node: OK +02:36:54> Cluster should be up again: OK Testing unit: 02-failover.tcl -23:17:12> (init) Restart killed instances: redict/5 redict/6 OK -23:17:13> Cluster nodes are reachable: OK -23:17:13> Cluster nodes hard reset: OK -23:17:15> Cluster Join and auto-discovery test: OK -23:17:18> Before slots allocation, all nodes report cluster failure: OK -23:17:18> Create a 5 nodes cluster: OK -23:17:22> Cluster is up: OK -23:17:22> Cluster is writable: OK -23:17:22> Instance #5 is a slave: OK -23:17:22> Instance #5 synced with the master: OK -23:17:22> Killing one master node: OK -23:17:22> Wait for failover: OK -23:17:27> Cluster should eventually be up again: OK -23:17:27> Cluster is writable: OK -23:17:28> Instance #5 is now a master: OK -23:17:28> Restarting the previously killed master node: OK -23:17:28> Instance #0 gets converted into a slave: OK +02:37:00> (init) Restart killed instances: redict/5 redict/6 OK +02:37:02> Cluster nodes are reachable: OK +02:37:02> Cluster nodes hard reset: OK +02:37:06> Cluster Join and auto-discovery test: OK +02:37:11> Before slots allocation, all nodes report cluster failure: OK +02:37:11> Create a 5 nodes cluster: OK +02:37:15> Cluster is up: OK +02:37:15> Cluster is writable: OK +02:37:16> Instance #5 is a slave: OK +02:37:16> Instance #5 synced with the master: OK +02:37:16> Killing one master node: OK +02:37:16> Wait for failover: OK +02:37:21> Cluster should eventually be up again: OK +02:37:21> Cluster is writable: OK +02:37:22> Instance #5 is now a master: OK +02:37:22> Restarting the previously killed master node: OK +02:37:22> Instance #0 gets converted into a slave: OK Testing unit: 03-failover-loop.tcl -23:17:28> (init) Restart killed instances: OK -23:17:28> Cluster nodes are reachable: OK -23:17:28> Cluster nodes hard reset: OK -23:17:30> Cluster Join and auto-discovery test: OK -23:17:33> Before slots allocation, all nodes report cluster failure: OK -23:17:33> Create a 5 nodes cluster: OK -23:17:37> Cluster is up: OK +02:37:22> (init) Restart killed instances: OK +02:37:22> Cluster nodes are reachable: OK +02:37:23> Cluster nodes hard reset: OK +02:37:27> Cluster Join and auto-discovery test: OK +02:37:31> Before slots allocation, all nodes report cluster failure: OK +02:37:31> Create a 5 nodes cluster: OK +02:37:35> Cluster is up: OK --- Iteration 19 --- -23:17:37> Cluster is writable before failover: OK -23:17:37> Terminating node #6: OK -23:17:38> Cluster should eventually be up again: OK -23:17:38> Cluster is writable again: OK -23:17:38> Restarting node #6: OK -23:17:38> Instance #6 is now a slave: OK -23:17:38> We can read back the value we set before: OK +02:37:36> Cluster is writable before failover: OK +02:37:36> Terminating node #7: OK +02:37:36> Cluster should eventually be up again: OK +02:37:36> Cluster is writable again: OK +02:37:36> Restarting node #7: OK +02:37:37> Instance #7 is now a slave: OK +02:37:37> We can read back the value we set before: OK --- Iteration 18 --- -23:17:38> Cluster is writable before failover: OK -23:17:38> Terminating node #9: OK -23:17:38> Cluster should eventually be up again: OK -23:17:38> Cluster is writable again: OK -23:17:38> Restarting node #9: OK -23:17:39> Instance #9 is now a slave: OK -23:17:39> We can read back the value we set before: OK +02:37:37> Cluster is writable before failover: OK +02:37:37> Terminating node #9: OK +02:37:37> Cluster should eventually be up again: OK +02:37:37> Cluster is writable again: OK +02:37:38> Restarting node #9: OK +02:37:38> Instance #9 is now a slave: OK +02:37:38> We can read back the value we set before: OK --- Iteration 17 --- -23:17:39> Wait for slave of #4 to sync: OK -23:17:39> Cluster is writable before failover: OK -23:17:39> Terminating node #4: OK -23:17:40> Wait failover by #9 with old epoch 5: OK -23:17:44> Cluster should eventually be up again: OK -23:17:44> Cluster is writable again: OK -23:17:45> Restarting node #4: OK -23:17:45> Instance #4 is now a slave: OK -23:17:45> We can read back the value we set before: OK +02:37:39> Wait for slave of #3 to sync: OK +02:37:39> Cluster is writable before failover: OK +02:37:39> Terminating node #3: OK +02:37:40> Wait failover by #8 with old epoch 4: OK +02:37:44> Cluster should eventually be up again: OK +02:37:45> Cluster is writable again: OK +02:37:45> Restarting node #3: OK +02:37:46> Instance #3 is now a slave: OK +02:37:46> We can read back the value we set before: OK --- Iteration 16 --- -23:17:45> Cluster is writable before failover: OK -23:17:45> Terminating node #4: OK -23:17:45> Cluster should eventually be up again: OK -23:17:46> Cluster is writable again: OK -23:17:46> Restarting node #4: OK -23:17:46> Instance #4 is now a slave: OK -23:17:46> We can read back the value we set before: OK +02:37:46> Cluster is writable before failover: OK +02:37:46> Terminating node #6: OK +02:37:46> Cluster should eventually be up again: OK +02:37:47> Cluster is writable again: OK +02:37:47> Restarting node #6: OK +02:37:47> Instance #6 is now a slave: OK +02:37:47> We can read back the value we set before: OK --- Iteration 15 --- -23:17:46> Wait for slave of #2 to sync: OK -23:17:46> Cluster is writable before failover: OK -23:17:46> Terminating node #2: OK -23:17:47> Wait failover by #7 with old epoch 3: OK -23:17:52> Cluster should eventually be up again: OK -23:17:52> Cluster is writable again: OK -23:17:53> Restarting node #2: OK -23:17:53> Instance #2 is now a slave: OK -23:17:53> We can read back the value we set before: OK +02:37:48> Wait for slave of #1 to sync: OK +02:37:48> Cluster is writable before failover: OK +02:37:48> Terminating node #1: OK +02:37:49> Wait failover by #6 with old epoch 2: OK +02:37:54> Cluster should eventually be up again: OK +02:37:54> Cluster is writable again: OK +02:37:55> Restarting node #1: OK +02:37:55> Instance #1 is now a slave: OK +02:37:55> We can read back the value we set before: OK --- Iteration 14 --- -23:17:53> Wait for slave of #0 to sync: OK -23:17:53> Cluster is writable before failover: OK -23:17:54> Terminating node #0: OK -23:17:54> Wait failover by #5 with old epoch 1: OK -23:17:58> Cluster should eventually be up again: OK -23:17:58> Cluster is writable again: OK -23:17:59> Restarting node #0: OK -23:17:59> Instance #0 is now a slave: OK -23:17:59> We can read back the value we set before: OK +02:37:56> Wait for slave of #0 to sync: OK +02:37:56> Cluster is writable before failover: OK +02:37:56> Terminating node #0: OK +02:37:57> Wait failover by #5 with old epoch 1: OK +02:38:02> Cluster should eventually be up again: OK +02:38:02> Cluster is writable again: OK +02:38:02> Restarting node #0: OK +02:38:03> Instance #0 is now a slave: OK +02:38:03> We can read back the value we set before: OK --- Iteration 13 --- -23:17:59> Cluster is writable before failover: OK -23:17:59> Terminating node #8: OK -23:17:59> Cluster should eventually be up again: OK -23:17:59> Cluster is writable again: OK -23:18:00> Restarting node #8: OK -23:18:00> Instance #8 is now a slave: OK -23:18:00> We can read back the value we set before: OK +02:38:03> Cluster is writable before failover: OK +02:38:04> Terminating node #3: OK +02:38:04> Cluster should eventually be up again: OK +02:38:04> Cluster is writable again: OK +02:38:04> Restarting node #3: OK +02:38:05> Instance #3 is now a slave: OK +02:38:05> We can read back the value we set before: OK --- Iteration 12 --- -23:18:00> Wait for slave of #7 to sync: OK -23:18:00> Cluster is writable before failover: OK -23:18:00> Terminating node #7: OK -23:18:01> Wait failover by #2 with old epoch 22: OK -23:18:06> Cluster should eventually be up again: OK -23:18:06> Cluster is writable again: OK -23:18:07> Restarting node #7: OK -23:18:07> Instance #7 is now a slave: OK -23:18:07> We can read back the value we set before: OK +02:38:05> Wait for slave of #2 to sync: OK +02:38:05> Cluster is writable before failover: OK +02:38:05> Terminating node #2: OK +02:38:06> Wait failover by #7 with old epoch 3: OK +02:38:10> Cluster should eventually be up again: OK +02:38:10> Cluster is writable again: OK +02:38:11> Restarting node #2: OK +02:38:12> Instance #2 is now a slave: OK +02:38:12> We can read back the value we set before: OK --- Iteration 11 --- -23:18:07> Wait for slave of #9 to sync: OK -23:18:07> Cluster is writable before failover: OK -23:18:07> Terminating node #9: OK -23:18:08> Wait failover by #4 with old epoch 21: OK -23:18:13> Cluster should eventually be up again: OK -23:18:13> Cluster is writable again: OK -23:18:14> Restarting node #9: OK -23:18:14> Instance #9 is now a slave: OK -23:18:14> We can read back the value we set before: OK +02:38:13> Wait for slave of #4 to sync: OK +02:38:13> Cluster is writable before failover: OK +02:38:13> Terminating node #4: OK +02:38:13> Wait failover by #9 with old epoch 5: OK +02:38:18> Cluster should eventually be up again: OK +02:38:18> Cluster is writable again: OK +02:38:18> Restarting node #4: OK +02:38:19> Instance #4 is now a slave: OK +02:38:19> We can read back the value we set before: OK --- Iteration 10 --- -23:18:14> Cluster is writable before failover: OK -23:18:14> Terminating node #6: OK -23:18:14> Cluster should eventually be up again: OK -23:18:14> Cluster is writable again: OK -23:18:14> Restarting node #6: OK -23:18:15> Instance #6 is now a slave: OK -23:18:15> We can read back the value we set before: OK +02:38:20> Cluster is writable before failover: OK +02:38:20> Terminating node #3: OK +02:38:20> Cluster should eventually be up again: OK +02:38:20> Cluster is writable again: OK +02:38:20> Restarting node #3: OK +02:38:21> Instance #3 is now a slave: OK +02:38:21> We can read back the value we set before: OK --- Iteration 9 --- -23:18:15> Wait for slave of #5 to sync: OK -23:18:15> Cluster is writable before failover: OK -23:18:15> Terminating node #5: OK -23:18:16> Wait failover by #0 with old epoch 23: OK -23:18:22> Cluster should eventually be up again: OK -23:18:22> Cluster is writable again: OK -23:18:22> Restarting node #5: OK -23:18:23> Instance #5 is now a slave: OK -23:18:23> We can read back the value we set before: OK +02:38:21> Cluster is writable before failover: OK +02:38:21> Terminating node #1: OK +02:38:21> Cluster should eventually be up again: OK +02:38:21> Cluster is writable again: OK +02:38:21> Restarting node #1: OK +02:38:22> Instance #1 is now a slave: OK +02:38:22> We can read back the value we set before: OK --- Iteration 8 --- -23:18:23> Cluster is writable before failover: OK -23:18:23> Terminating node #6: OK -23:18:23> Cluster should eventually be up again: OK -23:18:23> Cluster is writable again: OK -23:18:23> Restarting node #6: OK -23:18:23> Instance #6 is now a slave: OK -23:18:23> We can read back the value we set before: OK +02:38:23> Wait for slave of #7 to sync: OK +02:38:23> Cluster is writable before failover: OK +02:38:23> Terminating node #7: OK +02:38:24> Wait failover by #2 with old epoch 24: OK +02:38:29> Cluster should eventually be up again: OK +02:38:29> Cluster is writable again: OK +02:38:29> Restarting node #7: OK +02:38:30> Instance #7 is now a slave: OK +02:38:30> We can read back the value we set before: OK --- Iteration 7 --- -23:18:24> Cluster is writable before failover: OK -23:18:24> Terminating node #8: OK -23:18:24> Cluster should eventually be up again: OK -23:18:24> Cluster is writable again: OK -23:18:24> Restarting node #8: OK -23:18:24> Instance #8 is now a slave: OK -23:18:24> We can read back the value we set before: OK +02:38:30> Cluster is writable before failover: OK +02:38:31> Terminating node #3: OK +02:38:31> Cluster should eventually be up again: OK +02:38:31> Cluster is writable again: OK +02:38:31> Restarting node #3: OK +02:38:32> Instance #3 is now a slave: OK +02:38:32> We can read back the value we set before: OK --- Iteration 6 --- -23:18:24> Cluster is writable before failover: OK -23:18:24> Terminating node #8: OK -23:18:24> Cluster should eventually be up again: OK -23:18:25> Cluster is writable again: OK -23:18:25> Restarting node #8: OK -23:18:25> Instance #8 is now a slave: OK -23:18:25> We can read back the value we set before: OK +02:38:32> Wait for slave of #6 to sync: OK +02:38:32> Cluster is writable before failover: OK +02:38:32> Terminating node #6: OK +02:38:34> Wait failover by #1 with old epoch 22: OK +02:38:38> Cluster should eventually be up again: OK +02:38:38> Cluster is writable again: OK +02:38:38> Restarting node #6: OK +02:38:39> Instance #6 is now a slave: OK +02:38:39> We can read back the value we set before: OK --- Iteration 5 --- -23:18:25> Cluster is writable before failover: OK -23:18:25> Terminating node #9: OK -23:18:25> Cluster should eventually be up again: OK -23:18:25> Cluster is writable again: OK -23:18:25> Restarting node #9: OK -23:18:26> Instance #9 is now a slave: OK -23:18:26> We can read back the value we set before: OK +02:38:39> Cluster is writable before failover: OK +02:38:39> Terminating node #7: OK +02:38:40> Cluster should eventually be up again: OK +02:38:40> Cluster is writable again: OK +02:38:40> Restarting node #7: OK +02:38:41> Instance #7 is now a slave: OK +02:38:41> We can read back the value we set before: OK --- Iteration 4 --- -23:18:26> Wait for slave of #4 to sync: OK -23:18:26> Cluster is writable before failover: OK -23:18:26> Terminating node #4: OK -23:18:27> Wait failover by #9 with old epoch 25: OK -23:18:31> Cluster should eventually be up again: OK -23:18:31> Cluster is writable again: OK -23:18:32> Restarting node #4: OK -23:18:32> Instance #4 is now a slave: OK -23:18:32> We can read back the value we set before: OK +02:38:41> Wait for slave of #8 to sync: OK +02:38:41> Cluster is writable before failover: OK +02:38:41> Terminating node #8: OK +02:38:42> Wait failover by #3 with old epoch 21: OK +02:38:46> Cluster should eventually be up again: OK +02:38:47> Cluster is writable again: OK +02:38:47> Restarting node #8: OK +02:38:48> Instance #8 is now a slave: OK +02:38:48> We can read back the value we set before: OK --- Iteration 3 --- -23:18:32> Cluster is writable before failover: OK -23:18:32> Terminating node #8: OK -23:18:32> Cluster should eventually be up again: OK -23:18:32> Cluster is writable again: OK -23:18:33> Restarting node #8: OK -23:18:33> Instance #8 is now a slave: OK -23:18:33> We can read back the value we set before: OK +02:38:49> Wait for slave of #2 to sync: OK +02:38:49> Cluster is writable before failover: OK +02:38:49> Terminating node #2: OK +02:38:50> Wait failover by #7 with old epoch 26: OK +02:38:54> Cluster should eventually be up again: OK +02:38:54> Cluster is writable again: OK +02:38:55> Restarting node #2: OK +02:38:56> Instance #2 is now a slave: OK +02:38:56> We can read back the value we set before: OK --- Iteration 2 --- -23:18:33> Cluster is writable before failover: OK -23:18:33> Terminating node #6: OK -23:18:33> Cluster should eventually be up again: OK -23:18:33> Cluster is writable again: OK -23:18:33> Restarting node #6: OK -23:18:34> Instance #6 is now a slave: OK -23:18:34> We can read back the value we set before: OK +02:38:57> Wait for slave of #7 to sync: OK +02:38:57> Cluster is writable before failover: OK +02:38:57> Terminating node #7: OK +02:38:58> Wait failover by #2 with old epoch 29: OK +02:39:03> Cluster should eventually be up again: OK +02:39:03> Cluster is writable again: OK +02:39:03> Restarting node #7: OK +02:39:04> Instance #7 is now a slave: OK +02:39:04> We can read back the value we set before: OK --- Iteration 1 --- -23:18:34> Wait for slave of #3 to sync: OK -23:18:34> Cluster is writable before failover: OK -23:18:34> Terminating node #3: OK -23:18:35> Wait failover by #8 with old epoch 4: OK -23:18:39> Cluster should eventually be up again: OK -23:18:39> Cluster is writable again: OK -23:18:40> Restarting node #3: OK -23:18:40> Instance #3 is now a slave: OK -23:18:40> We can read back the value we set before: OK -23:18:40> Post condition: current_epoch >= my_epoch everywhere: OK +02:39:05> Wait for slave of #1 to sync: OK +02:39:05> Cluster is writable before failover: OK +02:39:05> Terminating node #1: OK +02:39:06> Wait failover by #6 with old epoch 27: OK +02:39:11> Cluster should eventually be up again: OK +02:39:11> Cluster is writable again: OK +02:39:11> Restarting node #1: OK +02:39:12> Instance #1 is now a slave: OK +02:39:12> We can read back the value we set before: OK +02:39:12> Post condition: current_epoch >= my_epoch everywhere: OK Testing unit: 04-resharding.tcl -23:18:40> (init) Restart killed instances: OK -23:18:40> Cluster nodes are reachable: OK -23:18:40> Cluster nodes hard reset: OK -23:18:43> Cluster Join and auto-discovery test: OK -23:18:48> Before slots allocation, all nodes report cluster failure: OK -23:18:48> Create a 5 nodes cluster: OK -23:18:52> Cluster is up: OK -23:18:52> Enable AOF in all the instances: OK +02:39:12> (init) Restart killed instances: OK +02:39:12> Cluster nodes are reachable: OK +02:39:12> Cluster nodes hard reset: OK +02:39:16> Cluster Join and auto-discovery test: OK +02:39:20> Before slots allocation, all nodes report cluster failure: OK +02:39:20> Create a 5 nodes cluster: OK +02:39:24> Cluster is up: OK +02:39:24> Enable AOF in all the instances: OK Testing TLS cluster on start node 127.0.0.1:30000, plaintext port 30001 -23:18:52> Cluster consistency during live resharding: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...Starting resharding...W............................................................W..................................................................................................................................................................W........................................................................................................................W...........................................................................................................................................................................W.....................................................................................................................................................................................W...........................................................................................................................................................................................W...........................................................................................WWW...Starting resharding...W............................................................W........................................................................................................................................................................W......................................................................................................................................W.................................................................................................................................................................................................W.........................................................................................................................................................................................................W...................................................................................................................................W.................................................................................................WWW...Starting resharding...W............................................................W....................................................................................................................................................................................................W.....................................................................................................................................W.................................................................................................................................................................................W......................................................................................................................................................................W............................................................................................................................................................................................W.......................................................................................WWW...Starting resharding...W...............................................................................................................................................W.................................................................................................................................................................................W....................................................................................................................................................................W............................................................................................................................................................................................W..........................................................................................................................................................................................................W......................................................................................................................WWWW...Starting resharding...W............................................................W....................................................................................................................................................................W.............................................................................................................................W.......................................................................................................................................................W.............................................................................................................................................................................W.........................................................................................................................................................................................W........................................................................................................................WWW...Starting resharding...W...........................................................................W.......................................................................................................................................................W..............................................................................................................................................................................W..............................................................................................................................................................................................W..........................................................................................................................................................................W...............................................................................................................................................W........................................................................................................WWW...Starting resharding...W...........................................................................W..................................................................................................................................................................................................................W................................................................................................................................................................W..........................................................................................................................W............................................................................................................................................................................W.......................................................................................................................................................................................W........................................................................WWW...Starting resharding...W...............................................................................................................................................................W...........................................................................................................................................................W........................................................................................................................................W...................................................................................................................................................................................W................................................................................................................................................W.................................................................................................................................................................................................W.........WWW...Starting resharding...W............................................................W...........................................................................................................................................................................................................................................W..........................................................................................................................................W...............................................................................................................................................................W...................................................................................................................................................................................................W...........................................................................................................................................................W......................................................................WWW...Starting resharding...W..........................................................................................W....................................................................................................................................................................................................................................W..........................................................................................................................................................W...........................................................................................................................................................................................................................W...........................................................................................................................................................................W........................................................................................................................................................WWWWOK -23:22:11> Verify 50000 keys for consistency with logical content: OK -23:22:35> Terminate and restart all the instances: OK -23:22:50> Cluster should eventually be up again: OK -23:22:52> Verify 50000 keys after the restart: OK -23:23:19> Disable AOF in all the instances: OK -23:23:19> Verify slaves consistency: OK -23:23:21> Dump sanitization was skipped for migrations: OK +02:39:25> Cluster consistency during live resharding: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWFAILED: caught an error in the test CLUSTERDOWN The cluster is down +CLUSTERDOWN The cluster is down + while executing +"$link $method {*}$args" + (procedure "::redict_cluster::__dispatch__" line 32) + invoked from within +"$cluster_plaintext rpush $key $ele" + ("uplevel" body line 30) + invoked from within +"uplevel 1 $code" + (procedure "test" line 6) + invoked from within +"test "Cluster consistency during live resharding" { + set ele 0 + for {set j 0} {$j < $numops} {incr j} { + # Trigger the resharding once we..." + (file "../tests/04-resharding.tcl" line 78) + invoked from within +"source $test " Testing unit: 05-slave-selection.tcl -23:23:21> (init) Restart killed instances: OK -23:23:21> Cluster nodes are reachable: OK -23:23:21> Cluster nodes hard reset: OK -23:23:24> Cluster Join and auto-discovery test: OK -23:23:28> Before slots allocation, all nodes report cluster failure: OK -23:23:28> Create a 5 nodes cluster: OK -23:23:32> Cluster is up: OK -23:23:32> The first master has actually two slaves: OK -23:23:32> CLUSTER SLAVES and CLUSTER REPLICAS output is consistent: OK -23:23:32> Slaves of #0 are instance #5 and #10 as expected: OK -23:23:32> Instance #5 and #10 synced with the master: OK -23:23:32> Slaves are both able to receive and acknowledge writes: OK -23:23:32> Write data while slave #10 is paused and can't receive it: OK -23:23:42> Wait for instance #5 (and not #10) to turn into a master: OK -23:23:47> Wait for the node #10 to return alive before ending the test: OK -23:23:47> Cluster should eventually be up again: OK -23:23:47> Node #10 should eventually replicate node #5: OK -23:23:47> (init) Restart killed instances: redict/0 OK -23:23:48> Cluster nodes are reachable: OK -23:23:48> Cluster nodes hard reset: OK -23:23:53> Cluster Join and auto-discovery test: OK -23:23:56> Before slots allocation, all nodes report cluster failure: OK -23:23:56> Create a 3 nodes cluster: OK -23:24:00> Cluster is up: OK -23:24:00> The first master has actually 5 slaves: OK -23:24:00> Slaves of #0 are instance #3, #6, #9, #12 and #15 as expected: OK -23:24:00> Instance #3, #6, #9, #12 and #15 synced with the master: OK -23:24:00> New Master down consecutively: OK +02:40:34> (init) Restart killed instances: OK +02:40:34> Cluster nodes are reachable: OK +02:40:34> Cluster nodes hard reset: OK +02:40:52> Cluster Join and auto-discovery test: OK +02:40:57> Before slots allocation, all nodes report cluster failure: OK +02:40:58> Create a 5 nodes cluster: OK +02:41:01> Cluster is up: OK +02:41:01> The first master has actually two slaves: OK +02:41:01> CLUSTER SLAVES and CLUSTER REPLICAS output is consistent: OK +02:41:01> Slaves of #0 are instance #5 and #10 as expected: OK +02:41:01> Instance #5 and #10 synced with the master: OK +02:41:01> Slaves are both able to receive and acknowledge writes: OK +02:41:02> Write data while slave #10 is paused and can't receive it: OK +02:41:12> Wait for instance #5 (and not #10) to turn into a master: OK +02:41:17> Wait for the node #10 to return alive before ending the test: OK +02:41:17> Cluster should eventually be up again: OK +02:41:17> Node #10 should eventually replicate node #5: OK +02:41:17> (init) Restart killed instances: redict/0 OK +02:41:17> Cluster nodes are reachable: OK +02:41:18> Cluster nodes hard reset: OK +02:41:21> Cluster Join and auto-discovery test: OK +02:41:25> Before slots allocation, all nodes report cluster failure: OK +02:41:25> Create a 3 nodes cluster: OK +02:41:29> Cluster is up: OK +02:41:29> The first master has actually 5 slaves: OK +02:41:29> Slaves of #0 are instance #3, #6, #9, #12 and #15 as expected: OK +02:41:29> Instance #3, #6, #9, #12 and #15 synced with the master: OK +02:41:29> New Master down consecutively: OK Testing unit: 06-slave-stop-cond.tcl -23:24:31> (init) Restart killed instances: redict/0 redict/3 redict/6 redict/12 redict/15 OK -23:24:35> Cluster nodes are reachable: OK -23:24:35> Cluster nodes hard reset: OK -23:24:39> Cluster Join and auto-discovery test: OK -23:24:42> Before slots allocation, all nodes report cluster failure: OK -23:24:42> Create a 5 nodes cluster: OK -23:24:46> Cluster is up: OK -23:24:46> The first master has actually one slave: OK -23:24:46> Slaves of #0 is instance #5 as expected: OK -23:24:46> Instance #5 synced with the master: OK -23:24:46> Lower the slave validity factor of #5 to the value of 2: OK -23:24:46> Break master-slave link and prevent further reconnections: OK -23:25:06> Slave #5 is reachable and alive: OK -23:25:06> Slave #5 should not be able to failover: OK -23:25:16> Cluster should be down: OK +02:42:05> (init) Restart killed instances: redict/0 redict/6 redict/9 redict/12 redict/15 OK +02:42:09> Cluster nodes are reachable: OK +02:42:09> Cluster nodes hard reset: OK +02:42:12> Cluster Join and auto-discovery test: OK +02:42:16> Before slots allocation, all nodes report cluster failure: OK +02:42:16> Create a 5 nodes cluster: OK +02:42:20> Cluster is up: OK +02:42:20> The first master has actually one slave: OK +02:42:20> Slaves of #0 is instance #5 as expected: OK +02:42:20> Instance #5 synced with the master: OK +02:42:20> Lower the slave validity factor of #5 to the value of 2: OK +02:42:20> Break master-slave link and prevent further reconnections: OK +02:42:41> Slave #5 is reachable and alive: OK +02:42:41> Slave #5 should not be able to failover: OK +02:42:51> Cluster should be down: OK Testing unit: 07-replica-migration.tcl -23:25:17> (init) Restart killed instances: redict/0 OK -23:25:17> Cluster nodes are reachable: OK -23:25:17> Cluster nodes hard reset: OK -23:25:23> Cluster Join and auto-discovery test: OK -23:25:27> Before slots allocation, all nodes report cluster failure: OK -23:25:27> Create a 5 nodes cluster: OK -23:25:31> Cluster is up: OK -23:25:31> Each master should have two replicas attached: OK -23:25:31> Killing all the slaves of master #0 and #1: OK -23:25:36> Master #0 should have at least one replica: OK -23:25:41> Master #1 should have at least one replica: OK -23:25:41> Master #2 should have at least one replica: OK -23:25:41> Master #3 should have at least one replica: OK -23:25:41> Master #4 should have at least one replica: OK -23:25:41> (init) Restart killed instances: redict/5 redict/6 redict/10 redict/11 OK -23:25:45> Cluster nodes are reachable: OK -23:25:45> Cluster nodes hard reset: OK -23:25:50> Cluster Join and auto-discovery test: OK -23:25:55> Before slots allocation, all nodes report cluster failure: OK -23:25:55> Create a 5 nodes cluster: OK -23:25:59> Cluster is up: OK -23:25:59> Kill slave #7 of master #2. Only slave left is #12 now: OK -23:25:59> Killing master node #2, #12 should failover: OK -23:25:59> Wait for failover: OK -23:26:04> Cluster should eventually be up again: OK -23:26:04> Cluster is writable: OK -23:26:04> Instance 12 is now a master without slaves: OK -23:26:04> Master #12 should get at least one migrated replica: OK +02:42:51> (init) Restart killed instances: redict/0 OK +02:42:51> Cluster nodes are reachable: OK +02:42:51> Cluster nodes hard reset: OK +02:42:56> Cluster Join and auto-discovery test: OK +02:43:00> Before slots allocation, all nodes report cluster failure: OK +02:43:00> Create a 5 nodes cluster: OK +02:43:04> Cluster is up: OK +02:43:04> Each master should have two replicas attached: OK +02:43:04> Killing all the slaves of master #0 and #1: OK +02:43:09> Master #0 should have at least one replica: OK +02:43:14> Master #1 should have at least one replica: OK +02:43:14> Master #2 should have at least one replica: OK +02:43:14> Master #3 should have at least one replica: OK +02:43:14> Master #4 should have at least one replica: OK +02:43:14> (init) Restart killed instances: redict/5 redict/6 redict/10 redict/11 OK +02:43:17> Cluster nodes are reachable: OK +02:43:17> Cluster nodes hard reset: OK +02:43:21> Cluster Join and auto-discovery test: OK +02:43:25> Before slots allocation, all nodes report cluster failure: OK +02:43:25> Create a 5 nodes cluster: OK +02:43:29> Cluster is up: OK +02:43:29> Kill slave #7 of master #2. Only slave left is #12 now: OK +02:43:29> Killing master node #2, #12 should failover: OK +02:43:29> Wait for failover: OK +02:43:35> Cluster should eventually be up again: OK +02:43:35> Cluster is writable: OK +02:43:35> Instance 12 is now a master without slaves: OK +02:43:35> Master #12 should get at least one migrated replica: OK Testing unit: 08-update-msg.tcl -23:26:09> (init) Restart killed instances: redict/2 redict/7 OK -23:26:10> Cluster nodes are reachable: OK -23:26:11> Cluster nodes hard reset: OK -23:26:15> Cluster Join and auto-discovery test: OK -23:26:18> Before slots allocation, all nodes report cluster failure: OK -23:26:18> Create a 5 nodes cluster: OK -23:26:23> Cluster is up: OK -23:26:23> Cluster is writable: OK -23:26:23> Instance #5 is a slave: OK -23:26:23> Instance #5 synced with the master: OK -23:26:23> Killing one master node: OK -23:26:24> Wait for failover: OK -23:26:29> Cluster should eventually be up again: OK -23:26:29> Cluster is writable: OK -23:26:31> Instance #5 is now a master: OK -23:26:31> Killing the new master #5: OK -23:26:31> Cluster should be down now: OK -23:26:35> Restarting the old master node: OK -23:26:36> Instance #0 gets converted into a slave: OK -23:26:36> Restarting the new master node: OK -23:26:37> Cluster is up again: OK +02:43:40> (init) Restart killed instances: redict/2 redict/7 OK +02:43:41> Cluster nodes are reachable: OK +02:43:41> Cluster nodes hard reset: OK +02:43:45> Cluster Join and auto-discovery test: OK +02:43:48> Before slots allocation, all nodes report cluster failure: OK +02:43:48> Create a 5 nodes cluster: OK +02:43:52> Cluster is up: OK +02:43:52> Cluster is writable: OK +02:43:53> Instance #5 is a slave: OK +02:43:53> Instance #5 synced with the master: OK +02:43:53> Killing one master node: OK +02:43:54> Wait for failover: OK +02:43:59> Cluster should eventually be up again: OK +02:43:59> Cluster is writable: OK +02:44:00> Instance #5 is now a master: OK +02:44:00> Killing the new master #5: OK +02:44:00> Cluster should be down now: OK +02:44:04> Restarting the old master node: OK +02:44:04> Instance #0 gets converted into a slave: OK +02:44:04> Restarting the new master node: OK +02:44:05> Cluster is up again: OK Testing unit: 09-pubsub.tcl -23:26:42> (init) Restart killed instances: OK -23:26:42> Cluster nodes are reachable: OK -23:26:42> Cluster nodes hard reset: OK -23:26:46> Cluster Join and auto-discovery test: OK -23:26:51> Before slots allocation, all nodes report cluster failure: OK -23:26:51> Create a 5 nodes cluster: OK -23:26:55> Test publishing to master: OK -23:26:55> Test publishing to slave: OK +02:44:11> (init) Restart killed instances: OK +02:44:11> Cluster nodes are reachable: OK +02:44:11> Cluster nodes hard reset: OK +02:44:15> Cluster Join and auto-discovery test: OK +02:44:18> Before slots allocation, all nodes report cluster failure: OK +02:44:18> Create a 5 nodes cluster: OK +02:44:23> Test publishing to master: OK +02:44:23> Test publishing to slave: OK Testing unit: 10-manual-failover.tcl -23:26:55> (init) Restart killed instances: OK -23:26:55> Cluster nodes are reachable: OK -23:26:55> Cluster nodes hard reset: OK -23:27:00> Cluster Join and auto-discovery test: OK -23:27:04> Before slots allocation, all nodes report cluster failure: OK -23:27:04> Create a 5 nodes cluster: OK -23:27:09> Cluster is up: OK -23:27:09> Cluster is writable: OK -23:27:09> Instance #5 is a slave: OK -23:27:09> Instance #5 synced with the master: OK -23:27:10> Send CLUSTER FAILOVER to #5, during load: WWWWWWWWWWOK -23:27:23> Wait for failover: OK -23:27:23> Cluster should eventually be up again: OK -23:27:23> Cluster is writable: OK -23:27:23> Instance #5 is now a master: OK -23:27:23> Verify 50000 keys for consistency with logical content: OK -23:27:30> Instance #0 gets converted into a slave: OK -23:27:30> (init) Restart killed instances: OK -23:27:30> Cluster nodes are reachable: OK -23:27:30> Cluster nodes hard reset: OK -23:27:35> Cluster Join and auto-discovery test: OK -23:27:39> Before slots allocation, all nodes report cluster failure: OK -23:27:39> Create a 5 nodes cluster: OK -23:27:43> Cluster is up: OK -23:27:43> Cluster is writable: OK -23:27:44> Instance #5 is a slave: OK -23:27:44> Instance #5 synced with the master: OK -23:27:44> Make instance #0 unreachable without killing it: OK -23:27:44> Send CLUSTER FAILOVER to instance #5: OK -23:27:44> Instance #5 is still a slave after some time (no failover): OK -23:27:49> Wait for instance #0 to return back alive: OK -23:27:54> (init) Restart killed instances: OK -23:27:54> Cluster nodes are reachable: OK -23:27:54> Cluster nodes hard reset: OK -23:28:00> Cluster Join and auto-discovery test: OK -23:28:03> Before slots allocation, all nodes report cluster failure: OK -23:28:03> Create a 5 nodes cluster: OK -23:28:07> Cluster is up: OK -23:28:07> Cluster is writable: OK -23:28:08> Instance #5 is a slave: OK -23:28:08> Instance #5 synced with the master: OK -23:28:08> Make instance #0 unreachable without killing it: OK -23:28:08> Send CLUSTER FAILOVER to instance #5: OK -23:28:08> Instance #5 is a master after some time: OK -23:28:09> Wait for instance #0 to return back alive: OK +02:44:23> (init) Restart killed instances: OK +02:44:23> Cluster nodes are reachable: OK +02:44:23> Cluster nodes hard reset: OK +02:44:26> Cluster Join and auto-discovery test: OK +02:44:30> Before slots allocation, all nodes report cluster failure: OK +02:44:30> Create a 5 nodes cluster: OK +02:44:34> Cluster is up: OK +02:44:34> Cluster is writable: OK +02:44:35> Instance #5 is a slave: OK +02:44:35> Instance #5 synced with the master: OK +02:44:35> Send CLUSTER FAILOVER to #5, during load: WWWWWWWWWWOK +02:44:48> Wait for failover: OK +02:44:48> Cluster should eventually be up again: OK +02:44:48> Cluster is writable: OK +02:44:49> Instance #5 is now a master: OK +02:44:49> Verify 50000 keys for consistency with logical content: OK +02:44:57> Instance #0 gets converted into a slave: OK +02:44:57> (init) Restart killed instances: OK +02:44:57> Cluster nodes are reachable: OK +02:44:57> Cluster nodes hard reset: OK +02:45:00> Cluster Join and auto-discovery test: OK +02:45:04> Before slots allocation, all nodes report cluster failure: OK +02:45:04> Create a 5 nodes cluster: OK +02:45:08> Cluster is up: OK +02:45:08> Cluster is writable: OK +02:45:09> Instance #5 is a slave: OK +02:45:09> Instance #5 synced with the master: OK +02:45:09> Make instance #0 unreachable without killing it: OK +02:45:09> Send CLUSTER FAILOVER to instance #5: OK +02:45:09> Instance #5 is still a slave after some time (no failover): OK +02:45:14> Wait for instance #0 to return back alive: OK +02:45:19> (init) Restart killed instances: OK +02:45:19> Cluster nodes are reachable: OK +02:45:19> Cluster nodes hard reset: OK +02:45:22> Cluster Join and auto-discovery test: OK +02:45:26> Before slots allocation, all nodes report cluster failure: OK +02:45:26> Create a 5 nodes cluster: OK +02:45:31> Cluster is up: OK +02:45:31> Cluster is writable: OK +02:45:31> Instance #5 is a slave: OK +02:45:31> Instance #5 synced with the master: OK +02:45:31> Make instance #0 unreachable without killing it: OK +02:45:31> Send CLUSTER FAILOVER to instance #5: OK +02:45:31> Instance #5 is a master after some time: OK +02:45:31> Wait for instance #0 to return back alive: OK Testing unit: 11-manual-takeover.tcl -23:28:18> (init) Restart killed instances: OK -23:28:18> Cluster nodes are reachable: OK -23:28:19> Cluster nodes hard reset: OK -23:28:24> Cluster Join and auto-discovery test: OK -23:28:28> Before slots allocation, all nodes report cluster failure: OK -23:28:28> Create a 5 nodes cluster: OK -23:28:32> Cluster is up: OK -23:28:32> Cluster is writable: OK -23:28:33> Killing majority of master nodes: OK -23:28:34> Cluster should eventually be down: OK -23:28:37> Use takeover to bring slaves back: OK -23:28:37> Cluster should eventually be up again: OK -23:28:40> Cluster is writable: OK -23:28:42> Instance #5, #6, #7 are now masters: OK -23:28:42> Restarting the previously killed master nodes: OK -23:28:45> Instance #0, #1, #2 gets converted into a slaves: OK +02:45:41> (init) Restart killed instances: OK +02:45:41> Cluster nodes are reachable: OK +02:45:41> Cluster nodes hard reset: OK +02:45:45> Cluster Join and auto-discovery test: OK +02:45:49> Before slots allocation, all nodes report cluster failure: OK +02:45:49> Create a 5 nodes cluster: OK +02:45:53> Cluster is up: OK +02:45:53> Cluster is writable: OK +02:45:54> Killing majority of master nodes: OK +02:45:55> Cluster should eventually be down: OK +02:45:58> Use takeover to bring slaves back: OK +02:45:58> Cluster should eventually be up again: OK +02:46:01> Cluster is writable: OK +02:46:02> Instance #5, #6, #7 are now masters: OK +02:46:02> Restarting the previously killed master nodes: OK +02:46:04> Instance #0, #1, #2 gets converted into a slaves: OK Testing unit: 12-replica-migration-2.tcl -23:28:45> (init) Restart killed instances: OK -23:28:45> Cluster nodes are reachable: OK -23:28:45> Cluster nodes hard reset: OK -23:28:50> Cluster Join and auto-discovery test: OK -23:28:55> Before slots allocation, all nodes report cluster failure: OK -23:28:55> Create a 5 nodes cluster: OK -23:28:59> Cluster is up: OK -23:28:59> Each master should have at least two replicas attached: OK -23:28:59> Set allow-replica-migration yes: OK -23:28:59> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) +02:46:05> (init) Restart killed instances: OK +02:46:05> Cluster nodes are reachable: OK +02:46:05> Cluster nodes hard reset: OK +02:46:08> Cluster Join and auto-discovery test: OK +02:46:12> Before slots allocation, all nodes report cluster failure: OK +02:46:12> Create a 5 nodes cluster: OK +02:46:15> Cluster is up: OK +02:46:15> Each master should have at least two replicas attached: OK +02:46:15> Set allow-replica-migration yes: OK +02:46:15> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. >>> Rebalancing across 5 nodes. Total weight = 4.00 -Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30004 -#################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30002 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### +Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30004 +#################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30006 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 816 slots from 127.0.0.1:30000 to 127.0.0.1:30008 ################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################ OK -23:32:16> Master #0 who lost all slots should turn into a replica without replicas: OK -23:32:16> Resharding back some slot to master #0: >>> Performing Cluster Check (using node 127.0.0.1:30000) +02:48:58> Master #0 who lost all slots should turn into a replica without replicas: OK +02:48:58> 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 -23:32:27> Master #0 should re-acquire one or more replicas: OK +02:49:09> Master #0 should re-acquire one or more replicas: OK Testing unit: 12.1-replica-migration-3.tcl -23:32:27> (init) Restart killed instances: OK -23:32:27> Cluster nodes are reachable: OK -23:32:27> Cluster nodes hard reset: OK -23:32:32> Cluster Join and auto-discovery test: OK -23:32:36> Before slots allocation, all nodes report cluster failure: OK -23:32:36> Create a 5 nodes cluster: OK -23:32:39> Cluster is up: OK -23:32:39> Each master should have at least two replicas attached: OK -23:32:39> Set allow-replica-migration no: OK -23:32:39> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) +02:49:09> (init) Restart killed instances: OK +02:49:09> Cluster nodes are reachable: OK +02:49:09> Cluster nodes hard reset: OK +02:49:13> Cluster Join and auto-discovery test: OK +02:49:17> Before slots allocation, all nodes report cluster failure: OK +02:49:17> Create a 5 nodes cluster: OK +02:49:21> Cluster is up: OK +02:49:21> Each master should have at least two replicas attached: OK +02:49:21> Set allow-replica-migration no: OK +02:49:21> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. >>> Rebalancing across 5 nodes. Total weight = 4.00 +Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30006 +#################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30004 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30002 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### -Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30006 -#################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 816 slots from 127.0.0.1:30000 to 127.0.0.1:30008 ################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################ OK -23:35:43> Wait cluster to be stable: OK -23:35:43> Master #0 still should have its replicas: OK -23:35:43> Each master should have at least two replicas attached: OK +02:51:26> Wait cluster to be stable: OK +02:51:27> Master #0 still should have its replicas: OK +02:51:27> Each master should have at least two replicas attached: OK Testing unit: 13-no-failover-option.tcl -23:35:43> (init) Restart killed instances: OK -23:35:43> Cluster nodes are reachable: OK -23:35:43> Cluster nodes hard reset: OK -23:35:48> Cluster Join and auto-discovery test: OK -23:35:51> Before slots allocation, all nodes report cluster failure: OK -23:35:51> Create a 5 nodes cluster: OK -23:35:55> Cluster is up: OK -23:35:55> Cluster is writable: OK -23:35:56> Instance #5 is a slave: OK -23:35:56> Instance #5 synced with the master: OK -23:35:56> The nofailover flag is propagated: OK -23:35:57> Killing one master node: OK -23:35:58> Cluster should be still down after some time: OK -23:36:08> Instance #5 is still a slave: OK -23:36:08> Restarting the previously killed master node: OK +02:51:27> (init) Restart killed instances: OK +02:51:27> Cluster nodes are reachable: OK +02:51:27> Cluster nodes hard reset: OK +02:51:30> Cluster Join and auto-discovery test: OK +02:51:34> Before slots allocation, all nodes report cluster failure: OK +02:51:34> Create a 5 nodes cluster: OK +02:51:38> Cluster is up: OK +02:51:38> Cluster is writable: OK +02:51:39> Instance #5 is a slave: OK +02:51:39> Instance #5 synced with the master: OK +02:51:39> The nofailover flag is propagated: OK +02:51:40> Killing one master node: OK +02:51:41> Cluster should be still down after some time: OK +02:51:51> Instance #5 is still a slave: OK +02:51:51> Restarting the previously killed master node: OK Testing unit: 14-consistency-check.tcl -23:36:08> (init) Restart killed instances: OK -23:36:08> Cluster nodes are reachable: OK -23:36:08> Cluster nodes hard reset: OK -23:36:11> Cluster Join and auto-discovery test: OK -23:36:14> Before slots allocation, all nodes report cluster failure: OK -23:36:14> Create a 5 nodes cluster: OK -23:36:18> Cluster should start ok: OK -23:36:18> Cluster is writable: OK -23:36:19> Slave expired keys is loaded when restarted: appendonly=no: OK -23:36:23> Slave expired keys is loaded when restarted: appendonly=yes: OK +02:51:51> (init) Restart killed instances: OK +02:51:51> Cluster nodes are reachable: OK +02:51:51> Cluster nodes hard reset: OK +02:51:55> Cluster Join and auto-discovery test: OK +02:51:59> Before slots allocation, all nodes report cluster failure: OK +02:51:59> Create a 5 nodes cluster: OK +02:52:04> Cluster should start ok: OK +02:52:04> Cluster is writable: OK +02:52:04> Slave expired keys is loaded when restarted: appendonly=no: OK +02:52:09> Slave expired keys is loaded when restarted: appendonly=yes: OK Testing unit: 15-cluster-slots.tcl -23:36:28> (init) Restart killed instances: OK -23:36:28> Cluster nodes are reachable: OK -23:36:28> Cluster nodes hard reset: OK -23:36:31> Cluster Join and auto-discovery test: OK -23:36:33> Before slots allocation, all nodes report cluster failure: OK -23:36:33> Create a 5 nodes cluster: OK -23:36:37> Cluster is up: OK -23:36:37> Cluster is writable: OK -23:36:37> Instance #5 is a slave: OK -23:36:37> client do not break when cluster slot: OK -23:36:47> client can handle keys with hash tag: OK -23:36:47> slot migration is valid from primary to another primary: OK -23:36:47> slot migration is invalid from primary to replica: {a3405d787da08d29b00475630f2a73379192459a 127.0.0.1:30018@40018 slave 6ddb485666d1ca37d0e91c3b987d935d8d4a2a94 0 1736681807000 5 connected} {cc0762c141b4108f7ca637839f460594a2e9fff1 127.0.0.1:30028@40028 slave 6ddb485666d1ca37d0e91c3b987d935d8d4a2a94 0 1736681807562 5 connected} {a694f3bbc20aea38687f3335634e608f265dca50 127.0.0.1:30038@40038 slave 6ddb485666d1ca37d0e91c3b987d935d8d4a2a94 0 1736681806518 5 connected} -a3405d787da08d29b00475630f2a73379192459a +02:52:14> (init) Restart killed instances: OK +02:52:14> Cluster nodes are reachable: OK +02:52:14> Cluster nodes hard reset: OK +02:52:17> Cluster Join and auto-discovery test: OK +02:52:21> Before slots allocation, all nodes report cluster failure: OK +02:52:21> Create a 5 nodes cluster: OK +02:52:24> Cluster is up: OK +02:52:24> Cluster is writable: OK +02:52:25> Instance #5 is a slave: OK +02:52:25> client do not break when cluster slot: OK +02:52:36> client can handle keys with hash tag: OK +02:52:37> slot migration is valid from primary to another primary: OK +02:52:37> slot migration is invalid from primary to replica: {e84c9b553995352971dad60ccd15b6e1ddab0677 127.0.0.1:30016@40016 slave efd0b5ef9032774a25f47bdab5b78b3d32464cc8 0 1736686357617 4 connected} {2712e2edc0eda486fd9890ce90a8d00375785554 127.0.0.1:30026@40026 slave efd0b5ef9032774a25f47bdab5b78b3d32464cc8 0 1736686357000 4 connected} {3984cb54f589341ac2f7a6ab437aaeadb3b3eae3 127.0.0.1:30036@40036 slave efd0b5ef9032774a25f47bdab5b78b3d32464cc8 0 1736686357000 4 connected} +e84c9b553995352971dad60ccd15b6e1ddab0677 OK -23:36:48> slot must be unbound on the owner when it is deleted: OK -23:37:23> CLUSTER SLOTS from non-TLS client in TLS cluster: OK +02:52:38> slot must be unbound on the owner when it is deleted: OK +02:53:27> CLUSTER SLOTS from non-TLS client in TLS cluster: OK Testing unit: 16-transactions-on-replica.tcl -23:37:43> (init) Restart killed instances: OK -23:37:43> Cluster nodes are reachable: OK -23:37:43> Cluster nodes hard reset: OK -23:37:45> Cluster Join and auto-discovery test: OK -23:37:48> Before slots allocation, all nodes report cluster failure: OK -23:37:48> Create a primary with a replica: OK -23:37:53> Cluster should start ok: OK -23:37:53> Can't read from replica without READONLY: OK -23:37:53> Can't read from replica after READWRITE: OK -23:37:53> Can read from replica after READONLY: OK -23:37:53> Can perform HSET primary and HGET from replica: OK -23:37:53> Can MULTI-EXEC transaction of HGET operations from replica: OK -23:37:53> MULTI-EXEC with write operations is MOVED: OK -23:37:53> read-only blocking operations from replica: OK -23:37:53> reply MOVED when eval from replica for update: OK +02:53:51> (init) Restart killed instances: OK +02:53:51> Cluster nodes are reachable: OK +02:53:51> Cluster nodes hard reset: OK +02:53:57> Cluster Join and auto-discovery test: OK +02:54:02> Before slots allocation, all nodes report cluster failure: OK +02:54:02> Create a primary with a replica: OK +02:54:07> Cluster should start ok: OK +02:54:07> Can't read from replica without READONLY: OK +02:54:07> Can't read from replica after READWRITE: OK +02:54:07> Can read from replica after READONLY: OK +02:54:07> Can perform HSET primary and HGET from replica: OK +02:54:07> Can MULTI-EXEC transaction of HGET operations from replica: OK +02:54:07> MULTI-EXEC with write operations is MOVED: OK +02:54:07> read-only blocking operations from replica: OK +02:54:07> reply MOVED when eval from replica for update: OK Testing unit: 17-diskless-load-swapdb.tcl -23:37:53> (init) Restart killed instances: OK -23:37:53> Cluster nodes are reachable: OK -23:37:53> Cluster nodes hard reset: OK -23:37:56> Cluster Join and auto-discovery test: OK -23:37:59> Before slots allocation, all nodes report cluster failure: OK -23:37:59> Create a primary with a replica: OK -23:38:03> Cluster should start ok: OK -23:38:03> Cluster is writable: OK -23:38:04> Main db not affected when fail to diskless load: Waiting for process 646 to exit... +02:54:07> (init) Restart killed instances: OK +02:54:07> Cluster nodes are reachable: OK +02:54:07> Cluster nodes hard reset: OK +02:54:14> Cluster Join and auto-discovery test: OK +02:54:19> Before slots allocation, all nodes report cluster failure: OK +02:54:19> Create a primary with a replica: OK +02:54:24> Cluster should start ok: OK +02:54:24> Cluster is writable: OK +02:54:25> Main db not affected when fail to diskless load: Waiting for process 6162 to exit... OK Testing unit: 18-info.tcl -23:38:38> (init) Restart killed instances: redict/0 OK -23:38:38> Cluster nodes are reachable: OK -23:38:38> Cluster nodes hard reset: OK -23:38:43> Cluster Join and auto-discovery test: OK -23:38:46> Before slots allocation, all nodes report cluster failure: OK -23:38:46> Create a primary with a replica: OK -23:38:51> Cluster should start ok: OK -23:38:51> errorstats: rejected call due to MOVED Redirection: OK +02:55:01> (init) Restart killed instances: redict/0 OK +02:55:02> Cluster nodes are reachable: OK +02:55:02> Cluster nodes hard reset: OK +02:55:06> Cluster Join and auto-discovery test: OK +02:55:12> Before slots allocation, all nodes report cluster failure: OK +02:55:12> Create a primary with a replica: OK +02:55:16> Cluster should start ok: OK +02:55:16> errorstats: rejected call due to MOVED Redirection: OK Testing unit: 19-cluster-nodes-slots.tcl -23:38:51> (init) Restart killed instances: OK -23:38:51> Cluster nodes are reachable: OK -23:38:51> Cluster nodes hard reset: OK -23:38:56> Cluster Join and auto-discovery test: OK -23:38:59> Before slots allocation, all nodes report cluster failure: OK -23:38:59> Create a 2 nodes cluster: OK -23:39:04> Cluster should start ok: OK -23:39:04> Continuous slots distribution: OK -23:39:04> Discontinuous slots distribution: OK +02:55:16> (init) Restart killed instances: OK +02:55:16> Cluster nodes are reachable: OK +02:55:16> Cluster nodes hard reset: OK +02:55:20> Cluster Join and auto-discovery test: OK +02:55:25> Before slots allocation, all nodes report cluster failure: OK +02:55:25> Create a 2 nodes cluster: OK +02:55:29> Cluster should start ok: OK +02:55:29> Continuous slots distribution: OK +02:55:29> 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 -23:39:04> (init) Restart killed instances: OK -23:39:04> Cluster nodes are reachable: OK -23:39:04> Cluster nodes hard reset: OK -23:39:09> Cluster Join and auto-discovery test: OK -23:39:12> Before slots allocation, all nodes report cluster failure: OK -23:39:12> Create a 1 node cluster: OK -23:39:17> Cluster is up: OK -23:39:17> Cluster is writable: OK -23:39:18> Fill up primary with data: OK -23:39:18> Add new node as replica: OK -23:39:18> Check digest and replica state: OK -23:39:18> Replica in loading state is hidden: OK -23:39:28> Check disconnected replica not hidden from slots: OK +02:55:29> (init) Restart killed instances: OK +02:55:29> Cluster nodes are reachable: OK +02:55:29> Cluster nodes hard reset: OK +02:55:33> Cluster Join and auto-discovery test: OK +02:55:38> Before slots allocation, all nodes report cluster failure: OK +02:55:38> Create a 1 node cluster: OK +02:55:42> Cluster is up: OK +02:55:42> Cluster is writable: OK +02:55:43> Fill up primary with data: OK +02:55:43> Add new node as replica: OK +02:55:43> Check digest and replica state: OK +02:55:43> Replica in loading state is hidden: OK +02:55:49> Check disconnected replica not hidden from slots: OK Testing unit: 25-pubsubshard-slot-migration.tcl -23:39:29> (init) Restart killed instances: OK -23:39:29> Cluster nodes are reachable: OK -23:39:29> Cluster nodes hard reset: OK -23:39:32> Cluster Join and auto-discovery test: OK -23:39:35> Before slots allocation, all nodes report cluster failure: OK -23:39:35> Create a 3 nodes cluster: OK -23:39:40> Cluster is up: OK -23:39:40> Migrate a slot, verify client receives sunsubscribe on primary serving the slot.: OK -23:39:40> Client subscribes to multiple channels, migrate a slot, verify client receives sunsubscribe on primary serving the slot.: OK -23:39:40> Migrate a slot, verify client receives sunsubscribe on replica serving the slot.: OK -23:39:40> Move a replica to another primary, verify client receives sunsubscribe on replica serving the slot.: OK -23:39:41> Delete a slot, verify sunsubscribe message: OK -23:39:41> Reset cluster, verify sunsubscribe message: OK +02:55:50> (init) Restart killed instances: OK +02:55:50> Cluster nodes are reachable: OK +02:55:50> Cluster nodes hard reset: OK +02:55:54> Cluster Join and auto-discovery test: OK +02:55:58> Before slots allocation, all nodes report cluster failure: OK +02:55:58> Create a 3 nodes cluster: OK +02:56:02> Cluster is up: OK +02:56:02> Migrate a slot, verify client receives sunsubscribe on primary serving the slot.: OK +02:56:03> Client subscribes to multiple channels, migrate a slot, verify client receives sunsubscribe on primary serving the slot.: OK +02:56:03> Migrate a slot, verify client receives sunsubscribe on replica serving the slot.: OK +02:56:03> Move a replica to another primary, verify client receives sunsubscribe on replica serving the slot.: OK +02:56:04> Delete a slot, verify sunsubscribe message: OK +02:56:04> Reset cluster, verify sunsubscribe message: OK Testing unit: 26-pubsubshard.tcl -23:39:41> (init) Restart killed instances: OK -23:39:41> Cluster nodes are reachable: OK -23:39:41> Cluster nodes hard reset: OK -23:39:45> Cluster Join and auto-discovery test: OK -23:39:49> Before slots allocation, all nodes report cluster failure: OK -23:39:49> Create a 3 nodes cluster: OK -23:39:53> Pub/Sub shard basics: OK -23:39:53> client can't subscribe to multiple shard channels across different slots in same call: OK -23:39:53> client can subscribe to multiple shard channels across different slots in separate call: OK -23:39:53> sunsubscribe without specifying any channel would unsubscribe all shard channels subscribed: OK -23:39:54> Verify Pub/Sub and Pub/Sub shard no overlap: OK -23:39:54> PUBSUB channels/shardchannels: OK +02:56:04> (init) Restart killed instances: OK +02:56:04> Cluster nodes are reachable: OK +02:56:04> Cluster nodes hard reset: OK +02:56:08> Cluster Join and auto-discovery test: OK +02:56:11> Before slots allocation, all nodes report cluster failure: OK +02:56:12> Create a 3 nodes cluster: OK +02:56:16> Pub/Sub shard basics: OK +02:56:16> client can't subscribe to multiple shard channels across different slots in same call: OK +02:56:16> client can subscribe to multiple shard channels across different slots in separate call: OK +02:56:16> sunsubscribe without specifying any channel would unsubscribe all shard channels subscribed: OK +02:56:16> Verify Pub/Sub and Pub/Sub shard no overlap: OK +02:56:16> PUBSUB channels/shardchannels: OK Testing unit: 28-cluster-shards.tcl -23:39:54> (init) Restart killed instances: OK -23:39:54> Cluster nodes are reachable: OK -23:39:54> Cluster nodes hard reset: OK -23:39:57> Cluster Join and auto-discovery test: OK -23:40:00> Before slots allocation, all nodes report cluster failure: OK -23:40:00> Create a 8 nodes cluster with 4 shards: OK -23:40:00> Cluster should start ok: OK -23:40:04> Set cluster hostnames and verify they are propagated: OK -23:40:06> Verify information about the shards: OK -23:40:09> Verify no slot shard: OK -23:40:09> Kill a node and tell the replica to immediately takeover: OK -23:40:10> Verify health as fail for killed node: OK -23:40:13> Restarting primary node: OK -23:40:14> Instance #0 gets converted into a replica: OK -23:40:14> Test the replica reports a loading state while it's loading: OK -23:40:17> Regression test for a crash when calling SHARDS during handshake: OK -23:40:17> Cluster is up: OK -23:40:20> Shard ids are unique: OK -23:40:20> CLUSTER MYSHARDID reports same id for both primary and replica: OK -23:40:20> New replica receives primary's shard id: OK -23:40:20> CLUSTER MYSHARDID reports same shard id after shard restart: OK -23:40:23> CLUSTER MYSHARDID reports same shard id after cluster restart: OK +02:56:17> (init) Restart killed instances: OK +02:56:17> Cluster nodes are reachable: OK +02:56:17> Cluster nodes hard reset: OK +02:56:21> Cluster Join and auto-discovery test: OK +02:56:25> Before slots allocation, all nodes report cluster failure: OK +02:56:25> Create a 8 nodes cluster with 4 shards: OK +02:56:25> Cluster should start ok: OK +02:56:29> Set cluster hostnames and verify they are propagated: OK +02:56:30> Verify information about the shards: OK +02:56:36> Verify no slot shard: OK +02:56:36> Kill a node and tell the replica to immediately takeover: OK +02:56:36> Verify health as fail for killed node: OK +02:56:40> Restarting primary node: OK +02:56:41> Instance #0 gets converted into a replica: OK +02:56:41> Test the replica reports a loading state while it's loading: OK +02:56:46> Regression test for a crash when calling SHARDS during handshake: OK +02:56:46> Cluster is up: OK +02:56:49> Shard ids are unique: OK +02:56:49> CLUSTER MYSHARDID reports same id for both primary and replica: OK +02:56:49> New replica receives primary's shard id: OK +02:56:50> CLUSTER MYSHARDID reports same shard id after shard restart: OK +02:56:53> CLUSTER MYSHARDID reports same shard id after cluster restart: OK Testing unit: 29-slot-migration-response.tcl -23:40:29> (init) Restart killed instances: OK -23:40:29> Cluster nodes are reachable: OK -23:40:29> Cluster nodes hard reset: OK -23:40:32> Cluster Join and auto-discovery test: OK -23:40:35> Before slots allocation, all nodes report cluster failure: OK -23:40:35> Create a 2 nodes cluster: OK -23:40:39> Cluster is up: OK -23:40:40> Set many keys in the cluster: OK -23:40:43> Test cluster responses during migration of slot x: OK +02:57:00> (init) Restart killed instances: OK +02:57:00> Cluster nodes are reachable: OK +02:57:00> Cluster nodes hard reset: OK +02:57:04> Cluster Join and auto-discovery test: OK +02:57:08> Before slots allocation, all nodes report cluster failure: OK +02:57:08> Create a 2 nodes cluster: OK +02:57:13> Cluster is up: OK +02:57:14> Set many keys in the cluster: OK +02:57:20> Test cluster responses during migration of slot x: OK Cleaning up... -killing stale instance 10294 -killing stale instance 10370 -killing stale instance 10693 -killing stale instance 10762 -killing stale instance 10922 -killing stale instance 11010 -killing stale instance 11147 -killing stale instance 11332 -killing stale instance 28084 -killing stale instance 28145 -killing stale instance 4109 -killing stale instance 4197 -killing stale instance 14597 -killing stale instance 14603 -killing stale instance 14610 -killing stale instance 14616 -killing stale instance 14623 -killing stale instance 14631 -killing stale instance 14640 -killing stale instance 14650 -GOOD! No errors. +killing stale instance 13832 +killing stale instance 13838 +killing stale instance 13850 +killing stale instance 13856 +killing stale instance 13862 +killing stale instance 13868 +killing stale instance 14333 +killing stale instance 16253 +killing stale instance 16276 +killing stale instance 16291 +killing stale instance 20288 +killing stale instance 20309 +killing stale instance 21785 +killing stale instance 21796 +killing stale instance 21812 +killing stale instance 21818 +killing stale instance 21823 +killing stale instance 21828 +killing stale instance 21839 +killing stale instance 21853 +WARNING 2 test(s) failed. ./runtest-sentinel || true Starting sentinel #0 at port 20000 Starting sentinel #1 at port 20001 @@ -6477,262 +6803,262 @@ Starting redict #3 at port 30003 Starting redict #4 at port 30004 Testing unit: 00-base.tcl -23:40:47> (start-init) Flush config and compare rewrite config file lines: OK -23:40:47> (init) Restart killed instances: OK -23:40:47> (init) Remove old master entry from sentinels: OK -23:40:47> (init) Create a master-slaves cluster of 5 instances: OK -23:40:47> (init) Sentinels can start monitoring a master: OK -23:40:47> (init) Sentinels can talk with the master: OK -23:40:47> (init) Sentinels are able to auto-discover other sentinels: OK -23:40:49> (init) Sentinels are able to auto-discover slaves: OK -23:40:49> Sentinel command flag infrastructure works correctly: OK -23:40:49> SENTINEL HELP output the sentinel subcommand help: OK -23:40:49> SENTINEL MYID return the sentinel instance ID: OK -23:40:49> SENTINEL INFO CACHE returns the cached info: OK -23:40:49> SENTINEL PENDING-SCRIPTS returns the information about pending scripts: OK -23:40:49> SENTINEL MASTERS returns a list of monitored masters: OK -23:40:49> SENTINEL SENTINELS returns a list of sentinel instances: OK -23:40:49> SENTINEL SLAVES returns a list of the monitored replicas: OK -23:40:49> SENTINEL SIMULATE-FAILURE HELP list supported flags: OK -23:40:49> Basic failover works if the master is down: OK -23:40:53> New master 127.0.0.1:30002 role matches: OK -23:40:53> All the other slaves now point to the new master: OK -23:40:53> The old master eventually gets reconfigured as a slave: OK -23:41:04> ODOWN is not possible without N (quorum) Sentinels reports: OK -23:41:05> Failover is not possible without majority agreement: OK -23:41:05> Failover works if we configure for absolute agreement: OK -23:41:10> New master 127.0.0.1:30000 role matches: OK -23:41:10> SENTINEL RESET can resets the master: OK +02:57:24> (start-init) Flush config and compare rewrite config file lines: OK +02:57:24> (init) Restart killed instances: OK +02:57:24> (init) Remove old master entry from sentinels: OK +02:57:24> (init) Create a master-slaves cluster of 5 instances: OK +02:57:24> (init) Sentinels can start monitoring a master: OK +02:57:25> (init) Sentinels can talk with the master: OK +02:57:25> (init) Sentinels are able to auto-discover other sentinels: OK +02:57:27> (init) Sentinels are able to auto-discover slaves: OK +02:57:27> Sentinel command flag infrastructure works correctly: OK +02:57:27> SENTINEL HELP output the sentinel subcommand help: OK +02:57:27> SENTINEL MYID return the sentinel instance ID: OK +02:57:27> SENTINEL INFO CACHE returns the cached info: OK +02:57:27> SENTINEL PENDING-SCRIPTS returns the information about pending scripts: OK +02:57:27> SENTINEL MASTERS returns a list of monitored masters: OK +02:57:27> SENTINEL SENTINELS returns a list of sentinel instances: OK +02:57:27> SENTINEL SLAVES returns a list of the monitored replicas: OK +02:57:27> SENTINEL SIMULATE-FAILURE HELP list supported flags: OK +02:57:27> Basic failover works if the master is down: OK +02:57:31> New master 127.0.0.1:30002 role matches: OK +02:57:31> All the other slaves now point to the new master: OK +02:57:31> The old master eventually gets reconfigured as a slave: OK +02:57:41> ODOWN is not possible without N (quorum) Sentinels reports: OK +02:57:43> Failover is not possible without majority agreement: OK +02:57:45> Failover works if we configure for absolute agreement: OK +02:57:49> New master 127.0.0.1:30000 role matches: OK +02:57:49> SENTINEL RESET can resets the master: OK Testing unit: 01-conf-update.tcl -23:41:10> (init) Restart killed instances: OK -23:41:10> (init) Remove old master entry from sentinels: OK -23:41:10> (init) Create a master-slaves cluster of 5 instances: OK -23:41:10> (init) Sentinels can start monitoring a master: OK -23:41:11> (init) Sentinels can talk with the master: OK -23:41:11> (init) Sentinels are able to auto-discover other sentinels: OK -23:41:12> (init) Sentinels are able to auto-discover slaves: OK -23:41:12> We can failover with Sentinel 1 crashed: OK -23:41:17> After Sentinel 1 is restarted, its config gets updated: OK -23:41:17> New master 127.0.0.1:30002 role matches: OK -23:41:17> Update log level: OK +02:57:50> (init) Restart killed instances: OK +02:57:50> (init) Remove old master entry from sentinels: OK +02:57:50> (init) Create a master-slaves cluster of 5 instances: OK +02:57:50> (init) Sentinels can start monitoring a master: OK +02:57:50> (init) Sentinels can talk with the master: OK +02:57:50> (init) Sentinels are able to auto-discover other sentinels: OK +02:57:52> (init) Sentinels are able to auto-discover slaves: OK +02:57:52> We can failover with Sentinel 1 crashed: OK +02:57:57> After Sentinel 1 is restarted, its config gets updated: OK +02:57:57> New master 127.0.0.1:30003 role matches: OK +02:57:57> Update log level: OK Testing unit: 02-slaves-reconf.tcl -23:41:17> (init) Restart killed instances: OK -23:41:17> (init) Remove old master entry from sentinels: OK -23:41:17> (init) Create a master-slaves cluster of 5 instances: OK -23:41:17> (init) Sentinels can start monitoring a master: OK -23:41:18> (init) Sentinels can talk with the master: OK -23:41:18> (init) Sentinels are able to auto-discover other sentinels: OK -23:41:19> (init) Sentinels are able to auto-discover slaves: OK -23:41:19> Check that slaves replicate from current master: OK -23:41:19> Crash the master and force a failover: OK -23:41:44> Check that slaves replicate from current master: OK -23:41:45> Kill a slave instance: OK -23:41:45> Crash the master and force a failover: OK -23:41:49> Check that slaves replicate from current master: OK -23:41:50> Wait for failover to end: OK -23:41:50> Restart killed slave and test replication of slaves again...: OK -23:41:50> Check that slaves replicate from current master: OK +02:57:57> (init) Restart killed instances: OK +02:57:57> (init) Remove old master entry from sentinels: OK +02:57:57> (init) Create a master-slaves cluster of 5 instances: OK +02:57:57> (init) Sentinels can start monitoring a master: OK +02:57:57> (init) Sentinels can talk with the master: OK +02:57:57> (init) Sentinels are able to auto-discover other sentinels: OK +02:57:59> (init) Sentinels are able to auto-discover slaves: OK +02:57:59> Check that slaves replicate from current master: OK +02:57:59> Crash the master and force a failover: OK +02:58:04> Check that slaves replicate from current master: OK +02:58:05> Kill a slave instance: OK +02:58:05> Crash the master and force a failover: OK +02:58:09> Check that slaves replicate from current master: OK +02:58:10> Wait for failover to end: OK +02:58:10> Restart killed slave and test replication of slaves again...: OK +02:58:10> Check that slaves replicate from current master: OK Testing unit: 03-runtime-reconf.tcl -23:42:01> (init) Restart killed instances: OK -23:42:01> (init) Remove old master entry from sentinels: OK -23:42:01> (init) Create a master-slaves cluster of 5 instances: OK -23:42:01> (init) Sentinels can start monitoring a master: OK -23:42:01> (init) Sentinels can talk with the master: OK -23:42:01> (init) Sentinels are able to auto-discover other sentinels: OK -23:42:01> (init) Sentinels are able to auto-discover slaves: OK -23:42:01> Sentinels (re)connection following SENTINEL SET mymaster auth-pass: OK -23:42:03> Sentinels (re)connection following master ACL change: OK -23:42:05> Set parameters in normal case: OK -23:42:05> Set parameters in normal case with bad format: OK -23:42:05> Sentinel Set with other error situations: OK +02:58:21> (init) Restart killed instances: OK +02:58:21> (init) Remove old master entry from sentinels: OK +02:58:21> (init) Create a master-slaves cluster of 5 instances: OK +02:58:21> (init) Sentinels can start monitoring a master: OK +02:58:22> (init) Sentinels can talk with the master: OK +02:58:22> (init) Sentinels are able to auto-discover other sentinels: OK +02:58:22> (init) Sentinels are able to auto-discover slaves: OK +02:58:23> Sentinels (re)connection following SENTINEL SET mymaster auth-pass: OK +02:58:24> Sentinels (re)connection following master ACL change: OK +02:58:28> Set parameters in normal case: OK +02:58:28> Set parameters in normal case with bad format: OK +02:58:28> Sentinel Set with other error situations: OK Testing unit: 04-slave-selection.tcl Testing unit: 05-manual.tcl -23:42:05> (init) Restart killed instances: OK -23:42:05> (init) Remove old master entry from sentinels: OK -23:42:06> (init) Create a master-slaves cluster of 5 instances: OK -23:42:06> (init) Sentinels can start monitoring a master: OK -23:42:06> (init) Sentinels can talk with the master: OK -23:42:06> (init) Sentinels are able to auto-discover other sentinels: OK -23:42:08> (init) Sentinels are able to auto-discover slaves: OK -23:42:08> Manual failover works: OK -23:42:09> New master 127.0.0.1:30004 role matches: OK -23:42:09> All the other slaves now point to the new master: OK -23:42:09> The old master eventually gets reconfigured as a slave: OK -23:42:13> (init) Restart killed instances: OK -23:42:13> (init) Remove old master entry from sentinels: OK -23:42:13> (init) Create a master-slaves cluster of 5 instances: OK -23:42:13> (init) Sentinels can start monitoring a master: OK -23:42:13> (init) Sentinels can talk with the master: OK -23:42:13> (init) Sentinels are able to auto-discover other sentinels: OK -23:42:14> (init) Sentinels are able to auto-discover slaves: OK -23:42:14> SENTINEL SIMULATE-FAILURE crash-after-election works: OK -23:42:14> (init) Restart killed instances: OK -23:42:14> (init) Remove old master entry from sentinels: OK -23:42:15> (init) Create a master-slaves cluster of 5 instances: OK -23:42:15> (init) Sentinels can start monitoring a master: OK -23:42:15> (init) Sentinels can talk with the master: OK -23:42:15> (init) Sentinels are able to auto-discover other sentinels: OK -23:42:17> (init) Sentinels are able to auto-discover slaves: OK -23:42:17> SENTINEL SIMULATE-FAILURE crash-after-promotion works: OK +02:58:28> (init) Restart killed instances: OK +02:58:28> (init) Remove old master entry from sentinels: OK +02:58:28> (init) Create a master-slaves cluster of 5 instances: OK +02:58:28> (init) Sentinels can start monitoring a master: OK +02:58:29> (init) Sentinels can talk with the master: OK +02:58:29> (init) Sentinels are able to auto-discover other sentinels: OK +02:58:30> (init) Sentinels are able to auto-discover slaves: OK +02:58:30> Manual failover works: OK +02:58:32> New master 127.0.0.1:30003 role matches: OK +02:58:32> All the other slaves now point to the new master: OK +02:58:32> The old master eventually gets reconfigured as a slave: OK +02:58:36> (init) Restart killed instances: OK +02:58:36> (init) Remove old master entry from sentinels: OK +02:58:36> (init) Create a master-slaves cluster of 5 instances: OK +02:58:36> (init) Sentinels can start monitoring a master: OK +02:58:36> (init) Sentinels can talk with the master: OK +02:58:36> (init) Sentinels are able to auto-discover other sentinels: OK +02:58:37> (init) Sentinels are able to auto-discover slaves: OK +02:58:37> SENTINEL SIMULATE-FAILURE crash-after-election works: OK +02:58:37> (init) Restart killed instances: OK +02:58:37> (init) Remove old master entry from sentinels: OK +02:58:37> (init) Create a master-slaves cluster of 5 instances: OK +02:58:37> (init) Sentinels can start monitoring a master: OK +02:58:38> (init) Sentinels can talk with the master: OK +02:58:38> (init) Sentinels are able to auto-discover other sentinels: OK +02:58:39> (init) Sentinels are able to auto-discover slaves: OK +02:58:39> SENTINEL SIMULATE-FAILURE crash-after-promotion works: OK Testing unit: 06-ckquorum.tcl -23:42:18> (init) Restart killed instances: OK -23:42:18> (init) Remove old master entry from sentinels: OK -23:42:18> (init) Create a master-slaves cluster of 5 instances: OK -23:42:18> (init) Sentinels can start monitoring a master: OK -23:42:19> (init) Sentinels can talk with the master: OK -23:42:19> (init) Sentinels are able to auto-discover other sentinels: OK -23:42:20> (init) Sentinels are able to auto-discover slaves: OK -23:42:20> CKQUORUM reports OK and the right amount of Sentinels: OK -23:42:20> CKQUORUM detects quorum cannot be reached: OK -23:42:20> CKQUORUM detects failover authorization cannot be reached: OK +02:58:40> (init) Restart killed instances: OK +02:58:40> (init) Remove old master entry from sentinels: OK +02:58:40> (init) Create a master-slaves cluster of 5 instances: OK +02:58:41> (init) Sentinels can start monitoring a master: OK +02:58:41> (init) Sentinels can talk with the master: OK +02:58:41> (init) Sentinels are able to auto-discover other sentinels: OK +02:58:43> (init) Sentinels are able to auto-discover slaves: OK +02:58:43> CKQUORUM reports OK and the right amount of Sentinels: OK +02:58:43> CKQUORUM detects quorum cannot be reached: OK +02:58:43> CKQUORUM detects failover authorization cannot be reached: OK Testing unit: 07-down-conditions.tcl -23:42:23> (init) Restart killed instances: OK -23:42:23> (init) Remove old master entry from sentinels: OK -23:42:23> (init) Create a master-slaves cluster of 5 instances: OK -23:42:23> (init) Sentinels can start monitoring a master: OK -23:42:23> (init) Sentinels can talk with the master: OK -23:42:23> (init) Sentinels are able to auto-discover other sentinels: OK -23:42:25> (init) Sentinels are able to auto-discover slaves: OK -23:42:25> Crash the majority of Sentinels to prevent failovers for this unit: OK -23:42:25> SDOWN is triggered by non-responding but not crashed instance: OK -23:42:27> SDOWN is triggered by crashed instance: OK -23:42:30> SDOWN is triggered by masters advertising as slaves: OK -23:42:34> SDOWN is triggered by misconfigured instance replying with errors: OK -23:42:44> SDOWN is triggered if we rename PING to PONG: OK +02:58:45> (init) Restart killed instances: OK +02:58:45> (init) Remove old master entry from sentinels: OK +02:58:45> (init) Create a master-slaves cluster of 5 instances: OK +02:58:45> (init) Sentinels can start monitoring a master: OK +02:58:46> (init) Sentinels can talk with the master: OK +02:58:46> (init) Sentinels are able to auto-discover other sentinels: OK +02:58:47> (init) Sentinels are able to auto-discover slaves: OK +02:58:47> Crash the majority of Sentinels to prevent failovers for this unit: OK +02:58:48> SDOWN is triggered by non-responding but not crashed instance: OK +02:58:50> SDOWN is triggered by crashed instance: OK +02:58:53> SDOWN is triggered by masters advertising as slaves: OK +02:58:57> SDOWN is triggered by misconfigured instance replying with errors: OK +02:59:07> SDOWN is triggered if we rename PING to PONG: OK Testing unit: 08-hostname-conf.tcl -23:42:47> (pre-init) Configure instances and sentinel for hostname use: sentinel/0 sentinel/1 sentinel/2 OK -23:42:47> (init) Restart killed instances: OK -23:42:47> (init) Remove old master entry from sentinels: OK -23:42:47> (init) Create a master-slaves cluster of 5 instances: OK -23:42:47> (init) Sentinels can start monitoring a master: OK -23:42:48> (init) Sentinels can talk with the master: OK -23:42:48> (init) Sentinels are able to auto-discover other sentinels: OK -23:42:51> (init) Sentinels are able to auto-discover slaves: OK -23:42:51> Sentinel announces hostnames: OK -23:42:51> (post-cleanup) Configure instances and sentinel for IPs: OK +02:59:09> (pre-init) Configure instances and sentinel for hostname use: sentinel/0 sentinel/1 sentinel/2 OK +02:59:10> (init) Restart killed instances: OK +02:59:10> (init) Remove old master entry from sentinels: OK +02:59:10> (init) Create a master-slaves cluster of 5 instances: OK +02:59:10> (init) Sentinels can start monitoring a master: OK +02:59:10> (init) Sentinels can talk with the master: OK +02:59:10> (init) Sentinels are able to auto-discover other sentinels: OK +02:59:12> (init) Sentinels are able to auto-discover slaves: OK +02:59:12> Sentinel announces hostnames: OK +02:59:12> (post-cleanup) Configure instances and sentinel for IPs: OK Testing unit: 09-acl-support.tcl -23:42:52> (init) Restart killed instances: OK -23:42:52> (init) Remove old master entry from sentinels: OK -23:42:52> (init) Create a master-slaves cluster of 5 instances: OK -23:42:52> (init) Sentinels can start monitoring a master: OK -23:42:52> (init) Sentinels can talk with the master: OK -23:42:52> (init) Sentinels are able to auto-discover other sentinels: OK -23:42:54> (init) Sentinels are able to auto-discover slaves: OK -23:42:54> (post-init) Set up ACL configuration: OK -23:42:54> SENTINEL CONFIG SET handles on-the-fly credentials reconfiguration: OK -23:42:59> (post-cleanup) Tear down ACL configuration: OK +02:59:12> (init) Restart killed instances: OK +02:59:12> (init) Remove old master entry from sentinels: OK +02:59:12> (init) Create a master-slaves cluster of 5 instances: OK +02:59:13> (init) Sentinels can start monitoring a master: OK +02:59:13> (init) Sentinels can talk with the master: OK +02:59:13> (init) Sentinels are able to auto-discover other sentinels: OK +02:59:15> (init) Sentinels are able to auto-discover slaves: OK +02:59:15> (post-init) Set up ACL configuration: OK +02:59:15> SENTINEL CONFIG SET handles on-the-fly credentials reconfiguration: OK +02:59:18> (post-cleanup) Tear down ACL configuration: OK Testing unit: 10-replica-priority.tcl -23:42:59> (init) Restart killed instances: OK -23:42:59> (init) Remove old master entry from sentinels: OK -23:42:59> (init) Create a master-slaves cluster of 5 instances: OK -23:42:59> (init) Sentinels can start monitoring a master: OK -23:43:00> (init) Sentinels can talk with the master: OK -23:43:00> (init) Sentinels are able to auto-discover other sentinels: OK -23:43:02> (init) Sentinels are able to auto-discover slaves: OK -23:43:02> Check acceptable replica-priority values: OK -23:43:02> Set replica-announced=yes on all replicas: OK -23:43:02> Check sentinel replies with 4 replicas: OK -23:43:02> Set replica-announced=no on 2 replicas: OK -23:43:02> Check sentinel replies with 2 replicas: OK -23:43:02> Set replica-announced=yes on all replicas: OK -23:43:02> Check sentinel replies with 4 replicas: OK +02:59:18> (init) Restart killed instances: OK +02:59:18> (init) Remove old master entry from sentinels: OK +02:59:18> (init) Create a master-slaves cluster of 5 instances: OK +02:59:18> (init) Sentinels can start monitoring a master: OK +02:59:19> (init) Sentinels can talk with the master: OK +02:59:19> (init) Sentinels are able to auto-discover other sentinels: OK +02:59:20> (init) Sentinels are able to auto-discover slaves: OK +02:59:20> Check acceptable replica-priority values: OK +02:59:20> Set replica-announced=yes on all replicas: OK +02:59:20> Check sentinel replies with 4 replicas: OK +02:59:20> Set replica-announced=no on 2 replicas: OK +02:59:20> Check sentinel replies with 2 replicas: OK +02:59:21> Set replica-announced=yes on all replicas: OK +02:59:21> Check sentinel replies with 4 replicas: OK Testing unit: 11-port-0.tcl -23:43:02> (init) Restart killed instances: OK -23:43:02> (init) Remove old master entry from sentinels: OK -23:43:03> (init) Create a master-slaves cluster of 5 instances: OK -23:43:03> (init) Sentinels can start monitoring a master: OK -23:43:04> (init) Sentinels can talk with the master: OK -23:43:04> (init) Sentinels are able to auto-discover other sentinels: OK -23:43:04> (init) Sentinels are able to auto-discover slaves: OK -23:43:04> Start/Stop sentinel on same port with a different runID should not change the total number of sentinels: OK +02:59:21> (init) Restart killed instances: OK +02:59:21> (init) Remove old master entry from sentinels: OK +02:59:21> (init) Create a master-slaves cluster of 5 instances: OK +02:59:21> (init) Sentinels can start monitoring a master: OK +02:59:21> (init) Sentinels can talk with the master: OK +02:59:21> (init) Sentinels are able to auto-discover other sentinels: OK +02:59:21> (init) Sentinels are able to auto-discover slaves: OK +02:59:21> 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 -23:43:05> (init) Restart killed instances: sentinel/4 OK -23:43:05> (init) Remove old master entry from sentinels: OK -23:43:05> (init) Create a master-slaves cluster of 5 instances: OK -23:43:05> (init) Sentinels can start monitoring a master: OK -23:43:06> (init) Sentinels can talk with the master: OK -23:43:06> (init) Sentinels are able to auto-discover other sentinels: OK -23:43:07> (init) Sentinels are able to auto-discover slaves: OK -23:43:07> Master reboot in very short time: OK -23:43:14> New master 127.0.0.1:30004 role matches: OK -23:43:14> All the other slaves now point to the new master: OK -23:43:14> The old master eventually gets reconfigured as a slave: OK +02:59:23> (init) Restart killed instances: sentinel/4 OK +02:59:23> (init) Remove old master entry from sentinels: OK +02:59:23> (init) Create a master-slaves cluster of 5 instances: OK +02:59:23> (init) Sentinels can start monitoring a master: OK +02:59:23> (init) Sentinels can talk with the master: OK +02:59:23> (init) Sentinels are able to auto-discover other sentinels: OK +02:59:25> (init) Sentinels are able to auto-discover slaves: OK +02:59:25> Master reboot in very short time: OK +02:59:33> New master 127.0.0.1:30003 role matches: OK +02:59:33> All the other slaves now point to the new master: OK +02:59:33> The old master eventually gets reconfigured as a slave: OK Testing unit: 13-info-command.tcl -23:43:41> (init) Restart killed instances: OK -23:43:41> (init) Remove old master entry from sentinels: OK -23:43:41> (init) Create a master-slaves cluster of 5 instances: OK -23:43:41> (init) Sentinels can start monitoring a master: OK -23:43:42> (init) Sentinels can talk with the master: OK -23:43:42> (init) Sentinels are able to auto-discover other sentinels: OK -23:43:43> (init) Sentinels are able to auto-discover slaves: OK -23:43:43> info command with at most one argument: OK -23:43:43> info command with one sub-section: OK -23:43:43> info command with multiple sub-sections: OK +02:59:50> (init) Restart killed instances: OK +02:59:50> (init) Remove old master entry from sentinels: OK +02:59:50> (init) Create a master-slaves cluster of 5 instances: OK +02:59:50> (init) Sentinels can start monitoring a master: OK +02:59:50> (init) Sentinels can talk with the master: OK +02:59:50> (init) Sentinels are able to auto-discover other sentinels: OK +02:59:52> (init) Sentinels are able to auto-discover slaves: OK +02:59:52> info command with at most one argument: OK +02:59:52> info command with one sub-section: OK +02:59:52> info command with multiple sub-sections: OK Testing unit: 14-debug-command.tcl -23:43:43> (init) Restart killed instances: OK -23:43:43> (init) Remove old master entry from sentinels: OK -23:43:43> (init) Create a master-slaves cluster of 5 instances: OK -23:43:43> (init) Sentinels can start monitoring a master: OK -23:43:44> (init) Sentinels can talk with the master: OK -23:43:44> (init) Sentinels are able to auto-discover other sentinels: OK -23:43:45> (init) Sentinels are able to auto-discover slaves: OK -23:43:45> Sentinel debug test with arguments and without argument: OK +02:59:52> (init) Restart killed instances: OK +02:59:52> (init) Remove old master entry from sentinels: OK +02:59:52> (init) Create a master-slaves cluster of 5 instances: OK +02:59:52> (init) Sentinels can start monitoring a master: OK +02:59:53> (init) Sentinels can talk with the master: OK +02:59:53> (init) Sentinels are able to auto-discover other sentinels: OK +02:59:54> (init) Sentinels are able to auto-discover slaves: OK +02:59:54> Sentinel debug test with arguments and without argument: OK Testing unit: 15-config-set-config-get.tcl -23:43:45> (init) Restart killed instances: OK -23:43:45> (init) Remove old master entry from sentinels: OK -23:43:45> (init) Create a master-slaves cluster of 5 instances: OK -23:43:45> (init) Sentinels can start monitoring a master: OK -23:43:46> (init) Sentinels can talk with the master: OK -23:43:46> (init) Sentinels are able to auto-discover other sentinels: OK -23:43:48> (init) Sentinels are able to auto-discover slaves: OK -23:43:48> SENTINEL CONFIG SET and SENTINEL CONFIG GET handles multiple variables: OK -23:43:48> SENTINEL CONFIG GET for duplicate and unknown variables: OK -23:43:48> SENTINEL CONFIG GET for patterns: OK -23:43:48> SENTINEL CONFIG SET duplicate variables: OK -23:43:48> SENTINEL CONFIG SET, one option does not exist: OK -23:43:48> SENTINEL CONFIG SET, one option with wrong value: OK -23:43:48> SENTINEL CONFIG SET, wrong number of arguments: OK +02:59:54> (init) Restart killed instances: OK +02:59:54> (init) Remove old master entry from sentinels: OK +02:59:54> (init) Create a master-slaves cluster of 5 instances: OK +02:59:54> (init) Sentinels can start monitoring a master: OK +02:59:55> (init) Sentinels can talk with the master: OK +02:59:55> (init) Sentinels are able to auto-discover other sentinels: OK +02:59:56> (init) Sentinels are able to auto-discover slaves: OK +02:59:56> SENTINEL CONFIG SET and SENTINEL CONFIG GET handles multiple variables: OK +02:59:57> SENTINEL CONFIG GET for duplicate and unknown variables: OK +02:59:57> SENTINEL CONFIG GET for patterns: OK +02:59:57> SENTINEL CONFIG SET duplicate variables: OK +02:59:57> SENTINEL CONFIG SET, one option does not exist: OK +02:59:57> SENTINEL CONFIG SET, one option with wrong value: OK +02:59:57> SENTINEL CONFIG SET, wrong number of arguments: OK Cleaning up... -killing stale instance 15404 -killing stale instance 15416 -killing stale instance 15422 -killing stale instance 19110 -killing stale instance 19644 -killing stale instance 21989 -killing stale instance 22701 -killing stale instance 24532 -killing stale instance 24558 -killing stale instance 24590 -killing stale instance 26922 -killing stale instance 27110 -killing stale instance 27553 +killing stale instance 22753 +killing stale instance 22788 +killing stale instance 24356 +killing stale instance 25348 +killing stale instance 25765 +killing stale instance 26067 +killing stale instance 26451 +killing stale instance 27181 +killing stale instance 27190 +killing stale instance 27203 +killing stale instance 27791 +killing stale instance 27825 +killing stale instance 27986 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/server1.log.13936.783/stderr' -removed 'tests/tmp/server1.log.13936.783/stdout' -removed 'tests/tmp/duplicate.acl.13936.164/user.acl' -removed 'tests/tmp/duplicate.acl.13936.164/default.conf' -removed 'tests/tmp/duplicate.acl.13936.164/stderr' -removed 'tests/tmp/duplicate.acl.13936.164/stdout' -removed 'tests/tmp/resetchannels.acl.13936.154/default.conf' -removed 'tests/tmp/resetchannels.acl.13936.154/stderr' -removed 'tests/tmp/resetchannels.acl.13936.154/stdout' -removed 'tests/tmp/resetchannels.acl.13936.154/nodefaultuser.acl' -removed 'tests/tmp/server3.log.13936.789/stderr' -removed 'tests/tmp/server3.log.13936.789/stdout' -removed 'tests/tmp/resetchannels.acl.13936.157/default.conf' -removed 'tests/tmp/resetchannels.acl.13936.157/stderr' -removed 'tests/tmp/resetchannels.acl.13936.157/stdout' -removed 'tests/tmp/resetchannels.acl.13936.157/nodefaultuser.acl' -removed 'tests/tmp/server2.log.13936.786/stderr' -removed 'tests/tmp/server2.log.13936.786/stdout' -removed 'tests/tmp/selectors.acl.13936.171/default.conf' -removed 'tests/tmp/selectors.acl.13936.171/stderr' -removed 'tests/tmp/selectors.acl.13936.171/userwithselectors.acl' -removed 'tests/tmp/selectors.acl.13936.171/stdout' +removed 'tests/tmp/duplicate.acl.16780.164/user.acl' +removed 'tests/tmp/duplicate.acl.16780.164/default.conf' +removed 'tests/tmp/duplicate.acl.16780.164/stderr' +removed 'tests/tmp/duplicate.acl.16780.164/stdout' +removed 'tests/tmp/selectors.acl.16780.171/default.conf' +removed 'tests/tmp/selectors.acl.16780.171/stderr' +removed 'tests/tmp/selectors.acl.16780.171/stdout' +removed 'tests/tmp/selectors.acl.16780.171/userwithselectors.acl' +removed 'tests/tmp/resetchannels.acl.16780.154/default.conf' +removed 'tests/tmp/resetchannels.acl.16780.154/stderr' +removed 'tests/tmp/resetchannels.acl.16780.154/nodefaultuser.acl' +removed 'tests/tmp/resetchannels.acl.16780.154/stdout' +removed 'tests/tmp/server1.log.16780.779/stderr' +removed 'tests/tmp/server1.log.16780.779/stdout' +removed 'tests/tmp/server3.log.16780.785/stderr' +removed 'tests/tmp/server3.log.16780.785/stdout' +removed 'tests/tmp/resetchannels.acl.16780.157/default.conf' +removed 'tests/tmp/resetchannels.acl.16780.157/stderr' +removed 'tests/tmp/resetchannels.acl.16780.157/nodefaultuser.acl' +removed 'tests/tmp/resetchannels.acl.16780.157/stdout' +removed 'tests/tmp/server2.log.16780.782/stderr' +removed 'tests/tmp/server2.log.16780.782/stdout' make[1]: Leaving directory '/build/reproducible-path/redict-7.3.2+ds' create-stamp debian/debhelper-build-stamp dh_prep @@ -6767,14 +7093,14 @@ diversion by libc6 from: /lib/ld-linux-armhf.so.3 dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libc6 to: /lib/ld-linux-armhf.so.3.usr-is-merged -dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/redict-tools/usr/bin/redict-benchmark debian/redict-tools/usr/bin/redict-cli debian/redict-tools/usr/bin/redict-check-aof debian/redict-tools/usr/bin/redict-check-rdb were not linked against libatomic.so.1 (they use none of the library's symbols) -dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/redict-tools/usr/bin/redict-benchmark debian/redict-tools/usr/bin/redict-cli debian/redict-tools/usr/bin/redict-check-aof debian/redict-tools/usr/bin/redict-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/redict-tools/usr/bin/redict-check-aof debian/redict-tools/usr/bin/redict-cli debian/redict-tools/usr/bin/redict-check-rdb debian/redict-tools/usr/bin/redict-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/redict-tools/usr/bin/redict-check-aof debian/redict-tools/usr/bin/redict-cli debian/redict-tools/usr/bin/redict-check-rdb debian/redict-tools/usr/bin/redict-benchmark were not linked against liblzf.so.1 (they use none of the library's symbols) dh_installdeb dh_gencontrol dh_md5sums dh_builddeb -dpkg-deb: building package 'redict-server' in '../redict-server_7.3.2+ds-1_armhf.deb'. dpkg-deb: building package 'redict-tools-dbgsym' in '../redict-tools-dbgsym_7.3.2+ds-1_armhf.deb'. +dpkg-deb: building package 'redict-server' in '../redict-server_7.3.2+ds-1_armhf.deb'. dpkg-deb: building package 'redict' in '../redict_7.3.2+ds-1_all.deb'. dpkg-deb: building package 'redict-sentinel' in '../redict-sentinel_7.3.2+ds-1_armhf.deb'. dpkg-deb: building package 'redict-tools' in '../redict-tools_7.3.2+ds-1_armhf.deb'. @@ -6785,12 +7111,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/13419/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/13419/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/9904 and its subdirectories -I: Current time: Sat Jan 11 23:44:28 -12 2025 -I: pbuilder-time-stamp: 1736682268 +I: removing directory /srv/workspace/pbuilder/13419 and its subdirectories +I: Current time: Mon Jan 13 03:00:34 +14 2025 +I: pbuilder-time-stamp: 1736686834