Diff of the two buildlogs: -- --- b1/build.log 2025-07-31 20:41:39.746499160 +0000 +++ b2/build.log 2025-07-31 21:13:20.616967177 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Wed Sep 2 14:13:26 -12 2026 -I: pbuilder-time-stamp: 1788401606 +I: Current time: Fri Aug 1 10:41:41 +14 2025 +I: pbuilder-time-stamp: 1753994501 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -32,51 +32,83 @@ dpkg-source: info: applying CVE-2025-48367.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/717485/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/541337/tmp/hooks/D01_modify_environment starting +debug: Running on infom01-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Jul 31 20:41 /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/541337/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/541337/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=16 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='f952afdcd8b4462890fade6162eb5ebc' - 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='717485' - PS1='# ' - PS2='> ' + INVOCATION_ID=f0455d8f175441dabf9907e71758afb8 + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=541337 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.x9Qntffj/pbuilderrc_gCZ9 --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.x9Qntffj/b1 --logfile b1/build.log valkey_8.1.1+dfsg1-3.dsc' - SUDO_GID='109' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' + 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.x9Qntffj/pbuilderrc_nH6o --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.x9Qntffj/b2 --logfile b2/build.log valkey_8.1.1+dfsg1-3.dsc' + SUDO_GID=109 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' I: uname -a - Linux infom02-amd64 6.12.33+deb12-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.33-1~bpo12+1 (2025-07-09) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-37-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 May 12 2025 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/717485/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 May 12 19:25 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/541337/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -198,7 +230,7 @@ Get: 58 http://deb.debian.org/debian trixie/main amd64 tcl8.6 amd64 8.6.16+dfsg-1 [121 kB] Get: 59 http://deb.debian.org/debian trixie/main amd64 tcl amd64 8.6.16 [4096 B] Get: 60 http://deb.debian.org/debian trixie/main amd64 tcl-tls amd64 1.8.0-2 [65.1 kB] -Fetched 22.2 MB in 1s (26.2 MB/s) +Fetched 22.2 MB in 1s (36.8 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 ... 19850 files and directories currently installed.) @@ -399,8 +431,8 @@ Setting up tzdata (2025b-4) ... Current default time zone: 'Etc/UTC' -Local time is now: Thu Sep 3 02:14:19 UTC 2026. -Universal Time is now: Thu Sep 3 02:14:19 UTC 2026. +Local time is now: Thu Jul 31 20:42:29 UTC 2025. +Universal Time is now: Thu Jul 31 20:42:29 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libjemalloc-dev (5.3.0-3) ... @@ -463,7 +495,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/valkey-8.1.1+dfsg1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../valkey_8.1.1+dfsg1-3_source.changes +I: user script /srv/workspace/pbuilder/541337/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/541337/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/valkey-8.1.1+dfsg1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../valkey_8.1.1+dfsg1-3_source.changes dpkg-buildpackage: info: source package valkey dpkg-buildpackage: info: source version 8.1.1+dfsg1-3 dpkg-buildpackage: info: source distribution unstable @@ -475,9 +511,9 @@ debian/rules override_dh_auto_clean make[1]: Entering directory '/build/reproducible-path/valkey-8.1.1+dfsg1' dh_auto_clean - make -j16 distclean + make -j12 distclean make[2]: Entering directory '/build/reproducible-path/valkey-8.1.1+dfsg1' -make[2]: warning: -j16 forced in submake: resetting jobserver mode. +make[2]: warning: -j12 forced in submake: resetting jobserver mode. cd src && make distclean make[3]: Entering directory '/build/reproducible-path/valkey-8.1.1+dfsg1/src' rm -rf valkey-server valkey-sentinel valkey-cli valkey-benchmark valkey-check-rdb valkey-check-aof valkey-unit-tests libvalkey.a unit/*.o unit/*.d lua/*.o lua/*.d *.o *.gcda *.gcno *.gcov valkey.info lcov-html Makefile.dep *.so @@ -515,9 +551,9 @@ debian/rules override_dh_auto_build make[1]: Entering directory '/build/reproducible-path/valkey-8.1.1+dfsg1' dh_auto_build -- V=1 USE_SYSTEM_JEMALLOC=yes USE_SYSTEMD=yes USE_JEMALLOC=yes - make -j16 "INSTALL=install --strip-program=true" V=1 USE_SYSTEM_JEMALLOC=yes USE_SYSTEMD=yes USE_JEMALLOC=yes + make -j12 "INSTALL=install --strip-program=true" V=1 USE_SYSTEM_JEMALLOC=yes USE_SYSTEMD=yes USE_JEMALLOC=yes make[2]: Entering directory '/build/reproducible-path/valkey-8.1.1+dfsg1' -make[2]: warning: -j16 forced in submake: resetting jobserver mode. +make[2]: warning: -j12 forced in submake: resetting jobserver mode. cd src && make all make[3]: Entering directory '/build/reproducible-path/valkey-8.1.1+dfsg1/src' cc -pedantic -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -ffat-lto-objects -fno-omit-frame-pointer -g -ggdb -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL=1 -DBUILD_TLS_MODULE=0 -Wdate-time -D_FORTIFY_SOURCE=2 -MM acl.c adlist.c ae.c allocator_defrag.c anet.c aof.c bio.c bitops.c blocked.c call_reply.c childinfo.c cli_commands.c cli_common.c cluster.c cluster_legacy.c cluster_slot_stats.c commandlog.c commands.c config.c connection.c crc16.c crc64.c crccombine.c crcspeed.c db.c debug.c defrag.c dict.c endianconv.c eval.c evict.c expire.c functions.c geo.c geohash.c geohash_helper.c hashtable.c hyperloglog.c intset.c io_threads.c kvstore.c latency.c lazyfree.c listpack.c localtime.c logreqres.c lolwut.c lolwut5.c lolwut6.c lua/debug_lua.c lua/engine_lua.c lua/function_lua.c lua/script_lua.c lzf_c.c lzf_d.c memory_prefetch.c memtest.c module.c monotonic.c mt19937-64.c multi.c networking.c notify.c object.c pqsort.c pubsub.c quicklist.c rand.c rax.c rdb.c rdma.c release.c replication.c resp_parser.c rio.c script.c scripting_engine.c sds.c sentinel.c server.c serverassert.c setcpuaffinity.c setproctitle.c sha1.c sha256.c siphash.c socket.c sort.c sparkline.c strl.c syncio.c syscheck.c t_hash.c t_list.c t_set.c t_stream.c t_string.c t_zset.c threads_mngr.c timeout.c tls.c tracking.c unix.c util.c valkey-benchmark.c valkey-check-aof.c valkey-check-rdb.c valkey-cli.c ziplist.c zipmap.c zmalloc.c > Makefile.dep 2> /dev/null || true @@ -571,45 +607,48 @@ MAKE linenoise cd linenoise && make MAKE lua -MAKE hdr_histogram cd lua/src && make all CFLAGS="-Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 " MYLDFLAGS="-flto=auto -ffat-lto-objects -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf" AR="ar rc" -cd hdr_histogram && make -make[5]: Entering directory '/build/reproducible-path/valkey-8.1.1+dfsg1/deps/hiredis' MAKE fpconv +MAKE hdr_histogram cd fpconv && make +cd hdr_histogram && make +make[5]: Entering directory '/build/reproducible-path/valkey-8.1.1+dfsg1/deps/hiredis' make[5]: Entering directory '/build/reproducible-path/valkey-8.1.1+dfsg1/deps/linenoise' cc -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -Wdate-time -D_FORTIFY_SOURCE=2 -c linenoise.c -make[5]: Entering directory '/build/reproducible-path/valkey-8.1.1+dfsg1/deps/lua/src' -cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lapi.o lapi.c make[5]: Entering directory '/build/reproducible-path/valkey-8.1.1+dfsg1/deps/hdr_histogram' cc -std=c99 -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -Wdate-time -D_FORTIFY_SOURCE=2 -DHDR_MALLOC_INCLUDE=\"hdr_redis_malloc.h\" -c hdr_histogram.c +make[5]: Entering directory '/build/reproducible-path/valkey-8.1.1+dfsg1/deps/lua/src' +cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lapi.o lapi.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lcode.o lcode.c +make[5]: Entering directory '/build/reproducible-path/valkey-8.1.1+dfsg1/deps/fpconv' +cc -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -Wdate-time -D_FORTIFY_SOURCE=2 -c fpconv_dtoa.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldebug.o ldebug.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldo.o ldo.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldump.o ldump.c -make[5]: Entering directory '/build/reproducible-path/valkey-8.1.1+dfsg1/deps/fpconv' -cc -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -Wdate-time -D_FORTIFY_SOURCE=2 -c fpconv_dtoa.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lfunc.o lfunc.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lgc.o lgc.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o llex.o llex.c -cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lmem.o lmem.c -cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lobject.o lobject.c cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic alloc.c -cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lopcodes.o lopcodes.c cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic net.c +ar rcs libfpconv.a fpconv_dtoa.o cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic hiredis.c -cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lparser.o lparser.c +cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lmem.o lmem.c cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic sds.c +cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lobject.o lobject.c cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic async.c +cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lopcodes.o lopcodes.c +cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic read.c +make[5]: Leaving directory '/build/reproducible-path/valkey-8.1.1+dfsg1/deps/fpconv' +cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lparser.o lparser.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lstate.o lstate.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lstring.o lstring.c -ar rcs libfpconv.a fpconv_dtoa.o -make[5]: Leaving directory '/build/reproducible-path/valkey-8.1.1+dfsg1/deps/fpconv' -cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ltable.o ltable.c -cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic read.c cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic sockcompat.c -cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ltm.o ltm.c +make[5]: Leaving directory '/build/reproducible-path/valkey-8.1.1+dfsg1/deps/linenoise' cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic ssl.c +cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ltable.o ltable.c +ar rcs libhdrhistogram.a hdr_histogram.o +make[5]: Leaving directory '/build/reproducible-path/valkey-8.1.1+dfsg1/deps/hdr_histogram' +cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ltm.o ltm.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lundump.o lundump.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lvm.o lvm.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lzio.o lzio.c @@ -621,23 +660,20 @@ cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o liolib.o liolib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lmathlib.o lmathlib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o loslib.o loslib.c -make[5]: Leaving directory '/build/reproducible-path/valkey-8.1.1+dfsg1/deps/linenoise' cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ltablib.o ltablib.c ar rcs libhiredis_ssl.a ssl.o cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lstrlib.o lstrlib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o loadlib.o loadlib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o linit.o linit.c -ar rcs libhdrhistogram.a hdr_histogram.o cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lua_cjson.o lua_cjson.c -make[5]: Leaving directory '/build/reproducible-path/valkey-8.1.1+dfsg1/deps/hdr_histogram' cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lua_struct.o lua_struct.c +ar rcs libhiredis.a alloc.o net.o hiredis.o sds.o async.o read.o sockcompat.o +make[5]: Leaving directory '/build/reproducible-path/valkey-8.1.1+dfsg1/deps/hiredis' cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lua_cmsgpack.o lua_cmsgpack.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lua_bit.o lua_bit.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lua.o lua.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o luac.o luac.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.1+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o print.o print.c -ar rcs libhiredis.a alloc.o net.o hiredis.o sds.o async.o read.o sockcompat.o -make[5]: Leaving directory '/build/reproducible-path/valkey-8.1.1+dfsg1/deps/hiredis' ar rc liblua.a lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o strbuf.o fpconv.o lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o lstrlib.o loadlib.o linit.o lua_cjson.o lua_struct.o lua_cmsgpack.o lua_bit.o # DLL needs all object files ranlib liblua.a cc -o lua -flto=auto -ffat-lto-objects -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf lua.o liblua.a -lm @@ -781,278 +817,559 @@ Certificate request self-signature ok subject=O=Valkey Test, CN=Generic-cert Generating DH parameters, 2048 bit long safe prime -...........................................................................................................................................+...............................................+............................................................+.................................+.......................................................................+........................................................................................................+.......+.............................................................................................................+........................................................+..............................+..............................................................+.................+...........................................................................................................................................................................+.....+.................................................................................................................................................................................................................+.............................................................................................................................................................................................................................................................................................................................................+..................+................................................................................................................................+..........................................................................................+................................+...............................................................................................................................................................................................................................................................+............+...................................................................+.............................................................................................................................................................................................................+.............................................................................................................................................................................................................................................................................................................................................................................................................................+.............................................................................................................................................+...........+..........................................................................................................................................+...........................................................................................................................................................................................................................................................................................................................................................................................+..................................+..................+..............................................................................................................................................................................................................................................................................+...........+.....................................................................................+......................................................................................................................................................................................................................................................................................+.............................................................................................+.................................................................+.............................................................................................................................................................+................+.................................................................................................................+.................................................................................................................+.............+......+.........................+......................................................................................................+............................................................................................................................................................................................................+...............+....................................+.............+...............................................+......................................................................................................................................................................................................................................................................................+..................................................................+...........+..............................................+.+..+..........................................................+..............................................................................................................................................................................................................................................................................................................................................................................................................+................+........................................................................................+..............................................+.....................................................................................+..................................+...............................................................................................................................................+...+..................................................................................+................................................................+.............................................................................................................+...........................................+...........+.....................................................................................................................................................................................................+........................+..........................................................................................................................................................................................................................................................+.............................................................+........+.....................+.................................................+.............................................+.........................................................................................................................+.........................................................................................................................................................................+..................................................................................................................................................................................................................................................................................................+........................................................................................+......................................................................................+............+.................................................................................................................................................................................................................................................+...........................................................................................................................................................................................................................................+.....................+........+.....................................................................................................................................................................+...........+..............+........................+......................+.....................................................................................................................................................................................................................................................................+......................................................................................................................+......................................................................................+............................................................................................................................+......+...............................+.............+.........................................................+....................................................................................................................................................................................+..................+........................................................................................................................................+....+..............................................+.................................+............................+..........................................................................................................................................................................+............................+..........................................................................................................................................................................................+......................................................+................................................................................................................................+.......................................................................................................................+.....................................................+.........................................................................................................+...........................................+...................................................................................+..............................................................+.......................................................+......................+.......................................................+............................................+..................................................................................+..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................+...........................................................................+..............................................+..........................................+..................................................................................................................................................+.........................................+...+.....+.........................................................+.............................................................................+...............................+...........................................................................................+..........+..............................................................................................................+................................................................................................................................................................................................+.......................................................................................................................................................................+..............+..............................................................................................+.............+..........................................+..............................................................+...........................................................................+...............................+.....................................................................................................................................+.........................................................................................................................................+.............................................................................+................................................................................................................+.......................................................................................+........................................................................................................+......................................................+...................................................................................................+.................................................................+......................................................................+..+.............................................................+............................................+........................+........................................................................................+............................+...............+..................+....+.......+......................................................................................................................................................................................................................+............+.....++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++* +.......................................+...........................................+................................................................................................................................................................+.....+..............................................................................................................................................................+...............................+.......................................................................................................................................................+........................................+..........................................................................................................................................................................................................................................+....................+..............................+...............+...........................................................+..............................................................................................................................................................................................................................................................................................................................................................+..............................................................................................+.....................................................................................+........................................................................................................................................................................................................................................................................................................+......................................................................................................................................................................................+.........................................................................................+..........................................................+...............................................................................................................+...............................................................................................+...................................................................+............................+...........................................+...............................................................................................................................................................+....................................................................................................................+............................+.........................................................................................................................................+...............................+..................+.......................................................................................................................................................................................................................................................................................................................................................................................+.............................................................................................................................................................+............................................................................................+........................+...................+.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................+............................................................................................................................................................................................................................................................................+.....................................................................................................................................................................................................................+........................+.......................................+.+..............................................................+.........................................................................................................................................+....................................................................................................................................................+...............................+.....................................................................................................................................+..+................................................................+.....................................................+...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................+..............................................+...................................................................................................................+....................................................................................................+.............+.......................................................+....................................................................................................................................+..............................................................................................................................................................+......................................................................................+..............................................................................................................................................................................................................................................................+.....................................+.....................................................................................................................................................................................................................................................................+....................................................................................................+....................................................+.......+.....+................................................................................................................+.........................+..............+...........................................+............+.....................................................................................................................................................................................................................................................................................................................................................................................................................................+...........................................................................................+..............+..............................................................................................................................................................................+...+....................................................................+...................................................................................................................+......+............................................................................................................+............+.......................+..........................+.....................................................................................+...............................................+....................................................................................................................................................................................................................................................................................+........................................................................................................................................................................+...................................................................................................+.....................................................................................................................................................................................................................................................................................................................................................+......................................................................................................................................................................................................+..........................................+....................................................................................+..................+.......................................+...................................................................................+..............+.................................................................+..+.......................................................................+.+..........................................................................................................................................................................................................................................................................................................................................................................+..................................+....................................+.....................................................................+...+............................................................................................................................+........................................+.............................................................................................................................................................................................................................................................+..................+....+............................................+...+....................................................................................................+...+.....................................................................................................................................+.......................................................................................................................................................................................................................................................+............................+....+..................+.......................................................................................+..................................................................................+..........................................................................................................................+.................................................................+......................................................................+...............................................................................................+..............................................+..............................................................................+...................................................................................................................................+.....................................................................................................................................................+........................................................................................................................................................................................................................................................+................................................................................................................................................+................................................................................................+..................................................+..........................................+.................................................................................................................+..........+.....................................................................+..................................................................................+.............................................................+...................+.............................................................................................................................................................................................................................+..............................................................................................................................................+.........................................................................................................................................................................+.........................................................................................................................................................................................................................+.........................................................................................................................................................................................................................................................+.....................................................................+.........................................................................................................+.........................................................................................................................................................................+.............................+.................................+............................................+...........................................................................................................................................................................................................................................................................................................................+............................................................................................................................................................................+...........................................+..................+........................................+...................+...........................+.....................................................................................................................................................................................................................................................+...................................+...................+..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................+........................................................................................................................................................................................................................................................................................................................................................................+......................+........................+..............................................................................................................................................................................................................................................................................................................+.........................................+..............................................................................+................................................................................................................................................................................................................................................................................+.........................................................................................................................................................................................................................................+............................................................+...............+.........................................................................................................................................................................+........................................+.......................+.........................................................................................................................................................................................................................+......................................................................................................................................................+...........+......................................................................................................................+..............................+.............................................................................................................................+...........................................................................................................................................................................................................................................................................................................................................................................................................................................................+........+....................................................+................................................................................+..........................................................................................................................................................+......................................................................................................+...................................................................+........................................................+.......................+..................................................................................................................................................................................................................................+......+...........................................................................................................................................+................................................................................................................................................................................+...................................................................................................................+................+..........................................+......................................................+............................................................................................................................................................................+..........+.....................................+...............+.................................................................................................................................................................................................................................+.........................................................................................+......................+..................................................................+....................................................................+...........................................................+..........................................................................................................................................................................................+...................+.......................................+..............................................................................................................................................+..............+............................................+.......+.......................+............................................+.....................................................................................................................+....................................................................................................................................................................................................................................................................................+...............................+....................................................................................................................................................................................................................................................................+..............+.........................+.............................................+...............................+...................+....................................................................................................................+.............................................................................................................................................................................................................................................................+.....................+...................................................................................................................................+....+.+..............................................................................................+.................................................................................................+.........................................................................................................................+................................................................................................................................................................................................................+.............................................................................................................................................................+..........+.........................................................................+...................................................................................................................................................................................................................................................................................................+...+.................................................................................................................................................................................+................................................+...................................................................................................................................................................................................................................................................................+....................+............+...................+.......................................................................................+....................+.....................................................................................................................................................................................................................................................................................................................................................+..........................................................+........................................................................................................................................+................................................................................................................................................................................................................................................+...............................................................................................................................................................+.........................+........................................................................................................................................................................+.........................................................................................................................................................................................................................+.........................................................................+......................................+....................................+.............................+.......................................................................................................................................+...........................................................................................+.........................+.........................................................................................+..............................+................................................+...................................................+......................+.......................................................................................+..........................+.............................................................................................+.....................................................................................................................+........................+...........+.........+..........................................................+......+...................................................................+.................................+..............................................................................................................................................................................................................................+.....................................................................................................................................................+..................................................................................................................................+.....................+.............................................................................................................+......................................+.....................................................................................................................................................................+.....................................................................................+..........................................................................................................................................+..............................+............................................................................................................................................................................................................................+........................................................................+.....................................................................................................................................................................+..........................................................................+...................................+...............................................+........................+....................................+........................................................................+...........................................................................................................................................................................................................+..............................................+......+........................................................................................................................................................................................+...........................................+..........................................................................................................................................................................................................................................+........................................................................................................................................................................................................................................................................................................................+.....................................................................................................+.................................................................+...............................................+.....................................+...........................................................................................................+...................................+.........................................................+........................+...................................................................................................................................................+................................................................................................................................................................................................+......+..............................+..............+........+.........................+.........................................................................................................................................................................................................................................................................+................................................................................................................................................................................................................................................................................+............................................................................................+..................................................................................................+......................................................................+................................................................................................................................................................................................................................................................+.....................+........................................................................................................................................................................................................................................................+.........+......+........+..................................+...................+........................+.................................................................................................................................................................................................................................................................................................................................................+.....................+...........................................................................................................................+..............................+..........................................+.......................................................................................................................................................................+..................................................................................................................................+.................................................................................................................................................................+..........................................................................................................................+...............................................................................................................................................................................................................................................+.......................................................................................................................+..................+..........................................+.....................................................................+........................................................+...............................................................+...................................+......................................................................................................................................................+........+...................................................................................................+..................................................................................................+.........................................................................................+............................................................................................................................................+...............................................................................................+........................................................................+..............................................................................................................................................+.+.......................................................+...............................................................................................................................................................+..................................................+....................................................................................+..................................................................+................................................................................................................+............................+.................................................................................................................................+............................................................................................................................................................................................................................................................................................+.......................................................................................................................................................+...............................+......+....................................................................................+..........................................................................................................................................................................................................................................................................................+............................................+.........................................................................................................................................................................................................................................................+..........................................................................................................+..................................................................................................+..........................................................................................................................+..........................................................................................................+..........+......................................................................................................................................................+...............................................................................................................................................................................................................................................................................................................+.....................................................+...................................+.................................................+...................................................................................+.......................................................................+........................................................................................................................................+.........+................................................................+........................................................+................................................................................................+..............................................................+...........................+...................+..........................................................................................................................+.....+...................................................................................................................................................................................................................................................................................................................................................................................+......................................................................................................................................................................................+...............................+....................................................................................................................................................................................+....................................................................................................................................................................................................+......................+.....................................................................................+...............................................................................+..++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++* # Avoid race conditions in upstream testsuite ./runtest --clients 1 --verbose --dump-logs --tls || true Cleanup: may take some time... OK Starting test server at port 21079 -[ready]: 733985 -Testing unit/quit -=== (quit) Starting server on 127.0.0.1:21111 ok -[ok]: QUIT returns OK (8 ms) -[ok]: Pipelined commands after QUIT must not be executed (13 ms) -[ok]: Pipelined commands after QUIT that exceed read buffer size (15 ms) -[1/128 done]: unit/quit (1 seconds) +[ready]: 565349 +Testing unit/tls +=== (tls) Starting server on 127.0.0.1:21111 ok +[ok]: TLS: Not accepting non-TLS connections on a TLS port (1 ms) +[ok]: TLS: Verify tls-auth-clients behaves as expected (10 ms) +[ok]: TLS: Verify tls-protocols behaves as expected (9 ms) +[ok]: TLS: Verify tls-ciphers behaves as expected (14 ms) +[ok]: TLS: Verify tls-prefer-server-ciphers behaves as expected (16 ms) +=== () Starting server on 127.0.0.1:21113 ok +[ok]: TLS: Verify tls-cert-file is also used as a client cert if none specified (335 ms) +[ok]: TLS: switch between tcp and tls ports (16 ms) +[ok]: TLS: Working with an encrypted keyfile (10 ms) +[1/128 done]: unit/tls (1 seconds) +Testing unit/pause +=== (pause network) Starting server on 127.0.0.1:21115 ok +[ok]: Test check paused info in info clients (2093 ms) +[ok]: Test read commands are not blocked by client pause (8 ms) +[ok]: Test old pause-all takes precedence over new pause-write (less restrictive) (346 ms) +[ok]: Test new pause time is smaller than old one, then old time preserved (108 ms) +[ok]: Test write commands are paused by RO (7 ms) +[ok]: Test special commands are paused by RO (14 ms) +[ok]: Test read/admin multi-execs are not blocked by pause RO (7 ms) +[ok]: Test write multi-execs are blocked by pause RO (7 ms) +[ok]: Test scripts are blocked by pause RO (13 ms) +[ok]: Test RO scripts are not blocked by pause RO (6 ms) +[ok]: Test read-only scripts in multi-exec are not blocked by pause RO (6 ms) +[ok]: Test write scripts in multi-exec are blocked by pause RO (12 ms) +[ok]: Test may-replicate commands are rejected in RO scripts (0 ms) +[ok]: Test multiple clients can be queued up and unblocked (14 ms) +[ok]: Test clients with syntax errors will get responses immediately (0 ms) +[ok]: Test eviction is skipped during client pause (1 ms) +[ok]: Test both active and passive expires are skipped during client pause (102 ms) +[ok]: Test that client pause starts at the end of a transaction (7 ms) +=== (needs:repl external:skip) Starting server on 127.0.0.1:21117 ok +[ok]: Test when replica paused, offset would not grow (2 ms) +[ok]: Test replica offset would grow after unpause (1 ms) +[ok]: Test the randomkey command will not cause the server to get into an infinite loop during the client pause write (6 ms) +=== (external:skip cluster pause network) Starting server on 127.0.0.1:21119 ok +=== (external:skip cluster pause network) Starting server on 127.0.0.1:21121 ok +[ok]: Test check paused info during the cluster failover in info clients (72 ms) +[2/128 done]: unit/pause (14 seconds) +Testing unit/obuf-limits +=== (obuf-limits external:skip logreqres:skip) Starting server on 127.0.0.1:21123 ok +[ok]: CONFIG SET client-output-buffer-limit (1 ms) +[ok]: Client output buffer hard limit is enforced (2984 ms) +[ok]: Client output buffer soft limit is enforced if time is overreached (3585 ms) +[ok]: Client output buffer soft limit is not enforced too early and is enforced when no traffic (5054 ms) +[ok]: No response for single command if client output buffer hard limit is enforced (116 ms) +[ok]: No response for multi commands in pipeline if client output buffer limit is enforced (1068 ms) +[ok]: Execute transactions completely even if client output buffer limit is enforced (27 ms) +[ok]: Obuf limit, HRANDFIELD with huge count stopped mid-run (27 ms) +[ok]: Obuf limit, KEYS stopped mid-run (61 ms) +[3/128 done]: unit/obuf-limits (13 seconds) +Testing unit/acl-v2 +=== (acl external:skip) Starting server on 127.0.0.1:21125 ok +[ok]: Test basic multiple selectors (1 ms) +[ok]: Test ACL selectors by default have no permissions (1 ms) +[ok]: Test deleting selectors (0 ms) +[ok]: Test selector syntax error reports the error in the selector context (1 ms) +[ok]: Test flexible selector definition (1 ms) +[ok]: Test separate read permission (1 ms) +[ok]: Test separate write permission (1 ms) +[ok]: Test separate read and write permissions (0 ms) +[ok]: Validate read and write permissions format (1 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 (1 ms) +[ok]: Test SET with separate read permission (1 ms) +[ok]: Test SET with separate write permission (1 ms) +[ok]: Test SET with read and write permissions (1 ms) +[ok]: Test BITFIELD with separate read permission (12 ms) +[ok]: Test BITFIELD with separate write permission (1 ms) +[ok]: Test BITFIELD with read and write permissions (0 ms) +[ok]: Test ACL log correctly identifies the relevant item when selectors are used (2 ms) +[ok]: Test ACL GETUSER response information (0 ms) +[ok]: Test ACL list idempotency (1 ms) +[ok]: Test R+W is the same as all permissions (0 ms) +[ok]: Test basic dry run functionality (1 ms) +[ok]: Test various commands for command permissions (0 ms) +[ok]: Test various odd commands for key permissions (9 ms) +[ok]: Existence test commands are not marked as access (1 ms) +[ok]: Intersection cardinaltiy commands are access commands (0 ms) +[ok]: Test general keyspace commands require some type of permission to execute (2 ms) +[ok]: Cardinality commands require some type of permission to execute (1 ms) +[ok]: Test sharded channel permissions (1 ms) +[ok]: Test sort with ACL permissions (2 ms) +[ok]: Test DRYRUN with wrong number of arguments (1 ms) +=== (external:skip) Starting server on 127.0.0.1:21127 ok +[ok]: Test behavior of loading ACLs (4 ms) +[4/128 done]: unit/acl-v2 (1 seconds) Testing unit/slowlog -=== (slowlog) Starting server on 127.0.0.1:21113 ok +=== (slowlog) Starting server on 127.0.0.1:21129 ok [ok]: SLOWLOG - check that it starts with an empty log (0 ms) -[ok]: SLOWLOG - only logs commands taking more time than specified (201 ms) -[ok]: SLOWLOG - zero max length is correctly handled (14 ms) -[ok]: SLOWLOG - max entries is correctly handled (15 ms) -[ok]: SLOWLOG - GET optional argument to limit output len works (2 ms) -[ok]: SLOWLOG - RESET subcommand works (1 ms) +[ok]: SLOWLOG - only logs commands taking more time than specified (204 ms) +[ok]: SLOWLOG - zero max length is correctly handled (8 ms) +[ok]: SLOWLOG - max entries is correctly handled (14 ms) +[ok]: SLOWLOG - GET optional argument to limit output len works (1 ms) +[ok]: SLOWLOG - RESET subcommand works (0 ms) [ok]: SLOWLOG - logged entry sanity check (201 ms) -[ok]: SLOWLOG - Certain commands are omitted that contain sensitive information (4 ms) -[ok]: SLOWLOG - Some commands can redact sensitive fields (2 ms) -[ok]: SLOWLOG - Rewritten commands are logged as their original command (14 ms) +[ok]: SLOWLOG - Certain commands are omitted that contain sensitive information (2 ms) +[ok]: SLOWLOG - Some commands can redact sensitive fields (6 ms) +[ok]: SLOWLOG - Rewritten commands are logged as their original command (13 ms) [ok]: SLOWLOG - commands with too many arguments are trimmed (1 ms) -[ok]: SLOWLOG - too long arguments are trimmed (1 ms) -[ok]: SLOWLOG - EXEC is not logged, just executed commands (202 ms) +[ok]: SLOWLOG - too long arguments are trimmed (0 ms) +[ok]: SLOWLOG - EXEC is not logged, just executed commands (204 ms) [ok]: SLOWLOG - can clean older entries (202 ms) -[ok]: SLOWLOG - can be disabled (403 ms) -[ok]: SLOWLOG - count must be >= -1 (1 ms) -[ok]: SLOWLOG - get all slow logs (3 ms) -[ok]: SLOWLOG - blocking command is reported only after unblocked (13 ms) -[ok]: SLOWLOG - the commands in script are recorded normally - is_eval: 0 (2 ms) +[ok]: SLOWLOG - can be disabled (408 ms) +[ok]: SLOWLOG - count must be >= -1 (0 ms) +[ok]: SLOWLOG - get all slow logs (1 ms) +[ok]: SLOWLOG - blocking command is reported only after unblocked (11 ms) +[ok]: SLOWLOG - the commands in script are recorded normally - is_eval: 0 (1 ms) [ok]: SLOWLOG - the commands in script are recorded normally - is_eval: 1 (1 ms) -[2/128 done]: unit/slowlog (1 seconds) -Testing unit/bitfield -=== (bitops) Starting server on 127.0.0.1:21115 ok -[ok]: BITFIELD signed SET and GET basics (1 ms) -[ok]: BITFIELD unsigned SET and GET basics (1 ms) -[ok]: BITFIELD signed SET and GET together (0 ms) -[ok]: BITFIELD unsigned with SET, GET and INCRBY arguments (1 ms) -[ok]: BITFIELD with only key as argument (0 ms) -[ok]: BITFIELD # form (1 ms) -[ok]: BITFIELD basic INCRBY form (0 ms) -[ok]: BITFIELD chaining of multiple commands (1 ms) -[ok]: BITFIELD unsigned overflow wrap (1 ms) -[ok]: BITFIELD unsigned overflow sat (1 ms) -[ok]: BITFIELD signed overflow wrap (1 ms) -[ok]: BITFIELD signed overflow sat (1 ms) -[ok]: BITFIELD overflow detection fuzzing (418 ms) -[ok]: BITFIELD overflow wrap fuzzing (556 ms) -[ok]: BITFIELD regression for #3221 (0 ms) -[ok]: BITFIELD regression for #3564 (3 ms) -[ok]: BITFIELD_RO with only key as argument (0 ms) -[ok]: BITFIELD_RO fails when write option is used (0 ms) -=== (repl external:skip) Starting server on 127.0.0.1:21117 ok -=== () Starting server on 127.0.0.1:21119 ok -[ok]: BITFIELD: setup slave (102 ms) -[ok]: BITFIELD: write on master, read on slave (3 ms) -[ok]: BITFIELD_RO with only key as argument on read-only replica (0 ms) -[ok]: BITFIELD_RO fails when write option is used on read-only replica (0 ms) -[3/128 done]: unit/bitfield (2 seconds) -Testing unit/oom-score-adj -=== (oom-score-adj external:skip) Starting server on 127.0.0.1:21121 ok -[ok]: CONFIG SET oom-score-adj works as expected (59 ms) -[ok]: CONFIG SET oom-score-adj-values doesn't touch proc when disabled (1 ms) -[ok]: CONFIG SET oom score restored on disable (1 ms) -[ok]: CONFIG SET oom score relative and absolute (1 ms) -[ok]: CONFIG SET out-of-range oom score (0 ms) -[4/128 done]: unit/oom-score-adj (1 seconds) -Testing unit/info -=== (info external:skip debug_defrag:skip) Starting server on 127.0.0.1:21123 ok -=== () Starting server on 127.0.0.1:21125 ok -[ok]: latencystats: disable/enable (3 ms) -[ok]: latencystats: configure percentiles (3 ms) -[ok]: latencystats: bad configure percentiles (3 ms) -[ok]: latencystats: blocking commands (11 ms) -[ok]: latencystats: subcommands (1 ms) -[ok]: latencystats: measure latency (53 ms) -[ok]: errorstats: failed call authentication error (3 ms) -[ok]: errorstats: failed call within MULTI/EXEC (5 ms) -[ok]: errorstats: failed call within LUA (3 ms) -[ok]: errorstats: failed call NOSCRIPT error (3 ms) -[ok]: errorstats: failed call NOGROUP error (2 ms) -[ok]: errorstats: rejected call unknown command (2 ms) -[ok]: errorstats: rejected call within MULTI/EXEC (4 ms) -[ok]: errorstats: rejected call due to wrong arity (2 ms) -[ok]: errorstats: rejected call by OOM error (4 ms) -[ok]: errorstats: rejected call by authorization error (3 ms) -[ok]: errorstats: blocking commands (11 ms) -[ok]: errorstats: limit errors will not increase indefinitely (196 ms) -eventloop metrics cycle1: 1118, cycle2: 1120 -eventloop metrics el_sum1: 57689, el_sum2: 57836 -eventloop metrics cmd_sum1: 10653, cmd_sum2: 10666 -[ok]: stats: eventloop metrics (112 ms) -instantaneous metrics instantaneous_eventloop_cycles_per_sec: 98 -instantaneous metrics instantaneous_eventloop_duration_usec: 21 -[ok]: stats: instantaneous metrics (2004 ms) -[ok]: stats: debug metrics (113 ms) -[ok]: stats: client input and output buffer limit disconnections (93 ms) -[ok]: clients: pubsub clients (15 ms) -[ok]: clients: watching clients (13 ms) -=== (info external:skip) Starting server on 127.0.0.1:21127 ok -[ok]: memory: database and pubsub overhead and rehashing dict count (5 ms) -[5/128 done]: unit/info (3 seconds) -Testing unit/client-eviction -=== () Starting server on 127.0.0.1:21129 ok -[ok]: client evicted due to large argv (97 ms) -[ok]: client evicted due to large query buf (39 ms) -[ok]: client evicted due to percentage of maxmemory (23 ms) -[ok]: client evicted due to large multi buf (229 ms) -[ok]: client evicted due to watched key list (399 ms) -[ok]: client evicted due to pubsub subscriptions (1959 ms) -[ok]: client evicted due to tracking redirection (36 ms) -[ok]: client evicted due to client tracking prefixes (1350 ms) -[ok]: client evicted due to output buf (77 ms) -[ok]: client no-evict on (94 ms) -[ok]: client no-evict off (117 ms) -=== () Starting server on 127.0.0.1:21131 ok -[ok]: avoid client eviction when client is freed by output buffer limit (159 ms) -=== () Starting server on 127.0.0.1:21133 ok -[ok]: decrease maxmemory-clients causes client eviction (678 ms) -=== () Starting server on 127.0.0.1:21135 ok -[ok]: evict clients only until below limit (201 ms) -=== () Starting server on 127.0.0.1:21137 ok -[ok]: evict clients in right order (large to small) (387 ms) -=== () Starting server on 127.0.0.1:21139 ok -[ok]: client total memory grows during client no-evict (148 ms) -[ok]: client total memory grows during maxmemory-clients disabled (148 ms) -[6/128 done]: unit/client-eviction (9 seconds) -Testing unit/lazyfree -=== (lazyfree) Starting server on 127.0.0.1:21141 ok -[ok]: UNLINK can reclaim memory in background (242 ms) -[ok]: FLUSHDB ASYNC can reclaim memory in background (243 ms) -[ok]: lazy free a stream with all types of metadata (139 ms) -[ok]: lazy free a stream with deleted cgroup (1 ms) -[7/128 done]: unit/lazyfree (1 seconds) +[5/128 done]: unit/slowlog (1 seconds) Testing unit/introspection -=== (introspection) Starting server on 127.0.0.1:21143 ok +=== (introspection) Starting server on 127.0.0.1:21131 ok [ok]: PING (0 ms) -[ok]: CLIENT LIST (0 ms) +[ok]: CLIENT LIST (1 ms) [ok]: CLIENT LIST with IDs (0 ms) [ok]: CLIENT INFO (1 ms) -[ok]: CLIENT LIST with ADDR filter (0 ms) +[ok]: CLIENT LIST with ADDR filter (1 ms) [ok]: CLIENT LIST with LADDR filter (0 ms) [ok]: CLIENT LIST with MAXAGE filter (0 ms) -[ok]: CLIENT LIST with TYPE filter (1 ms) -[ok]: CLIENT LIST with USER filter (0 ms) -[ok]: CLIENT LIST with SKIPME filter (1 ms) -[ok]: CLIENT LIST with multiple IDs and TYPE filter (77 ms) -[ok]: CLIENT LIST with filters matching no clients (14 ms) +[ok]: CLIENT LIST with TYPE filter (0 ms) +[ok]: CLIENT LIST with USER filter (1 ms) +[ok]: CLIENT LIST with SKIPME filter (0 ms) +[ok]: CLIENT LIST with multiple IDs and TYPE filter (19 ms) +[ok]: CLIENT LIST with filters matching no clients (10 ms) [ok]: CLIENT LIST with illegal arguments (1 ms) -[ok]: client input output and command process statistics (11 ms) +[ok]: client input output and command process statistics (8 ms) [ok]: CLIENT KILL with illegal arguments (1 ms) CLIENT KILL maxAGE will kill old clients test attempts: 0 -[ok]: CLIENT KILL maxAGE will kill old clients (2018 ms) -[ok]: CLIENT KILL SKIPME YES/NO will kill all clients (39 ms) -[ok]: CLIENT command unhappy path coverage (3 ms) -[ok]: CLIENT KILL close the client connection during bgsave (67 ms) -[ok]: CLIENT REPLY OFF/ON: disable all commands reply (51 ms) -[ok]: CLIENT REPLY SKIP: skip the next command reply (54 ms) -[ok]: CLIENT REPLY ON: unset SKIP flag (49 ms) -[ok]: MONITOR can log executed commands (10 ms) -[ok]: MONITOR can log commands issued by the scripting engine (9 ms) -[ok]: MONITOR can log commands issued by functions (8 ms) -[ok]: MONITOR supports redacting command arguments (9 ms) -[ok]: MONITOR correctly handles multi-exec cases (10 ms) -[ok]: MONITOR correctly records SET EX in MULTI-EXEC (11 ms) -[ok]: MONITOR log blocked command only once (25 ms) +[ok]: CLIENT KILL maxAGE will kill old clients (2013 ms) +[ok]: CLIENT KILL SKIPME YES/NO will kill all clients (30 ms) +[ok]: CLIENT command unhappy path coverage (2 ms) +[ok]: CLIENT KILL close the client connection during bgsave (68 ms) +[ok]: CLIENT REPLY OFF/ON: disable all commands reply (52 ms) +[ok]: CLIENT REPLY SKIP: skip the next command reply (56 ms) +[ok]: CLIENT REPLY ON: unset SKIP flag (48 ms) +[ok]: MONITOR can log executed commands (12 ms) +[ok]: MONITOR can log commands issued by the scripting engine (6 ms) +[ok]: MONITOR can log commands issued by functions (12 ms) +[ok]: MONITOR supports redacting command arguments (17 ms) +[ok]: MONITOR correctly handles multi-exec cases (6 ms) +[ok]: MONITOR correctly records SET EX in MULTI-EXEC (7 ms) +[ok]: MONITOR log blocked command only once (23 ms) [ok]: CLIENT GETNAME should return NIL if name is not assigned (0 ms) [ok]: CLIENT GETNAME check if name set correctly (0 ms) [ok]: CLIENT LIST shows empty fields for unassigned names (0 ms) [ok]: CLIENT SETNAME does not accept spaces (1 ms) [ok]: CLIENT SETNAME can assign a name to this connection (0 ms) [ok]: CLIENT SETNAME can change the name of an existing connection (0 ms) -[ok]: After CLIENT SETNAME, connection can still be closed (8 ms) -[ok]: CLIENT SETINFO can set a library name to this connection (1 ms) -[ok]: CLIENT SETINFO invalid args (1 ms) -[ok]: RESET does NOT clean library name (0 ms) +[ok]: After CLIENT SETNAME, connection can still be closed (6 ms) +[ok]: CLIENT SETINFO can set a library name to this connection (0 ms) +[ok]: CLIENT SETINFO invalid args (0 ms) +[ok]: RESET does NOT clean library name (1 ms) [ok]: CLIENT SETINFO can clear library name (0 ms) -=== () Starting server on 127.0.0.1:21145 ok -=== () Starting server on 127.0.0.1:21147 ok -=== () Starting server on 127.0.0.1:21149 ok -=== () Starting server on 127.0.0.1:21151 ok -[ok]: CONFIG save params special case handled properly (1382 ms) -[ok]: CONFIG sanity (42 ms) -[ok]: CONFIG REWRITE sanity (311 ms) -=== () Starting server on 127.0.0.1:21153 ok -[ok]: CONFIG REWRITE handles save and shutdown properly (1033 ms) +=== () Starting server on 127.0.0.1:21133 ok +=== () Starting server on 127.0.0.1:21135 ok +=== () Starting server on 127.0.0.1:21137 ok +=== () Starting server on 127.0.0.1:21139 ok +[ok]: CONFIG save params special case handled properly (919 ms) +[ok]: CONFIG sanity (22 ms) +[ok]: CONFIG REWRITE sanity (283 ms) +=== () Starting server on 127.0.0.1:21141 ok +[ok]: CONFIG REWRITE handles save and shutdown properly (896 ms) [ok]: CONFIG SET with multiple args (2 ms) -[ok]: CONFIG SET rollback on set error (2 ms) -dummy_accept: sock55e393102060 -[ok]: CONFIG SET rollback on apply error (16 ms) -[ok]: CONFIG SET duplicate configs (0 ms) +[ok]: CONFIG SET rollback on set error (0 ms) +dummy_accept: sock556f868c93d0 +[ok]: CONFIG SET rollback on apply error (7 ms) +[ok]: CONFIG SET duplicate configs (1 ms) [ok]: CONFIG SET set immutable (0 ms) -[ok]: CONFIG GET hidden configs (5 ms) +[ok]: CONFIG GET hidden configs (2 ms) [ok]: CONFIG GET multiple args (0 ms) -[ok]: valkey-server command line arguments - error cases (155 ms) +[ok]: valkey-server command line arguments - error cases (77 ms) +=== () Starting server on 127.0.0.1:21144 ok +=== () Starting server on 127.0.0.1:21146 ok +[ok]: tot-net-out for replica client (929 ms) +=== () Starting server on 127.0.0.1:21148 ok +[ok]: valkey-server command line arguments - allow passing option name and option value in the same arg (227 ms) +=== () Starting server on 127.0.0.1:21150 ok +[ok]: valkey-server command line arguments - wrong usage that we support anyway (225 ms) +=== () Starting server on 127.0.0.1:21152 ok +[ok]: valkey-server command line arguments - allow option value to use the `--` prefix (221 ms) +=== () Starting server on 127.0.0.1:21154 ok +[ok]: valkey-server command line arguments - option name and option value in the same arg and `--` prefix (224 ms) === () Starting server on 127.0.0.1:21156 ok === () Starting server on 127.0.0.1:21158 ok -[ok]: tot-net-out for replica client (553 ms) === () Starting server on 127.0.0.1:21160 ok -[ok]: valkey-server command line arguments - allow passing option name and option value in the same arg (259 ms) === () Starting server on 127.0.0.1:21162 ok -[ok]: valkey-server command line arguments - wrong usage that we support anyway (467 ms) === () Starting server on 127.0.0.1:21164 ok -[ok]: valkey-server command line arguments - allow option value to use the `--` prefix (240 ms) +[ok]: valkey-server command line arguments - save with empty input (1102 ms) === () Starting server on 127.0.0.1:21166 ok -[ok]: valkey-server command line arguments - option name and option value in the same arg and `--` prefix (260 ms) +[ok]: valkey-server command line arguments - take one bulk string with spaces for MULTI_ARG configs parsing (219 ms) === () Starting server on 127.0.0.1:21168 ok -=== () Starting server on 127.0.0.1:21170 ok -=== () Starting server on 127.0.0.1:21172 ok +[ok]: valkey-server command line arguments - dir multiple times (224 ms) +=== (introspection external:skip) Starting server on 127.0.0.1:21170 ok +[ok]: cannot modify protected configuration - no (0 ms) +=== (introspection external:skip) Starting server on 127.0.0.1:21172 ok +[ok]: cannot modify protected configuration - local (2 ms) === () Starting server on 127.0.0.1:21174 ok +[ok]: config during loading (968 ms) === () Starting server on 127.0.0.1:21176 ok -[ok]: valkey-server command line arguments - save with empty input (1253 ms) -=== () Starting server on 127.0.0.1:21178 ok -[ok]: valkey-server command line arguments - take one bulk string with spaces for MULTI_ARG configs parsing (288 ms) -=== () Starting server on 127.0.0.1:21180 ok -[ok]: valkey-server command line arguments - dir multiple times (232 ms) -=== (introspection external:skip) Starting server on 127.0.0.1:21182 ok -[ok]: cannot modify protected configuration - no (0 ms) -=== (introspection external:skip) Starting server on 127.0.0.1:21184 ok -[ok]: cannot modify protected configuration - local (3 ms) -=== () Starting server on 127.0.0.1:21186 ok -[ok]: config during loading (1488 ms) -=== () Starting server on 127.0.0.1:21188 ok -[ok]: MEMORY commands during loading (1515 ms) -=== (introspection) Starting server on 127.0.0.1:21190 ok -[ok]: CONFIG REWRITE handles rename-command properly (469 ms) -=== (introspection) Starting server on 127.0.0.1:21192 ok -=== (introspection) Starting server on 127.0.0.1:21194 ok -[ok]: CONFIG REWRITE handles alias config properly (1535 ms) -[8/128 done]: unit/introspection (15 seconds) -Testing unit/info-command -=== (info and its relative command) Starting server on 127.0.0.1:21196 ok -Testing Valkey version 7.2.4 (00000000) -[ok]: Extract version and sha1 details from info command and print (1 ms) -[ok]: info command with at most one sub command (1 ms) -[ok]: info command with one sub-section (1 ms) -[ok]: info command with multiple sub-sections (1 ms) -[9/128 done]: unit/info-command (1 seconds) -Testing unit/wait -=== (wait network external:skip) Starting server on 127.0.0.1:21198 ok +[ok]: MEMORY commands during loading (883 ms) +=== (introspection) Starting server on 127.0.0.1:21178 ok +[ok]: CONFIG REWRITE handles rename-command properly (348 ms) +=== (introspection) Starting server on 127.0.0.1:21180 ok +=== (introspection) Starting server on 127.0.0.1:21182 ok +[ok]: CONFIG REWRITE handles alias config properly (898 ms) +[6/128 done]: unit/introspection (12 seconds) +Testing unit/violations +[ignore]: large memory flag not provided +[ignore]: large memory flag not provided +[ignore]: large memory flag not provided +[ignore]: large memory flag not provided +[ignore]: large memory flag not provided +[ignore]: large memory flag not provided +=== () Starting server on 127.0.0.1:21184 ok +[ok]: SORT adds integer field to list (0 ms) +[7/128 done]: unit/violations (0 seconds) +Testing unit/expire +=== (expire) Starting server on 127.0.0.1:21186 ok +[ok]: EXPIRE - set timeouts multiple times (0 ms) +[ok]: EXPIRE - It should be still possible to read 'x' (0 ms) +[ok]: EXPIRE - After 2.1 seconds the key should no longer be here (2101 ms) +[ok]: EXPIRE - write on expire should work (1 ms) +[ok]: EXPIREAT - Check for EXPIRE alike behavior (0 ms) +[ok]: SETEX - Set + Expire combo operation. Check for TTL (0 ms) +[ok]: SETEX - Check value (0 ms) +[ok]: SETEX - Overwrite old key (0 ms) +[ok]: SETEX - Wait for the key to expire (1103 ms) +[ok]: SETEX - Wrong time parameter (0 ms) +[ok]: PERSIST can undo an EXPIRE (0 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) +PSETEX sub-second expire test attempts: 0 +[ok]: PSETEX can set sub-second expires (103 ms) +PEXPIRE sub-second expire test attempts: 0 +[ok]: PEXPIRE can set sub-second expires (102 ms) +PEXPIREAT sub-second expire test attempts: 0 +[ok]: PEXPIREAT can set sub-second expires (204 ms) +[ok]: EXPIRE / EXPIREAT / PEXPIRE / PEXPIREAT Expiration time is already expired (2 ms) +[ok]: TTL returns time to live in seconds (1 ms) +[ok]: PTTL returns time to live in milliseconds (0 ms) +[ok]: TTL / PTTL / EXPIRETIME / PEXPIRETIME return -1 if key has no expire (1 ms) +[ok]: TTL / PTTL / EXPIRETIME / PEXPIRETIME return -2 if key does not exit (0 ms) +[ok]: EXPIRETIME returns absolute expiration time in seconds (1 ms) +[ok]: PEXPIRETIME returns absolute expiration time in milliseconds (0 ms) +[ok]: Server should actively expire keys incrementally (607 ms) +[ok]: Server should lazy expire keys (1006 ms) +[ok]: EXPIRE should not resurrect keys (issue #1026) (1005 ms) +[ok]: 5 keys in, 5 keys out (1 ms) +[ok]: EXPIRE with empty string as TTL should report an error (0 ms) +[ok]: SET with EX with big integer should report an error (0 ms) +[ok]: SET with EX with smallest integer should report an error (0 ms) +[ok]: GETEX with big integer should report an error (0 ms) +[ok]: GETEX with smallest integer should report an error (1 ms) +[ok]: EXPIRE with big integer overflows when converted to milliseconds (0 ms) +[ok]: PEXPIRE with big integer overflow when basetime is added (1 ms) +[ok]: EXPIRE with big negative integer (0 ms) +[ok]: PEXPIREAT with big integer works (0 ms) +[ok]: PEXPIREAT with big negative integer works (1 ms) +=== (external:skip) Starting server on 127.0.0.1:21188 ok +[ok]: All time-to-live(TTL) in commands are propagated as absolute timestamp in milliseconds in AOF (2121 ms) +[ok]: All TTL in commands are propagated as absolute timestamp in replication stream (134 ms) +=== (needs:repl external:skip) Starting server on 127.0.0.1:21190 ok +[ok]: First server should have role slave after REPLICAOF (1 ms) +[ok]: For all replicated TTL-related commands, absolute expire times are identical on primary and replica (19 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 (274 ms) +[ok]: SET command will remove expire (1 ms) +[ok]: SET - use KEEPTTL option, TTL should not be removed (0 ms) +[ok]: SET - use KEEPTTL option, TTL should not be removed after loadaof (2015 ms) +[ok]: GETEX use of PERSIST option should remove TTL (0 ms) +[ok]: GETEX use of PERSIST option should remove TTL after loadaof (1 ms) +[ok]: GETEX propagate as to replica as PERSIST, UNLINK, or nothing (96 ms) +[ok]: EXPIRE with NX option on a key with ttl (0 ms) +[ok]: EXPIRE with NX option on a key without ttl (0 ms) +[ok]: EXPIRE with XX option on a key with ttl (1 ms) +[ok]: EXPIRE with XX option on a key without ttl (0 ms) +[ok]: EXPIRE with GT option on a key with lower ttl (0 ms) +[ok]: EXPIRE with GT option on a key with higher ttl (0 ms) +[ok]: EXPIRE with GT option on a key without ttl (1 ms) +[ok]: EXPIRE with LT option on a key with higher ttl (0 ms) +[ok]: EXPIRE with LT option on a key with lower ttl (0 ms) +[ok]: EXPIRE with LT option on a key without ttl (0 ms) +[ok]: EXPIRE with LT and XX option on a key with ttl (0 ms) +[ok]: EXPIRE with LT and XX option on a key without ttl (4 ms) +[ok]: EXPIRE with conflicting options: LT GT (0 ms) +[ok]: EXPIRE with conflicting options: NX GT (0 ms) +[ok]: EXPIRE with conflicting options: NX LT (0 ms) +[ok]: EXPIRE with conflicting options: NX XX (0 ms) +[ok]: EXPIRE with unsupported options (0 ms) +[ok]: EXPIRE with unsupported options (1 ms) +[ok]: EXPIRE with negative expiry (0 ms) +[ok]: EXPIRE with negative expiry on a non-valitale key (0 ms) +[ok]: EXPIRE with non-existed key (0 ms) +[ok]: Server should not propagate the read command on lazy expire (96 ms) +[ok]: SCAN: Lazy-expire should not be wrapped in MULTI/EXEC (104 ms) +[ok]: RANDOMKEY: Lazy-expire should not be wrapped in MULTI/EXEC (102 ms) +[ok]: import-source can be closed when import-mode is off (1 ms) +[ok]: Import mode should forbid active expiration (116 ms) +[ok]: Import mode should forbid lazy expiration (12 ms) +[ok]: Client can visit expired key in import-source state (116 ms) +=== (expire external:skip cluster) Starting server on 127.0.0.1:21192 ok +[ok]: expire scan should skip dictionaries with lot's of empty buckets (908 ms) +[8/128 done]: unit/expire (17 seconds) +Testing unit/bitfield +=== (bitops) Starting server on 127.0.0.1:21194 ok +[ok]: BITFIELD signed SET and GET basics (1 ms) +[ok]: BITFIELD unsigned SET and GET basics (0 ms) +[ok]: BITFIELD signed SET and GET together (0 ms) +[ok]: BITFIELD unsigned with SET, GET and INCRBY arguments (0 ms) +[ok]: BITFIELD with only key as argument (1 ms) +[ok]: BITFIELD # form (0 ms) +[ok]: BITFIELD basic INCRBY form (0 ms) +[ok]: BITFIELD chaining of multiple commands (1 ms) +[ok]: BITFIELD unsigned overflow wrap (0 ms) +[ok]: BITFIELD unsigned overflow sat (1 ms) +[ok]: BITFIELD signed overflow wrap (0 ms) +[ok]: BITFIELD signed overflow sat (1 ms) +[ok]: BITFIELD overflow detection fuzzing (175 ms) +[ok]: BITFIELD overflow wrap fuzzing (229 ms) +[ok]: BITFIELD regression for #3221 (1 ms) +[ok]: BITFIELD regression for #3564 (1 ms) +[ok]: BITFIELD_RO with only key as argument (0 ms) +[ok]: BITFIELD_RO fails when write option is used (0 ms) +=== (repl external:skip) Starting server on 127.0.0.1:21196 ok +=== () Starting server on 127.0.0.1:21198 ok +[ok]: BITFIELD: setup slave (114 ms) +[ok]: BITFIELD: write on master, read on slave (3 ms) +[ok]: BITFIELD_RO with only key as argument on read-only replica (0 ms) +[ok]: BITFIELD_RO fails when write option is used on read-only replica (0 ms) +[9/128 done]: unit/bitfield (2 seconds) +Testing unit/client-eviction === () Starting server on 127.0.0.1:21200 ok -[ok]: Setup slave (201 ms) -[ok]: WAIT out of range timeout (milliseconds) (0 ms) -[ok]: WAIT should acknowledge 1 additional copy of the data (2 ms) -[ok]: WAIT should not acknowledge 2 additional copies of the data (1031 ms) -[ok]: WAIT should not acknowledge 1 additional copy if slave is blocked (1121 ms) -[ok]: WAIT implicitly blocks on client pause since ACKs aren't sent (1126 ms) -[ok]: WAIT replica multiple clients unblock - reuse last result (82 ms) +[ok]: client evicted due to large argv (41 ms) +[ok]: client evicted due to large query buf (27 ms) +[ok]: client evicted due to percentage of maxmemory (16 ms) +[ok]: client evicted due to large multi buf (52 ms) +[ok]: client evicted due to watched key list (190 ms) +[ok]: client evicted due to pubsub subscriptions (777 ms) +[ok]: client evicted due to tracking redirection (24 ms) +[ok]: client evicted due to client tracking prefixes (883 ms) +[ok]: client evicted due to output buf (19 ms) +[ok]: client no-evict on (42 ms) +[ok]: client no-evict off (33 ms) === () Starting server on 127.0.0.1:21202 ok -[ok]: Setup a new replica (538 ms) -[ok]: WAIT in script will work (748 ms) +[ok]: avoid client eviction when client is freed by output buffer limit (133 ms) === () Starting server on 127.0.0.1:21204 ok -[ok]: WAITAOF local copy before fsync (88 ms) -[ok]: WAITAOF local copy everysec (65 ms) -[ok]: WAITAOF local copy with appendfsync always (280 ms) -[ok]: WAITAOF local wait and then stop aof (137 ms) -[ok]: WAITAOF local on server with aof disabled (1 ms) -[ok]: WAITAOF local if AOFRW was postponed (1632 ms) +[ok]: decrease maxmemory-clients causes client eviction (620 ms) === () Starting server on 127.0.0.1:21206 ok -[ok]: WAITAOF on demoted master gets unblocked with an error (8 ms) -[ok]: WAITAOF replica copy before fsync (202 ms) -[ok]: WAITAOF replica copy everysec (706 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]: WAITAOF replica copy everysec with AOFRW (1564 ms) +[ok]: evict clients only until below limit (164 ms) +=== () Starting server on 127.0.0.1:21208 ok +[ok]: evict clients in right order (large to small) (140 ms) +=== () Starting server on 127.0.0.1:21210 ok +[ok]: client total memory grows during client no-evict (154 ms) +[ok]: client total memory grows during maxmemory-clients disabled (155 ms) +[10/128 done]: unit/client-eviction (5 seconds) +Testing unit/geo +=== (geo) Starting server on 127.0.0.1:21212 ok +[ok]: GEO with wrong type src key (1 ms) +[ok]: GEO with non existing src key (0 ms) +[ok]: GEO BYLONLAT with empty search (1 ms) +[ok]: GEO BYMEMBER with non existing member (0 ms) +[ok]: GEOADD create (1 ms) +[ok]: GEOADD update (0 ms) +[ok]: GEOADD update with CH option (0 ms) +[ok]: GEOADD update with NX option (0 ms) +[ok]: GEOADD update with XX option (0 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 invalid coordinates (0 ms) +[ok]: GEOADD multi add (0 ms) +[ok]: Check geoset values (0 ms) +[ok]: GEORADIUS simple (sorted) (0 ms) +[ok]: GEORADIUS_RO simple (sorted) (0 ms) +[ok]: GEOSEARCH simple (sorted) (0 ms) +[ok]: GEOSEARCH FROMLONLAT and FROMMEMBER cannot exist at the same time (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) (0 ms) +[ok]: GEOSEARCH withdist (sorted) (0 ms) +[ok]: GEORADIUS with COUNT (0 ms) +[ok]: GEORADIUS with multiple WITH* tokens (1 ms) +[ok]: GEORADIUS with ANY not sorted by default (0 ms) +[ok]: GEORADIUS with ANY sorted by ASC (0 ms) +[ok]: GEORADIUS with ANY but no COUNT (0 ms) +[ok]: GEORADIUS with COUNT but missing integer argument (0 ms) +[ok]: GEORADIUS with COUNT DESC (1 ms) +[ok]: GEORADIUS HUGE, issue #2767 (0 ms) +[ok]: GEORADIUSBYMEMBER simple (sorted) (0 ms) +[ok]: GEORADIUSBYMEMBER_RO simple (sorted) (0 ms) +[ok]: GEORADIUSBYMEMBER search areas contain satisfied points in oblique direction (1 ms) +[ok]: GEORADIUSBYMEMBER crossing pole search (0 ms) +[ok]: GEOSEARCH FROMMEMBER simple (sorted) (1 ms) +[ok]: GEOSEARCH vs GEORADIUS (0 ms) +[ok]: GEOSEARCH non square, long and narrow (0 ms) +[ok]: GEOSEARCH corner point test (0 ms) +[ok]: GEORADIUSBYMEMBER withdist (sorted) (0 ms) +[ok]: GEOHASH is able to return geohash strings (0 ms) +[ok]: GEOHASH with only key as argument (1 ms) +[ok]: GEOPOS simple (0 ms) +[ok]: GEOPOS missing element (0 ms) +[ok]: GEOPOS with only key as argument (1 ms) +[ok]: GEODIST simple & unit (0 ms) +[ok]: GEODIST missing elements (1 ms) +[ok]: GEORADIUS STORE option: syntax error (0 ms) +[ok]: GEOSEARCHSTORE STORE option: syntax error (0 ms) +[ok]: GEORANGE STORE option: incompatible options (0 ms) +[ok]: GEORANGE STORE option: plain usage (1 ms) +[ok]: GEORADIUSBYMEMBER STORE/STOREDIST option: plain usage (1 ms) +[ok]: GEOSEARCHSTORE STORE option: plain usage (0 ms) +[ok]: GEORANGE STOREDIST option: plain usage (0 ms) +[ok]: GEOSEARCHSTORE STOREDIST option: plain usage (1 ms) +[ok]: GEORANGE STOREDIST option: COUNT ASC and DESC (0 ms) +[ok]: GEOSEARCH the box spans -180° or 180° (1 ms) +[ok]: GEOSEARCH with small distance (0 ms) +[ok]: GEOSEARCH fuzzy test - byradius (8585 ms) +[ok]: GEOSEARCH fuzzy test - bybox (7655 ms) +[ok]: GEOSEARCH box edges fuzzy test (28 ms) +[11/128 done]: unit/geo (16 seconds) +Testing unit/replybufsize +=== (replybufsize) Starting server on 127.0.0.1:21214 ok +[ok]: verify reply buffer limits (658 ms) +[12/128 done]: unit/replybufsize (1 seconds) +Testing unit/auth +=== (auth external:skip) Starting server on 127.0.0.1:21216 ok +[ok]: AUTH fails if there is no password configured server side (1 ms) +[ok]: Arity check for auth command (0 ms) +=== (auth external:skip) Starting server on 127.0.0.1:21218 ok +[ok]: AUTH fails when a wrong password is given (5 ms) +[ok]: Arbitrary command gives an error when AUTH is required (0 ms) +[ok]: AUTH succeeds when the right password is given (0 ms) +[ok]: Once AUTH succeeded we can actually send commands to the server (0 ms) +[ok]: For unauthenticated clients multibulk and bulk length are limited (10 ms) +[ok]: For unauthenticated clients output buffer is limited (5 ms) +[ok]: For once authenticated clients output buffer is NOT limited (5 ms) +=== (auth_binary_password external:skip) Starting server on 127.0.0.1:21220 ok +[ok]: AUTH fails when binary password is wrong (0 ms) +[ok]: AUTH succeeds when binary password is correct (0 ms) +=== (primaryauth) Starting server on 127.0.0.1:21222 ok +[ok]: primaryauth test with binary password dualchannel = yes (925 ms) +=== (auth_binary_password external:skip) Starting server on 127.0.0.1:21224 ok +[ok]: AUTH fails when binary password is wrong (1 ms) +[ok]: AUTH succeeds when binary password is correct (0 ms) +=== (primaryauth) Starting server on 127.0.0.1:21226 ok +[ok]: primaryauth test with binary password dualchannel = no (1390 ms) +[13/128 done]: unit/auth (4 seconds) +Testing unit/info-command +=== (info and its relative command) Starting server on 127.0.0.1:21228 ok +Testing Valkey version 7.2.4 (00000000) +[ok]: Extract version and sha1 details from info command and print (0 ms) +[ok]: info command with at most one sub command (1 ms) +[ok]: info command with one sub-section (1 ms) +[ok]: info command with multiple sub-sections (0 ms) +[14/128 done]: unit/info-command (0 seconds) +Testing unit/pubsubshard +=== (pubsubshard external:skip) Starting server on 127.0.0.1:21230 ok +[ok]: SPUBLISH/SSUBSCRIBE basics (6 ms) +[ok]: SPUBLISH/SSUBSCRIBE with two clients (10 ms) +[ok]: SPUBLISH/SSUBSCRIBE after UNSUBSCRIBE without arguments (5 ms) +[ok]: SSUBSCRIBE to one channel more than once (5 ms) +[ok]: SUNSUBSCRIBE from non-subscribed channels (5 ms) +[ok]: PUBSUB command basics (1 ms) +[ok]: SPUBLISH/SSUBSCRIBE with two clients (9 ms) +[ok]: SPUBLISH/SSUBSCRIBE with PUBLISH/SUBSCRIBE (10 ms) +[ok]: PubSubShard with CLIENT REPLY OFF (93 ms) +=== (pubsubshard external:skip) Starting server on 127.0.0.1:21232 ok +=== (pubsubshard external:skip) Starting server on 127.0.0.1:21234 ok +[ok]: setup replication for following tests (498 ms) +[ok]: publish message to master and receive on replica (12 ms) +[15/128 done]: unit/pubsubshard (2 seconds) +Testing unit/other +=== (other) Starting server on 127.0.0.1:21236 ok +[ok]: Coverage: HELP commands (2 ms) +[ok]: Coverage: MEMORY MALLOC-STATS (1 ms) +[ok]: Coverage: MEMORY PURGE (0 ms) +[ok]: Coverage: ECHO (0 ms) +[ok]: SAVE - make sure there are all the types as values (13 ms) +[ok]: FUZZ stresser with data model binary (321 ms) +[ok]: FUZZ stresser with data model alpha (338 ms) +[ok]: FUZZ stresser with data model compr (316 ms) +=== (external:skip) Starting server on 127.0.0.1:21238 ok +[ok]: FLUSHALL should not reset the dirty counter if we disable save (1 ms) +[ok]: FLUSHALL should reset the dirty counter to 0 if we enable save (9 ms) + +Waiting for background save to finish... +Waiting for background save to finish... [ok]: BGSAVE (120 ms) +[ok]: SELECT an out of range DB (0 ms) +[ok]: Check consistency of different data types after a reload (476 ms) + +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: Same dataset digest if saving/reloading as AOF? (186 ms) + +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: EXPIRES after a reload (snapshot + append only file rewrite) (121 ms) + +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: EXPIRES after AOF reload (without rewrite) (2111 ms) +[ok]: PIPELINING stresser (also a regression for the old epoll bug) (286 ms) +[ok]: APPEND basics (1 ms) +[ok]: APPEND basics, integer encoded values (1 ms) +[ok]: APPEND fuzzing (193 ms) +[ok]: FLUSHDB (1 ms) +[ok]: Perform a final SAVE to leave a clean DB on disk (10 ms) +[ok]: RESET clears client state (0 ms) +[ok]: RESET clears MONITOR state (7 ms) +[ok]: RESET clears and discards MULTI state (1 ms) +[ok]: RESET clears Pub/Sub state (1 ms) +[ok]: RESET clears authenticated state (0 ms) +[ok]: Subcommand syntax error crash (issue #10070) (1 ms) +[ok]: Extended Redis Compatibility config (1 ms) +=== (other external:skip) Starting server on 127.0.0.1:21240 ok + +Waiting for background save to finish... +Waiting for background save to finish... [ok]: Don't rehash if server has child process (328 ms) +=== (other external:skip) Starting server on 127.0.0.1:21242 ok +[ok]: Process title set as expected (1 ms) +=== (other external:skip cluster slow) Starting server on 127.0.0.1:21244 ok +[ok]: Server can trigger resizing (1800 ms) +[ok]: Server can rewind and trigger smaller slot resizing (678 ms) +=== (other external:skip) Starting server on 127.0.0.1:21246 ok +[ok]: Server can resize empty dict (219 ms) +Creating temp file /build/reproducible-path/valkey-8.1.1+dfsg1/565349 +=== (repl external:skip) Starting server on 127.0.0.1:21248 ok +[ok]: test unixsocket options are set correctly (1 ms) +Deleting temp file: /build/reproducible-path/valkey-8.1.1+dfsg1/565349 +[16/128 done]: unit/other (11 seconds) +Testing unit/networking +=== () Starting server on 127.0.0.1:21250 ok +[ok]: CONFIG SET port number (226 ms) +=== () Starting server on 127.0.0.1:21253 ok +[ok]: CONFIG SET bind address (225 ms) +=== () Starting server on 127.0.0.1:21255 ok +=== () Starting server on 127.0.0.1:21257 ok +[ok]: CONFIG SET bind-source-addr (524 ms) +=== (external:skip) Starting server on 127.0.0.1:21259 ok +[ok]: Default bind address configuration handling (219 ms) +[ok]: Protected mode works as expected (1 ms) +=== (external:skip) Starting server on 127.0.0.1:21261 ok +[17/128 done]: unit/networking (2 seconds) +Testing unit/aofrw +=== (aofrw external:skip logreqres:skip) Starting server on 127.0.0.1:21263 ok Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... @@ -1061,457 +1378,278 @@ 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 (9412 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 (9951 ms) +=== (aofrw external:skip) Starting server on 127.0.0.1:21265 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 (113 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 (106 ms) + +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, string data (118 ms) + Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with listpack encoding, int data (106 ms) + +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, int data (110 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 (106 ms) + +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, string data (117 ms) + Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec with slow AOFRW (3057 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with intset encoding, int data (110 ms) -Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec->always with AOFRW (1442 ms) -[ok]: WAITAOF replica copy appendfsync always (192 ms) -[ok]: WAITAOF replica copy if replica is blocked (248 ms) -[ok]: WAITAOF replica multiple clients unblock - reuse last result (334 ms) -[ok]: WAITAOF on promoted replica (1 ms) -[ok]: WAITAOF master that loses a replica and backlog is dropped (2168 ms) -[ok]: WAITAOF master without backlog, wait is released when the replica finishes full-sync (1775 ms) -[ok]: WAITAOF master isn't configured to do AOF (1007 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable 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 listpack encoding, string data (112 ms) + +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, string data (125 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 (106 ms) + +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, int data (146 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 (105 ms) + Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica isn't configured to do AOF (988 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, string data (224 ms) Waiting for background AOF rewrite to finish... -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 (1080 ms) -[ok]: WAITAOF master sends PING after last write (1232 ms) -[ok]: WAITAOF master client didn't send any write command (1210 ms) -[ok]: WAITAOF master client didn't send any command (1205 ms) -=== () Starting server on 127.0.0.1:21208 ok -=== () Starting server on 127.0.0.1:21210 ok -[ok]: WAITAOF when replica switches between masters, fsync: no (3615 ms) -=== () Starting server on 127.0.0.1:21212 ok -=== () Starting server on 127.0.0.1:21214 ok -[ok]: WAITAOF when replica switches between masters, fsync: everysec (2630 ms) -=== () Starting server on 127.0.0.1:21216 ok -=== () Starting server on 127.0.0.1:21218 ok -[ok]: WAITAOF when replica switches between masters, fsync: always (1599 ms) -=== (failover external:skip) Starting server on 127.0.0.1:21220 ok -=== () Starting server on 127.0.0.1:21222 ok -=== () Starting server on 127.0.0.1:21224 ok -[ok]: setup replication for following tests (103 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, int data (105 ms) + +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, int data (114 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 (661 ms) -[10/128 done]: unit/wait (38 seconds) -Testing unit/pubsubshard -=== (pubsubshard external:skip) Starting server on 127.0.0.1:21226 ok -[ok]: SPUBLISH/SSUBSCRIBE basics (9 ms) -[ok]: SPUBLISH/SSUBSCRIBE with two clients (30 ms) -[ok]: SPUBLISH/SSUBSCRIBE after UNSUBSCRIBE without arguments (8 ms) -[ok]: SSUBSCRIBE to one channel more than once (7 ms) -[ok]: SUNSUBSCRIBE from non-subscribed channels (7 ms) -[ok]: PUBSUB command basics (1 ms) -[ok]: SPUBLISH/SSUBSCRIBE with two clients (49 ms) -[ok]: SPUBLISH/SSUBSCRIBE with PUBLISH/SUBSCRIBE (16 ms) -[ok]: PubSubShard with CLIENT REPLY OFF (97 ms) -=== (pubsubshard external:skip) Starting server on 127.0.0.1:21228 ok -=== (pubsubshard external:skip) Starting server on 127.0.0.1:21230 ok -[ok]: setup replication for following tests (965 ms) -[ok]: publish message to master and receive on replica (17 ms) -[11/128 done]: unit/pubsubshard (3 seconds) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite functions (106 ms) +[ok]: BGREWRITEAOF is delayed if BGSAVE is in progress (213 ms) +[ok]: BGREWRITEAOF is refused if already in progress (8 ms) +[18/128 done]: unit/aofrw (22 seconds) Testing unit/multi -=== (multi) Starting server on 127.0.0.1:21232 ok -[ok]: MULTI / EXEC basics (1 ms) +=== (multi) Starting server on 127.0.0.1:21267 ok +[ok]: MULTI / EXEC basics (0 ms) [ok]: DISCARD (1 ms) -[ok]: Nested MULTI are not allowed (1 ms) +[ok]: Nested MULTI are not allowed (0 ms) [ok]: MULTI where commands alter argc/argv (1 ms) [ok]: WATCH inside MULTI is not allowed (0 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 (9 ms) -[ok]: If EXEC aborts, the client MULTI state is cleared (1 ms) +[ok]: EXEC fails if there are errors while queueing commands #1 (1 ms) +[ok]: EXEC fails if there are errors while queueing commands #2 (6 ms) +[ok]: If EXEC aborts, the client MULTI state is cleared (0 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 1 watched) (0 ms) [ok]: EXEC fail on WATCHed key modified (1 key of 5 watched) (1 ms) [ok]: EXEC fail on WATCHed key modified by SORT with STORE even if the result is empty (1 ms) EXEC fail on lazy expired WATCHed key attempts: 0 -[ok]: EXEC fail on lazy expired WATCHed key (103 ms) -[ok]: WATCH stale keys should not fail EXEC (4 ms) -[ok]: Delete WATCHed stale keys should not fail EXEC (4 ms) +[ok]: EXEC fail on lazy expired WATCHed key (102 ms) +[ok]: WATCH stale keys should not fail EXEC (2 ms) +[ok]: Delete WATCHed stale keys should not fail EXEC (3 ms) [ok]: FLUSHDB while watching stale keys should not fail EXEC (3 ms) -[ok]: After successful EXEC key is no longer watched (2 ms) -[ok]: After failed EXEC key is no longer watched (2 ms) -[ok]: It is possible to UNWATCH (1 ms) -[ok]: UNWATCH when there is nothing watched works as expected (0 ms) -[ok]: FLUSHALL is able to touch the watched keys (1 ms) +[ok]: After successful EXEC key is no longer watched (0 ms) +[ok]: After failed EXEC key is no longer watched (1 ms) +[ok]: It is possible to UNWATCH (0 ms) +[ok]: UNWATCH when there is nothing watched works as expected (1 ms) +[ok]: FLUSHALL is able to touch the watched keys (0 ms) [ok]: FLUSHALL does not touch non affected keys (1 ms) [ok]: FLUSHDB is able to touch the watched keys (0 ms) -[ok]: FLUSHDB does not touch non affected keys (0 ms) -[ok]: SWAPDB is able to touch the watched keys that exist (2 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 (4 ms) -[ok]: WATCH is able to remember the DB a key belongs to (2 ms) -[ok]: WATCH will consider touched keys target of EXPIRE (2 ms) -[ok]: WATCH will consider touched expired keys (1123 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 (0 ms) +[ok]: SWAPDB does not touch watched stale keys (3 ms) +[ok]: SWAPDB does not touch non-existing key replaced with stale key (3 ms) +[ok]: SWAPDB does not touch stale key replaced with another stale key (3 ms) +[ok]: WATCH is able to remember the DB a key belongs to (1 ms) +[ok]: WATCH will consider touched keys target of EXPIRE (0 ms) +[ok]: WATCH will consider touched expired keys (1118 ms) [ok]: DISCARD should clear the WATCH dirty flag on the client (1 ms) [ok]: DISCARD should UNWATCH all the keys (1 ms) -[ok]: MULTI / EXEC is not propagated (single write command) (1978 ms) -[ok]: MULTI / EXEC is propagated correctly (multiple commands) (505 ms) -[ok]: MULTI / EXEC is propagated correctly (multiple commands with SELECT) (102 ms) -[ok]: MULTI / EXEC is propagated correctly (empty transaction) (100 ms) -[ok]: MULTI / EXEC is propagated correctly (read-only commands) (101 ms) +[ok]: MULTI / EXEC is not propagated (single write command) (38 ms) +[ok]: MULTI / EXEC is propagated correctly (multiple commands) (101 ms) +[ok]: MULTI / EXEC is propagated correctly (multiple commands with SELECT) (101 ms) +[ok]: MULTI / EXEC is propagated correctly (empty transaction) (101 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 (102 ms) -[ok]: DISCARD should not fail during OOM (8 ms) -[ok]: MULTI and script timeout (418 ms) -[ok]: EXEC and script timeout (421 ms) -[ok]: MULTI-EXEC body and script timeout (419 ms) -[ok]: just EXEC and script timeout (419 ms) -[ok]: exec with write commands and state change (8 ms) -[ok]: exec with read commands and stale replica state change (10 ms) -[ok]: EXEC with only read commands should not be rejected when OOM (7 ms) -[ok]: EXEC with at least one use-memory command should fail (8 ms) +[ok]: MULTI / EXEC with REPLICAOF (101 ms) +[ok]: DISCARD should not fail during OOM (6 ms) +[ok]: MULTI and script timeout (415 ms) +[ok]: EXEC and script timeout (414 ms) +[ok]: MULTI-EXEC body and script timeout (414 ms) +[ok]: just EXEC and script timeout (415 ms) +[ok]: exec with write commands and state change (6 ms) +[ok]: exec with read commands and stale replica state change (6 ms) +[ok]: EXEC with only read commands should not be rejected when OOM (5 ms) +[ok]: EXEC with at least one use-memory command should fail (5 ms) [ok]: Blocking commands ignores the timeout (1 ms) -[ok]: MULTI propagation of PUBLISH (67 ms) -[ok]: MULTI propagation of SCRIPT LOAD (103 ms) -[ok]: MULTI propagation of EVAL (100 ms) -[ok]: MULTI propagation of SCRIPT FLUSH (102 ms) -[ok]: MULTI propagation of XREADGROUP (105 ms) +[ok]: MULTI propagation of PUBLISH (77 ms) +[ok]: MULTI propagation of SCRIPT LOAD (101 ms) +[ok]: MULTI propagation of EVAL (101 ms) +[ok]: MULTI propagation of SCRIPT FLUSH (101 ms) +[ok]: MULTI propagation of XREADGROUP (102 ms) [ok]: MULTI with SAVE (1 ms) -[ok]: MULTI with SHUTDOWN (1 ms) +[ok]: MULTI with SHUTDOWN (0 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: MULTI with BGREWRITEAOF (244 ms) +Waiting for background AOF rewrite to finish... [ok]: MULTI with BGREWRITEAOF (206 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: MULTI with config set appendonly (249 ms) +Waiting for background AOF rewrite to finish... [ok]: MULTI with config set appendonly (215 ms) [ok]: MULTI with config error (1 ms) -[ok]: Flushall while watching several keys by one client (1 ms) -=== (external:skip) Starting server on 127.0.0.1:21234 ok -[ok]: MULTI with FLUSHALL and AOF (16 ms) -=== (external:skip cluster) Starting server on 127.0.0.1:21236 ok +[ok]: Flushall while watching several keys by one client (0 ms) +=== (external:skip) Starting server on 127.0.0.1:21269 ok +[ok]: MULTI with FLUSHALL and AOF (7 ms) +=== (external:skip cluster) Starting server on 127.0.0.1:21271 ok [ok]: Regression test for multi-exec with RANDOMKEY accessing the wrong per-slot dictionary (1 ms) -[12/128 done]: unit/multi (11 seconds) -Testing unit/hyperloglog -=== (hll) Starting server on 127.0.0.1:21238 ok -[ignore]: CVE-2025-32023: Sparse HLL XZERO overflow triggers crash: large memory flag not provided -[ok]: HyperLogLog self test passes (487 ms) -[ok]: PFADD without arguments creates an HLL value (1 ms) -[ok]: Approximated cardinality after creation is zero (0 ms) -[ok]: PFADD returns 1 when at least 1 reg was modified (1 ms) -[ok]: PFADD returns 0 when no reg was modified (0 ms) -[ok]: PFADD works with empty string (regression) (0 ms) -[ok]: PFCOUNT returns approximated cardinality of set (1 ms) -[ok]: HyperLogLogs are promote from sparse to dense (541 ms) -[ok]: Change hll-sparse-max-bytes (2 ms) -[ok]: Hyperloglog promote to dense well in different hll-sparse-max-bytes (73 ms) -[ok]: HyperLogLog sparse encoding stress test (1353 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 (0 ms) -[ok]: Corrupted dense HyperLogLogs are detected: Wrong length (0 ms) -[ok]: Fuzzing dense/sparse encoding: Server should always detect errors (41495 ms) -[ok]: PFADD, PFCOUNT, PFMERGE type checking works (1 ms) -[ok]: PFMERGE results on the cardinality of union of sets (1 ms) -[ok]: PFMERGE on missing source keys will create an empty destkey (1 ms) -[ok]: PFMERGE with one empty input key, create an empty destkey (1 ms) -[ok]: PFMERGE with one non-empty input key, dest key is actually one of the source keys (1 ms) -[ok]: PFMERGE results with simd (1908 ms) -[ok]: PFCOUNT multiple-keys merge returns cardinality of union #1 (5363 ms) -[ok]: PFCOUNT multiple-keys merge returns cardinality of union #2 (4238 ms) -[ok]: PFDEBUG GETREG returns the HyperLogLog raw registers (390 ms) -[ok]: PFADD / PFCOUNT cache invalidation works (1 ms) -[13/128 done]: unit/hyperloglog (56 seconds) -Testing unit/obuf-limits -=== (obuf-limits external:skip logreqres:skip) Starting server on 127.0.0.1:21240 ok -[ok]: CONFIG SET client-output-buffer-limit (7 ms) -[ok]: Client output buffer hard limit is enforced (6630 ms) -[ok]: Client output buffer soft limit is enforced if time is overreached (3937 ms) -[ok]: Client output buffer soft limit is not enforced too early and is enforced when no traffic (5057 ms) -[ok]: No response for single command if client output buffer hard limit is enforced (139 ms) -[ok]: No response for multi commands in pipeline if client output buffer limit is enforced (1070 ms) -[ok]: Execute transactions completely even if client output buffer limit is enforced (41 ms) -[ok]: Obuf limit, HRANDFIELD with huge count stopped mid-run (24 ms) -[ok]: Obuf limit, KEYS stopped mid-run (116 ms) -[14/128 done]: unit/obuf-limits (17 seconds) -Testing unit/pause -=== (pause network) Starting server on 127.0.0.1:21242 ok -[ok]: Test check paused info in info clients (2093 ms) -[ok]: Test read commands are not blocked by client pause (9 ms) -[ok]: Test old pause-all takes precedence over new pause-write (less restrictive) (346 ms) -[ok]: Test new pause time is smaller than old one, then old time preserved (116 ms) -[ok]: Test write commands are paused by RO (11 ms) -[ok]: Test special commands are paused by RO (28 ms) -[ok]: Test read/admin multi-execs are not blocked by pause RO (12 ms) -[ok]: Test write multi-execs are blocked by pause RO (14 ms) -[ok]: Test scripts are blocked by pause RO (15 ms) -[ok]: Test RO scripts are not blocked by pause RO (7 ms) -[ok]: Test read-only scripts in multi-exec are not blocked by pause RO (7 ms) -[ok]: Test write scripts in multi-exec are blocked by pause RO (14 ms) -[ok]: Test may-replicate commands are rejected in RO scripts (0 ms) -[ok]: Test multiple clients can be queued up and unblocked (19 ms) -[ok]: Test clients with syntax errors will get responses immediately (0 ms) -[ok]: Test eviction is skipped during client pause (3 ms) -[ok]: Test both active and passive expires are skipped during client pause (104 ms) -[ok]: Test that client pause starts at the end of a transaction (14 ms) -=== (needs:repl external:skip) Starting server on 127.0.0.1:21244 ok -[ok]: Test when replica paused, offset would not grow (3 ms) -[ok]: Test replica offset would grow after unpause (1 ms) -[ok]: Test the randomkey command will not cause the server to get into an infinite loop during the client pause write (9 ms) -=== (external:skip cluster pause network) Starting server on 127.0.0.1:21246 ok -=== (external:skip cluster pause network) Starting server on 127.0.0.1:21248 ok -[ok]: Test check paused info during the cluster failover in info clients (79 ms) -[15/128 done]: unit/pause (14 seconds) -Testing unit/limits -=== (limits network external:skip) Starting server on 127.0.0.1:21250 ok -[ok]: Check if maxclients works refusing connections (990 ms) -[16/128 done]: unit/limits (1 seconds) -Testing unit/pubsub -=== (pubsub network) Starting server on 127.0.0.1:21252 ok -[ok]: Pub/Sub PING on RESP2 (0 ms) -[ok]: Pub/Sub PING on RESP3 (5 ms) -[ok]: PUBLISH/SUBSCRIBE basics (6 ms) -[ok]: PUBLISH/SUBSCRIBE with two clients (25 ms) -[ok]: PUBLISH/SUBSCRIBE after UNSUBSCRIBE without arguments (15 ms) -[ok]: SUBSCRIBE to one channel more than once (13 ms) -[ok]: UNSUBSCRIBE from non-subscribed channels (5 ms) -[ok]: PUBLISH/PSUBSCRIBE basics (7 ms) -[ok]: PUBLISH/PSUBSCRIBE with two clients (11 ms) -[ok]: PUBLISH/PSUBSCRIBE after PUNSUBSCRIBE without arguments (6 ms) -[ok]: PubSub messages with CLIENT REPLY OFF (98 ms) -[ok]: PUNSUBSCRIBE from non-subscribed channels (10 ms) -[ok]: NUMSUB returns numbers, not strings (#1561) (0 ms) -[ok]: NUMPATs returns the number of unique patterns (22 ms) -[ok]: Mix SUBSCRIBE and PSUBSCRIBE (11 ms) -[ok]: PUNSUBSCRIBE and UNSUBSCRIBE should always reply (1 ms) -[ok]: Keyspace notifications: we receive keyspace notifications (59 ms) -[ok]: Keyspace notifications: we receive keyevent notifications (56 ms) -[ok]: Keyspace notifications: we can receive both kind of events (7 ms) -[ok]: Keyspace notifications: we are able to mask events (7 ms) -[ok]: Keyspace notifications: general events test (6 ms) -[ok]: Keyspace notifications: list events test (6 ms) -[ok]: Keyspace notifications: set events test (6 ms) -[ok]: Keyspace notifications: zset events test (10 ms) -[ok]: Keyspace notifications: hash events test (7 ms) -[ok]: Keyspace notifications: stream events test (7 ms) -[ok]: Keyspace notifications: expired events (triggered expire) (109 ms) -[ok]: Keyspace notifications: expired events (background expire) (118 ms) -[ok]: Keyspace notification: expired event (Expiration time is already expired) (17 ms) -[ok]: Keyspace notifications: evicted events (13 ms) -[ok]: Keyspace notifications: test CONFIG GET/SET of event flags (5 ms) -[ok]: Keyspace notifications: new key test (13 ms) -[ok]: publish to self inside multi (2 ms) -[ok]: publish to self inside script (1 ms) -[ok]: unsubscribe inside multi, and publish to self (2 ms) -[17/128 done]: unit/pubsub (1 seconds) -Testing unit/geo -=== (geo) Starting server on 127.0.0.1:21254 ok -[ok]: GEO with wrong type src key (2 ms) -[ok]: GEO with non existing src key (6 ms) -[ok]: GEO BYLONLAT with empty search (1 ms) -[ok]: GEO BYMEMBER with non existing member (6 ms) -[ok]: GEOADD create (0 ms) -[ok]: GEOADD update (0 ms) -[ok]: GEOADD update with CH option (1 ms) -[ok]: GEOADD update with NX option (0 ms) -[ok]: GEOADD update with XX option (0 ms) -[ok]: GEOADD update with CH NX option (1 ms) -[ok]: GEOADD update with CH XX option (0 ms) -[ok]: GEOADD update with XX NX option will return syntax error (0 ms) -[ok]: GEOADD update with invalid option (0 ms) -[ok]: GEOADD invalid coordinates (0 ms) -[ok]: GEOADD multi add (0 ms) -[ok]: Check geoset values (0 ms) -[ok]: GEORADIUS simple (sorted) (0 ms) -[ok]: GEORADIUS_RO simple (sorted) (0 ms) -[ok]: GEOSEARCH simple (sorted) (0 ms) -[ok]: GEOSEARCH FROMLONLAT and FROMMEMBER cannot exist at the same time (0 ms) -[ok]: GEOSEARCH FROMLONLAT and FROMMEMBER one must exist (0 ms) -[ok]: GEOSEARCH BYRADIUS and BYBOX cannot exist at the same time (4 ms) -[ok]: GEOSEARCH BYRADIUS and BYBOX one must exist (1 ms) -[ok]: GEOSEARCH with STOREDIST option (0 ms) -[ok]: GEORADIUS withdist (sorted) (0 ms) -[ok]: GEOSEARCH withdist (sorted) (1 ms) -[ok]: GEORADIUS with COUNT (0 ms) -[ok]: GEORADIUS with multiple WITH* tokens (1 ms) -[ok]: GEORADIUS with ANY not sorted by default (0 ms) -[ok]: GEORADIUS with ANY sorted by ASC (0 ms) -[ok]: GEORADIUS with ANY but no COUNT (0 ms) -[ok]: GEORADIUS with COUNT but missing integer argument (1 ms) -[ok]: GEORADIUS with COUNT DESC (0 ms) -[ok]: GEORADIUS HUGE, issue #2767 (0 ms) -[ok]: GEORADIUSBYMEMBER simple (sorted) (1 ms) -[ok]: GEORADIUSBYMEMBER_RO simple (sorted) (0 ms) -[ok]: GEORADIUSBYMEMBER search areas contain satisfied points in oblique direction (4 ms) -[ok]: GEORADIUSBYMEMBER crossing pole search (0 ms) -[ok]: GEOSEARCH FROMMEMBER simple (sorted) (1 ms) -[ok]: GEOSEARCH vs GEORADIUS (5 ms) -[ok]: GEOSEARCH non square, long and narrow (1 ms) -[ok]: GEOSEARCH corner point test (1 ms) -[ok]: GEORADIUSBYMEMBER withdist (sorted) (0 ms) -[ok]: GEOHASH is able to return geohash strings (1 ms) -[ok]: GEOHASH with only key as argument (0 ms) -[ok]: GEOPOS simple (1 ms) -[ok]: GEOPOS missing element (1 ms) -[ok]: GEOPOS with only key as argument (1 ms) -[ok]: GEODIST simple & unit (1 ms) -[ok]: GEODIST missing elements (1 ms) -[ok]: GEORADIUS STORE option: syntax error (0 ms) -[ok]: GEOSEARCHSTORE STORE option: syntax error (0 ms) -[ok]: GEORANGE STORE option: incompatible options (1 ms) -[ok]: GEORANGE STORE option: plain usage (1 ms) -[ok]: GEORADIUSBYMEMBER STORE/STOREDIST option: plain usage (1 ms) -[ok]: GEOSEARCHSTORE STORE option: plain usage (1 ms) -[ok]: GEORANGE STOREDIST option: plain usage (1 ms) -[ok]: GEOSEARCHSTORE STOREDIST option: plain usage (0 ms) -[ok]: GEORANGE STOREDIST option: COUNT ASC and DESC (2 ms) -[ok]: GEOSEARCH the box spans -180° or 180° (2 ms) -[ok]: GEOSEARCH with small distance (1 ms) -[ok]: GEOSEARCH fuzzy test - byradius (9530 ms) -[ok]: GEOSEARCH fuzzy test - bybox (8262 ms) -[ok]: GEOSEARCH box edges fuzzy test (47 ms) -[18/128 done]: unit/geo (18 seconds) +[19/128 done]: unit/multi (7 seconds) +Testing unit/shutdown +=== (shutdown external:skip) Starting server on 127.0.0.1:21273 ok +[ok]: Temp rdb will be deleted if we use bg_unlink when shutdown (115 ms) +=== (shutdown external:skip) Starting server on 127.0.0.1:21275 ok +[ok]: SHUTDOWN ABORT can cancel SIGTERM (13 ms) +[ok]: Temp rdb will be deleted in signal handle (74 ms) +=== (shutdown external:skip) Starting server on 127.0.0.1:21277 ok +[ok]: RDB save will be failed in shutdown (3 ms) +[ok]: SHUTDOWN will abort if rdb save failed on signal (92 ms) +[ok]: SHUTDOWN will abort if rdb save failed on shutdown command (6 ms) +[ok]: SHUTDOWN can proceed if shutdown command was with nosave (2 ms) +[ok]: Clean up rdb same named folder (1 ms) +=== (shutdown external:skip) Starting server on 127.0.0.1:21279 ok +[ok]: SHUTDOWN SIGTERM will abort if there's an initial AOFRW - default (92 ms) +[20/128 done]: unit/shutdown (1 seconds) Testing unit/scripting -=== (scripting) Starting server on 127.0.0.1:21256 ok +=== (scripting) Starting server on 127.0.0.1:21281 ok [ok]: EVAL - Does Lua interpreter replies to our requests? (1 ms) [ok]: EVAL - Return _G (0 ms) [ok]: EVAL - Return table with a metatable that raise error (0 ms) -[ok]: EVAL - Return table with a metatable that call server (2 ms) -[ok]: EVAL - Lua integer -> Redis protocol type conversion (1 ms) +[ok]: EVAL - Return table with a metatable that call server (1 ms) +[ok]: EVAL - Lua integer -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua string -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Lua true boolean -> Redis protocol type conversion (1 ms) -[ok]: EVAL - Lua false boolean -> Redis protocol type conversion (0 ms) +[ok]: EVAL - Lua true boolean -> Redis protocol type conversion (0 ms) +[ok]: EVAL - Lua false boolean -> Redis protocol type conversion (1 ms) [ok]: EVAL - Lua status code reply -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua error reply -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua table -> Redis protocol type conversion (0 ms) [ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (1 ms) [ok]: EVAL - is Lua able to call Redis API? (0 ms) -[ok]: EVAL - Redis integer -> Lua type conversion (1 ms) -[ok]: EVAL - Lua number -> Redis integer conversion (1 ms) -[ok]: EVAL - Redis bulk -> Lua type conversion (0 ms) +[ok]: EVAL - Redis integer -> Lua type conversion (0 ms) +[ok]: EVAL - Lua number -> Redis integer conversion (0 ms) +[ok]: EVAL - Redis bulk -> Lua type conversion (1 ms) [ok]: EVAL - Redis multi bulk -> Lua type conversion (0 ms) [ok]: EVAL - Redis status reply -> Lua type conversion (0 ms) [ok]: EVAL - Redis error reply -> Lua type conversion (1 ms) -[ok]: EVAL - Redis nil bulk reply -> Lua type conversion (1 ms) +[ok]: EVAL - Redis nil bulk reply -> Lua type conversion (0 ms) [ok]: EVAL - Is the Lua client using the currently selected DB? (0 ms) -[ok]: EVAL - SELECT inside Lua should not affect the caller (0 ms) +[ok]: EVAL - SELECT inside Lua should not affect the caller (1 ms) [ok]: EVAL - Scripts do not block on blpop command (0 ms) -[ok]: EVAL - Scripts do not block on brpop command (1 ms) +[ok]: EVAL - Scripts do not block on brpop command (0 ms) [ok]: EVAL - Scripts do not block on brpoplpush command (1 ms) -[ok]: EVAL - Scripts do not block on blmove command (1 ms) -[ok]: EVAL - Scripts do not block on bzpopmin command (1 ms) +[ok]: EVAL - Scripts do not block on blmove command (0 ms) +[ok]: EVAL - Scripts do not block on bzpopmin command (0 ms) [ok]: EVAL - Scripts do not block on bzpopmax command (1 ms) [ok]: EVAL - Scripts do not block on wait (0 ms) [ok]: EVAL - Scripts do not block on waitaof (0 ms) [ok]: EVAL - Scripts do not block on XREAD with BLOCK option (1 ms) -[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (1 ms) -[ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (1 ms) +[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (0 ms) +[ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (0 ms) [ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option -- non empty stream (1 ms) -[ok]: EVAL - Scripts can run non-deterministic commands (1 ms) +[ok]: EVAL - Scripts can run non-deterministic commands (0 ms) [ok]: EVAL - No arguments to redis.call/pcall is considered an error (0 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) -[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) +[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) [ignore]: EVAL - JSON string encoding a string larger than 2GB: large memory flag not provided -[ok]: EVAL - JSON numeric decoding (1 ms) +[ok]: EVAL - JSON numeric decoding (0 ms) [ok]: EVAL - JSON string decoding (0 ms) -[ok]: EVAL - JSON smoke test (0 ms) -[ok]: EVAL - cmsgpack can pack double? (1 ms) +[ok]: EVAL - JSON smoke test (1 ms) +[ok]: EVAL - cmsgpack can pack double? (0 ms) [ok]: EVAL - cmsgpack can pack negative int64? (0 ms) -[ok]: EVAL - cmsgpack pack/unpack smoke test (321 ms) -[ok]: EVAL - cmsgpack can pack and unpack circular references? (1 ms) -[ok]: EVAL - Numerical sanity check from bitop (1 ms) -[ok]: EVAL - Verify minimal bitop functionality (6 ms) -[ok]: EVAL - Able to parse trailing comments (1 ms) +[ok]: EVAL - cmsgpack pack/unpack smoke test (125 ms) +[ok]: EVAL - cmsgpack can pack and unpack circular references? (0 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 (0 ms) [ok]: EVAL_RO - Cannot run write commands (1 ms) -[ok]: redis.sha1hex() implementation (1 ms) -[ok]: Measures elapsed time os.clock() (1097 ms) +[ok]: redis.sha1hex() implementation (0 ms) +[ok]: Measures elapsed time os.clock() (1001 ms) [ok]: Prohibit dangerous lua methods in sandbox (1 ms) -[ok]: Verify execution of prohibit dangerous Lua methods will fail (2 ms) -[ok]: Globals protection reading an undeclared global variable (1 ms) +[ok]: Verify execution of prohibit dangerous Lua methods will fail (1 ms) +[ok]: Globals protection reading an undeclared global variable (0 ms) [ok]: Globals protection setting an undeclared global* (0 ms) -[ok]: lua bit.tohex bug (1 ms) -[ok]: Test an example script DECR_IF_GT (1 ms) -[ok]: EVAL does not leak in the Lua stack (869 ms) -[ok]: Call Redis command with many args from Lua (issue #1764) (2 ms) +[ok]: lua bit.tohex bug (0 ms) +[ok]: Test an example script DECR_IF_GT (2 ms) +[ok]: EVAL does not leak in the Lua stack (640 ms) +[ok]: Call Redis command with many args from Lua (issue #1764) (1 ms) [ok]: Number conversion precision test (issue #1118) (0 ms) -[ok]: String containing number precision test (regression of issue #1118) (0 ms) -[ok]: Verify negative arg count is error instead of crash (issue #1842) (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 Redis namespace are able to report errors (0 ms) [ok]: CLUSTER RESET can not be invoke from within a script (0 ms) [ok]: Script with RESP3 map (2 ms) -[ok]: Script return recursive object (66 ms) +[ok]: Script return recursive object (75 ms) [ok]: Script check unpack with massive arguments (2 ms) -[ok]: Script read key with expiration set (1 ms) -[ok]: Script del key with expiration set (0 ms) -[ok]: Script ACL check (2 ms) +[ok]: Script read key with expiration set (0 ms) +[ok]: Script del key with expiration set (1 ms) +[ok]: Script ACL check (1 ms) [ok]: Binary code loading failed (0 ms) -[ok]: Try trick global protection 1 (1 ms) -[ok]: Try trick global protection 2 (0 ms) +[ok]: Try trick global protection 1 (0 ms) +[ok]: Try trick global protection 2 (1 ms) [ok]: Try trick global protection 3 (0 ms) -[ok]: Try trick global protection 4 (1 ms) +[ok]: Try trick global protection 4 (0 ms) [ok]: Try trick readonly table on valkey table (0 ms) [ok]: Try trick readonly table on json table (1 ms) [ok]: Try trick readonly table on cmsgpack table (0 ms) [ok]: Try trick readonly table on bit table (0 ms) [ok]: Test loadfile are not available (0 ms) [ok]: Test dofile are not available (0 ms) -[ok]: Test print are not available (1 ms) -=== (scripting) Starting server on 127.0.0.1:21258 ok -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (413 ms) -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (153 ms) -[ok]: Timedout script does not cause a false dead client (63 ms) -[ok]: Timedout script link is still usable after Lua returns (100 ms) -[ok]: Timedout scripts and unblocked command (278 ms) -[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (210 ms) +[ok]: Test print are not available (0 ms) +=== (scripting) Starting server on 127.0.0.1:21283 ok +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (410 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (38 ms) +[ok]: Timedout script does not cause a false dead client (38 ms) +[ok]: Timedout script link is still usable after Lua returns (41 ms) +[ok]: Timedout scripts and unblocked command (393 ms) +[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (207 ms) [ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (3 ms) -=== (scripting repl needs:debug external:skip) Starting server on 127.0.0.1:21260 ok -=== () Starting server on 127.0.0.1:21262 ok +=== (scripting repl needs:debug external:skip) Starting server on 127.0.0.1:21285 ok +=== () Starting server on 127.0.0.1:21287 ok [ok]: Before the replica connects we issue two EVAL commands (1 ms) -[ok]: Connect a replica to the master instance (109 ms) -[ok]: Replication of script multiple pushes to list with BLPOP (115 ms) +[ok]: Connect a replica to the master instance (125 ms) +[ok]: Replication of script multiple pushes to list with BLPOP (7 ms) [ok]: Lua scripts using SELECT are replicated correctly (1 ms) -=== (scripting repl external:skip) Starting server on 127.0.0.1:21264 ok -=== () Starting server on 127.0.0.1:21266 ok -[ok]: Connect a replica to the master instance (103 ms) +=== (scripting repl external:skip) Starting server on 127.0.0.1:21289 ok +=== () Starting server on 127.0.0.1:21291 ok +[ok]: Connect a replica to the master instance (102 ms) [ok]: Redis.replicate_commands() can be issued anywhere now (1 ms) [ok]: Redis.set_repl() can be issued before replicate_commands() now (0 ms) -[ok]: Redis.set_repl() don't accept invalid values (0 ms) +[ok]: Redis.set_repl() don't accept invalid values (1 ms) [ok]: Test selective replication of certain commands from Lua (1 ms) -[ok]: PRNG is seeded randomly for command replication (2 ms) -[ok]: Using side effects is not a problem with command replication (2 ms) -=== (scripting needs:debug) Starting server on 127.0.0.1:21268 ok -[ok]: test RESP2/2 big number protocol parsing (3 ms) +[ok]: PRNG is seeded randomly for command replication (0 ms) +[ok]: Using side effects is not a problem with command replication (1 ms) +=== (scripting needs:debug) Starting server on 127.0.0.1:21293 ok +[ok]: test RESP2/2 big number protocol parsing (1 ms) [ok]: test RESP2/2 malformed big number protocol parsing (0 ms) -[ok]: test RESP2/2 map protocol parsing (1 ms) -[ok]: test RESP2/2 set protocol parsing (0 ms) -[ok]: test RESP2/2 double protocol parsing (1 ms) +[ok]: test RESP2/2 map protocol parsing (0 ms) +[ok]: test RESP2/2 set protocol parsing (1 ms) +[ok]: test RESP2/2 double protocol parsing (0 ms) [ok]: test RESP2/2 null protocol parsing (0 ms) -[ok]: test RESP2/2 verbatim protocol parsing (1 ms) -[ok]: test RESP2/2 true protocol parsing (0 ms) +[ok]: test RESP2/2 verbatim protocol parsing (0 ms) +[ok]: test RESP2/2 true protocol parsing (1 ms) [ok]: test RESP2/2 false protocol parsing (0 ms) -[ok]: test RESP2/3 big number protocol parsing (3 ms) +[ok]: test RESP2/3 big number protocol parsing (0 ms) [ok]: test RESP2/3 malformed big number protocol parsing (1 ms) [ok]: test RESP2/3 map protocol parsing (0 ms) [ok]: test RESP2/3 set protocol parsing (0 ms) @@ -1523,955 +1661,752 @@ [ok]: test RESP3/2 big number protocol parsing (0 ms) [ok]: test RESP3/2 malformed big number protocol parsing (1 ms) [ok]: test RESP3/2 map protocol parsing (0 ms) -[ok]: test RESP3/2 set protocol parsing (3 ms) -[ok]: test RESP3/2 double 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 (0 ms) [ok]: test RESP3/2 true protocol parsing (0 ms) [ok]: test RESP3/2 false protocol parsing (0 ms) -[ok]: test RESP3/3 big number protocol parsing (0 ms) -[ok]: test RESP3/3 malformed big number protocol parsing (1 ms) +[ok]: test RESP3/3 big number protocol parsing (1 ms) +[ok]: test RESP3/3 malformed big number protocol parsing (0 ms) [ok]: test RESP3/3 map protocol parsing (0 ms) [ok]: test RESP3/3 set protocol parsing (0 ms) [ok]: test RESP3/3 double protocol parsing (0 ms) -[ok]: test RESP3/3 null protocol parsing (3 ms) -[ok]: test RESP3/3 verbatim protocol parsing (1 ms) +[ok]: test RESP3/3 null protocol parsing (1 ms) +[ok]: test RESP3/3 verbatim protocol parsing (0 ms) [ok]: test RESP3/3 true protocol parsing (0 ms) [ok]: test RESP3/3 false protocol parsing (0 ms) -[ok]: test resp3 attribute protocol parsing (0 ms) -[ok]: Script block the time during execution (11 ms) +[ok]: test resp3 attribute protocol parsing (1 ms) +[ok]: Script block the time during execution (10 ms) [ok]: Script delete the expired key (3 ms) [ok]: TIME command using cached time (11 ms) -[ok]: Script block the time in some expiration related commands (86 ms) -[ok]: RESTORE expired keys with expiration time (14 ms) -=== (scripting) Starting server on 127.0.0.1:21270 ok -[ok]: EVAL - Does Lua interpreter replies to our requests? (1 ms) +[ok]: Script block the time in some expiration related commands (82 ms) +[ok]: RESTORE expired keys with expiration time (10 ms) +=== (scripting) Starting server on 127.0.0.1:21295 ok +[ok]: EVAL - Does Lua interpreter replies to our requests? (0 ms) [ok]: EVAL - Return _G (0 ms) [ok]: EVAL - Return table with a metatable that raise error (1 ms) [ok]: EVAL - Return table with a metatable that call server (0 ms) -[ok]: EVAL - Lua integer -> Redis protocol type conversion (1 ms) +[ok]: EVAL - Lua integer -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua string -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua true boolean -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Lua false boolean -> Redis protocol type conversion (5 ms) -[ok]: EVAL - Lua status code reply -> Redis protocol type conversion (1 ms) +[ok]: EVAL - Lua false boolean -> Redis protocol type conversion (1 ms) +[ok]: EVAL - Lua status code reply -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua error reply -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua table -> Redis protocol type conversion (0 ms) [ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (1 ms) [ok]: EVAL - is Lua able to call Redis API? (0 ms) -[ok]: EVAL - Redis integer -> Lua type conversion (1 ms) +[ok]: EVAL - Redis integer -> Lua type conversion (0 ms) [ok]: EVAL - Lua number -> Redis integer conversion (0 ms) [ok]: EVAL - Redis bulk -> Lua type conversion (1 ms) -[ok]: EVAL - Redis multi bulk -> Lua type conversion (1 ms) +[ok]: EVAL - Redis multi bulk -> Lua type conversion (0 ms) [ok]: EVAL - Redis status reply -> Lua type conversion (0 ms) [ok]: EVAL - Redis error reply -> Lua type conversion (1 ms) [ok]: EVAL - Redis nil bulk reply -> Lua type conversion (0 ms) -[ok]: EVAL - Is the Lua client using the currently selected DB? (1 ms) +[ok]: EVAL - Is the Lua client using the currently selected DB? (0 ms) [ok]: EVAL - SELECT inside Lua should not affect the caller (1 ms) -[ok]: EVAL - Scripts do not block on blpop command (4 ms) -[ok]: EVAL - Scripts do not block on brpop command (1 ms) +[ok]: EVAL - Scripts do not block on blpop command (0 ms) +[ok]: EVAL - Scripts do not block on brpop command (0 ms) [ok]: EVAL - Scripts do not block on brpoplpush command (1 ms) [ok]: EVAL - Scripts do not block on blmove command (0 ms) -[ok]: EVAL - Scripts do not block on bzpopmin command (1 ms) -[ok]: EVAL - Scripts do not block on bzpopmax command (1 ms) +[ok]: EVAL - Scripts do not block on bzpopmin command (0 ms) +[ok]: EVAL - Scripts do not block on bzpopmax command (0 ms) [ok]: EVAL - Scripts do not block on wait (0 ms) [ok]: EVAL - Scripts do not block on waitaof (0 ms) -[ok]: EVAL - Scripts do not block on XREAD with BLOCK option (4 ms) +[ok]: EVAL - Scripts do not block on XREAD with BLOCK option (0 ms) [ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (1 ms) -[ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (1 ms) +[ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (0 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 (5 ms) -[ok]: EVAL - No arguments to redis.call/pcall is considered an error (1 ms) +[ok]: EVAL - Scripts can run non-deterministic commands (1 ms) +[ok]: EVAL - No arguments to redis.call/pcall is considered an error (0 ms) +[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) -[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) [ignore]: EVAL - JSON string encoding a string larger than 2GB: large memory flag not provided [ok]: EVAL - JSON numeric decoding (1 ms) [ok]: EVAL - JSON string decoding (0 ms) -[ok]: EVAL - JSON smoke test (1 ms) +[ok]: EVAL - JSON smoke test (0 ms) [ok]: EVAL - cmsgpack can pack double? (0 ms) -[ok]: EVAL - cmsgpack can pack negative int64? (1 ms) -[ok]: EVAL - cmsgpack pack/unpack smoke test (299 ms) +[ok]: EVAL - cmsgpack can pack negative int64? (0 ms) +[ok]: EVAL - cmsgpack pack/unpack smoke test (143 ms) [ok]: EVAL - cmsgpack can pack and unpack circular references? (1 ms) [ok]: EVAL - Numerical sanity check from bitop (1 ms) -[ok]: EVAL - Verify minimal bitop functionality (6 ms) -[ok]: EVAL - Able to parse trailing comments (1 ms) -[ok]: EVAL_RO - Successful case (0 ms) +[ok]: EVAL - Verify minimal bitop functionality (0 ms) +[ok]: EVAL - Able to parse trailing comments (0 ms) +[ok]: EVAL_RO - Successful case (1 ms) [ok]: EVAL_RO - Cannot run write commands (1 ms) -[ok]: redis.sha1hex() implementation (1 ms) +[ok]: redis.sha1hex() implementation (0 ms) [ok]: Measures elapsed time os.clock() (1001 ms) [ok]: Prohibit dangerous lua methods in sandbox (1 ms) [ok]: Verify execution of prohibit dangerous Lua methods will fail (2 ms) [ok]: Globals protection reading an undeclared global variable (0 ms) [ok]: Globals protection setting an undeclared global* (0 ms) [ok]: lua bit.tohex bug (1 ms) -[ok]: Test an example script DECR_IF_GT (2 ms) -[ok]: EVAL does not leak in the Lua stack (778 ms) +[ok]: Test an example script DECR_IF_GT (1 ms) +[ok]: EVAL does not leak in the Lua stack (554 ms) [ok]: Call Redis command with many args from Lua (issue #1764) (1 ms) [ok]: Number conversion precision test (issue #1118) (0 ms) -[ok]: String containing number precision test (regression of issue #1118) (0 ms) +[ok]: String containing number precision test (regression of issue #1118) (1 ms) [ok]: Verify negative arg count is error instead of crash (issue #1842) (0 ms) [ok]: Scripts can handle commands with incorrect arity (0 ms) -[ok]: Correct handling of reused argv (issue #1939) (1 ms) +[ok]: Correct handling of reused argv (issue #1939) (0 ms) [ok]: Functions in the Redis namespace are able to report errors (0 ms) [ok]: CLUSTER RESET can not be invoke from within a script (0 ms) [ok]: Script with RESP3 map (1 ms) -[ok]: Script return recursive object (73 ms) +[ok]: Script return recursive object (60 ms) [ok]: Script check unpack with massive arguments (2 ms) [ok]: Script read key with expiration set (0 ms) -[ok]: Script del key with expiration set (1 ms) +[ok]: Script del key with expiration set (0 ms) [ok]: Script ACL check (1 ms) -[ok]: Binary code loading failed (1 ms) +[ok]: Binary code loading failed (0 ms) [ok]: Try trick global protection 1 (0 ms) [ok]: Try trick global protection 2 (0 ms) -[ok]: Try trick global protection 3 (1 ms) +[ok]: Try trick global protection 3 (0 ms) [ok]: Try trick global protection 4 (0 ms) [ok]: Try trick readonly table on valkey table (0 ms) [ok]: Try trick readonly table on json table (0 ms) [ok]: Try trick readonly table on cmsgpack table (0 ms) [ok]: Try trick readonly table on bit table (0 ms) -[ok]: Test loadfile are not available (0 ms) +[ok]: Test loadfile are not available (1 ms) [ok]: Test dofile are not available (0 ms) [ok]: Test print are not available (0 ms) -=== (scripting) Starting server on 127.0.0.1:21272 ok -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (414 ms) -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (127 ms) -[ok]: Timedout script does not cause a false dead client (48 ms) -[ok]: Timedout script link is still usable after Lua returns (91 ms) -[ok]: Timedout scripts and unblocked command (263 ms) -[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (211 ms) -[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (4 ms) -=== (scripting repl needs:debug external:skip) Starting server on 127.0.0.1:21274 ok -=== () Starting server on 127.0.0.1:21276 ok -[ok]: Before the replica connects we issue two EVAL commands (1 ms) -[ok]: Connect a replica to the master instance (109 ms) -[ok]: Replication of script multiple pushes to list with BLPOP (11 ms) -[ok]: Lua scripts using SELECT are replicated correctly (1 ms) -=== (scripting repl external:skip) Starting server on 127.0.0.1:21278 ok -=== () Starting server on 127.0.0.1:21280 ok -[ok]: Connect a replica to the master instance (108 ms) -[ok]: Redis.replicate_commands() can be issued anywhere now (1 ms) +=== (scripting) Starting server on 127.0.0.1:21297 ok +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (410 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (38 ms) +[ok]: Timedout script does not cause a false dead client (37 ms) +[ok]: Timedout script link is still usable after Lua returns (41 ms) +[ok]: Timedout scripts and unblocked command (313 ms) +[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (208 ms) +[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (3 ms) +=== (scripting repl needs:debug external:skip) Starting server on 127.0.0.1:21299 ok +=== () Starting server on 127.0.0.1:21301 ok +[ok]: Before the replica connects we issue two EVAL commands (0 ms) +[ok]: Connect a replica to the master instance (103 ms) +[ok]: Replication of script multiple pushes to list with BLPOP (6 ms) +[ok]: Lua scripts using SELECT are replicated correctly (0 ms) +=== (scripting repl external:skip) Starting server on 127.0.0.1:21303 ok +=== () Starting server on 127.0.0.1:21305 ok +[ok]: Connect a replica to the master instance (102 ms) +[ok]: Redis.replicate_commands() can be issued anywhere now (0 ms) [ok]: Redis.set_repl() can be issued before replicate_commands() now (0 ms) -[ok]: Redis.set_repl() don't accept invalid values (1 ms) -[ok]: Test selective replication of certain commands from Lua (2 ms) +[ok]: Redis.set_repl() don't accept invalid values (0 ms) +[ok]: Test selective replication of certain commands from Lua (1 ms) [ok]: PRNG is seeded randomly for command replication (0 ms) [ok]: Using side effects is not a problem with command replication (1 ms) -=== (scripting needs:debug) Starting server on 127.0.0.1:21282 ok +=== (scripting needs:debug) Starting server on 127.0.0.1:21307 ok [ok]: test RESP2/2 big number protocol parsing (0 ms) [ok]: test RESP2/2 malformed big number protocol parsing (1 ms) [ok]: test RESP2/2 map protocol parsing (0 ms) [ok]: test RESP2/2 set protocol parsing (0 ms) [ok]: test RESP2/2 double protocol parsing (0 ms) -[ok]: test RESP2/2 null protocol parsing (0 ms) -[ok]: test RESP2/2 verbatim protocol parsing (4 ms) -[ok]: test RESP2/2 true protocol parsing (1 ms) -[ok]: test RESP2/2 false protocol parsing (0 ms) -[ok]: test RESP2/3 big number protocol parsing (1 ms) -[ok]: test RESP2/3 malformed big number protocol parsing (0 ms) -[ok]: test RESP2/3 map protocol parsing (1 ms) +[ok]: test RESP2/2 null protocol parsing (1 ms) +[ok]: test RESP2/2 verbatim protocol parsing (0 ms) +[ok]: test RESP2/2 true protocol parsing (0 ms) +[ok]: test RESP2/2 false protocol parsing (1 ms) +[ok]: test RESP2/3 big number protocol parsing (0 ms) +[ok]: test RESP2/3 malformed big number protocol parsing (1 ms) +[ok]: test RESP2/3 map protocol parsing (0 ms) [ok]: test RESP2/3 set protocol parsing (0 ms) -[ok]: test RESP2/3 double protocol parsing (5 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 (6 ms) -[ok]: test RESP3/2 big number protocol parsing (3 ms) -[ok]: test RESP3/2 malformed big number protocol parsing (1 ms) +[ok]: test RESP2/3 double protocol parsing (0 ms) +[ok]: test RESP2/3 null protocol parsing (0 ms) +[ok]: test RESP2/3 verbatim protocol parsing (1 ms) +[ok]: test RESP2/3 true protocol parsing (0 ms) +[ok]: test RESP2/3 false protocol parsing (0 ms) +[ok]: test RESP3/2 big number protocol parsing (1 ms) +[ok]: test RESP3/2 malformed big number protocol parsing (0 ms) [ok]: test RESP3/2 map protocol parsing (0 ms) [ok]: test RESP3/2 set protocol parsing (1 ms) [ok]: test RESP3/2 double protocol parsing (0 ms) -[ok]: test RESP3/2 null protocol parsing (1 ms) -[ok]: test RESP3/2 verbatim protocol parsing (0 ms) -[ok]: test RESP3/2 true protocol parsing (1 ms) +[ok]: test RESP3/2 null protocol parsing (0 ms) +[ok]: test RESP3/2 verbatim protocol parsing (1 ms) +[ok]: test RESP3/2 true protocol parsing (0 ms) [ok]: test RESP3/2 false protocol parsing (0 ms) -[ok]: test RESP3/3 big number protocol parsing (0 ms) +[ok]: test RESP3/3 big number protocol parsing (1 ms) [ok]: test RESP3/3 malformed big number protocol parsing (0 ms) -[ok]: test RESP3/3 map protocol parsing (3 ms) +[ok]: test RESP3/3 map protocol parsing (0 ms) [ok]: test RESP3/3 set protocol parsing (1 ms) [ok]: test RESP3/3 double protocol parsing (0 ms) -[ok]: test RESP3/3 null protocol parsing (1 ms) -[ok]: test RESP3/3 verbatim protocol parsing (0 ms) +[ok]: test RESP3/3 null protocol parsing (0 ms) +[ok]: test RESP3/3 verbatim protocol parsing (1 ms) [ok]: test RESP3/3 true protocol parsing (0 ms) [ok]: test RESP3/3 false protocol parsing (0 ms) -[ok]: test resp3 attribute protocol parsing (1 ms) -[ok]: Script block the time during execution (12 ms) -[ok]: Script delete the expired key (6 ms) +[ok]: test resp3 attribute protocol parsing (0 ms) +[ok]: Script block the time during execution (11 ms) +[ok]: Script delete the expired key (3 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 (14 ms) -=== (scripting) Starting server on 127.0.0.1:21284 ok -[ok]: EVAL - Does Lua interpreter replies to our requests? (1 ms) +[ok]: Script block the time in some expiration related commands (82 ms) +[ok]: RESTORE expired keys with expiration time (11 ms) +=== (scripting) Starting server on 127.0.0.1:21309 ok +[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 server (0 ms) [ok]: EVAL - Lua integer -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Lua string -> Redis protocol type conversion (1 ms) +[ok]: EVAL - Lua string -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua true boolean -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Lua false boolean -> Redis protocol type conversion (1 ms) +[ok]: EVAL - Lua false boolean -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua status code reply -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua error reply -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Lua table -> Redis protocol type conversion (1 ms) +[ok]: EVAL - Lua table -> Redis protocol type conversion (0 ms) [ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (0 ms) -[ok]: EVAL - is Lua able to call Redis API? (0 ms) -[ok]: EVAL - Redis integer -> Lua type conversion (1 ms) +[ok]: EVAL - is Lua able to call Redis API? (1 ms) +[ok]: EVAL - Redis integer -> Lua type conversion (0 ms) [ok]: EVAL - Lua number -> Redis integer conversion (0 ms) -[ok]: EVAL - Redis bulk -> Lua type conversion (1 ms) +[ok]: EVAL - Redis bulk -> Lua type conversion (0 ms) [ok]: EVAL - Redis multi bulk -> Lua type conversion (1 ms) [ok]: EVAL - Redis status reply -> Lua type conversion (0 ms) -[ok]: EVAL - Redis error reply -> Lua type conversion (1 ms) -[ok]: EVAL - Redis nil bulk reply -> Lua type conversion (0 ms) -[ok]: EVAL - Is the Lua client using the currently selected DB? (1 ms) +[ok]: EVAL - Redis error reply -> Lua type conversion (0 ms) +[ok]: EVAL - Redis nil bulk reply -> Lua type conversion (1 ms) +[ok]: EVAL - Is the Lua client using the currently selected DB? (0 ms) [ok]: EVAL - SELECT inside Lua should not affect the caller (0 ms) [ok]: EVAL - Scripts do not block on blpop command (1 ms) [ok]: EVAL - Scripts do not block on brpop command (0 ms) [ok]: EVAL - Scripts do not block on brpoplpush command (0 ms) [ok]: EVAL - Scripts do not block on blmove command (1 ms) [ok]: EVAL - Scripts do not block on bzpopmin command (0 ms) -[ok]: EVAL - Scripts do not block on bzpopmax command (1 ms) +[ok]: EVAL - Scripts do not block on bzpopmax command (0 ms) [ok]: EVAL - Scripts do not block on wait (0 ms) [ok]: EVAL - Scripts do not block on waitaof (0 ms) -[ok]: EVAL - Scripts do not block on XREAD with BLOCK option (1 ms) +[ok]: EVAL - Scripts do not block on XREAD with BLOCK option (0 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 (1 ms) +[ok]: EVAL - Scripts can run non-deterministic commands (0 ms) [ok]: EVAL - No arguments to redis.call/pcall is considered an error (0 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) [ignore]: EVAL - JSON string encoding a string larger than 2GB: large memory flag not provided -[ok]: EVAL - JSON numeric decoding (1 ms) +[ok]: EVAL - JSON numeric decoding (0 ms) [ok]: EVAL - JSON string decoding (0 ms) -[ok]: EVAL - JSON smoke test (1 ms) +[ok]: EVAL - JSON smoke test (0 ms) [ok]: EVAL - cmsgpack can pack double? (0 ms) -[ok]: EVAL - cmsgpack can pack negative int64? (0 ms) -[ok]: EVAL - cmsgpack pack/unpack smoke test (127 ms) +[ok]: EVAL - cmsgpack can pack negative int64? (1 ms) +[ok]: EVAL - cmsgpack pack/unpack smoke test (133 ms) [ok]: EVAL - cmsgpack can pack and unpack circular references? (0 ms) [ok]: EVAL - Numerical sanity check from bitop (1 ms) [ok]: EVAL - Verify minimal bitop functionality (0 ms) [ok]: EVAL - Able to parse trailing comments (0 ms) -[ok]: EVAL_RO - Successful case (0 ms) +[ok]: EVAL_RO - Successful case (1 ms) [ok]: EVAL_RO - Cannot run write commands (0 ms) [ok]: redis.sha1hex() implementation (0 ms) [ok]: Measures elapsed time os.clock() (1001 ms) -[ok]: Prohibit dangerous lua methods in sandbox (0 ms) -[ok]: Verify execution of prohibit dangerous Lua methods will fail (2 ms) +[ok]: Prohibit dangerous lua methods in sandbox (1 ms) +[ok]: Verify execution of prohibit dangerous Lua methods will fail (1 ms) [ok]: Globals protection reading an undeclared global variable (0 ms) [ok]: Globals protection setting an undeclared global* (0 ms) [ok]: lua bit.tohex bug (0 ms) [ok]: Test an example script DECR_IF_GT (1 ms) -[ok]: EVAL does not leak in the Lua stack (435 ms) +[ok]: EVAL does not leak in the Lua stack (295 ms) [ok]: Call Redis command with many args from Lua (issue #1764) (1 ms) [ok]: Number conversion precision test (issue #1118) (0 ms) [ok]: String containing number precision test (regression of issue #1118) (0 ms) [ok]: Verify negative arg count is error instead of crash (issue #1842) (0 ms) -[ok]: Scripts can handle commands with incorrect arity (1 ms) +[ok]: Scripts can handle commands with incorrect arity (0 ms) [ok]: Correct handling of reused argv (issue #1939) (0 ms) [ok]: Functions in the Redis namespace are able to report errors (0 ms) -[ok]: CLUSTER RESET can not be invoke from within a script (0 ms) -[ok]: Script with RESP3 map (1 ms) -[ok]: Script return recursive object (69 ms) +[ok]: CLUSTER RESET can not be invoke from within a script (1 ms) +[ok]: Script with RESP3 map (0 ms) +[ok]: Script return recursive object (60 ms) [ok]: Script check unpack with massive arguments (2 ms) -[ok]: Script read key with expiration set (1 ms) -[ok]: Script del key with expiration set (0 ms) -[ok]: Script ACL check (1 ms) +[ok]: Script read key with expiration set (0 ms) +[ok]: Script del key with expiration set (1 ms) +[ok]: Script ACL check (0 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 2 (0 ms) [ok]: Try trick global protection 3 (0 ms) [ok]: Try trick global protection 4 (0 ms) -[ok]: Try trick readonly table on valkey table (0 ms) -[ok]: Try trick readonly table on json table (1 ms) +[ok]: Try trick readonly table on valkey table (1 ms) +[ok]: Try trick readonly table on json table (0 ms) [ok]: Try trick readonly table on cmsgpack table (0 ms) [ok]: Try trick readonly table on bit table (0 ms) [ok]: Test loadfile are not available (0 ms) [ok]: Test dofile are not available (0 ms) -[ok]: Test print are not available (0 ms) -=== (scripting) Starting server on 127.0.0.1:21286 ok -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (414 ms) -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (75 ms) -[ok]: Timedout script does not cause a false dead client (68 ms) -[ok]: Timedout script link is still usable after Lua returns (94 ms) -[ok]: Timedout scripts and unblocked command (286 ms) -[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (222 ms) -[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (6 ms) -=== (scripting repl needs:debug external:skip) Starting server on 127.0.0.1:21288 ok -=== () Starting server on 127.0.0.1:21290 ok -[ok]: Before the replica connects we issue two EVAL commands (1 ms) -[ok]: Connect a replica to the master instance (104 ms) -[ok]: Replication of script multiple pushes to list with BLPOP (8 ms) -[ok]: Lua scripts using SELECT are replicated correctly (4 ms) -=== (scripting repl external:skip) Starting server on 127.0.0.1:21292 ok -=== () Starting server on 127.0.0.1:21294 ok -[ok]: Connect a replica to the master instance (107 ms) -[ok]: Redis.replicate_commands() can be issued anywhere now (0 ms) +[ok]: Test print are not available (1 ms) +=== (scripting) Starting server on 127.0.0.1:21311 ok +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (408 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (38 ms) +[ok]: Timedout script does not cause a false dead client (38 ms) +[ok]: Timedout script link is still usable after Lua returns (41 ms) +[ok]: Timedout scripts and unblocked command (293 ms) +[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (208 ms) +[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (2 ms) +=== (scripting repl needs:debug external:skip) Starting server on 127.0.0.1:21313 ok +=== () Starting server on 127.0.0.1:21315 ok +[ok]: Before the replica connects we issue two EVAL commands (0 ms) +[ok]: Connect a replica to the master instance (103 ms) +[ok]: Replication of script multiple pushes to list with BLPOP (6 ms) +[ok]: Lua scripts using SELECT are replicated correctly (0 ms) +=== (scripting repl external:skip) Starting server on 127.0.0.1:21317 ok +=== () Starting server on 127.0.0.1:21319 ok +[ok]: Connect a replica to the master instance (102 ms) +[ok]: Redis.replicate_commands() can be issued anywhere now (1 ms) [ok]: Redis.set_repl() can be issued before replicate_commands() now (0 ms) -[ok]: Redis.set_repl() don't accept invalid values (3 ms) -[ok]: Test selective replication of certain commands from Lua (6 ms) -[ok]: PRNG is seeded randomly for command replication (1 ms) +[ok]: Redis.set_repl() don't accept invalid values (0 ms) +[ok]: Test selective replication of certain commands from Lua (1 ms) +[ok]: PRNG is seeded randomly for command replication (0 ms) [ok]: Using side effects is not a problem with command replication (1 ms) -=== (scripting needs:debug) Starting server on 127.0.0.1:21296 ok -[ok]: test RESP2/2 big number protocol parsing (0 ms) +=== (scripting needs:debug) Starting server on 127.0.0.1:21321 ok +[ok]: test RESP2/2 big number protocol parsing (1 ms) [ok]: test RESP2/2 malformed big number protocol parsing (0 ms) -[ok]: test RESP2/2 map protocol parsing (1 ms) +[ok]: test RESP2/2 map protocol parsing (0 ms) [ok]: test RESP2/2 set protocol parsing (0 ms) -[ok]: test RESP2/2 double protocol parsing (0 ms) +[ok]: test RESP2/2 double protocol parsing (1 ms) [ok]: test RESP2/2 null protocol parsing (0 ms) [ok]: test RESP2/2 verbatim protocol parsing (0 ms) [ok]: test RESP2/2 true protocol parsing (0 ms) -[ok]: test RESP2/2 false protocol parsing (1 ms) +[ok]: test RESP2/2 false protocol parsing (0 ms) [ok]: test RESP2/3 big number protocol parsing (0 ms) [ok]: test RESP2/3 malformed big number protocol parsing (0 ms) [ok]: test RESP2/3 map protocol parsing (0 ms) [ok]: test RESP2/3 set protocol parsing (0 ms) [ok]: test RESP2/3 double protocol parsing (0 ms) -[ok]: test RESP2/3 null protocol parsing (1 ms) +[ok]: test RESP2/3 null protocol parsing (0 ms) [ok]: test RESP2/3 verbatim protocol parsing (0 ms) [ok]: test RESP2/3 true protocol parsing (0 ms) -[ok]: test RESP2/3 false protocol parsing (0 ms) +[ok]: test RESP2/3 false protocol parsing (1 ms) [ok]: test RESP3/2 big number protocol parsing (0 ms) [ok]: test RESP3/2 malformed big number protocol parsing (0 ms) [ok]: test RESP3/2 map protocol parsing (0 ms) -[ok]: test RESP3/2 set protocol parsing (1 ms) -[ok]: test RESP3/2 double protocol parsing (0 ms) +[ok]: test RESP3/2 set protocol parsing (0 ms) +[ok]: test RESP3/2 double protocol parsing (1 ms) [ok]: test RESP3/2 null protocol parsing (0 ms) [ok]: test RESP3/2 verbatim protocol parsing (0 ms) [ok]: test RESP3/2 true protocol parsing (0 ms) -[ok]: test RESP3/2 false protocol parsing (1 ms) +[ok]: test RESP3/2 false protocol parsing (0 ms) [ok]: test RESP3/3 big number protocol parsing (0 ms) -[ok]: test RESP3/3 malformed big number protocol parsing (0 ms) +[ok]: test RESP3/3 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 set protocol parsing (0 ms) [ok]: test RESP3/3 double protocol parsing (0 ms) [ok]: test RESP3/3 null protocol parsing (0 ms) -[ok]: test RESP3/3 verbatim protocol parsing (1 ms) +[ok]: test RESP3/3 verbatim protocol parsing (0 ms) [ok]: test RESP3/3 true protocol parsing (0 ms) [ok]: test RESP3/3 false protocol parsing (0 ms) -[ok]: test resp3 attribute protocol parsing (1 ms) +[ok]: test resp3 attribute protocol parsing (0 ms) [ok]: Script block the time during execution (10 ms) -[ok]: Script delete the expired key (5 ms) +[ok]: Script delete the expired key (3 ms) [ok]: TIME command using cached time (10 ms) -[ok]: Script block the time in some expiration related commands (84 ms) -[ok]: RESTORE expired keys with expiration time (10 ms) -=== (scripting) Starting server on 127.0.0.1:21298 ok -[ok]: Script - disallow write on OOM (5 ms) +[ok]: Script block the time in some expiration related commands (82 ms) +[ok]: RESTORE expired keys with expiration time (11 ms) +=== (scripting) Starting server on 127.0.0.1:21323 ok +[ok]: Script - disallow write on OOM (0 ms) [ok]: EVAL - Does Lua interpreter replies to our requests? (0 ms) -[ok]: EVAL - Return _G (1 ms) +[ok]: EVAL - Return _G (0 ms) [ok]: EVAL - Return table with a metatable that raise error (0 ms) -[ok]: EVAL - Return table with a metatable that call server (1 ms) +[ok]: EVAL - Return table with a metatable that call server (0 ms) [ok]: EVAL - Lua integer -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Lua string -> Redis protocol type conversion (0 ms) +[ok]: EVAL - Lua string -> Redis protocol type conversion (1 ms) [ok]: EVAL - Lua true boolean -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua false boolean -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua status code reply -> Redis protocol type conversion (0 ms) -[ok]: EVAL - Lua error reply -> Redis protocol type conversion (0 ms) +[ok]: EVAL - Lua error reply -> Redis protocol type conversion (1 ms) [ok]: EVAL - Lua table -> Redis protocol type conversion (0 ms) [ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (0 ms) -[ok]: EVAL - is Lua able to call Redis API? (1 ms) +[ok]: EVAL - is Lua able to call Redis API? (0 ms) [ok]: EVALSHA - Can we call a SHA1 if already defined? (0 ms) -[ok]: EVALSHA_RO - Can we call a SHA1 if already defined? (1 ms) +[ok]: EVALSHA_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 invalid SHA1? (0 ms) [ok]: EVALSHA - Do we get an error on non defined SHA1? (0 ms) -[ok]: EVAL - Redis integer -> Lua type conversion (1 ms) +[ok]: EVAL - Redis integer -> Lua type conversion (0 ms) [ok]: EVAL - Lua number -> Redis integer conversion (0 ms) -[ok]: EVAL - Redis bulk -> Lua type conversion (1 ms) -[ok]: EVAL - Redis multi bulk -> Lua type conversion (1 ms) +[ok]: EVAL - Redis bulk -> Lua type conversion (0 ms) +[ok]: EVAL - Redis multi bulk -> Lua type conversion (0 ms) [ok]: EVAL - Redis status reply -> Lua type conversion (0 ms) [ok]: EVAL - Redis error reply -> Lua type conversion (1 ms) [ok]: EVAL - Redis nil bulk reply -> Lua type conversion (0 ms) -[ok]: EVAL - Is the Lua client using the currently selected DB? (1 ms) +[ok]: EVAL - Is the Lua client using the currently selected DB? (0 ms) [ok]: EVAL - SELECT inside Lua should not affect the caller (1 ms) -[ok]: EVAL - Scripts do not block on blpop command (1 ms) -[ok]: EVAL - Scripts do not block on brpop command (4 ms) -[ok]: EVAL - Scripts do not block on brpoplpush command (1 ms) +[ok]: EVAL - Scripts do not block on blpop command (0 ms) +[ok]: EVAL - Scripts do not block on brpop command (0 ms) +[ok]: EVAL - Scripts do not block on brpoplpush command (0 ms) [ok]: EVAL - Scripts do not block on blmove command (1 ms) [ok]: EVAL - Scripts do not block on bzpopmin command (0 ms) -[ok]: EVAL - Scripts do not block on bzpopmax command (1 ms) -[ok]: EVAL - Scripts do not block on wait (0 ms) +[ok]: EVAL - Scripts do not block on bzpopmax command (0 ms) +[ok]: EVAL - Scripts do not block on wait (1 ms) [ok]: EVAL - Scripts do not block on waitaof (0 ms) -[ok]: EVAL - Scripts do not block on XREAD with BLOCK option (1 ms) -[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (4 ms) +[ok]: EVAL - Scripts do not block on XREAD with BLOCK option (0 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 (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 redis.call/pcall is considered an error (1 ms) +[ok]: EVAL - No arguments to redis.call/pcall is considered an error (0 ms) +[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) -[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) [ignore]: EVAL - JSON string encoding a string larger than 2GB: large memory flag not provided -[ok]: EVAL - JSON numeric decoding (0 ms) +[ok]: EVAL - JSON numeric decoding (1 ms) [ok]: EVAL - JSON string decoding (0 ms) -[ok]: EVAL - JSON smoke test (1 ms) +[ok]: EVAL - JSON smoke test (0 ms) [ok]: EVAL - cmsgpack can pack double? (0 ms) -[ok]: EVAL - cmsgpack can pack negative int64? (1 ms) -[ok]: EVAL - cmsgpack pack/unpack smoke test (178 ms) -[ok]: EVAL - cmsgpack can pack and unpack circular references? (0 ms) +[ok]: EVAL - cmsgpack can pack negative int64? (0 ms) +[ok]: EVAL - cmsgpack pack/unpack smoke test (125 ms) +[ok]: EVAL - cmsgpack can pack and unpack circular references? (1 ms) [ok]: EVAL - Numerical sanity check from bitop (0 ms) [ok]: EVAL - Verify minimal bitop functionality (0 ms) [ok]: EVAL - Able to parse trailing comments (0 ms) -[ok]: EVAL_RO - Successful case (1 ms) +[ok]: EVAL_RO - Successful case (0 ms) [ok]: EVAL_RO - Cannot run write commands (0 ms) -[ok]: SCRIPTING FLUSH - is able to clear the scripts cache? (11 ms) -[ok]: SCRIPTING FLUSH ASYNC (12 ms) +[ok]: SCRIPTING FLUSH - is able to clear the scripts cache? (10 ms) +[ok]: SCRIPTING FLUSH ASYNC (5 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]: SCRIPT LOAD - is able to register scripts in the scripting cache (0 ms) [ok]: SCRIPT SHOW - is able to dump scripts from the scripting cache (0 ms) -[ok]: SCRIPT SHOW - wrong sha1 length or invalid sha1 char return noscript error (4 ms) +[ok]: SCRIPT SHOW - wrong sha1 length or invalid sha1 char return noscript error (0 ms) [ok]: SCRIPT SHOW - script not exist return noscript error (0 ms) [ok]: SORT is normally not alpha re-ordered for the scripting engine (1 ms) [ok]: SORT BY output gets ordered for scripting (0 ms) -[ok]: SORT BY with GET gets ordered for scripting (1 ms) +[ok]: SORT BY with GET gets ordered for scripting (0 ms) [ok]: redis.sha1hex() implementation (0 ms) -[ok]: Measures elapsed time os.clock() (1001 ms) +[ok]: Measures elapsed time os.clock() (999 ms) [ok]: Prohibit dangerous lua methods in sandbox (0 ms) [ok]: Verify execution of prohibit dangerous Lua methods will fail (1 ms) -[ok]: Globals protection reading an undeclared global variable (1 ms) -[ok]: Globals protection setting an undeclared global* (0 ms) +[ok]: Globals protection reading an undeclared global variable (0 ms) +[ok]: Globals protection setting an undeclared global* (1 ms) [ok]: lua bit.tohex bug (0 ms) -[ok]: Test an example script DECR_IF_GT (1 ms) -[ok]: random numbers are random now (0 ms) -[ok]: Scripting engine PRNG can be seeded correctly (1 ms) -[ok]: EVAL does not leak in the Lua stack (526 ms) -[ok]: SPOP: We can call scripts rewriting client->argv from Lua (90 ms) -[ok]: MGET: mget shouldn't be propagated in Lua (94 ms) -[ok]: EXPIRE: We can call scripts rewriting client->argv from Lua (103 ms) -=== (scripting) Starting server on 127.0.0.1:21300 ok -[ok]: INCRBYFLOAT: We can call scripts expanding client->argv from Lua (359 ms) +[ok]: Test an example script DECR_IF_GT (0 ms) +[ok]: random numbers are random now (1 ms) +[ok]: Scripting engine PRNG can be seeded correctly (0 ms) +[ok]: EVAL does not leak in the Lua stack (233 ms) +[ok]: SPOP: We can call scripts rewriting client->argv from Lua (470 ms) +[ok]: MGET: mget shouldn't be propagated in Lua (302 ms) +[ok]: EXPIRE: We can call scripts rewriting client->argv from Lua (403 ms) +=== (scripting) Starting server on 127.0.0.1:21325 ok +[ok]: INCRBYFLOAT: We can call scripts expanding client->argv from Lua (633 ms) [ok]: Call Redis command with many args from Lua (issue #1764) (1 ms) -[ok]: Number conversion precision test (issue #1118) (6 ms) +[ok]: Number conversion precision test (issue #1118) (0 ms) [ok]: String containing number precision test (regression of issue #1118) (0 ms) [ok]: Verify negative arg count is error instead of crash (issue #1842) (0 ms) [ok]: Scripts can handle commands with incorrect arity (0 ms) -[ok]: Correct handling of reused argv (issue #1939) (0 ms) +[ok]: Correct handling of reused argv (issue #1939) (1 ms) [ok]: Functions in the Redis namespace are able to report errors (0 ms) -[ok]: CLUSTER RESET can not be invoke from within a script (1 ms) +[ok]: CLUSTER RESET can not be invoke from within a script (0 ms) [ok]: Script with RESP3 map (1 ms) -[ok]: Script return recursive object (128 ms) +[ok]: Script return recursive object (59 ms) [ok]: Script check unpack with massive arguments (3 ms) -[ok]: Script read key with expiration set (1 ms) -[ok]: Script del key with expiration set (8 ms) -[ok]: Script ACL check (1 ms) -[ok]: Binary code loading failed (1 ms) -[ok]: Try trick global protection 1 (0 ms) +[ok]: Script read key with expiration set (0 ms) +[ok]: Script del key with expiration set (1 ms) +[ok]: Script ACL check (0 ms) +[ok]: Binary code loading failed (0 ms) +[ok]: Try trick global protection 1 (1 ms) [ok]: Try trick global protection 2 (0 ms) -[ok]: Try trick global protection 3 (1 ms) +[ok]: Try trick global protection 3 (0 ms) [ok]: Try trick global protection 4 (0 ms) [ok]: Try trick readonly table on valkey table (0 ms) [ok]: Try trick readonly table on json table (0 ms) [ok]: Try trick readonly table on cmsgpack table (0 ms) -[ok]: Try trick readonly table on bit table (0 ms) -[ok]: Test loadfile are not available (1 ms) +[ok]: Try trick readonly table on bit table (1 ms) +[ok]: Test loadfile are not available (0 ms) [ok]: Test dofile are not available (0 ms) [ok]: Test print are not available (0 ms) -=== (scripting) Starting server on 127.0.0.1:21302 ok -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (416 ms) -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (63 ms) -[ok]: Timedout script does not cause a false dead client (70 ms) -[ok]: Timedout script link is still usable after Lua returns (52 ms) -[ok]: Timedout scripts and unblocked command (258 ms) -[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (213 ms) -[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (6 ms) -=== (scripting repl needs:debug external:skip) Starting server on 127.0.0.1:21304 ok -=== () Starting server on 127.0.0.1:21306 ok -[ok]: Before the replica connects we issue two EVAL commands (1 ms) -[ok]: Connect a replica to the master instance (107 ms) +=== (scripting) Starting server on 127.0.0.1:21327 ok +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (408 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (37 ms) +[ok]: Timedout script does not cause a false dead client (37 ms) +[ok]: Timedout script link is still usable after Lua returns (40 ms) +[ok]: Timedout scripts and unblocked command (783 ms) +[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (208 ms) +[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (3 ms) +=== (scripting repl needs:debug external:skip) Starting server on 127.0.0.1:21329 ok +=== () Starting server on 127.0.0.1:21331 ok +[ok]: Before the replica connects we issue two EVAL commands (0 ms) +[ok]: Connect a replica to the master instance (102 ms) [ok]: Now use EVALSHA against the master, with both SHAs (1 ms) -[ok]: 'x' should be '4' for EVALSHA being replicated by effects (3 ms) -[ok]: Replication of script multiple pushes to list with BLPOP (7 ms) -[ok]: EVALSHA replication when first call is readonly (2 ms) -[ok]: Lua scripts using SELECT are replicated correctly (0 ms) -=== (scripting repl external:skip) Starting server on 127.0.0.1:21308 ok -=== () Starting server on 127.0.0.1:21310 ok -[ok]: Connect a replica to the master instance (112 ms) -[ok]: Redis.replicate_commands() can be issued anywhere now (0 ms) +[ok]: 'x' should be '4' for EVALSHA being replicated by effects (0 ms) +[ok]: Replication of script multiple pushes to list with BLPOP (6 ms) +[ok]: EVALSHA replication when first call is readonly (0 ms) +[ok]: Lua scripts using SELECT are replicated correctly (1 ms) +=== (scripting repl external:skip) Starting server on 127.0.0.1:21333 ok +=== () Starting server on 127.0.0.1:21335 ok +[ok]: Connect a replica to the master instance (211 ms) +[ok]: Redis.replicate_commands() can be issued anywhere now (1 ms) [ok]: Redis.set_repl() can be issued before replicate_commands() now (0 ms) [ok]: Redis.set_repl() don't accept invalid values (0 ms) [ok]: Test selective replication of certain commands from Lua (1 ms) -[ok]: PRNG is seeded randomly for command replication (4 ms) +[ok]: PRNG is seeded randomly for command replication (0 ms) [ok]: Using side effects is not a problem with command replication (1 ms) -=== (scripting external:skip) Starting server on 127.0.0.1:21312 ok -=== (scripting needs:debug external:skip) Starting server on 127.0.0.1:21314 ok +=== (scripting external:skip) Starting server on 127.0.0.1:21337 ok +=== (scripting needs:debug external:skip) Starting server on 127.0.0.1:21339 ok [ok]: Test scripting debug protocol parsing (0 ms) -[ok]: Test scripting debug lua stack overflow (6 ms) -[ok]: Test scripting debug lua server invocations (6 ms) -=== (scripting external:skip) Starting server on 127.0.0.1:21316 ok -[ok]: Lua scripts eviction does not generate many scripts (215 ms) -[ok]: Lua scripts eviction is plain LRU (55 ms) -[ok]: Lua scripts eviction does not affect script load (142 ms) -[ok]: Lua scripts promoted from eval to script load (110 ms) -=== (scripting needs:debug) Starting server on 127.0.0.1:21318 ok -[ok]: test RESP2/2 big number protocol parsing (0 ms) +[ok]: Test scripting debug lua stack overflow (5 ms) +[ok]: Test scripting debug lua server invocations (5 ms) +=== (scripting external:skip) Starting server on 127.0.0.1:21341 ok +[ok]: Lua scripts eviction does not generate many scripts (68 ms) +[ok]: Lua scripts eviction is plain LRU (27 ms) +[ok]: Lua scripts eviction does not affect script load (112 ms) +[ok]: Lua scripts promoted from eval to script load (63 ms) +=== (scripting needs:debug) Starting server on 127.0.0.1:21343 ok +[ok]: test RESP2/2 big number protocol parsing (1 ms) [ok]: test RESP2/2 malformed big number protocol parsing (0 ms) -[ok]: test RESP2/2 map protocol parsing (1 ms) +[ok]: test RESP2/2 map protocol parsing (0 ms) [ok]: test RESP2/2 set protocol parsing (0 ms) [ok]: test RESP2/2 double protocol parsing (0 ms) [ok]: test RESP2/2 null protocol parsing (0 ms) [ok]: test RESP2/2 verbatim protocol parsing (0 ms) -[ok]: test RESP2/2 true protocol parsing (1 ms) +[ok]: test RESP2/2 true protocol parsing (0 ms) [ok]: test RESP2/2 false protocol parsing (0 ms) [ok]: test RESP2/3 big number protocol parsing (0 ms) [ok]: test RESP2/3 malformed big number protocol parsing (0 ms) [ok]: test RESP2/3 map protocol parsing (0 ms) -[ok]: test RESP2/3 set protocol parsing (1 ms) +[ok]: test RESP2/3 set protocol parsing (0 ms) [ok]: test RESP2/3 double protocol parsing (0 ms) -[ok]: test RESP2/3 null protocol parsing (1 ms) +[ok]: test RESP2/3 null protocol parsing (0 ms) [ok]: test RESP2/3 verbatim protocol parsing (0 ms) -[ok]: test RESP2/3 true protocol parsing (1 ms) +[ok]: test RESP2/3 true protocol parsing (0 ms) [ok]: test RESP2/3 false protocol parsing (0 ms) -[ok]: test RESP3/2 big number protocol parsing (0 ms) +[ok]: test RESP3/2 big number protocol parsing (1 ms) [ok]: test RESP3/2 malformed big number protocol parsing (0 ms) [ok]: test RESP3/2 map protocol parsing (0 ms) [ok]: test RESP3/2 set protocol parsing (0 ms) [ok]: test RESP3/2 double protocol parsing (0 ms) [ok]: test RESP3/2 null protocol parsing (0 ms) [ok]: test RESP3/2 verbatim protocol parsing (0 ms) -[ok]: test RESP3/2 true protocol parsing (1 ms) +[ok]: test RESP3/2 true protocol parsing (0 ms) [ok]: test RESP3/2 false protocol parsing (0 ms) [ok]: test RESP3/3 big number protocol parsing (0 ms) -[ok]: test RESP3/3 malformed big number protocol parsing (1 ms) +[ok]: test RESP3/3 malformed big number protocol parsing (0 ms) [ok]: test RESP3/3 map protocol parsing (0 ms) -[ok]: test RESP3/3 set protocol parsing (1 ms) +[ok]: test RESP3/3 set protocol parsing (0 ms) [ok]: test RESP3/3 double protocol parsing (0 ms) [ok]: test RESP3/3 null protocol parsing (0 ms) [ok]: test RESP3/3 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/3 false protocol parsing (0 ms) [ok]: test resp3 attribute protocol parsing (0 ms) -[ok]: Script block the time during execution (15 ms) +[ok]: Script block the time during execution (10 ms) [ok]: Script delete the expired key (3 ms) -[ok]: TIME command using cached time (11 ms) -[ok]: Script block the time in some expiration related commands (82 ms) +[ok]: TIME command using cached time (10 ms) +[ok]: Script block the time in some expiration related commands (81 ms) [ok]: RESTORE expired keys with expiration time (11 ms) -=== (scripting) Starting server on 127.0.0.1:21320 ok -[ok]: Shebang support for lua engine (1 ms) +=== (scripting) Starting server on 127.0.0.1:21345 ok +[ok]: Shebang support for lua engine (0 ms) [ok]: Unknown shebang option (0 ms) -[ok]: Unknown shebang flag (0 ms) -[ok]: allow-oom shebang flag (2 ms) +[ok]: Unknown shebang flag (1 ms) +[ok]: allow-oom shebang flag (1 ms) [ok]: no-writes shebang flag (0 ms) -=== (external:skip) Starting server on 127.0.0.1:21322 ok -[ok]: no-writes shebang flag on replica (130 ms) -[ok]: not enough good replicas (2 ms) -=== (external:skip) Starting server on 127.0.0.1:21324 ok -[ok]: not enough good replicas state change during long script (749 ms) +=== (external:skip) Starting server on 127.0.0.1:21347 ok +[ok]: no-writes shebang flag on replica (146 ms) +[ok]: not enough good replicas (1 ms) +=== (external:skip) Starting server on 127.0.0.1:21349 ok +[ok]: not enough good replicas state change during long script (503 ms) [ok]: allow-stale shebang flag (1 ms) -[ok]: reject script do not cause a Lua stack leak (10 ms) -=== (scripting) Starting server on 127.0.0.1:21326 ok -[ok]: Consistent eval error reporting (27 ms) +[ok]: reject script do not cause a Lua stack leak (4 ms) +=== (scripting) Starting server on 127.0.0.1:21351 ok +[ok]: Consistent eval error reporting (6 ms) [ok]: LUA redis.error_reply API (1 ms) -[ok]: LUA redis.error_reply API with empty string (1 ms) +[ok]: LUA redis.error_reply API with empty string (0 ms) [ok]: LUA redis.status_reply API (0 ms) [ok]: LUA test pcall (0 ms) -[ok]: LUA test pcall with error (1 ms) -[ok]: LUA test pcall with non string/integer arg (0 ms) -[ok]: LUA test trim string as expected (4 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 (0 ms) [ok]: EVAL - Scripts support NULL byte (0 ms) -[19/128 done]: unit/scripting (30 seconds) -Testing unit/commandlog -=== (commandlog) Starting server on 127.0.0.1:21328 ok -[ok]: COMMANDLOG - check that it starts with an empty log (1 ms) -[ok]: COMMANDLOG - only logs commands exceeding the threshold (205 ms) -[ok]: COMMANDLOG - zero max length is correctly handled (23 ms) -[ok]: COMMANDLOG - max entries is correctly handled (17 ms) -[ok]: COMMANDLOG - GET optional argument to limit output len works (8 ms) -[ok]: COMMANDLOG - RESET subcommand works (1 ms) -[ok]: COMMANDLOG - logged entry sanity check (202 ms) -[ok]: COMMANDLOG slow - Certain commands are omitted that contain sensitive information (6 ms) -[ok]: COMMANDLOG slow - Some commands can redact sensitive fields (1 ms) -[ok]: COMMANDLOG slow - Rewritten commands are logged as their original command (11 ms) -[ok]: COMMANDLOG slow - commands with too many arguments are trimmed (1 ms) -[ok]: COMMANDLOG slow - too long arguments are trimmed (1 ms) -[ok]: COMMANDLOG slow - EXEC is not logged, just executed commands (202 ms) -[ok]: COMMANDLOG slow - can clean older entries (204 ms) -[ok]: COMMANDLOG slow - can be disabled (403 ms) -[ok]: COMMANDLOG slow - count must be >= -1 (1 ms) -[ok]: COMMANDLOG slow - get all slow logs (2 ms) -[ok]: COMMANDLOG slow - blocking command is reported only after unblocked (15 ms) -[ok]: COMMANDLOG slow - the commands in script are recorded normally - is_eval: 0 (2 ms) -[ok]: COMMANDLOG slow - the commands in script are recorded normally - is_eval: 1 (1 ms) -[20/128 done]: unit/commandlog (1 seconds) -Testing unit/querybuf -=== (querybuf slow) Starting server on 127.0.0.1:21330 ok -[ok]: query buffer resized correctly (2103 ms) -[ok]: query buffer resized correctly when not idle (39 ms) -[ok]: query buffer resized correctly with fat argv (2961 ms) -[21/128 done]: unit/querybuf (6 seconds) -Testing unit/acl-v2 -=== (acl external:skip) Starting server on 127.0.0.1:21332 ok -[ok]: Test basic multiple selectors (2 ms) -[ok]: Test ACL selectors by default have no permissions (0 ms) -[ok]: Test deleting selectors (0 ms) -[ok]: Test selector syntax error reports the error in the selector context (4 ms) -[ok]: Test flexible selector definition (1 ms) -[ok]: Test separate read permission (1 ms) -[ok]: Test separate write permission (1 ms) -[ok]: Test separate read and write permissions (1 ms) -[ok]: Validate read and write permissions format (0 ms) -[ok]: Validate key permissions format - empty and omitted pattern (1 ms) -[ok]: Test separate read and write permissions on different selectors are not additive (3 ms) -[ok]: Test SET with separate read permission (1 ms) -[ok]: Test SET with separate write permission (3 ms) -[ok]: Test SET with read and write permissions (7 ms) -[ok]: Test BITFIELD with separate read permission (1 ms) -[ok]: Test BITFIELD with separate write permission (1 ms) -[ok]: Test BITFIELD with read and write permissions (1 ms) -[ok]: Test ACL log correctly identifies the relevant item when selectors are used (2 ms) -[ok]: Test ACL GETUSER response information (5 ms) -[ok]: Test ACL list idempotency (1 ms) -[ok]: Test R+W is the same as all permissions (1 ms) -[ok]: Test basic dry run functionality (1 ms) -[ok]: Test various commands for command permissions (0 ms) -[ok]: Test various odd commands for key permissions (12 ms) -[ok]: Existence test commands are not marked as access (1 ms) -[ok]: Intersection cardinaltiy commands are access commands (2 ms) -[ok]: Test general keyspace commands require some type of permission to execute (2 ms) -[ok]: Cardinality commands require some type of permission to execute (8 ms) -[ok]: Test sharded channel permissions (2 ms) -[ok]: Test sort with ACL permissions (2 ms) -[ok]: Test DRYRUN with wrong number of arguments (3 ms) -=== (external:skip) Starting server on 127.0.0.1:21334 ok -[ok]: Test behavior of loading ACLs (1 ms) -[22/128 done]: unit/acl-v2 (0 seconds) -Testing unit/maxmemory -=== (maxmemory external:skip) Starting server on 127.0.0.1:21336 ok -evicted keys: 3 -evicted clients: 0 -dbsize: 47 -[ok]: eviction due to output buffers of many MGET clients, client eviction: false (309 ms) -evicted keys: 27 -evicted clients: 0 -dbsize: 22 -[ok]: eviction due to input buffer of a dead client, client eviction: false (3751 ms) -evicted keys: 15 -evicted clients: 0 -dbsize: 35 -[ok]: eviction due to output buffers of pubsub, client eviction: false (556 ms) -evicted keys: 0 -evicted clients: 7 -dbsize: 50 -[ok]: eviction due to output buffers of many MGET clients, client eviction: true (162 ms) -evicted keys: 0 -evicted clients: 18 -dbsize: 50 -[ok]: eviction due to input buffer of a dead client, client eviction: true (3639 ms) -evicted keys: 0 -evicted clients: 6 -dbsize: 50 -[ok]: eviction due to output buffers of pubsub, client eviction: true (402 ms) -=== (maxmemory external:skip) Starting server on 127.0.0.1:21338 ok -[ok]: maxmemory - is the memory limit honoured? (policy allkeys-random) (195 ms) -[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lru) (516 ms) -[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lfu) (556 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-lru) (699 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-lfu) (1002 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-random) (542 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-ttl) (524 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-random) (470 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-lru) (596 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-lru) (524 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-random) (507 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-ttl) (574 ms) -[ok]: maxmemory - policy volatile-lru should only remove volatile keys. (3131 ms) -[ok]: maxmemory - policy volatile-lfu should only remove volatile keys. (3391 ms) -[ok]: maxmemory - policy volatile-random should only remove volatile keys. (3476 ms) -[ok]: maxmemory - policy volatile-ttl should only remove volatile keys. (3044 ms) -=== (maxmemory external:skip) Starting server on 127.0.0.1:21340 ok -=== () Starting server on 127.0.0.1:21342 ok -[ok]: slave buffer are counted correctly (26030 ms) -=== (maxmemory external:skip) Starting server on 127.0.0.1:21344 ok -=== () Starting server on 127.0.0.1:21346 ok -[ok]: replica buffer don't induce eviction (11649 ms) -=== (maxmemory external:skip) Starting server on 127.0.0.1:21348 ok -[ok]: Don't rehash if used memory exceeds maxmemory after rehash (198 ms) -=== (maxmemory external:skip io-threads:skip) Starting server on 127.0.0.1:21350 ok -evicted: 30 -evicted: 30 -[ok]: client tracking don't cause eviction feedback loop (1674 ms) -=== (maxmemory external:skip) Starting server on 127.0.0.1:21352 ok -[ok]: propagation with eviction (80 ms) -=== (maxmemory external:skip) Starting server on 127.0.0.1:21354 ok -[ok]: propagation with eviction in MULTI (83 ms) -=== (maxmemory external:skip) Starting server on 127.0.0.1:21356 ok -[ok]: lru/lfu value of the key just added (2 ms) -=== (maxmemory external:skip) Starting server on 127.0.0.1:21358 ok -[ok]: Import mode should forbid eviction (1 ms) -[23/128 done]: unit/maxmemory (71 seconds) -Testing unit/introspection-2 -=== (introspection) Starting server on 127.0.0.1:21360 ok -[ok]: The microsecond part of the TIME command will not overflow (0 ms) -[ok]: TTL, TYPE and EXISTS do not alter the last access time of a key (3005 ms) -[ok]: TOUCH alters the last access time of a key (3004 ms) -[ok]: TOUCH alters the last access time of a key in no-touch mode (3006 ms) -[ok]: Operations in no-touch mode do not alter the last access time of a key (1103 ms) -[ok]: TOUCH returns the number of existing keys specified (0 ms) -[ok]: command stats for GEOADD (2 ms) -[ok]: errors stats for GEOADD (1 ms) -[ok]: command stats for EXPIRE (1 ms) -[ok]: command stats for BRPOP (2 ms) -[ok]: command stats for MULTI (2 ms) -[ok]: command stats for scripts (2 ms) -[ok]: COMMAND COUNT get total number of commands (0 ms) -[ok]: COMMAND GETKEYS GET (1 ms) -[ok]: COMMAND GETKEYSANDFLAGS (1 ms) -[ok]: COMMAND GETKEYS MEMORY USAGE (0 ms) -[ok]: COMMAND GETKEYS XGROUP (0 ms) -[ok]: COMMAND GETKEYS EVAL with keys (1 ms) -[ok]: COMMAND GETKEYS EVAL without keys (0 ms) -[ok]: COMMAND GETKEYS LCS (0 ms) -[ok]: COMMAND GETKEYS MORE THAN 256 KEYS (3 ms) -[ok]: COMMAND LIST syntax error (1 ms) -[ok]: COMMAND LIST WITHOUT FILTERBY (3 ms) -[ok]: COMMAND LIST FILTERBY ACLCAT against non existing category (0 ms) -[ok]: COMMAND LIST FILTERBY ACLCAT - list all commands/subcommands (0 ms) -[ok]: COMMAND LIST FILTERBY PATTERN - list all commands/subcommands (1 ms) -[ok]: COMMAND LIST FILTERBY MODULE against non existing module (0 ms) -[ok]: COMMAND INFO of invalid subcommands (1 ms) -[ok]: SET command will not be marked with movablekeys (0 ms) -[ok]: GET command will not be marked with movablekeys (0 ms) -[ok]: MSET command will not be marked with movablekeys (0 ms) -[ok]: BITFIELD command will not be marked with movablekeys (0 ms) -[ok]: LMOVE command will not be marked with movablekeys (1 ms) -[ok]: LPOP command will not be marked with movablekeys (0 ms) -[ok]: BLPOP command will not be marked with movablekeys (1 ms) -[ok]: PING command will not be marked with movablekeys (0 ms) -[ok]: MEMORY command will not be marked with movablekeys (1 ms) -[ok]: MEMORY|USAGE command will not be marked with movablekeys (0 ms) -[ok]: RENAME command will not be marked with movablekeys (1 ms) -[ok]: GEORADIUS_RO command will not be marked with movablekeys (0 ms) -[ok]: ZUNIONSTORE command is marked with movablekeys (1 ms) -[ok]: XREAD command is marked with movablekeys (0 ms) -[ok]: EVAL command is marked with movablekeys (0 ms) -[ok]: SORT command is marked with movablekeys (1 ms) -[ok]: SORT_RO command is marked with movablekeys (0 ms) -[ok]: MIGRATE command is marked with movablekeys (0 ms) -[ok]: GEORADIUS command is marked with movablekeys (1 ms) -[24/128 done]: unit/introspection-2 (11 seconds) -Testing unit/expire -=== (expire) Starting server on 127.0.0.1:21362 ok -[ok]: EXPIRE - set timeouts multiple times (1 ms) -[ok]: EXPIRE - It should be still possible to read 'x' (0 ms) -[ok]: EXPIRE - After 2.1 seconds the key should no longer be here (2102 ms) -[ok]: EXPIRE - write on expire should work (1 ms) -[ok]: EXPIREAT - Check for EXPIRE alike behavior (1 ms) -[ok]: SETEX - Set + Expire combo operation. Check for TTL (0 ms) -[ok]: SETEX - Check value (0 ms) -[ok]: SETEX - Overwrite old key (0 ms) -[ok]: SETEX - Wait for the key to expire (1101 ms) -[ok]: SETEX - Wrong time parameter (0 ms) -[ok]: PERSIST can undo an EXPIRE (2 ms) -[ok]: PERSIST returns 0 against non existing or non volatile keys (0 ms) -millisecond expire test attempts: 0 -[ok]: EXPIRE precision is now the millisecond (1104 ms) -PSETEX sub-second expire test attempts: 0 -[ok]: PSETEX can set sub-second expires (102 ms) -PEXPIRE sub-second expire test attempts: 0 -[ok]: PEXPIRE can set sub-second expires (103 ms) -PEXPIREAT sub-second expire test attempts: 0 -[ok]: PEXPIREAT can set sub-second expires (204 ms) -[ok]: EXPIRE / EXPIREAT / PEXPIRE / PEXPIREAT Expiration time is already expired (3 ms) -[ok]: TTL returns time to live in seconds (1 ms) -[ok]: PTTL returns time to live in milliseconds (1 ms) -[ok]: TTL / PTTL / EXPIRETIME / PEXPIRETIME return -1 if key has no expire (1 ms) -[ok]: TTL / PTTL / EXPIRETIME / PEXPIRETIME return -2 if key does not exit (0 ms) -[ok]: EXPIRETIME returns absolute expiration time in seconds (1 ms) -[ok]: PEXPIRETIME returns absolute expiration time in milliseconds (1 ms) -[ok]: Server should actively expire keys incrementally (607 ms) -[ok]: Server should lazy expire keys (1005 ms) -[ok]: EXPIRE should not resurrect keys (issue #1026) (1005 ms) -[ok]: 5 keys in, 5 keys out (1 ms) -[ok]: EXPIRE with empty string as TTL should report an error (1 ms) -[ok]: SET with EX with big integer should report an error (0 ms) -[ok]: SET with EX with smallest integer should report an error (0 ms) -[ok]: GETEX with big integer should report an error (0 ms) -[ok]: GETEX with smallest integer should report an error (0 ms) -[ok]: EXPIRE with big integer overflows when converted to milliseconds (1 ms) -[ok]: PEXPIRE with big integer overflow when basetime is added (0 ms) -[ok]: EXPIRE with big negative integer (1 ms) -[ok]: PEXPIREAT with big integer works (0 ms) -[ok]: PEXPIREAT with big negative integer works (1 ms) -=== (external:skip) Starting server on 127.0.0.1:21364 ok -[ok]: All time-to-live(TTL) in commands are propagated as absolute timestamp in milliseconds in AOF (2111 ms) -[ok]: All TTL in commands are propagated as absolute timestamp in replication stream (33 ms) -=== (needs:repl external:skip) Starting server on 127.0.0.1:21366 ok -[ok]: First server should have role slave after REPLICAOF (1 ms) -[ok]: For all replicated TTL-related commands, absolute expire times are identical on primary and replica (22 ms) +[21/128 done]: unit/scripting (28 seconds) +Testing unit/lazyfree +=== (lazyfree) Starting server on 127.0.0.1:21353 ok +[ok]: UNLINK can reclaim memory in background (239 ms) +[ok]: FLUSHDB ASYNC can reclaim memory in background (241 ms) +[ok]: lazy free a stream with all types of metadata (59 ms) +[ok]: lazy free a stream with deleted cgroup (1 ms) +[22/128 done]: unit/lazyfree (1 seconds) +Testing unit/protocol +=== (protocol network) Starting server on 127.0.0.1:21355 ok +[ok]: Handle an empty query (48 ms) +[ok]: Negative multibulk length (48 ms) +[ok]: Out of range multibulk length (5 ms) +[ok]: Wrong multibulk payload header (6 ms) +[ok]: Negative multibulk payload length (5 ms) +[ok]: Out of range multibulk payload length (4 ms) +[ok]: Non-number multibulk payload length (6 ms) +[ok]: Multi bulk request not followed by bulk arguments (4 ms) +[ok]: Generic wrong number of args (4 ms) +[ok]: Unbalanced number of quotes (6 ms) +[ok]: Protocol desync regression test #1 (5 ms) +[ok]: Protocol desync regression test #2 (5 ms) +[ok]: Protocol desync regression test #3 (4 ms) +[ok]: Protocol desync regression test #4 (4 ms) +[ok]: raw protocol response (0 ms) +[ok]: raw protocol response - deferred (0 ms) +[ok]: raw protocol response - multiline (0 ms) +[ok]: RESP3 attributes (0 ms) +[ok]: RESP3 attributes readraw (0 ms) +[ok]: RESP3 attributes on RESP2 (1 ms) +[ok]: test big number parsing (0 ms) +[ok]: test bool parsing (0 ms) +[ok]: test verbatim str parsing (1 ms) +[ok]: test large number of args (16 ms) +[ok]: test argument rewriting - issue 9598 (0 ms) +=== (protocol hello logreqres:skip) Starting server on 127.0.0.1:21357 ok +[ok]: HELLO without protover (1 ms) +[ok]: HELLO and availability-zone (1 ms) +=== (regression) Starting server on 127.0.0.1:21359 ok +[ok]: Regression for a crash with blocking ops and pipelining (5 ms) +[23/128 done]: unit/protocol (0 seconds) +Testing unit/bitops +=== (bitops) Starting server on 127.0.0.1:21361 ok +[ok]: BITCOUNT against wrong type (1 ms) +[ok]: BITCOUNT returns 0 against non existing key (0 ms) +[ok]: BITCOUNT returns 0 with out of range indexes (0 ms) +[ok]: BITCOUNT returns 0 with negative indexes where start > end (0 ms) +[ok]: BITCOUNT against test vector #1 (0 ms) +[ok]: BITCOUNT against test vector #2 (0 ms) +[ok]: BITCOUNT against test vector #3 (0 ms) +[ok]: BITCOUNT against test vector #4 (0 ms) +[ok]: BITCOUNT against test vector #5 (1 ms) +[ok]: BITCOUNT fuzzing without start/end (162 ms) +[ok]: BITCOUNT fuzzing with start/end (241 ms) +[ok]: BITCOUNT with just start (1 ms) +[ok]: BITCOUNT with start, end (1 ms) +[ok]: BITCOUNT with illegal arguments (1 ms) +[ok]: BITCOUNT against non-integer value (0 ms) +[ok]: BITCOUNT regression test for github issue #582 (0 ms) +[ok]: BITCOUNT misaligned prefix (1 ms) +[ok]: BITCOUNT misaligned prefix + full words + remainder (0 ms) +[ok]: BITOP NOT (empty string) (0 ms) +[ok]: BITOP NOT (known string) (0 ms) +[ok]: BITOP where dest and target are the same key (0 ms) +[ok]: BITOP AND|OR|XOR don't change the string with single input key (1 ms) +[ok]: BITOP missing key is considered a stream of zero (0 ms) +[ok]: BITOP shorter keys are zero-padded to the key with max length (1 ms) +[ok]: BITOP and fuzzing (99 ms) +[ok]: BITOP or fuzzing (108 ms) +[ok]: BITOP xor fuzzing (96 ms) +[ok]: BITOP NOT fuzzing (13 ms) +[ok]: BITOP with integer encoded source objects (0 ms) +[ok]: BITOP with non string source key (1 ms) +[ok]: BITOP with empty string after non empty string (issue #529) (0 ms) +[ok]: BITPOS against wrong type (0 ms) +[ok]: BITPOS will illegal arguments (1 ms) +[ok]: BITPOS against non-integer value (0 ms) +[ok]: BITPOS bit=0 with empty key returns 0 (1 ms) +[ok]: BITPOS bit=1 with empty key returns -1 (0 ms) +[ok]: BITPOS bit=0 with string less than 1 word works (0 ms) +[ok]: BITPOS bit=1 with string less than 1 word works (1 ms) +[ok]: BITPOS bit=0 starting at unaligned address (0 ms) +[ok]: BITPOS bit=1 starting at unaligned address (0 ms) +[ok]: BITPOS bit=0 unaligned+full word+reminder (2 ms) +[ok]: BITPOS bit=1 unaligned+full word+reminder (1 ms) +[ok]: BITPOS bit=1 returns -1 if string is all 0 bits (4 ms) +[ok]: BITPOS bit=0 works with intervals (1 ms) +[ok]: BITPOS bit=1 works with intervals (0 ms) +[ok]: BITPOS bit=0 changes behavior if end is given (1 ms) +[ok]: SETBIT/BITFIELD only increase dirty when the value changed (2 ms) +[ok]: BITPOS bit=1 fuzzy testing using SETBIT (172 ms) +[ok]: BITPOS bit=0 fuzzy testing using SETBIT (178 ms) +[ok]: BITPOS/BITCOUNT fuzzy testing using SETBIT (187 ms) +[ignore]: large memory flag not provided +[24/128 done]: unit/bitops (2 seconds) +Testing unit/wait +=== (wait network external:skip) Starting server on 127.0.0.1:21363 ok +=== () Starting server on 127.0.0.1:21365 ok +[ok]: Setup slave (208 ms) +[ok]: WAIT out of range timeout (milliseconds) (0 ms) +[ok]: WAIT should acknowledge 1 additional copy of the data (0 ms) +[ok]: WAIT should not acknowledge 2 additional copies of the data (1052 ms) +[ok]: WAIT should not acknowledge 1 additional copy if slave is blocked (1109 ms) +[ok]: WAIT implicitly blocks on client pause since ACKs aren't sent (1107 ms) +[ok]: WAIT replica multiple clients unblock - reuse last result (21 ms) +=== () Starting server on 127.0.0.1:21367 ok +[ok]: Setup a new replica (113 ms) +[ok]: WAIT in script will work (824 ms) +=== () Starting server on 127.0.0.1:21369 ok +[ok]: WAITAOF local copy before fsync (90 ms) +[ok]: WAITAOF local copy everysec (302 ms) +[ok]: WAITAOF local copy with appendfsync always (355 ms) +[ok]: WAITAOF local wait and then stop aof (200 ms) +[ok]: WAITAOF local on server with aof disabled (0 ms) +[ok]: WAITAOF local if AOFRW was postponed (768 ms) +=== () Starting server on 127.0.0.1:21371 ok +[ok]: WAITAOF on demoted master gets unblocked with an error (6 ms) +[ok]: WAITAOF replica copy before fsync (329 ms) +[ok]: WAITAOF replica copy everysec (607 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 (266 ms) -[ok]: SET command will remove expire (1 ms) -[ok]: SET - use KEEPTTL option, TTL should not be removed (1 ms) -[ok]: SET - use KEEPTTL option, TTL should not be removed after loadaof (2007 ms) -[ok]: GETEX use of PERSIST option should remove TTL (1 ms) -[ok]: GETEX use of PERSIST option should remove TTL after loadaof (1 ms) -[ok]: GETEX propagate as to replica as PERSIST, UNLINK, or nothing (70 ms) -[ok]: EXPIRE with NX option on a key with ttl (0 ms) -[ok]: EXPIRE with NX option on a key without ttl (1 ms) -[ok]: EXPIRE with XX option on a key with ttl (0 ms) -[ok]: EXPIRE with XX option on a key without ttl (0 ms) -[ok]: EXPIRE with GT option on a key with lower ttl (1 ms) -[ok]: EXPIRE with GT option on a key with higher ttl (0 ms) -[ok]: EXPIRE with GT option on a key without ttl (1 ms) -[ok]: EXPIRE with LT option on a key with higher ttl (0 ms) -[ok]: EXPIRE with LT option on a key with lower ttl (1 ms) -[ok]: EXPIRE with LT option on a key without ttl (0 ms) -[ok]: EXPIRE with LT and XX option on a key with ttl (1 ms) -[ok]: EXPIRE with LT and XX option on a key without ttl (0 ms) -[ok]: EXPIRE with conflicting options: LT GT (0 ms) -[ok]: EXPIRE with conflicting options: NX GT (0 ms) -[ok]: EXPIRE with conflicting options: NX LT (0 ms) -[ok]: EXPIRE with conflicting options: NX XX (0 ms) -[ok]: EXPIRE with unsupported options (1 ms) -[ok]: EXPIRE with unsupported options (0 ms) -[ok]: EXPIRE with negative expiry (0 ms) -[ok]: EXPIRE with negative expiry on a non-valitale key (1 ms) -[ok]: EXPIRE with non-existed key (0 ms) -[ok]: Server should not propagate the read command on lazy expire (90 ms) -[ok]: SCAN: Lazy-expire should not be wrapped in MULTI/EXEC (101 ms) -[ok]: RANDOMKEY: Lazy-expire should not be wrapped in MULTI/EXEC (102 ms) -[ok]: import-source can be closed when import-mode is off (2 ms) -[ok]: Import mode should forbid active expiration (112 ms) -[ok]: Import mode should forbid lazy expiration (12 ms) -[ok]: Client can visit expired key in import-source state (114 ms) -=== (expire external:skip cluster) Starting server on 127.0.0.1:21368 ok -[ok]: expire scan should skip dictionaries with lot's of empty buckets (953 ms) -[25/128 done]: unit/expire (16 seconds) -Testing unit/keyspace -=== (keyspace) Starting server on 127.0.0.1:21370 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 (1 ms) -[ok]: KEYS to get all keys (0 ms) -[ok]: DBSIZE (0 ms) -[ok]: KEYS with hashtag (2 ms) -[ok]: DEL all keys (3 ms) -[ok]: KEYS with empty DB (0 ms) -[ok]: DEL against expired key (1102 ms) -[ok]: EXISTS (1 ms) -[ok]: Zero length value in key. SET/GET/EXISTS (1 ms) -[ok]: Commands pipelining (0 ms) -[ok]: Non existing command (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 (1 ms) -[ok]: RENAMENX against already existing key (2) (0 ms) -[ok]: RENAME against non existing source key (0 ms) -[ok]: RENAME where source and dest key are the same (existing) (0 ms) -[ok]: RENAMENX where source and dest key are the same (existing) (0 ms) -[ok]: RENAME where source and dest key are the same (non existing) (1 ms) -[ok]: RENAME with volatile key, should move the TTL as well (1 ms) -[ok]: RENAME with volatile key, should not inherit TTL of target key (1 ms) -[ok]: DEL all keys again (DB 0) (1 ms) -[ok]: DEL all keys again (DB 1) (0 ms) -[ok]: COPY basic usage for string (2 ms) -[ok]: COPY for string does not replace an existing key without REPLACE option (0 ms) -[ok]: COPY for string can replace an existing key with REPLACE option (1 ms) -[ok]: COPY for string ensures that copied data is independent of copying data (2 ms) -[ok]: COPY for string does not copy data to no-integer DB (0 ms) -[ok]: COPY can copy key expire metadata as well (1 ms) -[ok]: COPY does not create an expire if it does not exist (1 ms) -[ok]: COPY basic usage for list - quicklist (43 ms) -[ok]: COPY basic usage for list - listpack (1 ms) -[ok]: COPY basic usage for $type set (1 ms) -[ok]: COPY basic usage for $type set (2 ms) -[ok]: COPY basic usage for $type set (27 ms) -[ok]: COPY basic usage for listpack sorted set (2 ms) -[ok]: COPY basic usage for skiplist sorted set (18 ms) -[ok]: COPY basic usage for listpack hash (2 ms) -[ok]: COPY basic usage for hashtable hash (17 ms) -[ok]: COPY basic usage for stream (150 ms) -[ok]: COPY basic usage for stream-cgroups (8 ms) -[ok]: MOVE basic usage (1 ms) -[ok]: MOVE against key existing in the target DB (1 ms) -[ok]: MOVE against non-integer DB (#1428) (0 ms) -[ok]: MOVE can move key expire metadata as well (2 ms) -[ok]: MOVE does not create an expire if it does not exist (2 ms) -[ok]: SET/GET keys in different DBs (1 ms) -[ok]: RANDOMKEY (13 ms) -[ok]: RANDOMKEY against empty DB (1 ms) -[ok]: RANDOMKEY regression 1 (0 ms) -[ok]: KEYS * two times with long key, Github issue #1208 (1 ms) -[ok]: Regression for pattern matching long nested loops (0 ms) -[ok]: Coverage: basic SWAPDB test and unhappy path (2 ms) -[ok]: Coverage: SWAPDB and FLUSHDB (3 ms) -[ok]: Regression for pattern matching very long nested loops (43 ms) -=== (keyspace external:skip cluster) Starting server on 127.0.0.1:21372 ok -[ok]: KEYS with empty DB in cluster mode (0 ms) -[ok]: KEYS with empty slot in cluster mode (0 ms) -[26/128 done]: unit/keyspace (4 seconds) -Testing unit/tracking -=== (tracking network logreqres:skip) Starting server on 127.0.0.1:21374 ok -[ok]: Clients are able to enable tracking and redirect it (0 ms) -[ok]: The other connection is able to get invalidations (0 ms) -[ok]: The client is now able to disable tracking (1 ms) -[ok]: Clients can enable the BCAST mode with the empty prefix (0 ms) -[ok]: The connection gets invalidation messages about all the keys (0 ms) -[ok]: Clients can enable the BCAST mode with prefixes (2 ms) -[ok]: Adding prefixes to BCAST mode works (0 ms) -[ok]: Tracking NOLOOP mode in standard mode works (1 ms) -[ok]: Tracking NOLOOP mode in BCAST mode works (1 ms) -[ok]: Tracking gets notification of expired keys (1004 ms) -[ok]: Tracking gets notification of lazy expired keys (102 ms) -[ok]: HELLO 3 reply is correct (0 ms) -[ok]: RESP3 based basic invalidation (2 ms) -[ok]: RESP3 tracking redirection (0 ms) -[ok]: Invalidations of previous keys can be redirected after switching to RESP3 (1 ms) -[ok]: Invalidations of new keys can be redirected after switching to RESP3 (1 ms) -[ok]: Invalid keys should not be tracked for scripts in NOLOOP mode (2 ms) -[ok]: Tracking only occurs for scripts when a command calls a read-only command (3 ms) -[ok]: RESP3 Client gets tracking-redir-broken push message after cached key changed when rediretion client is terminated (10 ms) -[ok]: Different clients can redirect to the same connection (2 ms) -[ok]: Different clients using different protocols can track the same key (1 ms) -[ok]: No invalidation message when using OPTIN option (2 ms) -[ok]: Invalidation message sent when using OPTIN option with CLIENT CACHING yes (1 ms) -[ok]: Invalidation message sent when using OPTOUT option (1 ms) -[ok]: No invalidation message when using OPTOUT option with CLIENT CACHING no (1 ms) -[ok]: Able to redirect to a RESP3 client (2 ms) -[ok]: After switching from normal tracking to BCAST mode, no invalidation message is produced for pre-BCAST keys (1 ms) -[ok]: BCAST with prefix collisions throw errors (10 ms) -[ok]: hdel deliver invalidate message after response in the same connection (2 ms) -[ok]: Tracking invalidation message is not interleaved with multiple keys response (113 ms) -[ok]: Tracking invalidation message is not interleaved with transaction response (2 ms) -[ok]: Tracking invalidation message of eviction keys should be before response (4 ms) -[ok]: Unblocked BLMOVE gets notification after response (2 ms) -[ok]: Tracking gets notification on tracking table key eviction (37 ms) -[ok]: Invalidation message received for flushall (19 ms) -[ok]: Invalidation message received for flushdb (16 ms) -[ok]: Test ASYNC flushall (15 ms) -[ok]: flushdb tracking invalidation message is not interleaved with transaction response (15 ms) -[ok]: Server is able to evacuate enough keys when num of keys surpasses limit by more than defined initial effort (242 ms) -[ok]: Tracking info is correct (18 ms) -[ok]: CLIENT GETREDIR provides correct client id (1 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking off (0 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on (0 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on with options (1 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optin (1 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optout (0 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking bcast mode (1 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking redir broken (17 ms) -[ok]: Regression test for #11715 (18 ms) -[ok]: RESP3 based basic invalidation with client reply off (20 ms) -[ok]: RESP2 based basic invalidation with client reply off (62 ms) -[ok]: RESP3 based basic redirect invalidation with client reply off (29 ms) -[ok]: RESP3 based basic tracking-redir-broken with client reply off (17 ms) -=== (tracking network) Starting server on 127.0.0.1:21376 ok -[ok]: CLIENT TRACKINGINFO when start (1 ms) -[ok]: Coverage: Basic CLIENT CACHING (7 ms) -[ok]: Coverage: Basic CLIENT REPLY (0 ms) -[ok]: Coverage: Basic CLIENT TRACKINGINFO (0 ms) -[ok]: Coverage: Basic CLIENT GETREDIR (0 ms) -[27/128 done]: unit/tracking (3 seconds) +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 AOFRW (1356 ms) + +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +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 (2256 ms) + +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: WAITAOF replica copy everysec->always with AOFRW (986 ms) +[ok]: WAITAOF replica copy appendfsync always (300 ms) +[ok]: WAITAOF replica copy if replica is blocked (303 ms) +[ok]: WAITAOF replica multiple clients unblock - reuse last result (104 ms) +[ok]: WAITAOF on promoted replica (0 ms) +[ok]: WAITAOF master that loses a replica and backlog is dropped (2070 ms) +[ok]: WAITAOF master without backlog, wait is released when the replica finishes full-sync (1422 ms) +[ok]: WAITAOF master isn't configured to do AOF (1007 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]: WAITAOF replica isn't configured to do AOF (594 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]: WAITAOF both local and replica got AOF enabled at runtime (474 ms) +[ok]: WAITAOF master sends PING after last write (1236 ms) +[ok]: WAITAOF master client didn't send any write command (1208 ms) +[ok]: WAITAOF master client didn't send any command (1203 ms) +=== () Starting server on 127.0.0.1:21373 ok +=== () Starting server on 127.0.0.1:21375 ok +[ok]: WAITAOF when replica switches between masters, fsync: no (3622 ms) +=== () Starting server on 127.0.0.1:21377 ok +=== () Starting server on 127.0.0.1:21379 ok +[ok]: WAITAOF when replica switches between masters, fsync: everysec (2544 ms) +=== () Starting server on 127.0.0.1:21381 ok +=== () Starting server on 127.0.0.1:21383 ok +[ok]: WAITAOF when replica switches between masters, fsync: always (1884 ms) +=== (failover external:skip) Starting server on 127.0.0.1:21385 ok +=== () Starting server on 127.0.0.1:21387 ok +=== () Starting server on 127.0.0.1:21389 ok +[ok]: setup replication for following tests (249 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]: WAIT and WAITAOF replica multiple clients unblock - reuse last result (1151 ms) +Waiting for process 586233 to exit... +[25/128 done]: unit/wait (36 seconds) Testing unit/functions -=== (scripting) Starting server on 127.0.0.1:21378 ok +=== (scripting) Starting server on 127.0.0.1:21391 ok [ok]: FUNCTION - Basic usage (0 ms) -[ok]: FUNCTION - Load with unknown argument (1 ms) -[ok]: FUNCTION - Create an already exiting library raise error (0 ms) +[ok]: FUNCTION - Load with unknown argument (0 ms) +[ok]: FUNCTION - Create an already exiting library raise error (1 ms) [ok]: FUNCTION - Create an already exiting library raise error (case insensitive) (0 ms) -[ok]: FUNCTION - Create a library with wrong name format (1 ms) +[ok]: FUNCTION - Create a library with wrong name format (0 ms) [ok]: FUNCTION - Create library with unexisting engine (0 ms) -[ok]: FUNCTION - Test uncompiled script (1 ms) -[ok]: FUNCTION - test replace argument (0 ms) +[ok]: FUNCTION - Test uncompiled script (0 ms) +[ok]: FUNCTION - test replace argument (1 ms) [ok]: FUNCTION - test function case insensitive (0 ms) [ok]: FUNCTION - test replace argument with failure keeps old libraries (0 ms) [ok]: FUNCTION - test function delete (0 ms) @@ -2481,392 +2416,684 @@ [ok]: FUNCTION - test delete on not exiting library (0 ms) [ok]: FUNCTION - test function kill when function is not running (0 ms) [ok]: FUNCTION - test wrong subcommand (0 ms) -[ok]: FUNCTION - test loading from rdb (10 ms) -[ok]: FUNCTION - test debug reload different options (16 ms) -[ok]: FUNCTION - test debug reload with nosave and noflush (8 ms) +[ok]: FUNCTION - test loading from rdb (69 ms) +[ok]: FUNCTION - test debug reload different options (183 ms) +[ok]: FUNCTION - test debug reload with nosave and noflush (43 ms) [ok]: FUNCTION - test flushall and flushdb do not clean functions (1 ms) -[ok]: FUNCTION - test function dump and restore (1 ms) -[ok]: FUNCTION - test function dump and restore with flush argument (0 ms) -[ok]: FUNCTION - test function dump and restore with append argument (2 ms) +[ok]: FUNCTION - test function dump and restore (0 ms) +[ok]: FUNCTION - test function dump and restore with flush argument (1 ms) +[ok]: FUNCTION - test function dump and restore with append argument (0 ms) [ok]: FUNCTION - test function dump and restore with replace argument (1 ms) -[ok]: FUNCTION - test function restore with bad payload do not drop existing functions (1 ms) +[ok]: FUNCTION - test function restore with bad payload do not drop existing functions (0 ms) [ok]: FUNCTION - test function restore with wrong number of arguments (0 ms) [ok]: FUNCTION - test fcall_ro with write command (1 ms) [ok]: FUNCTION - test fcall_ro with read only commands (0 ms) [ok]: FUNCTION - test keys and argv (0 ms) [ok]: FUNCTION - test command get keys on fcall (0 ms) -[ok]: FUNCTION - test command get keys on fcall_ro (1 ms) -[ok]: FUNCTION - test function kill (412 ms) -[ok]: FUNCTION - test script kill not working on function (413 ms) -[ok]: FUNCTION - test function kill not working on eval (413 ms) +[ok]: FUNCTION - test command get keys on fcall_ro (0 ms) +[ok]: FUNCTION - test function kill (411 ms) +[ok]: FUNCTION - test script kill not working on function (410 ms) +[ok]: FUNCTION - test function kill not working on eval (408 ms) [ok]: FUNCTION - test function flush (2 ms) [ok]: FUNCTION - test function wrong argument (0 ms) -=== (scripting repl external:skip) Starting server on 127.0.0.1:21380 ok -=== () Starting server on 127.0.0.1:21382 ok -[ok]: Connect a replica to the master instance (103 ms) +=== (scripting repl external:skip) Starting server on 127.0.0.1:21393 ok +=== () Starting server on 127.0.0.1:21395 ok +[ok]: Connect a replica to the master instance (102 ms) [ok]: FUNCTION - creation is replicated to replica (1 ms) [ok]: FUNCTION - call on replica (0 ms) -[ok]: FUNCTION - restore is replicated to replica (2 ms) +[ok]: FUNCTION - restore is replicated to replica (1 ms) [ok]: FUNCTION - delete is replicated to replica (0 ms) [ok]: FUNCTION - flush is replicated to replica (1 ms) [ok]: Disconnecting the replica from master instance (105 ms) [ok]: FUNCTION - test replication to replica on rdb phase (0 ms) -[ok]: FUNCTION - test replication to replica on rdb phase info command (1 ms) +[ok]: FUNCTION - test replication to replica on rdb phase info command (0 ms) [ok]: FUNCTION - create on read only replica (0 ms) -[ok]: FUNCTION - delete on read only replica (1 ms) -[ok]: FUNCTION - function effect is replicated to replica (1 ms) -[ok]: FUNCTION - modify key space of read only replica (0 ms) -=== () Starting server on 127.0.0.1:21384 ok +[ok]: FUNCTION - delete on read only replica (0 ms) +[ok]: FUNCTION - function effect is replicated to replica (0 ms) +[ok]: FUNCTION - modify key space of read only replica (1 ms) +=== () Starting server on 127.0.0.1:21397 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 (396 ms) -=== (scripting) Starting server on 127.0.0.1:21386 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 (353 ms) +=== (scripting) Starting server on 127.0.0.1:21399 ok [ok]: LIBRARIES - test shared function can access default globals (0 ms) [ok]: LIBRARIES - usage and code sharing (1 ms) -[ok]: LIBRARIES - test registration failure revert the entire load (1 ms) -[ok]: LIBRARIES - test registration function name collision (0 ms) -[ok]: LIBRARIES - test registration function name collision on same library (1 ms) +[ok]: LIBRARIES - test registration failure revert the entire load (0 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 (0 ms) [ok]: LIBRARIES - test registration with only name (0 ms) -[ok]: LIBRARIES - test registration with to many arguments (1 ms) +[ok]: LIBRARIES - test registration with to many arguments (0 ms) [ok]: LIBRARIES - test registration with no string name (0 ms) [ok]: LIBRARIES - test registration with wrong name format (0 ms) [ok]: LIBRARIES - test registration with empty name (0 ms) [ok]: LIBRARIES - math.random from function load (0 ms) [ok]: LIBRARIES - redis.call from function load (0 ms) [ok]: LIBRARIES - redis.setresp from function load (0 ms) -[ok]: LIBRARIES - redis.set_repl from function load (1 ms) -[ok]: LIBRARIES - redis.acl_check_cmd from function load (0 ms) -[ok]: LIBRARIES - malicious access test (1 ms) +[ok]: LIBRARIES - redis.set_repl from function load (0 ms) +[ok]: LIBRARIES - redis.acl_check_cmd from function load (1 ms) +[ok]: LIBRARIES - malicious access test (0 ms) [ok]: LIBRARIES - delete removed all functions on library (0 ms) [ok]: LIBRARIES - register function inside a function (0 ms) [ok]: LIBRARIES - register library with no functions (1 ms) -[ok]: LIBRARIES - load timeout (502 ms) -[ok]: LIBRARIES - verify global protection on the load run (0 ms) -[ok]: LIBRARIES - named arguments (1 ms) +[ok]: LIBRARIES - load timeout (501 ms) +[ok]: LIBRARIES - verify global protection on the load run (1 ms) +[ok]: LIBRARIES - named arguments (0 ms) [ok]: LIBRARIES - named arguments, bad function name (0 ms) -[ok]: LIBRARIES - named arguments, bad callback type (0 ms) +[ok]: LIBRARIES - named arguments, bad callback type (1 ms) [ok]: LIBRARIES - named arguments, bad description (0 ms) -[ok]: LIBRARIES - named arguments, unknown argument (1 ms) +[ok]: LIBRARIES - named arguments, unknown argument (0 ms) [ok]: LIBRARIES - named arguments, missing function name (0 ms) [ok]: LIBRARIES - named arguments, missing callback (1 ms) [ok]: FUNCTION - test function restore with function name collision (3 ms) -[ok]: FUNCTION - test function list with code (1 ms) +[ok]: FUNCTION - test function list with code (0 ms) [ok]: FUNCTION - test function list with pattern (1 ms) [ok]: FUNCTION - test function list wrong argument (0 ms) [ok]: FUNCTION - test function list with bad argument to library name (0 ms) -[ok]: FUNCTION - test function list withcode multiple times (1 ms) -[ok]: FUNCTION - test function list libraryname multiple times (0 ms) -[ok]: FUNCTION - verify OOM on function load and function restore (2 ms) -[ok]: FUNCTION - verify allow-omm allows running any command (1 ms) -=== (scripting) Starting server on 127.0.0.1:21388 ok -[ok]: FUNCTION - wrong flags type named arguments (0 ms) +[ok]: FUNCTION - test function list withcode multiple times (0 ms) +[ok]: FUNCTION - test function list libraryname multiple times (1 ms) +[ok]: FUNCTION - verify OOM on function load and function restore (1 ms) +[ok]: FUNCTION - verify allow-omm allows running any command (2 ms) +=== (scripting) Starting server on 127.0.0.1:21401 ok +[ok]: FUNCTION - wrong flags type named arguments (1 ms) [ok]: FUNCTION - wrong flag type (0 ms) -[ok]: FUNCTION - unknown flag (1 ms) -[ok]: FUNCTION - write script on fcall_ro (0 ms) -[ok]: FUNCTION - write script with no-writes flag (1 ms) -[ok]: FUNCTION - deny oom (1 ms) -[ok]: FUNCTION - deny oom on no-writes function (1 ms) -[ok]: FUNCTION - allow stale (2 ms) -[ok]: FUNCTION - valkey version api (1 ms) +[ok]: FUNCTION - unknown flag (0 ms) +[ok]: FUNCTION - write script on fcall_ro (1 ms) +[ok]: FUNCTION - write script with no-writes flag (0 ms) +[ok]: FUNCTION - deny oom (0 ms) +[ok]: FUNCTION - deny oom on no-writes function (0 ms) +[ok]: FUNCTION - allow stale (3 ms) +[ok]: FUNCTION - valkey version api (0 ms) [ok]: FUNCTION - function stats (1 ms) -[ok]: FUNCTION - function stats reloaded correctly from rdb (10 ms) -[ok]: FUNCTION - function stats delete library (0 ms) +[ok]: FUNCTION - function stats reloaded correctly from rdb (9 ms) +[ok]: FUNCTION - function stats delete library (1 ms) [ok]: FUNCTION - test function stats on loading failure (1 ms) -[ok]: FUNCTION - function stats cleaned after flush (1 ms) +[ok]: FUNCTION - function stats cleaned after flush (0 ms) [ok]: FUNCTION - function test empty engine (0 ms) [ok]: FUNCTION - function test unknown metadata value (0 ms) [ok]: FUNCTION - function test no name (1 ms) [ok]: FUNCTION - function test multiple names (0 ms) [ok]: FUNCTION - function test name with quotes (0 ms) -[ok]: FUNCTION - trick global protection 1 (1 ms) -[ok]: FUNCTION - test getmetatable on script load (1 ms) -[28/128 done]: unit/functions (4 seconds) +[ok]: FUNCTION - trick global protection 1 (0 ms) +[ok]: FUNCTION - test getmetatable on script load (0 ms) +[26/128 done]: unit/functions (4 seconds) +Testing unit/commandlog +=== (commandlog) Starting server on 127.0.0.1:21403 ok +[ok]: COMMANDLOG - check that it starts with an empty log (0 ms) +[ok]: COMMANDLOG - only logs commands exceeding the threshold (202 ms) +[ok]: COMMANDLOG - zero max length is correctly handled (7 ms) +[ok]: COMMANDLOG - max entries is correctly handled (6 ms) +[ok]: COMMANDLOG - GET optional argument to limit output len works (3 ms) +[ok]: COMMANDLOG - RESET subcommand works (0 ms) +[ok]: COMMANDLOG - logged entry sanity check (202 ms) +[ok]: COMMANDLOG slow - Certain commands are omitted that contain sensitive information (2 ms) +[ok]: COMMANDLOG slow - Some commands can redact sensitive fields (0 ms) +[ok]: COMMANDLOG slow - Rewritten commands are logged as their original command (7 ms) +[ok]: COMMANDLOG slow - commands with too many arguments are trimmed (0 ms) +[ok]: COMMANDLOG slow - too long arguments are trimmed (0 ms) +[ok]: COMMANDLOG slow - EXEC is not logged, just executed commands (202 ms) +[ok]: COMMANDLOG slow - can clean older entries (201 ms) +[ok]: COMMANDLOG slow - can be disabled (403 ms) +[ok]: COMMANDLOG slow - count must be >= -1 (0 ms) +[ok]: COMMANDLOG slow - get all slow logs (1 ms) +[ok]: COMMANDLOG slow - blocking command is reported only after unblocked (7 ms) +[ok]: COMMANDLOG slow - the commands in script are recorded normally - is_eval: 0 (1 ms) +[ok]: COMMANDLOG slow - the commands in script are recorded normally - is_eval: 1 (1 ms) +[27/128 done]: unit/commandlog (1 seconds) +Testing unit/oom-score-adj +=== (oom-score-adj external:skip) Starting server on 127.0.0.1:21405 ok +[ok]: CONFIG SET oom-score-adj works as expected (12 ms) +[ok]: CONFIG SET oom-score-adj-values doesn't touch proc when disabled (1 ms) +[ok]: CONFIG SET oom score restored on disable (0 ms) +[ok]: CONFIG SET oom score relative and absolute (1 ms) +[ok]: CONFIG SET out-of-range oom score (0 ms) +[28/128 done]: unit/oom-score-adj (1 seconds) +Testing unit/introspection-2 +=== (introspection) Starting server on 127.0.0.1:21407 ok +[ok]: The microsecond part of the TIME command will not overflow (1 ms) +[ok]: TTL, TYPE and EXISTS do not alter the last access time of a key (3004 ms) +[ok]: TOUCH alters the last access time of a key (3005 ms) +[ok]: TOUCH alters the last access time of a key in no-touch mode (3006 ms) +[ok]: Operations in no-touch mode do not alter the last access time of a key (1102 ms) +[ok]: TOUCH returns the number of existing keys specified (1 ms) +[ok]: command stats for GEOADD (1 ms) +[ok]: errors stats for GEOADD (0 ms) +[ok]: command stats for EXPIRE (1 ms) +[ok]: command stats for BRPOP (1 ms) +[ok]: command stats for MULTI (2 ms) +[ok]: command stats for scripts (1 ms) +[ok]: COMMAND COUNT get total number of commands (0 ms) +[ok]: COMMAND GETKEYS GET (0 ms) +[ok]: COMMAND GETKEYSANDFLAGS (1 ms) +[ok]: COMMAND GETKEYS MEMORY USAGE (0 ms) +[ok]: COMMAND GETKEYS XGROUP (0 ms) +[ok]: COMMAND GETKEYS EVAL with keys (0 ms) +[ok]: COMMAND GETKEYS EVAL without keys (0 ms) +[ok]: COMMAND GETKEYS LCS (0 ms) +[ok]: COMMAND GETKEYS MORE THAN 256 KEYS (3 ms) +[ok]: COMMAND LIST syntax error (0 ms) +[ok]: COMMAND LIST WITHOUT FILTERBY (3 ms) +[ok]: COMMAND LIST FILTERBY ACLCAT against non existing category (0 ms) +[ok]: COMMAND LIST FILTERBY ACLCAT - list all commands/subcommands (1 ms) +[ok]: COMMAND LIST FILTERBY PATTERN - list all commands/subcommands (1 ms) +[ok]: COMMAND LIST FILTERBY MODULE against non existing module (0 ms) +[ok]: COMMAND INFO of invalid subcommands (0 ms) +[ok]: SET command will not be marked with movablekeys (0 ms) +[ok]: GET command will not be marked with movablekeys (1 ms) +[ok]: MSET command will not be marked with movablekeys (0 ms) +[ok]: BITFIELD command will not be marked with movablekeys (0 ms) +[ok]: LMOVE command will not be marked with movablekeys (0 ms) +[ok]: LPOP command will not be marked with movablekeys (1 ms) +[ok]: BLPOP command will not be marked with movablekeys (0 ms) +[ok]: PING command will not be marked with movablekeys (0 ms) +[ok]: MEMORY command will not be marked with movablekeys (0 ms) +[ok]: MEMORY|USAGE command will not be marked with movablekeys (1 ms) +[ok]: RENAME command will not be marked with movablekeys (0 ms) +[ok]: GEORADIUS_RO command will not be marked with movablekeys (0 ms) +[ok]: ZUNIONSTORE command is marked with movablekeys (0 ms) +[ok]: XREAD command is marked with movablekeys (0 ms) +[ok]: EVAL command is marked with movablekeys (0 ms) +[ok]: SORT command is marked with movablekeys (0 ms) +[ok]: SORT_RO command is marked with movablekeys (1 ms) +[ok]: MIGRATE command is marked with movablekeys (0 ms) +[ok]: GEORADIUS command is marked with movablekeys (0 ms) +[29/128 done]: unit/introspection-2 (10 seconds) Testing unit/acl -=== (acl external:skip) Starting server on 127.0.0.1:21390 ok +=== (acl external:skip) Starting server on 127.0.0.1:21409 ok [ok]: Connections start with the default user (0 ms) [ok]: It is possible to create new users (0 ms) [ok]: Coverage: ACL USERS (0 ms) [ok]: Usernames can not contain spaces or null characters (0 ms) [ok]: New users start disabled (1 ms) [ok]: Enabling the user allows the login (0 ms) -[ok]: Only the set of correct passwords work (1 ms) -[ok]: It is possible to remove passwords from the set of valid ones (0 ms) -[ok]: Test password hashes can be added (1 ms) +[ok]: Only the set of correct passwords work (0 ms) +[ok]: It is possible to remove passwords from the set of valid ones (1 ms) +[ok]: Test password hashes can be added (0 ms) [ok]: Test password hashes validate input (0 ms) -[ok]: ACL GETUSER returns the password hash instead of the actual password (0 ms) +[ok]: ACL GETUSER returns the password hash instead of the actual password (1 ms) [ok]: Test hashed passwords removal (0 ms) [ok]: By default users are not able to access any command (0 ms) [ok]: By default users are not able to access any key (1 ms) [ok]: It's possible to allow the access of a subset of keys (0 ms) -[ok]: By default, only default user is able to publish to any channel (0 ms) -[ok]: By default, only default user is not able to publish to any shard channel (1 ms) -[ok]: By default, only default user is able to subscribe to any channel (7 ms) -[ok]: By default, only default user is able to subscribe to any shard channel (9 ms) -[ok]: By default, only default user is able to subscribe to any pattern (9 ms) -[ok]: It's possible to allow publishing to a subset of channels (1 ms) -[ok]: It's possible to allow publishing to a subset of shard channels (0 ms) -[ok]: Validate subset of channels is prefixed with resetchannels flag (1 ms) -[ok]: In transaction queue publish/subscribe/psubscribe to unauthorized channel will fail (2 ms) -[ok]: It's possible to allow subscribing to a subset of channels (9 ms) -[ok]: It's possible to allow subscribing to a subset of shard channels (7 ms) -[ok]: It's possible to allow subscribing to a subset of channel patterns (7 ms) -[ok]: Subscribers are killed when revoked of channel permission (8 ms) -[ok]: Subscribers are killed when revoked of channel permission (8 ms) -[ok]: Subscribers are killed when revoked of pattern permission (8 ms) -[ok]: Subscribers are killed when revoked of allchannels permission (7 ms) -[ok]: Subscribers are pardoned if literal permissions are retained and/or gaining allchannels (8 ms) -[ok]: blocked command gets rejected when reprocessed after permission change (9 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 (0 ms) +[ok]: By default, only default user is able to subscribe to any channel (6 ms) +[ok]: By default, only default user is able to subscribe to any shard channel (7 ms) +[ok]: By default, only default user is able to subscribe to any pattern (7 ms) +[ok]: It's possible to allow publishing to a subset of channels (0 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 (0 ms) +[ok]: In transaction queue publish/subscribe/psubscribe to unauthorized channel will fail (0 ms) +[ok]: It's possible to allow subscribing to a subset of channels (7 ms) +[ok]: It's possible to allow subscribing to a subset of shard channels (5 ms) +[ok]: It's possible to allow subscribing to a subset of channel patterns (5 ms) +[ok]: Subscribers are killed when revoked of channel permission (5 ms) +[ok]: Subscribers are killed when revoked of channel permission (5 ms) +[ok]: Subscribers are killed when revoked of pattern permission (5 ms) +[ok]: Subscribers are killed when revoked of allchannels permission (5 ms) +[ok]: Subscribers are pardoned if literal permissions are retained and/or gaining allchannels (5 ms) +[ok]: blocked command gets rejected when reprocessed after permission change (6 ms) [ok]: Users can be configured to authenticate with any password (0 ms) -[ok]: ACLs can exclude single commands (1 ms) -[ok]: ACLs can include or exclude whole classes of commands (1 ms) +[ok]: ACLs can exclude single commands (0 ms) +[ok]: ACLs can include or exclude whole classes of commands (0 ms) [ok]: ACLs can include single subcommands (1 ms) [ok]: ACLs can exclude single subcommands, case 1 (0 ms) -[ok]: ACLs can exclude single subcommands, case 2 (0 ms) -[ok]: ACLs cannot include a subcommand with a specific arg (1 ms) -[ok]: ACLs cannot exclude or include a container commands with a specific arg (1 ms) +[ok]: ACLs can exclude single subcommands, case 2 (1 ms) +[ok]: ACLs cannot include a subcommand with a specific arg (0 ms) +[ok]: ACLs cannot exclude or include a container commands with a specific arg (0 ms) [ok]: ACLs cannot exclude or include a container command with two args (0 ms) -[ok]: ACLs including of a type includes also subcommands (1 ms) +[ok]: ACLs including of a type includes also subcommands (0 ms) [ok]: ACLs can block SELECT of all but a specific DB (1 ms) -[ok]: ACLs can block all DEBUG subcommands except one (1 ms) -[ok]: ACLs set can include subcommands, if already full command exists (1 ms) -[ok]: ACLs set can exclude subcommands, if already full command exists (3 ms) +[ok]: ACLs can block all DEBUG subcommands except one (0 ms) +[ok]: ACLs set can include subcommands, if already full command exists (0 ms) +[ok]: ACLs set can exclude subcommands, if already full command exists (2 ms) [ok]: ACL SETUSER RESET reverting to default newly created user (1 ms) -[ok]: ACL GETUSER is able to translate back command permissions (1 ms) -[ok]: ACL GETUSER provides reasonable results (15 ms) -[ok]: ACL GETUSER provides correct results (5 ms) +[ok]: ACL GETUSER is able to translate back command permissions (0 ms) +[ok]: ACL GETUSER provides reasonable results (8 ms) +[ok]: ACL GETUSER provides correct results (2 ms) [ok]: ACL CAT with illegal arguments (0 ms) -[ok]: ACL CAT without category - list all categories (0 ms) -[ok]: ACL CAT category - list all commands/subcommands that belong to category (1 ms) -[ok]: ACL requires explicit permission for scripting for EVAL_RO, EVALSHA_RO and FCALL_RO (0 ms) -[ok]: ACL #5998 regression: memory leaks adding / removing subcommands (1 ms) -[ok]: ACL LOG aggregates similar errors together and assigns unique entry-id to new errors (5 ms) +[ok]: ACL CAT without category - list all categories (1 ms) +[ok]: ACL CAT category - list all commands/subcommands that belong to category (0 ms) +[ok]: ACL requires explicit permission for scripting for EVAL_RO, EVALSHA_RO and FCALL_RO (1 ms) +[ok]: ACL #5998 regression: memory leaks adding / removing subcommands (0 ms) +[ok]: ACL LOG aggregates similar errors together and assigns unique entry-id to new errors (3 ms) [ok]: ACL LOG shows failed command executions at toplevel (1 ms) -[ok]: ACL LOG shows failed subcommand executions at toplevel (2 ms) -[ok]: ACL LOG is able to test similar events (1 ms) +[ok]: ACL LOG shows failed subcommand executions at toplevel (1 ms) +[ok]: ACL LOG is able to test similar events (0 ms) [ok]: ACL LOG is able to log keys access violations and key name (1 ms) -[ok]: ACL LOG is able to log channel access violations and channel name (1 ms) -[ok]: ACL LOG RESET is able to flush the entries in the log (0 ms) -[ok]: ACL LOG can distinguish the transaction context (1) (1 ms) -[ok]: ACL LOG can distinguish the transaction context (2) (9 ms) +[ok]: ACL LOG is able to log channel access violations and channel name (0 ms) +[ok]: ACL LOG RESET is able to flush the entries in the log (1 ms) +[ok]: ACL LOG can distinguish the transaction context (1) (0 ms) +[ok]: ACL LOG can distinguish the transaction context (2) (6 ms) [ok]: ACL can log errors in the context of Lua scripting (1 ms) -[ok]: ACL LOG can accept a numerical argument to show less entries (2 ms) -[ok]: ACL LOG can log failed auth attempts (1 ms) -[ok]: ACLLOG - zero max length is correctly handled (2 ms) -[ok]: ACL LOG entries are limited to a maximum amount (2 ms) +[ok]: ACL LOG can accept a numerical argument to show less entries (1 ms) +[ok]: ACL LOG can log failed auth attempts (0 ms) +[ok]: ACLLOG - zero max length is correctly handled (0 ms) +[ok]: ACL LOG entries are limited to a maximum amount (1 ms) [ok]: ACL LOG entries are still present on update of max len config (1 ms) -[ok]: When default user is off, new connections are not authenticated (7 ms) +[ok]: When default user is off, new connections are not authenticated (5 ms) [ok]: When default user has no command permission, hello command still works for other users (0 ms) -[ok]: When an authentication chain is used in the HELLO cmd, the last auth cmd has precedence (2 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 (0 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 (1 ms) -[ok]: Delete a user that the client is using (1 ms) -[ok]: ACL GENPASS command failed test (6 ms) +[ok]: When authentication fails in the HELLO cmd, the client setname should not be applied (0 ms) +[ok]: ACL HELP should not have unexpected options (1 ms) +[ok]: Delete a user that the client doesn't use (0 ms) +[ok]: Delete a user that the client is using (0 ms) +[ok]: ACL GENPASS command failed test (5 ms) [ok]: Default user can not be removed (0 ms) -[ok]: ACL load non-existing configured ACL file (0 ms) -[ok]: ACL-Metrics user AUTH failure (4 ms) -[ok]: ACL-Metrics invalid command accesses (3 ms) -[ok]: ACL-Metrics invalid key accesses (3 ms) -[ok]: ACL-Metrics invalid channels accesses (3 ms) -=== (external:skip) Starting server on 127.0.0.1:21392 ok +[ok]: ACL load non-existing configured ACL file (1 ms) +[ok]: ACL-Metrics user AUTH failure (2 ms) +[ok]: ACL-Metrics invalid command accesses (2 ms) +[ok]: ACL-Metrics invalid key accesses (1 ms) +[ok]: ACL-Metrics invalid channels accesses (2 ms) +=== (external:skip) Starting server on 127.0.0.1:21411 ok [ok]: default: load from include file, can access any channels (1 ms) -[ok]: default: with config acl-pubsub-default allchannels after reset, can access any channels (2 ms) +[ok]: default: with config acl-pubsub-default allchannels after reset, can access any channels (0 ms) [ok]: default: with config acl-pubsub-default resetchannels after reset, can not access any channels (1 ms) [ok]: Alice: can execute all command (0 ms) [ok]: Bob: just execute @set and acl command (1 ms) -[ok]: ACL LOAD only disconnects affected clients (23 ms) -[ok]: ACL LOAD disconnects clients of deleted users (22 ms) -[ok]: ACL load and save (12 ms) +[ok]: ACL LOAD only disconnects affected clients (16 ms) +[ok]: ACL LOAD disconnects clients of deleted users (15 ms) +[ok]: ACL load and save (9 ms) [ok]: ACL load and save with restricted channels (8 ms) -=== (external:skip) Starting server on 127.0.0.1:21394 ok -[ok]: Default user has access to all channels irrespective of flag (1 ms) +=== (external:skip) Starting server on 127.0.0.1:21413 ok +[ok]: Default user has access to all channels irrespective of flag (0 ms) [ok]: Update acl-pubsub-default, existing users shouldn't get affected (1 ms) -[ok]: Single channel is valid (1 ms) -[ok]: Single channel is not valid with allchannels (0 ms) -=== (external:skip) Starting server on 127.0.0.1:21396 ok +[ok]: Single channel is valid (0 ms) +[ok]: Single channel is not valid with allchannels (1 ms) +=== (external:skip) Starting server on 127.0.0.1:21415 ok [ok]: Only default user has access to all channels irrespective of flag (1 ms) -=== (external:skip) Starting server on 127.0.0.1:21398 ok -[ok]: default: load from config file, without channel permission default user can't access any channels (0 ms) -=== (external:skip) Starting server on 127.0.0.1:21400 ok +=== (external:skip) Starting server on 127.0.0.1:21417 ok +[ok]: default: load from config file, without channel permission default user can't access any channels (1 ms) +=== (external:skip) Starting server on 127.0.0.1:21419 ok [ok]: default: load from config file with all channels permissions (1 ms) -=== (external:skip) Starting server on 127.0.0.1:21402 ok -[ok]: Test loading an ACL file with duplicate users (5 ms) -[ok]: Test loading an ACL file with duplicate default user (5 ms) -[ok]: Test loading duplicate users in config on startup (21 ms) -=== (acl external:skip) Starting server on 127.0.0.1:21404 ok -[ok]: ACL from config file and config rewrite (205 ms) -=== () Starting server on 127.0.0.1:21406 ok -[ok]: ACL still denies individual renamed commands (1 ms) +=== (external:skip) Starting server on 127.0.0.1:21421 ok +[ok]: Test loading an ACL file with duplicate users (3 ms) +[ok]: Test loading an ACL file with duplicate default user (3 ms) +[ok]: Test loading duplicate users in config on startup (12 ms) +=== (acl external:skip) Starting server on 127.0.0.1:21423 ok +[ok]: ACL from config file and config rewrite (204 ms) +=== () Starting server on 127.0.0.1:21425 ok +[ok]: ACL still denies individual renamed commands (0 ms) [ok]: ACL command classes aren't affected by command renaming (1 ms) -[ok]: ACL GETUSER provides correct results when commands renamed (4 ms) -=== (repl external:skip) Starting server on 127.0.0.1:21408 ok -[ok]: Test ACL LOAD works on primary (18 ms) -=== () Starting server on 127.0.0.1:21410 ok -[ok]: Test ACL LOAD works on replica (114 ms) -[29/128 done]: unit/acl (3 seconds) -Testing unit/bitops -=== (bitops) Starting server on 127.0.0.1:21412 ok -[ok]: BITCOUNT against wrong type (1 ms) -[ok]: BITCOUNT returns 0 against non existing key (0 ms) -[ok]: BITCOUNT returns 0 with out of range indexes (0 ms) -[ok]: BITCOUNT returns 0 with negative indexes where start > end (0 ms) -[ok]: BITCOUNT against test vector #1 (1 ms) -[ok]: BITCOUNT against test vector #2 (0 ms) -[ok]: BITCOUNT against test vector #3 (0 ms) -[ok]: BITCOUNT against test vector #4 (0 ms) -[ok]: BITCOUNT against test vector #5 (1 ms) -[ok]: BITCOUNT fuzzing without start/end (213 ms) -[ok]: BITCOUNT fuzzing with start/end (376 ms) -[ok]: BITCOUNT with just start (1 ms) -[ok]: BITCOUNT with start, end (3 ms) -[ok]: BITCOUNT with illegal arguments (1 ms) -[ok]: BITCOUNT against non-integer value (1 ms) -[ok]: BITCOUNT regression test for github issue #582 (0 ms) -[ok]: BITCOUNT misaligned prefix (1 ms) -[ok]: BITCOUNT misaligned prefix + full words + remainder (0 ms) -[ok]: BITOP NOT (empty string) (1 ms) -[ok]: BITOP NOT (known string) (0 ms) -[ok]: BITOP where dest and target are the same key (1 ms) -[ok]: BITOP AND|OR|XOR don't change the string with single input key (1 ms) -[ok]: BITOP missing key is considered a stream of zero (1 ms) -[ok]: BITOP shorter keys are zero-padded to the key with max length (1 ms) -[ok]: BITOP and fuzzing (160 ms) -[ok]: BITOP or fuzzing (207 ms) -[ok]: BITOP xor fuzzing (174 ms) -[ok]: BITOP NOT fuzzing (29 ms) -[ok]: BITOP with integer encoded source objects (1 ms) -[ok]: BITOP with non string source key (1 ms) -[ok]: BITOP with empty string after non empty string (issue #529) (0 ms) -[ok]: BITPOS against wrong type (1 ms) -[ok]: BITPOS will illegal arguments (1 ms) -[ok]: BITPOS against non-integer value (2 ms) -[ok]: BITPOS bit=0 with empty key returns 0 (0 ms) -[ok]: BITPOS bit=1 with empty key returns -1 (1 ms) -[ok]: BITPOS bit=0 with string less than 1 word works (0 ms) -[ok]: BITPOS bit=1 with string less than 1 word works (1 ms) -[ok]: BITPOS bit=0 starting at unaligned address (0 ms) -[ok]: BITPOS bit=1 starting at unaligned address (0 ms) -[ok]: BITPOS bit=0 unaligned+full word+reminder (4 ms) -[ok]: BITPOS bit=1 unaligned+full word+reminder (3 ms) -[ok]: BITPOS bit=1 returns -1 if string is all 0 bits (8 ms) -[ok]: BITPOS bit=0 works with intervals (2 ms) -[ok]: BITPOS bit=1 works with intervals (1 ms) -[ok]: BITPOS bit=0 changes behavior if end is given (1 ms) -[ok]: SETBIT/BITFIELD only increase dirty when the value changed (5 ms) -[ok]: BITPOS bit=1 fuzzy testing using SETBIT (376 ms) -[ok]: BITPOS bit=0 fuzzy testing using SETBIT (377 ms) -[ok]: BITPOS/BITCOUNT fuzzy testing using SETBIT (376 ms) -[ignore]: large memory flag not provided -[30/128 done]: unit/bitops (2 seconds) +[ok]: ACL GETUSER provides correct results when commands renamed (2 ms) +=== (repl external:skip) Starting server on 127.0.0.1:21427 ok +[ok]: Test ACL LOAD works on primary (11 ms) +=== () Starting server on 127.0.0.1:21429 ok +[ok]: Test ACL LOAD works on replica (111 ms) +[30/128 done]: unit/acl (3 seconds) +Testing unit/dump +=== (dump) Starting server on 127.0.0.1:21431 ok +[ok]: DUMP / RESTORE are able to serialize / unserialize a simple key (1 ms) +[ok]: RESTORE can set an arbitrary expire to the materialized key (1 ms) +[ok]: RESTORE can set an expire that overflows a 32 bit integer (0 ms) +[ok]: RESTORE can set an absolute expire (0 ms) +[ok]: RESTORE with ABSTTL in the past (1 ms) +[ok]: RESTORE can set LRU (0 ms) +[ok]: RESTORE can set LFU (1 ms) +[ok]: RESTORE returns an error of the key already exists (0 ms) +[ok]: RESTORE can overwrite an existing key with REPLACE (0 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 (81 ms) +[ok]: RESTORE key with future RDB version, strict version check (0 ms) +[ok]: RESTORE key with future RDB version, relaxed version check (0 ms) +[ok]: DUMP of non existing key returns nil (0 ms) +=== (repl) Starting server on 127.0.0.1:21433 ok +[ok]: MIGRATE is caching connections (227 ms) +[ok]: MIGRATE cached connections are released after some time (15003 ms) +=== (repl) Starting server on 127.0.0.1:21435 ok +[ok]: MIGRATE is able to migrate a key between two instances (219 ms) +=== (repl) Starting server on 127.0.0.1:21437 ok +[ok]: MIGRATE is able to copy a key between two instances (228 ms) +=== (repl) Starting server on 127.0.0.1:21439 ok +[ok]: MIGRATE will not overwrite existing keys, unless REPLACE is used (228 ms) +=== (repl) Starting server on 127.0.0.1:21441 ok +[ok]: MIGRATE propagates TTL correctly (221 ms) +=== (repl) Starting server on 127.0.0.1:21443 ok +[ok]: MIGRATE can correctly transfer large values (5169 ms) +=== (repl) Starting server on 127.0.0.1:21445 ok +[ok]: MIGRATE can correctly transfer hashes (225 ms) +=== (repl) Starting server on 127.0.0.1:21447 ok +[ok]: MIGRATE timeout actually works (770 ms) +=== (repl) Starting server on 127.0.0.1:21449 ok +[ok]: MIGRATE can migrate multiple keys at once (218 ms) +[ok]: MIGRATE with multiple keys must have empty key arg (0 ms) +=== (repl) Starting server on 127.0.0.1:21451 ok +[ok]: MIGRATE with multiple keys migrate just existing ones (228 ms) +=== (repl) Starting server on 127.0.0.1:21453 ok +[ok]: MIGRATE with multiple keys: stress command rewriting (220 ms) +=== (repl) Starting server on 127.0.0.1:21455 ok +[ok]: MIGRATE with multiple keys: delete just ack keys (227 ms) +=== (repl) Starting server on 127.0.0.1:21457 ok +[ok]: MIGRATE AUTH: correct and wrong password cases (229 ms) +[31/128 done]: unit/dump (24 seconds) +Testing unit/latency-monitor +=== (latency-monitor needs:latency) Starting server on 127.0.0.1:21459 ok +[ok]: LATENCY HISTOGRAM with empty histogram (1 ms) +[ok]: LATENCY HISTOGRAM all commands (0 ms) +[ok]: LATENCY HISTOGRAM sub commands (1 ms) +[ok]: LATENCY HISTOGRAM with a subset of commands (1 ms) +[ok]: LATENCY HISTOGRAM command (0 ms) +[ok]: LATENCY HISTOGRAM with wrong command name skips the invalid one (1 ms) +[ok]: Test latency events logging (3404 ms) +LATENCY HISTORY data: +{1753994929 300} {1753994931 400} {1753994932 500} +[ok]: LATENCY HISTORY output is ok (1 ms) +LATENCY LATEST data: +{command 1753994932 500 500 1200 3} +[ok]: LATENCY LATEST output is ok (0 ms) +LATENCY GRAPH data: +command - high 500 ms, low 300 ms (all time high 500 ms) +-------------------------------------------------------------------------------- + # + _| + || +_|| + +310 +sss + +[ok]: LATENCY GRAPH can output the event graph (0 ms) +[ok]: LATENCY GRAPH can output the expire event graph (0 ms) +[ok]: LATENCY of expire events are correctly collected (1668 ms) +[ok]: LATENCY HISTORY / RESET with wrong event name is fine (1 ms) +[ok]: LATENCY DOCTOR produces some output (1 ms) +[ok]: LATENCY RESET is able to reset events (0 ms) +[ok]: LATENCY HELP should not have unexpected options (0 ms) +=== (latency-monitor cluster external:skip needs:latency) Starting server on 127.0.0.1:21461 ok +=== (latency-monitor cluster external:skip needs:latency) Starting server on 127.0.0.1:21463 ok +[ok]: Cluster config file latency (892 ms) +[32/128 done]: unit/latency-monitor (17 seconds) Testing unit/sort -=== (sort) Starting server on 127.0.0.1:21414 ok +=== (sort) Starting server on 127.0.0.1:21465 ok [ok]: Listpack: SORT BY key (0 ms) -[ok]: Listpack: SORT BY key with limit (0 ms) +[ok]: Listpack: SORT BY key with limit (1 ms) [ok]: Listpack: SORT BY hash field (0 ms) -[ok]: Quicklist: SORT BY key (8 ms) -[ok]: Quicklist: SORT BY key with limit (0 ms) -[ok]: Quicklist: SORT BY hash field (8 ms) -[ok]: Big Quicklist: SORT BY key (225 ms) -[ok]: Big Quicklist: SORT BY key with limit (5 ms) -[ok]: Big Quicklist: SORT BY hash field (247 ms) +[ok]: Quicklist: SORT BY key (6 ms) +[ok]: Quicklist: SORT BY key with limit (1 ms) +[ok]: Quicklist: SORT BY hash field (6 ms) +[ok]: Big Quicklist: SORT BY key (143 ms) +[ok]: Big Quicklist: SORT BY key with limit (4 ms) +[ok]: Big Quicklist: SORT BY hash field (147 ms) [ok]: Intset: SORT BY key (0 ms) -[ok]: Intset: SORT BY key with limit (1 ms) -[ok]: Intset: SORT BY hash field (0 ms) -[ok]: Hash table: SORT BY key (9 ms) +[ok]: Intset: SORT BY key with limit (0 ms) +[ok]: Intset: SORT BY hash field (1 ms) +[ok]: Hash table: SORT BY key (6 ms) [ok]: Hash table: SORT BY key with limit (1 ms) -[ok]: Hash table: SORT BY hash field (8 ms) -[ok]: Big Hash table: SORT BY key (194 ms) -[ok]: Big Hash table: SORT BY key with limit (7 ms) -[ok]: Big Hash table: SORT BY hash field (196 ms) +[ok]: Hash table: SORT BY hash field (6 ms) +[ok]: Big Hash table: SORT BY key (150 ms) +[ok]: Big Hash table: SORT BY key with limit (5 ms) +[ok]: Big Hash table: SORT BY hash field (143 ms) [ok]: SORT GET # (0 ms) -[ok]: SORT GET (1 ms) +[ok]: SORT GET (0 ms) [ok]: SORT_RO GET (0 ms) -[ok]: SORT GET (key and hash) with sanity check (5 ms) -[ok]: SORT BY key STORE (2 ms) +[ok]: SORT GET (key and hash) with sanity check (3 ms) +[ok]: SORT BY key STORE (0 ms) [ok]: SORT BY hash field STORE (1 ms) [ok]: SORT extracts STORE correctly (0 ms) [ok]: SORT_RO get keys (0 ms) [ok]: SORT extracts multiple STORE correctly (0 ms) -[ok]: SORT DESC (1 ms) -[ok]: SORT ALPHA against integer encoded strings (0 ms) +[ok]: SORT DESC (0 ms) +[ok]: SORT ALPHA against integer encoded strings (1 ms) [ok]: SORT sorted set (1 ms) -[ok]: SORT sorted set BY nosort should retain ordering (1 ms) -[ok]: SORT sorted set BY nosort + LIMIT (2 ms) +[ok]: SORT sorted set BY nosort should retain ordering (0 ms) +[ok]: SORT sorted set BY nosort + LIMIT (1 ms) [ok]: SORT sorted set BY nosort works as expected from scripts (1 ms) -[ok]: SORT sorted set: +inf and -inf handling (1 ms) +[ok]: SORT sorted set: +inf and -inf handling (0 ms) [ok]: SORT regression for issue #19, sorting floats (1 ms) [ok]: SORT with STORE returns zero if result is empty (github issue 224) (0 ms) [ok]: SORT with STORE does not create empty lists (github issue 224) (0 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 (0 ms) -[ok]: SORT will complain with numerical sorting and bad doubles (1) (1 ms) +[ok]: SORT with STORE removes key if result is empty (github issue 227) (0 ms) +[ok]: SORT with BY and STORE should still order output (1 ms) +[ok]: SORT will complain with numerical sorting and bad doubles (1) (0 ms) [ok]: SORT will complain with numerical sorting and bad doubles (2) (1 ms) [ok]: SORT BY sub-sorts lexicographically if score is the same (0 ms) -[ok]: SORT GET with pattern ending with just -> does not get hash field (1 ms) -[ok]: SORT by nosort retains native order for lists (0 ms) -[ok]: SORT by nosort plus store retains native order for lists (1 ms) +[ok]: SORT GET with pattern ending with just -> does not get hash field (0 ms) +[ok]: SORT by nosort retains native order for lists (1 ms) +[ok]: SORT by nosort plus store retains native order for lists (0 ms) [ok]: SORT by nosort with limit returns based on original list order (0 ms) [ok]: SORT_RO - Successful case (1 ms) [ok]: SORT_RO - Cannot run with STORE arg (0 ms) - Average time to sort: 0.19 milliseconds [ok]: SORT speed, 100 element list BY key, 100 times (19 ms) + Average time to sort: 0.13 milliseconds [ok]: SORT speed, 100 element list BY key, 100 times (13 ms) - Average time to sort: 0.20000000000000001 milliseconds [ok]: SORT speed, 100 element list BY hash field, 100 times (20 ms) + Average time to sort: 0.14000000000000001 milliseconds [ok]: SORT speed, 100 element list BY hash field, 100 times (14 ms) - Average time to sort: 0.16 milliseconds [ok]: SORT speed, 100 element list directly, 100 times (16 ms) + Average time to sort: 0.10000000000000001 milliseconds [ok]: SORT speed, 100 element list directly, 100 times (10 ms) - Average time to sort: 0.14999999999999999 milliseconds [ok]: SORT speed, 100 element list BY , 100 times (15 ms) + Average time to sort: 0.089999999999999997 milliseconds [ok]: SORT speed, 100 element list BY , 100 times (9 ms) [ok]: SETRANGE with huge offset (0 ms) -[ok]: SORT STORE quicklist with the right options (46 ms) -=== (external:skip cluster sort) Starting server on 127.0.0.1:21416 ok -[ok]: sort by in cluster mode (1 ms) +[ok]: SORT STORE quicklist with the right options (4 ms) +=== (external:skip cluster sort) Starting server on 127.0.0.1:21467 ok +[ok]: sort by in cluster mode (0 ms) [ok]: sort get in cluster mode (1 ms) -[ok]: sort_ro by in cluster mode (1 ms) -[ok]: sort_ro get in cluster mode (1 ms) -[31/128 done]: unit/sort (12 seconds) -Testing unit/replybufsize -=== (replybufsize) Starting server on 127.0.0.1:21418 ok -[ok]: verify reply buffer limits (666 ms) -[32/128 done]: unit/replybufsize (1 seconds) -Testing unit/networking -=== () Starting server on 127.0.0.1:21420 ok -[ok]: CONFIG SET port number (236 ms) -=== () Starting server on 127.0.0.1:21423 ok -[ok]: CONFIG SET bind address (238 ms) -=== () Starting server on 127.0.0.1:21425 ok -=== () Starting server on 127.0.0.1:21427 ok -[ok]: CONFIG SET bind-source-addr (539 ms) -=== (external:skip) Starting server on 127.0.0.1:21429 ok -[ok]: Default bind address configuration handling (234 ms) -[ok]: Protected mode works as expected (1 ms) -=== (external:skip) Starting server on 127.0.0.1:21431 ok -[33/128 done]: unit/networking (1 seconds) -Testing unit/shutdown -=== (shutdown external:skip) Starting server on 127.0.0.1:21433 ok -[ok]: Temp rdb will be deleted if we use bg_unlink when shutdown (144 ms) -=== (shutdown external:skip) Starting server on 127.0.0.1:21435 ok -[ok]: SHUTDOWN ABORT can cancel SIGTERM (14 ms) -[ok]: Temp rdb will be deleted in signal handle (67 ms) -=== (shutdown external:skip) Starting server on 127.0.0.1:21437 ok -[ok]: RDB save will be failed in shutdown (4 ms) -[ok]: SHUTDOWN will abort if rdb save failed on signal (97 ms) -[ok]: SHUTDOWN will abort if rdb save failed on shutdown command (9 ms) -[ok]: SHUTDOWN can proceed if shutdown command was with nosave (4 ms) -[ok]: Clean up rdb same named folder (1 ms) -=== (shutdown external:skip) Starting server on 127.0.0.1:21439 ok -[ok]: SHUTDOWN SIGTERM will abort if there's an initial AOFRW - default (86 ms) -[34/128 done]: unit/shutdown (1 seconds) +[ok]: sort_ro by in cluster mode (0 ms) +[ok]: sort_ro get in cluster mode (0 ms) +[33/128 done]: unit/sort (8 seconds) +Testing unit/info +=== (info external:skip debug_defrag:skip) Starting server on 127.0.0.1:21469 ok +=== () Starting server on 127.0.0.1:21471 ok +[ok]: latencystats: disable/enable (1 ms) +[ok]: latencystats: configure percentiles (2 ms) +[ok]: latencystats: bad configure percentiles (1 ms) +[ok]: latencystats: blocking commands (6 ms) +[ok]: latencystats: subcommands (1 ms) +[ok]: latencystats: measure latency (51 ms) +[ok]: errorstats: failed call authentication error (1 ms) +[ok]: errorstats: failed call within MULTI/EXEC (1 ms) +[ok]: errorstats: failed call within LUA (1 ms) +[ok]: errorstats: failed call NOSCRIPT error (2 ms) +[ok]: errorstats: failed call NOGROUP error (1 ms) +[ok]: errorstats: rejected call unknown command (0 ms) +[ok]: errorstats: rejected call within MULTI/EXEC (1 ms) +[ok]: errorstats: rejected call due to wrong arity (1 ms) +[ok]: errorstats: rejected call by OOM error (1 ms) +[ok]: errorstats: rejected call by authorization error (1 ms) +[ok]: errorstats: blocking commands (7 ms) +[ok]: errorstats: limit errors will not increase indefinitely (71 ms) +eventloop metrics cycle1: 1117, cycle2: 1119 +eventloop metrics el_sum1: 19300, el_sum2: 19594 +eventloop metrics cmd_sum1: 3609, cmd_sum2: 3633 +[ok]: stats: eventloop metrics (112 ms) +instantaneous metrics instantaneous_eventloop_cycles_per_sec: 98 +instantaneous metrics instantaneous_eventloop_duration_usec: 21 +[ok]: stats: instantaneous metrics (2005 ms) +[ok]: stats: debug metrics (112 ms) +[ok]: stats: client input and output buffer limit disconnections (25 ms) +[ok]: clients: pubsub clients (11 ms) +[ok]: clients: watching clients (9 ms) +=== (info external:skip) Starting server on 127.0.0.1:21473 ok +[ok]: memory: database and pubsub overhead and rehashing dict count (2 ms) +[34/128 done]: unit/info (3 seconds) +Testing unit/quit +=== (quit) Starting server on 127.0.0.1:21475 ok +[ok]: QUIT returns OK (5 ms) +[ok]: Pipelined commands after QUIT must not be executed (9 ms) +[ok]: Pipelined commands after QUIT that exceed read buffer size (10 ms) +[35/128 done]: unit/quit (0 seconds) +Testing unit/pubsub +=== (pubsub network) Starting server on 127.0.0.1:21477 ok +[ok]: Pub/Sub PING on RESP2 (0 ms) +[ok]: Pub/Sub PING on RESP3 (0 ms) +[ok]: PUBLISH/SUBSCRIBE basics (6 ms) +[ok]: PUBLISH/SUBSCRIBE with two clients (10 ms) +[ok]: PUBLISH/SUBSCRIBE after UNSUBSCRIBE without arguments (5 ms) +[ok]: SUBSCRIBE to one channel more than once (5 ms) +[ok]: UNSUBSCRIBE from non-subscribed channels (5 ms) +[ok]: PUBLISH/PSUBSCRIBE basics (6 ms) +[ok]: PUBLISH/PSUBSCRIBE with two clients (10 ms) +[ok]: PUBLISH/PSUBSCRIBE after PUNSUBSCRIBE without arguments (5 ms) +[ok]: PubSub messages with CLIENT REPLY OFF (92 ms) +[ok]: PUNSUBSCRIBE from non-subscribed channels (6 ms) +[ok]: NUMSUB returns numbers, not strings (#1561) (0 ms) +[ok]: NUMPATs returns the number of unique patterns (10 ms) +[ok]: Mix SUBSCRIBE and PSUBSCRIBE (6 ms) +[ok]: PUNSUBSCRIBE and UNSUBSCRIBE should always reply (0 ms) +[ok]: Keyspace notifications: we receive keyspace notifications (46 ms) +[ok]: Keyspace notifications: we receive keyevent notifications (48 ms) +[ok]: Keyspace notifications: we can receive both kind of events (7 ms) +[ok]: Keyspace notifications: we are able to mask events (6 ms) +[ok]: Keyspace notifications: general events test (5 ms) +[ok]: Keyspace notifications: list events test (5 ms) +[ok]: Keyspace notifications: set events test (6 ms) +[ok]: Keyspace notifications: zset events test (5 ms) +[ok]: Keyspace notifications: hash events test (5 ms) +[ok]: Keyspace notifications: stream events test (6 ms) +[ok]: Keyspace notifications: expired events (triggered expire) (106 ms) +[ok]: Keyspace notifications: expired events (background expire) (152 ms) +[ok]: Keyspace notification: expired event (Expiration time is already expired) (6 ms) +[ok]: Keyspace notifications: evicted events (6 ms) +[ok]: Keyspace notifications: test CONFIG GET/SET of event flags (0 ms) +[ok]: Keyspace notifications: new key test (5 ms) +[ok]: publish to self inside multi (1 ms) +[ok]: publish to self inside script (0 ms) +[ok]: unsubscribe inside multi, and publish to self (1 ms) +[36/128 done]: unit/pubsub (1 seconds) +Testing unit/limits +=== (limits network external:skip) Starting server on 127.0.0.1:21479 ok +[ok]: Check if maxclients works refusing connections (1012 ms) +[37/128 done]: unit/limits (2 seconds) +Testing unit/querybuf +=== (querybuf slow) Starting server on 127.0.0.1:21481 ok +[ok]: query buffer resized correctly (2569 ms) +[ok]: query buffer resized correctly when not idle (71 ms) +[ok]: query buffer resized correctly with fat argv (2925 ms) +[38/128 done]: unit/querybuf (6 seconds) +Testing unit/maxmemory +=== (maxmemory external:skip) Starting server on 127.0.0.1:21483 ok +evicted keys: 3 +evicted clients: 0 +dbsize: 47 +[ok]: eviction due to output buffers of many MGET clients, client eviction: false (150 ms) +evicted keys: 27 +evicted clients: 0 +dbsize: 22 +[ok]: eviction due to input buffer of a dead client, client eviction: false (3561 ms) +evicted keys: 15 +evicted clients: 0 +dbsize: 35 +[ok]: eviction due to output buffers of pubsub, client eviction: false (902 ms) +evicted keys: 0 +evicted clients: 13 +dbsize: 50 +[ok]: eviction due to output buffers of many MGET clients, client eviction: true (141 ms) +evicted keys: 0 +evicted clients: 18 +dbsize: 50 +[ok]: eviction due to input buffer of a dead client, client eviction: true (3370 ms) +evicted keys: 0 +evicted clients: 6 +dbsize: 50 +[ok]: eviction due to output buffers of pubsub, client eviction: true (999 ms) +=== (maxmemory external:skip) Starting server on 127.0.0.1:21485 ok +[ok]: maxmemory - is the memory limit honoured? (policy allkeys-random) (63 ms) +[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lru) (248 ms) +[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lfu) (292 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-lru) (303 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-lfu) (270 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-random) (280 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-ttl) (409 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-random) (552 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-lru) (450 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-lru) (765 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-random) (271 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-ttl) (622 ms) +[ok]: maxmemory - policy volatile-lru should only remove volatile keys. (2503 ms) +[ok]: maxmemory - policy volatile-lfu should only remove volatile keys. (3936 ms) +[ok]: maxmemory - policy volatile-random should only remove volatile keys. (4562 ms) +[ok]: maxmemory - policy volatile-ttl should only remove volatile keys. (6258 ms) +=== (maxmemory external:skip) Starting server on 127.0.0.1:21487 ok +=== () Starting server on 127.0.0.1:21489 ok +[ok]: slave buffer are counted correctly (20894 ms) +=== (maxmemory external:skip) Starting server on 127.0.0.1:21491 ok +=== () Starting server on 127.0.0.1:21493 ok +[ok]: replica buffer don't induce eviction (6104 ms) +=== (maxmemory external:skip) Starting server on 127.0.0.1:21495 ok +[ok]: Don't rehash if used memory exceeds maxmemory after rehash (116 ms) +=== (maxmemory external:skip io-threads:skip) Starting server on 127.0.0.1:21497 ok +evicted: 30 +evicted: 30 +[ok]: client tracking don't cause eviction feedback loop (1349 ms) +=== (maxmemory external:skip) Starting server on 127.0.0.1:21499 ok +[ok]: propagation with eviction (84 ms) +=== (maxmemory external:skip) Starting server on 127.0.0.1:21501 ok +[ok]: propagation with eviction in MULTI (84 ms) +=== (maxmemory external:skip) Starting server on 127.0.0.1:21503 ok +[ok]: lru/lfu value of the key just added (1 ms) +=== (maxmemory external:skip) Starting server on 127.0.0.1:21505 ok +[ok]: Import mode should forbid eviction (1 ms) +[39/128 done]: unit/maxmemory (62 seconds) +Testing unit/tracking +=== (tracking network logreqres:skip) Starting server on 127.0.0.1:21507 ok +[ok]: Clients are able to enable tracking and redirect it (0 ms) +[ok]: The other connection is able to get invalidations (0 ms) +[ok]: The client is now able to disable tracking (1 ms) +[ok]: Clients can enable the BCAST mode with the empty prefix (0 ms) +[ok]: The connection gets invalidation messages about all the keys (0 ms) +[ok]: Clients can enable the BCAST mode with prefixes (1 ms) +[ok]: Adding prefixes to BCAST mode works (0 ms) +[ok]: Tracking NOLOOP mode in standard mode works (1 ms) +[ok]: Tracking NOLOOP mode in BCAST mode works (0 ms) +[ok]: Tracking gets notification of expired keys (1004 ms) +[ok]: Tracking gets notification of lazy expired keys (102 ms) +[ok]: HELLO 3 reply is correct (1 ms) +[ok]: RESP3 based basic invalidation (0 ms) +[ok]: RESP3 tracking redirection (1 ms) +[ok]: Invalidations of previous keys can be redirected after switching to RESP3 (0 ms) +[ok]: Invalidations of new keys can be redirected after switching to RESP3 (0 ms) +[ok]: Invalid keys should not be tracked for scripts in NOLOOP mode (1 ms) +[ok]: Tracking only occurs for scripts when a command calls a read-only command (1 ms) +[ok]: RESP3 Client gets tracking-redir-broken push message after cached key changed when rediretion client is terminated (6 ms) +[ok]: Different clients can redirect to the same connection (1 ms) +[ok]: Different clients using different protocols can track the same key (0 ms) +[ok]: No invalidation message when using OPTIN option (1 ms) +[ok]: Invalidation message sent when using OPTIN option with CLIENT CACHING yes (0 ms) +[ok]: Invalidation message sent when using OPTOUT option (1 ms) +[ok]: No invalidation message when using OPTOUT option with CLIENT CACHING no (1 ms) +[ok]: Able to redirect to a RESP3 client (1 ms) +[ok]: After switching from normal tracking to BCAST mode, no invalidation message is produced for pre-BCAST keys (1 ms) +[ok]: BCAST with prefix collisions throw errors (6 ms) +[ok]: hdel deliver invalidate message after response in the same connection (1 ms) +[ok]: Tracking invalidation message is not interleaved with multiple keys response (112 ms) +[ok]: Tracking invalidation message is not interleaved with transaction response (1 ms) +[ok]: Tracking invalidation message of eviction keys should be before response (2 ms) +[ok]: Unblocked BLMOVE gets notification after response (1 ms) +[ok]: Tracking gets notification on tracking table key eviction (63 ms) +[ok]: Invalidation message received for flushall (11 ms) +[ok]: Invalidation message received for flushdb (11 ms) +[ok]: Test ASYNC flushall (12 ms) +[ok]: flushdb tracking invalidation message is not interleaved with transaction response (11 ms) +[ok]: Server is able to evacuate enough keys when num of keys surpasses limit by more than defined initial effort (160 ms) +[ok]: Tracking info is correct (12 ms) +[ok]: CLIENT GETREDIR provides correct client id (0 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 (1 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optout (0 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking bcast mode (1 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking redir broken (10 ms) +[ok]: Regression test for #11715 (11 ms) +[ok]: RESP3 based basic invalidation with client reply off (11 ms) +[ok]: RESP2 based basic invalidation with client reply off (53 ms) +[ok]: RESP3 based basic redirect invalidation with client reply off (16 ms) +[ok]: RESP3 based basic tracking-redir-broken with client reply off (10 ms) +=== (tracking network) Starting server on 127.0.0.1:21509 ok +[ok]: CLIENT TRACKINGINFO when start (1 ms) +[ok]: Coverage: Basic CLIENT CACHING (5 ms) +[ok]: Coverage: Basic CLIENT REPLY (0 ms) +[ok]: Coverage: Basic CLIENT TRACKINGINFO (0 ms) +[ok]: Coverage: Basic CLIENT GETREDIR (0 ms) +[40/128 done]: unit/tracking (2 seconds) Testing unit/memefficiency -=== (memefficiency external:skip) Starting server on 127.0.0.1:21441 ok -[ok]: Memory efficiency with values in range 32 (451 ms) -[ok]: Memory efficiency with values in range 64 (392 ms) -[ok]: Memory efficiency with values in range 128 (377 ms) -[ok]: Memory efficiency with values in range 1024 (482 ms) -[ok]: Memory efficiency with values in range 16384 (1515 ms) -=== (defrag external:skip standalone) Starting server on 127.0.0.1:21443 ok -=== (defrag external:skip standalone) Starting server on 127.0.0.1:21445 ok +=== (memefficiency external:skip) Starting server on 127.0.0.1:21511 ok +[ok]: Memory efficiency with values in range 32 (240 ms) +[ok]: Memory efficiency with values in range 64 (241 ms) +[ok]: Memory efficiency with values in range 128 (242 ms) +[ok]: Memory efficiency with values in range 1024 (298 ms) +[ok]: Memory efficiency with values in range 16384 (857 ms) +=== (defrag external:skip standalone) Starting server on 127.0.0.1:21513 ok +=== (defrag external:skip standalone) Starting server on 127.0.0.1:21515 ok Frag info: test start (Active Defrag main dictionary: standalone) used: 2.30 MB frag: 0.00 MB @@ -2881,32 +3108,32 @@ misses: 0 Validating frag (1.00) < 1.05 Frag info: after fragmenting data - used: 32.83 MB + used: 32.81 MB frag: 0.00 MB frag ratio: 1.00 hits: 0 misses: 0 Validating frag (1.00) > 1.4 -===== Start of server log (pid 753751) ===== +===== Start of server log (pid 604337) ===== [err]: Active Defrag main dictionary: standalone in tests/unit/memefficiency.tcl Expected '1.00' to be more than '1.4' (context: type proc line 17 cmd {assert_morethan $frag $value} proc ::validate_frag_ratio level 2) ### Starting server for test -753751:M 02 Sep 2026 14:21:43.671 # 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. -753751:M 02 Sep 2026 14:21:43.671 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo -753751:M 02 Sep 2026 14:21:43.671 * Valkey version=8.1.1, bits=64, commit=00000000, modified=0, pid=753751, just started -753751:M 02 Sep 2026 14:21:43.671 * Configuration loaded -753751:M 02 Sep 2026 14:21:43.671 * Increased maximum number of open files to 10032 (it was originally set to 1024). -753751:M 02 Sep 2026 14:21:43.671 * monotonic clock: POSIX clock_gettime -753751:M 02 Sep 2026 14:21:43.672 # Failed to write PID file: Permission denied +604337:M 01 Aug 2025 10:50:32.672 # 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. +604337:M 01 Aug 2025 10:50:32.672 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +604337:M 01 Aug 2025 10:50:32.672 * Valkey version=8.1.1, bits=64, commit=00000000, modified=0, pid=604337, just started +604337:M 01 Aug 2025 10:50:32.672 * Configuration loaded +604337:M 01 Aug 2025 10:50:32.672 * Increased maximum number of open files to 10032 (it was originally set to 1024). +604337:M 01 Aug 2025 10:50:32.672 * monotonic clock: POSIX clock_gettime +604337:M 01 Aug 2025 10:50:32.673 # Failed to write PID file: Permission denied .+^+. .+#########+. .+########+########+. Valkey 8.1.1 (00000000/0) 64 bit .+########+' '+########+. .########+' .+. '+########. Running in standalone mode - |####+' .+#######+. '+####| Port: 21446 - |###| .+###############+. |###| PID: 753751 + |####+' .+#######+. '+####| Port: 21516 + |###| .+###############+. |###| PID: 604337 |###| |#####*'' ''*#####| |###| |###| |####' .-. '####| |###| |###| |###( (@@@) )###| |###| https://valkey.io @@ -2920,29 +3147,28 @@ +#########+' '+v+' -753751:M 02 Sep 2026 14:21:43.675 * Server initialized -753751:M 02 Sep 2026 14:21:43.847 * Creating AOF base file appendonly.aof.1.base.rdb on server start -753751:M 02 Sep 2026 14:21:43.860 * Creating AOF incr file appendonly.aof.1.incr.aof on server start -753751:M 02 Sep 2026 14:21:43.860 * Ready to accept connections tcp -753751:M 02 Sep 2026 14:21:43.860 * Ready to accept connections unix -753751:M 02 Sep 2026 14:21:43.860 * Ready to accept connections tls -753751:M 02 Sep 2026 14:21:43.860 - Accepted 127.0.0.1:35919 -753751:M 02 Sep 2026 14:21:43.867 - Client closed connection id=2 addr=127.0.0.1:35919 laddr=127.0.0.1:21445 fd=12 name= age=0 idle=0 flags=N capa= db=0 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=16384 rbp=7 obl=0 oll=0 omem=0 tot-mem=37504 events=r cmd=ping user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=7 tot-net-out=7 tot-cmds=1 -753751:M 02 Sep 2026 14:21:43.871 - Accepted 127.0.0.1:41855 +604337:M 01 Aug 2025 10:50:32.675 * Server initialized +604337:M 01 Aug 2025 10:50:32.680 * Creating AOF base file appendonly.aof.1.base.rdb on server start +604337:M 01 Aug 2025 10:50:32.687 * Creating AOF incr file appendonly.aof.1.incr.aof on server start +604337:M 01 Aug 2025 10:50:32.687 * Ready to accept connections tcp +604337:M 01 Aug 2025 10:50:32.687 * Ready to accept connections unix +604337:M 01 Aug 2025 10:50:32.687 * Ready to accept connections tls +604337:M 01 Aug 2025 10:50:32.781 - Accepted 127.0.0.1:35005 +604337:M 01 Aug 2025 10:50:32.786 - Client closed connection id=2 addr=127.0.0.1:35005 laddr=127.0.0.1:21515 fd=12 name= age=0 idle=0 flags=N capa= db=0 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=16384 rbp=16384 obl=0 oll=0 omem=0 tot-mem=37504 events=r cmd=ping user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=7 tot-net-out=7 tot-cmds=1 +604337:M 01 Aug 2025 10:50:32.789 - Accepted 127.0.0.1:36149 ### Starting test Active Defrag main dictionary: standalone in tests/unit/memefficiency.tcl -753751:M 02 Sep 2026 14:21:44.004 - Accepted 127.0.0.1:44853 -753751:M 02 Sep 2026 14:21:49.085 - DB 9: 195261 keys (65087 volatile) in 229376 slots HT. -753751:M 02 Sep 2026 14:21:54.328 - DB 9: 100000 keys (33333 volatile) in 229376 slots HT. -753751:M 02 Sep 2026 14:21:54.727 - Client closed connection id=4 addr=127.0.0.1:44853 laddr=127.0.0.1:21445 fd=13 name= age=10 idle=1 flags=N capa= db=9 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=1024 rbp=0 obl=0 oll=0 omem=0 tot-mem=22144 events=r cmd=del user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=14029664 tot-net-out=1866673 tot-cmds=366668 -===== End of server log (pid 753751) ===== +604337:M 01 Aug 2025 10:50:32.918 - Accepted 127.0.0.1:39385 +604337:M 01 Aug 2025 10:50:37.715 - DB 9: 200000 keys (66667 volatile) in 229376 slots HT. +604337:M 01 Aug 2025 10:50:40.352 - Client closed connection id=4 addr=127.0.0.1:39385 laddr=127.0.0.1:21515 fd=13 name= age=8 idle=1 flags=N capa= db=9 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=1024 rbp=4 obl=0 oll=0 omem=0 tot-mem=22144 events=r cmd=del user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=14029664 tot-net-out=1866673 tot-cmds=366668 +===== End of server log (pid 604337) ===== -===== Start of server stderr log (pid 753751) ===== +===== Start of server stderr log (pid 604337) ===== -===== End of server stderr log (pid 753751) ===== +===== End of server stderr log (pid 604337) ===== -=== (defrag external:skip standalone) Starting server on 127.0.0.1:21447 ok +=== (defrag external:skip standalone) Starting server on 127.0.0.1:21517 ok Frag info: test start (Active Defrag eval scripts: standalone) used: 2.30 MB frag: 0.00 MB @@ -2950,7 +3176,7 @@ hits: 0 misses: 0 Frag info: after adding data - used: 75.97 MB + used: 75.98 MB frag: 0.00 MB frag ratio: 1.00 hits: 0 @@ -2964,25 +3190,25 @@ misses: 0 Validating frag (1.00) > 1.4 -===== Start of server log (pid 755239) ===== +===== Start of server log (pid 604371) ===== [err]: Active Defrag eval scripts: standalone in tests/unit/memefficiency.tcl Expected '1.00' to be more than '1.4' (context: type proc line 17 cmd {assert_morethan $frag $value} proc ::validate_frag_ratio level 2) ### Starting server for test -755239:M 02 Sep 2026 14:21:56.079 # 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. -755239:M 02 Sep 2026 14:21:56.079 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo -755239:M 02 Sep 2026 14:21:56.079 * Valkey version=8.1.1, bits=64, commit=00000000, modified=0, pid=755239, just started -755239:M 02 Sep 2026 14:21:56.079 * Configuration loaded -755239:M 02 Sep 2026 14:21:56.079 * Increased maximum number of open files to 10032 (it was originally set to 1024). -755239:M 02 Sep 2026 14:21:56.079 * monotonic clock: POSIX clock_gettime -755239:M 02 Sep 2026 14:21:56.080 # Failed to write PID file: Permission denied +604371:M 01 Aug 2025 10:50:40.547 # 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. +604371:M 01 Aug 2025 10:50:40.547 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +604371:M 01 Aug 2025 10:50:40.547 * Valkey version=8.1.1, bits=64, commit=00000000, modified=0, pid=604371, just started +604371:M 01 Aug 2025 10:50:40.547 * Configuration loaded +604371:M 01 Aug 2025 10:50:40.547 * Increased maximum number of open files to 10032 (it was originally set to 1024). +604371:M 01 Aug 2025 10:50:40.547 * monotonic clock: POSIX clock_gettime +604371:M 01 Aug 2025 10:50:40.547 # Failed to write PID file: Permission denied .+^+. .+#########+. .+########+########+. Valkey 8.1.1 (00000000/0) 64 bit .+########+' '+########+. .########+' .+. '+########. Running in standalone mode - |####+' .+#######+. '+####| Port: 21448 - |###| .+###############+. |###| PID: 755239 + |####+' .+#######+. '+####| Port: 21518 + |###| .+###############+. |###| PID: 604371 |###| |#####*'' ''*#####| |###| |###| |####' .-. '####| |###| |###| |###( (@@@) )###| |###| https://valkey.io @@ -2996,25 +3222,25 @@ +#########+' '+v+' -755239:M 02 Sep 2026 14:21:56.083 * Server initialized -755239:M 02 Sep 2026 14:21:56.083 * Ready to accept connections tcp -755239:M 02 Sep 2026 14:21:56.083 * Ready to accept connections unix -755239:M 02 Sep 2026 14:21:56.083 * Ready to accept connections tls -755239:M 02 Sep 2026 14:21:56.185 - Accepted 127.0.0.1:43475 -755239:M 02 Sep 2026 14:21:56.192 - Client closed connection id=2 addr=127.0.0.1:43475 laddr=127.0.0.1:21447 fd=11 name= age=0 idle=0 flags=N capa= db=0 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=16384 rbp=16384 obl=0 oll=0 omem=0 tot-mem=37504 events=r cmd=ping user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=7 tot-net-out=7 tot-cmds=1 -755239:M 02 Sep 2026 14:21:56.196 - Accepted 127.0.0.1:34379 +604371:M 01 Aug 2025 10:50:40.549 * Server initialized +604371:M 01 Aug 2025 10:50:40.549 * Ready to accept connections tcp +604371:M 01 Aug 2025 10:50:40.549 * Ready to accept connections unix +604371:M 01 Aug 2025 10:50:40.549 * Ready to accept connections tls +604371:M 01 Aug 2025 10:50:40.656 - Accepted 127.0.0.1:43507 +604371:M 01 Aug 2025 10:50:40.661 - Client closed connection id=2 addr=127.0.0.1:43507 laddr=127.0.0.1:21517 fd=11 name= age=0 idle=0 flags=N capa= db=0 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=16384 rbp=16384 obl=0 oll=0 omem=0 tot-mem=37504 events=r cmd=ping user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=7 tot-net-out=7 tot-cmds=1 +604371:M 01 Aug 2025 10:50:40.664 - Accepted 127.0.0.1:46819 ### Starting test Active Defrag eval scripts: standalone in tests/unit/memefficiency.tcl -755239:M 02 Sep 2026 14:21:56.329 - Accepted 127.0.0.1:34353 -755239:M 02 Sep 2026 14:22:01.117 - Client closed connection id=4 addr=127.0.0.1:34353 laddr=127.0.0.1:21447 fd=12 name= age=5 idle=1 flags=N capa= db=9 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=2048 rbp=1024 obl=0 oll=0 omem=0 tot-mem=23168 events=r cmd=del user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=51177803 tot-net-out=2800005 tot-cmds=150001 -===== End of server log (pid 755239) ===== +604371:M 01 Aug 2025 10:50:40.793 - Accepted 127.0.0.1:34345 +604371:M 01 Aug 2025 10:50:44.114 - Client closed connection id=4 addr=127.0.0.1:34345 laddr=127.0.0.1:21517 fd=12 name= age=4 idle=1 flags=N capa= db=9 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=2048 rbp=1024 obl=0 oll=0 omem=0 tot-mem=23168 events=r cmd=del user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=51177803 tot-net-out=2800005 tot-cmds=150001 +===== End of server log (pid 604371) ===== -===== Start of server stderr log (pid 755239) ===== +===== Start of server stderr log (pid 604371) ===== -===== End of server stderr log (pid 755239) ===== +===== End of server stderr log (pid 604371) ===== -=== (defrag external:skip standalone) Starting server on 127.0.0.1:21449 ok +=== (defrag external:skip standalone) Starting server on 127.0.0.1:21519 ok Frag info: test start (Active Defrag big hash: standalone) used: 2.30 MB frag: 0.00 MB @@ -3036,25 +3262,25 @@ misses: 0 Validating frag (1.00) > 1.4 -===== Start of server log (pid 755385) ===== +===== Start of server log (pid 604402) ===== [err]: Active Defrag big hash: standalone in tests/unit/memefficiency.tcl Expected '1.00' to be more than '1.4' (context: type proc line 17 cmd {assert_morethan $frag $value} proc ::validate_frag_ratio level 2) ### Starting server for test -755385:M 02 Sep 2026 14:22:01.466 # 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. -755385:M 02 Sep 2026 14:22:01.466 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo -755385:M 02 Sep 2026 14:22:01.466 * Valkey version=8.1.1, bits=64, commit=00000000, modified=0, pid=755385, just started -755385:M 02 Sep 2026 14:22:01.466 * Configuration loaded -755385:M 02 Sep 2026 14:22:01.466 * Increased maximum number of open files to 10032 (it was originally set to 1024). -755385:M 02 Sep 2026 14:22:01.466 * monotonic clock: POSIX clock_gettime -755385:M 02 Sep 2026 14:22:01.467 # Failed to write PID file: Permission denied +604402:M 01 Aug 2025 10:50:44.286 # 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. +604402:M 01 Aug 2025 10:50:44.286 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +604402:M 01 Aug 2025 10:50:44.286 * Valkey version=8.1.1, bits=64, commit=00000000, modified=0, pid=604402, just started +604402:M 01 Aug 2025 10:50:44.286 * Configuration loaded +604402:M 01 Aug 2025 10:50:44.286 * Increased maximum number of open files to 10032 (it was originally set to 1024). +604402:M 01 Aug 2025 10:50:44.286 * monotonic clock: POSIX clock_gettime +604402:M 01 Aug 2025 10:50:44.287 # Failed to write PID file: Permission denied .+^+. .+#########+. .+########+########+. Valkey 8.1.1 (00000000/0) 64 bit .+########+' '+########+. .########+' .+. '+########. Running in standalone mode - |####+' .+#######+. '+####| Port: 21450 - |###| .+###############+. |###| PID: 755385 + |####+' .+#######+. '+####| Port: 21520 + |###| .+###############+. |###| PID: 604402 |###| |#####*'' ''*#####| |###| |###| |####' .-. '####| |###| |###| |###( (@@@) )###| |###| https://valkey.io @@ -3068,85 +3294,444 @@ +#########+' '+v+' -755385:M 02 Sep 2026 14:22:01.469 * Server initialized -755385:M 02 Sep 2026 14:22:01.469 * Ready to accept connections tcp -755385:M 02 Sep 2026 14:22:01.469 * Ready to accept connections unix -755385:M 02 Sep 2026 14:22:01.469 * Ready to accept connections tls -755385:M 02 Sep 2026 14:22:01.652 - Accepted 127.0.0.1:38149 -755385:M 02 Sep 2026 14:22:01.661 - Client closed connection id=2 addr=127.0.0.1:38149 laddr=127.0.0.1:21449 fd=11 name= age=0 idle=0 flags=N capa= db=0 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=16384 rbp=16384 obl=0 oll=0 omem=0 tot-mem=37504 events=r cmd=ping user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=7 tot-net-out=7 tot-cmds=1 -755385:M 02 Sep 2026 14:22:01.666 - Accepted 127.0.0.1:43091 +604402:M 01 Aug 2025 10:50:44.289 * Server initialized +604402:M 01 Aug 2025 10:50:44.289 * Ready to accept connections tcp +604402:M 01 Aug 2025 10:50:44.289 * Ready to accept connections unix +604402:M 01 Aug 2025 10:50:44.289 * Ready to accept connections tls +604402:M 01 Aug 2025 10:50:44.395 - Accepted 127.0.0.1:40285 +604402:M 01 Aug 2025 10:50:44.400 - Client closed connection id=2 addr=127.0.0.1:40285 laddr=127.0.0.1:21519 fd=11 name= age=0 idle=0 flags=N capa= db=0 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=16384 rbp=16384 obl=0 oll=0 omem=0 tot-mem=37504 events=r cmd=ping user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=7 tot-net-out=7 tot-cmds=1 +604402:M 01 Aug 2025 10:50:44.403 - Accepted 127.0.0.1:39095 ### Starting test Active Defrag big hash: standalone in tests/unit/memefficiency.tcl -755385:M 02 Sep 2026 14:22:01.798 - Accepted 127.0.0.1:37095 -755385:M 02 Sep 2026 14:22:06.482 - DB 9: 17 keys (0 volatile) in 28 slots HT. -755385:M 02 Sep 2026 14:22:11.505 - DB 9: 17 keys (0 volatile) in 28 slots HT. -755385:M 02 Sep 2026 14:22:11.991 - Client closed connection id=4 addr=127.0.0.1:37095 laddr=127.0.0.1:21449 fd=12 name= age=10 idle=1 flags=N capa= db=9 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=1024 rbp=0 obl=0 oll=0 omem=0 tot-mem=22144 events=r cmd=hdel user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=61996778 tot-net-out=1200005 tot-cmds=300001 -===== End of server log (pid 755385) ===== +604402:M 01 Aug 2025 10:50:44.532 - Accepted 127.0.0.1:38441 +604402:M 01 Aug 2025 10:50:49.302 - DB 9: 17 keys (0 volatile) in 28 slots HT. +604402:M 01 Aug 2025 10:50:52.625 - Client closed connection id=4 addr=127.0.0.1:38441 laddr=127.0.0.1:21519 fd=12 name= age=8 idle=1 flags=N capa= db=9 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=1024 rbp=4 obl=0 oll=0 omem=0 tot-mem=22144 events=r cmd=hdel user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=61996778 tot-net-out=1200005 tot-cmds=300001 +===== End of server log (pid 604402) ===== -===== Start of server stderr log (pid 755385) ===== +===== Start of server stderr log (pid 604402) ===== -===== End of server stderr log (pid 755385) ===== +===== End of server stderr log (pid 604402) ===== -=== (defrag external:skip standalone) Starting server on 127.0.0.1:21451 ok +=== (defrag external:skip standalone) Starting server on 127.0.0.1:21521 ok Frag info: test start (Active Defrag big list: standalone) used: 2.30 MB frag: 0.00 MB frag ratio: 1.00 hits: 0 misses: 0 -[TIMEOUT]: clients state report follows. -sock560b90a7a2b0 => (IN PROGRESS) Active Defrag big list: standalone -Killing still running Valkey server 756216 - - The End - -Execution time of different units: - 1 seconds - unit/quit - 1 seconds - unit/slowlog - 2 seconds - unit/bitfield - 1 seconds - unit/oom-score-adj - 3 seconds - unit/info - 9 seconds - unit/client-eviction - 1 seconds - unit/lazyfree - 15 seconds - unit/introspection - 1 seconds - unit/info-command - 38 seconds - unit/wait - 3 seconds - unit/pubsubshard - 11 seconds - unit/multi - 56 seconds - unit/hyperloglog - 17 seconds - unit/obuf-limits - 14 seconds - unit/pause - 1 seconds - unit/limits - 1 seconds - unit/pubsub - 18 seconds - unit/geo - 30 seconds - unit/scripting - 1 seconds - unit/commandlog - 6 seconds - unit/querybuf - 0 seconds - unit/acl-v2 - 71 seconds - unit/maxmemory - 11 seconds - unit/introspection-2 - 16 seconds - unit/expire - 4 seconds - unit/keyspace - 3 seconds - unit/tracking - 4 seconds - unit/functions - 3 seconds - unit/acl - 2 seconds - unit/bitops - 12 seconds - unit/sort - 1 seconds - unit/replybufsize - 1 seconds - unit/networking - 1 seconds - unit/shutdown +Frag info: after adding data + used: 86.77 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Validating frag (1.00) < 1.05 +Frag info: after fragmenting data + used: 44.44 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Validating frag (1.00) > 1.4 -!!! WARNING The following tests failed: +===== Start of server log (pid 604444) ===== -*** [err]: Active Defrag main dictionary: standalone in tests/unit/memefficiency.tcl +[err]: Active Defrag big list: standalone in tests/unit/memefficiency.tcl Expected '1.00' to be more than '1.4' (context: type proc line 17 cmd {assert_morethan $frag $value} proc ::validate_frag_ratio level 2) -*** [err]: Active Defrag eval scripts: standalone in tests/unit/memefficiency.tcl +### Starting server for test +604444:M 01 Aug 2025 10:50:52.840 # 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. +604444:M 01 Aug 2025 10:50:52.840 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +604444:M 01 Aug 2025 10:50:52.840 * Valkey version=8.1.1, bits=64, commit=00000000, modified=0, pid=604444, just started +604444:M 01 Aug 2025 10:50:52.840 * Configuration loaded +604444:M 01 Aug 2025 10:50:52.840 * Increased maximum number of open files to 10032 (it was originally set to 1024). +604444:M 01 Aug 2025 10:50:52.840 * monotonic clock: POSIX clock_gettime +604444:M 01 Aug 2025 10:50:52.841 # Failed to write PID file: Permission denied + .+^+. + .+#########+. + .+########+########+. Valkey 8.1.1 (00000000/0) 64 bit + .+########+' '+########+. + .########+' .+. '+########. Running in standalone mode + |####+' .+#######+. '+####| Port: 21522 + |###| .+###############+. |###| PID: 604444 + |###| |#####*'' ''*#####| |###| + |###| |####' .-. '####| |###| + |###| |###( (@@@) )###| |###| https://valkey.io + |###| |####. '-' .####| |###| + |###| |#####*. .*#####| |###| + |###| '+#####| |#####+' |###| + |####+. +##| |#+' .+####| + '#######+ |##| .+########' + '+###| |##| .+########+' + '| |####+########+' + +#########+' + '+v+' + +604444:M 01 Aug 2025 10:50:52.843 * Server initialized +604444:M 01 Aug 2025 10:50:52.843 * Ready to accept connections tcp +604444:M 01 Aug 2025 10:50:52.843 * Ready to accept connections unix +604444:M 01 Aug 2025 10:50:52.843 * Ready to accept connections tls +604444:M 01 Aug 2025 10:50:52.949 - Accepted 127.0.0.1:45541 +604444:M 01 Aug 2025 10:50:52.954 - Client closed connection id=2 addr=127.0.0.1:45541 laddr=127.0.0.1:21521 fd=11 name= age=0 idle=0 flags=N capa= db=0 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=16384 rbp=16384 obl=0 oll=0 omem=0 tot-mem=37504 events=r cmd=ping user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=7 tot-net-out=7 tot-cmds=1 +604444:M 01 Aug 2025 10:50:52.957 - Accepted 127.0.0.1:41755 +### Starting test Active Defrag big list: standalone in tests/unit/memefficiency.tcl +604444:M 01 Aug 2025 10:50:53.087 - Accepted 127.0.0.1:39921 +604444:M 01 Aug 2025 10:50:57.865 - DB 9: 17 keys (0 volatile) in 28 slots HT. +604444:M 01 Aug 2025 10:51:01.452 - Client closed connection id=4 addr=127.0.0.1:39921 laddr=127.0.0.1:21521 fd=12 name= age=8 idle=0 flags=N capa= db=9 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=4096 rbp=2048 obl=0 oll=0 omem=0 tot-mem=25216 events=r cmd=lmove user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=85694908 tot-net-out=37833258 tot-cmds=400001 +===== End of server log (pid 604444) ===== + + +===== Start of server stderr log (pid 604444) ===== + + +===== End of server stderr log (pid 604444) ===== + +=== (defrag external:skip standalone) Starting server on 127.0.0.1:21523 ok +Frag info: test start (Active Defrag big set: standalone) + used: 2.30 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Frag info: after adding data + used: 67.16 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Validating frag (1.00) < 1.05 +Frag info: after fragmenting data + used: 35.53 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Validating frag (1.00) > 1.4 + +===== Start of server log (pid 604471) ===== + +[err]: Active Defrag big set: standalone in tests/unit/memefficiency.tcl Expected '1.00' to be more than '1.4' (context: type proc line 17 cmd {assert_morethan $frag $value} proc ::validate_frag_ratio level 2) -*** [err]: Active Defrag big hash: standalone in tests/unit/memefficiency.tcl +### Starting server for test +604471:M 01 Aug 2025 10:51:01.614 # 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. +604471:M 01 Aug 2025 10:51:01.614 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +604471:M 01 Aug 2025 10:51:01.614 * Valkey version=8.1.1, bits=64, commit=00000000, modified=0, pid=604471, just started +604471:M 01 Aug 2025 10:51:01.614 * Configuration loaded +604471:M 01 Aug 2025 10:51:01.614 * Increased maximum number of open files to 10032 (it was originally set to 1024). +604471:M 01 Aug 2025 10:51:01.614 * monotonic clock: POSIX clock_gettime +604471:M 01 Aug 2025 10:51:01.615 # Failed to write PID file: Permission denied + .+^+. + .+#########+. + .+########+########+. Valkey 8.1.1 (00000000/0) 64 bit + .+########+' '+########+. + .########+' .+. '+########. Running in standalone mode + |####+' .+#######+. '+####| Port: 21524 + |###| .+###############+. |###| PID: 604471 + |###| |#####*'' ''*#####| |###| + |###| |####' .-. '####| |###| + |###| |###( (@@@) )###| |###| https://valkey.io + |###| |####. '-' .####| |###| + |###| |#####*. .*#####| |###| + |###| '+#####| |#####+' |###| + |####+. +##| |#+' .+####| + '#######+ |##| .+########' + '+###| |##| .+########+' + '| |####+########+' + +#########+' + '+v+' + +604471:M 01 Aug 2025 10:51:01.617 * Server initialized +604471:M 01 Aug 2025 10:51:01.617 * Ready to accept connections tcp +604471:M 01 Aug 2025 10:51:01.617 * Ready to accept connections unix +604471:M 01 Aug 2025 10:51:01.617 * Ready to accept connections tls +604471:M 01 Aug 2025 10:51:01.723 - Accepted 127.0.0.1:43671 +604471:M 01 Aug 2025 10:51:01.729 - Client closed connection id=2 addr=127.0.0.1:43671 laddr=127.0.0.1:21523 fd=11 name= age=0 idle=0 flags=N capa= db=0 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=16384 rbp=16384 obl=0 oll=0 omem=0 tot-mem=37504 events=r cmd=ping user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=7 tot-net-out=7 tot-cmds=1 +604471:M 01 Aug 2025 10:51:01.732 - Accepted 127.0.0.1:35571 +### Starting test Active Defrag big set: standalone in tests/unit/memefficiency.tcl +604471:M 01 Aug 2025 10:51:01.860 - Accepted 127.0.0.1:34043 +604471:M 01 Aug 2025 10:51:06.627 - DB 9: 17 keys (0 volatile) in 28 slots HT. +604471:M 01 Aug 2025 10:51:10.050 - Client closed connection id=4 addr=127.0.0.1:34043 laddr=127.0.0.1:21523 fd=12 name= age=9 idle=1 flags=N capa= db=9 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=1024 rbp=4 obl=0 oll=0 omem=0 tot-mem=22144 events=r cmd=srem user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=100696778 tot-net-out=1200005 tot-cmds=300001 +===== End of server log (pid 604471) ===== + + +===== Start of server stderr log (pid 604471) ===== + + +===== End of server stderr log (pid 604471) ===== + +=== (defrag external:skip standalone) Starting server on 127.0.0.1:21525 ok +Frag info: test start (Active Defrag big zset: standalone) + used: 2.30 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Frag info: after adding data + used: 76.66 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Validating frag (1.00) < 1.05 +Frag info: after fragmenting data + used: 40.60 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Validating frag (1.00) > 1.4 + +===== Start of server log (pid 604623) ===== + +[err]: Active Defrag big zset: standalone in tests/unit/memefficiency.tcl Expected '1.00' to be more than '1.4' (context: type proc line 17 cmd {assert_morethan $frag $value} proc ::validate_frag_ratio level 2) -*** [TIMEOUT]: clients state report follows. -Cleanup: may take some time... OK +### Starting server for test +604623:M 01 Aug 2025 10:51:10.264 # 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. +604623:M 01 Aug 2025 10:51:10.264 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +604623:M 01 Aug 2025 10:51:10.264 * Valkey version=8.1.1, bits=64, commit=00000000, modified=0, pid=604623, just started +604623:M 01 Aug 2025 10:51:10.264 * Configuration loaded +604623:M 01 Aug 2025 10:51:10.265 * Increased maximum number of open files to 10032 (it was originally set to 1024). +604623:M 01 Aug 2025 10:51:10.265 * monotonic clock: POSIX clock_gettime +604623:M 01 Aug 2025 10:51:10.265 # Failed to write PID file: Permission denied + .+^+. + .+#########+. + .+########+########+. Valkey 8.1.1 (00000000/0) 64 bit + .+########+' '+########+. + .########+' .+. '+########. Running in standalone mode + |####+' .+#######+. '+####| Port: 21526 + |###| .+###############+. |###| PID: 604623 + |###| |#####*'' ''*#####| |###| + |###| |####' .-. '####| |###| + |###| |###( (@@@) )###| |###| https://valkey.io + |###| |####. '-' .####| |###| + |###| |#####*. .*#####| |###| + |###| '+#####| |#####+' |###| + |####+. +##| |#+' .+####| + '#######+ |##| .+########' + '+###| |##| .+########+' + '| |####+########+' + +#########+' + '+v+' + +604623:M 01 Aug 2025 10:51:10.267 * Server initialized +604623:M 01 Aug 2025 10:51:10.267 * Ready to accept connections tcp +604623:M 01 Aug 2025 10:51:10.267 * Ready to accept connections unix +604623:M 01 Aug 2025 10:51:10.267 * Ready to accept connections tls +604623:M 01 Aug 2025 10:51:10.372 - Accepted 127.0.0.1:33017 +604623:M 01 Aug 2025 10:51:10.377 - Client closed connection id=2 addr=127.0.0.1:33017 laddr=127.0.0.1:21525 fd=11 name= age=0 idle=0 flags=N capa= db=0 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=16384 rbp=16384 obl=0 oll=0 omem=0 tot-mem=37504 events=r cmd=ping user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=7 tot-net-out=7 tot-cmds=1 +604623:M 01 Aug 2025 10:51:10.380 - Accepted 127.0.0.1:46427 +### Starting test Active Defrag big zset: standalone in tests/unit/memefficiency.tcl +604623:M 01 Aug 2025 10:51:10.509 - Accepted 127.0.0.1:41943 +604623:M 01 Aug 2025 10:51:15.286 - DB 9: 17 keys (0 volatile) in 28 slots HT. +604623:M 01 Aug 2025 10:51:17.618 - Client closed connection id=4 addr=127.0.0.1:41943 laddr=127.0.0.1:21525 fd=12 name= age=7 idle=1 flags=N capa= db=9 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=1024 rbp=4 obl=0 oll=0 omem=0 tot-mem=22144 events=r cmd=zrem user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=90896924 tot-net-out=1200005 tot-cmds=300001 +===== End of server log (pid 604623) ===== + + +===== Start of server stderr log (pid 604623) ===== + + +===== End of server stderr log (pid 604623) ===== + +=== (defrag external:skip standalone) Starting server on 127.0.0.1:21527 ok +Frag info: test start (Active Defrag stream: standalone) + used: 2.30 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Frag info: after adding data + used: 72.04 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Validating frag (1.00) < 1.05 +Frag info: after fragmenting data + used: 37.61 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Validating frag (1.00) > 1.4 + +===== Start of server log (pid 604998) ===== + +[err]: Active Defrag stream: standalone in tests/unit/memefficiency.tcl +Expected '1.00' to be more than '1.4' (context: type proc line 17 cmd {assert_morethan $frag $value} proc ::validate_frag_ratio level 2) +### Starting server for test +604998:M 01 Aug 2025 10:51:17.824 # 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. +604998:M 01 Aug 2025 10:51:17.824 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +604998:M 01 Aug 2025 10:51:17.824 * Valkey version=8.1.1, bits=64, commit=00000000, modified=0, pid=604998, just started +604998:M 01 Aug 2025 10:51:17.824 * Configuration loaded +604998:M 01 Aug 2025 10:51:17.825 * Increased maximum number of open files to 10032 (it was originally set to 1024). +604998:M 01 Aug 2025 10:51:17.825 * monotonic clock: POSIX clock_gettime +604998:M 01 Aug 2025 10:51:17.825 # Failed to write PID file: Permission denied + .+^+. + .+#########+. + .+########+########+. Valkey 8.1.1 (00000000/0) 64 bit + .+########+' '+########+. + .########+' .+. '+########. Running in standalone mode + |####+' .+#######+. '+####| Port: 21528 + |###| .+###############+. |###| PID: 604998 + |###| |#####*'' ''*#####| |###| + |###| |####' .-. '####| |###| + |###| |###( (@@@) )###| |###| https://valkey.io + |###| |####. '-' .####| |###| + |###| |#####*. .*#####| |###| + |###| '+#####| |#####+' |###| + |####+. +##| |#+' .+####| + '#######+ |##| .+########' + '+###| |##| .+########+' + '| |####+########+' + +#########+' + '+v+' + +604998:M 01 Aug 2025 10:51:17.827 * Server initialized +604998:M 01 Aug 2025 10:51:17.827 * Ready to accept connections tcp +604998:M 01 Aug 2025 10:51:17.827 * Ready to accept connections unix +604998:M 01 Aug 2025 10:51:17.827 * Ready to accept connections tls +604998:M 01 Aug 2025 10:51:17.965 - Accepted 127.0.0.1:43703 +604998:M 01 Aug 2025 10:51:17.971 - Client closed connection id=2 addr=127.0.0.1:43703 laddr=127.0.0.1:21527 fd=11 name= age=0 idle=0 flags=N capa= db=0 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=16384 rbp=16384 obl=0 oll=0 omem=0 tot-mem=37504 events=r cmd=ping user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=7 tot-net-out=7 tot-cmds=1 +604998:M 01 Aug 2025 10:51:17.974 - Accepted 127.0.0.1:35337 +### Starting test Active Defrag stream: standalone in tests/unit/memefficiency.tcl +604998:M 01 Aug 2025 10:51:18.104 - Accepted 127.0.0.1:39757 +604998:M 01 Aug 2025 10:51:22.848 - DB 9: 200000 keys (0 volatile) in 229376 slots HT. +604998:M 01 Aug 2025 10:51:25.309 - Client closed connection id=4 addr=127.0.0.1:39757 laddr=127.0.0.1:21527 fd=12 name= age=7 idle=1 flags=N capa= db=9 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=1024 rbp=4 obl=0 oll=0 omem=0 tot-mem=22144 events=r cmd=del user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=36833358 tot-net-out=4800005 tot-cmds=300001 +===== End of server log (pid 604998) ===== + + +===== Start of server stderr log (pid 604998) ===== + + +===== End of server stderr log (pid 604998) ===== + +=== (defrag external:skip standalone) Starting server on 127.0.0.1:21529 ok +Frag info: test start (pubsub) + used: 2.25 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Frag info: after adding data + used: 59.37 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Frag info: after fragmenting data + used: 32.01 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 + +===== Start of server log (pid 605259) ===== + +### Starting server for test +605259:M 01 Aug 2025 10:51:25.481 # 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. +605259:M 01 Aug 2025 10:51:25.481 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +605259:M 01 Aug 2025 10:51:25.481 * Valkey version=8.1.1, bits=64, commit=00000000, modified=0, pid=605259, just started +605259:M 01 Aug 2025 10:51:25.481 * Configuration loaded +605259:M 01 Aug 2025 10:51:25.481 * Increased maximum number of open files to 10032 (it was originally set to 1024). +605259:M 01 Aug 2025 10:51:25.481 * monotonic clock: POSIX clock_gettime +605259:M 01 Aug 2025 10:51:25.481 # Failed to write PID file: Permission denied + .+^+. + .+#########+. + .+########+########+. Valkey 8.1.1 (00000000/0) 64 bit + .+########+' '+########+. + .########+' .+. '+########. Running in standalone mode + |####+' .+#######+. '+####| Port: 21530 + |###| .+###############+. |###| PID: 605259 + |###| |#####*'' ''*#####| |###| + |###| |####' .-. '####| |###| + |###| |###( (@@@) )###| |###| https://valkey.io + |###| |####. '-' .####| |###| + |###| |#####*. .*#####| |###| + |###| '+#####| |#####+' |###| + |####+. +##| |#+' .+####| + '#######+ |##| .+########' + '+###| |##| .+########+' + '| |####+########+' + +#########+' + '+v+' + +605259:M 01 Aug 2025 10:51:25.483 * Server initialized +605259:M 01 Aug 2025 10:51:25.483 * Ready to accept connections tcp +605259:M 01 Aug 2025 10:51:25.483 * Ready to accept connections unix +605259:M 01 Aug 2025 10:51:25.483 * Ready to accept connections tls +605259:M 01 Aug 2025 10:51:25.591 - Accepted 127.0.0.1:35977 +605259:M 01 Aug 2025 10:51:25.597 - Client closed connection id=2 addr=127.0.0.1:35977 laddr=127.0.0.1:21529 fd=11 name= age=0 idle=0 flags=N capa= db=0 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=16384 rbp=16384 obl=0 oll=0 omem=0 tot-mem=37504 events=r cmd=ping user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=7 tot-net-out=7 tot-cmds=1 +605259:M 01 Aug 2025 10:51:25.600 - Accepted 127.0.0.1:36231 +### Starting test Active Defrag pubsub: standalone in tests/unit/memefficiency.tcl +605259:M 01 Aug 2025 10:51:25.606 - Accepted 127.0.0.1:45005 +605259:M 01 Aug 2025 10:51:47.084 - Client closed connection id=3 addr=127.0.0.1:36231 laddr=127.0.0.1:21529 fd=11 name= age=22 idle=0 flags=N capa= db=9 sub=0 psub=0 ssub=0 multi=-1 watch=0 qbuf=0 qbuf-free=20474 argv-mem=0 multi-mem=0 rbs=1024 rbp=1024 obl=0 oll=0 omem=0 tot-mem=22144 events=r cmd=config|set user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=286 tot-net-out=92500 tot-cmds=17 +605259:signal-handler (1753995107) Received SIGTERM scheduling shutdown... +605259:M 01 Aug 2025 10:51:47.109 * User requested shutdown... +605259:M 01 Aug 2025 10:51:47.109 * Removing the pid file. +605259:M 01 Aug 2025 10:51:47.109 * Removing the unix socket file. +605259:M 01 Aug 2025 10:51:47.109 # Valkey is now ready to exit, bye bye... +===== End of server log (pid 605259) ===== + + +===== Start of server stderr log (pid 605259) ===== + + +===== End of server stderr log (pid 605259) ===== + +[exception]: Executing test client: ERR CONFIG SET failed (possibly related to argument 'activedefrag') - Active defragmentation cannot be enabled: it requires a server compiled with a modified Jemalloc like the one shipped by default with the source distribution. +ERR CONFIG SET failed (possibly related to argument 'activedefrag') - Active defragmentation cannot be enabled: it requires a server compiled with a modified Jemalloc like the one shipped by default with the source distribution + while executing +"[srv $level "client"] {*}$args" + (procedure "r" line 7) + invoked from within +"r config set activedefrag yes" + ("uplevel" body line 48) + invoked from within +"uplevel 1 $code" + (procedure "test" line 58) + invoked from within +"test $title { + set n 100000 + + set rd [valkey_deferring_client] + set chan [string repeat A 100] + + # https:/..." + (procedure "test_pubsub" line 3) + invoked from within +"$test_proc $type" + ("uplevel" body line 2) + invoked from within +"uplevel 1 $code " + (procedure "start_server" line 2) + invoked from within +"start_server [list tags $standalone_tags overrides $overrides] { + $test_proc $type + }" + ("foreach" body line 4) + invoked from within +"foreach t $tests { + lassign $t test_proc type overrides + if {$type == "standalone"} { + start_server [list tags $s..." + ("eval" body line 556) + invoked from within +"eval $code" + (procedure "run_solo" line 4) + invoked from within +"run_solo {defrag} { + # make logging a bit more readable + proc to_mb {bytes} { + return [format "%6.2f MB" [expr $bytes / 1024.0 / 1024.0]]..." + (file "tests/unit/memefficiency.tcl" line 40) + invoked from within +"source $path" + (procedure "execute_test_file" line 4) + invoked from within +"execute_test_file $data" + (procedure "test_client_main" line 10) + invoked from within +"test_client_main $::test_server_port " timeout 30m ./runtest-cluster --tls || true Starting valkey #0 at port 30000 Starting valkey #1 at port 30002 @@ -3169,282 +3754,280 @@ Starting valkey #18 at port 30036 Starting valkey #19 at port 30038 Testing unit: 03-failover-loop.tcl -14:42:18> (init) Restart killed instances: OK -14:42:18> Cluster nodes are reachable: OK -14:42:18> Cluster nodes hard reset: OK -14:42:26> Cluster Join and auto-discovery test: OK -14:42:28> Before slots allocation, all nodes report cluster failure: OK -14:42:28> Create a 5 nodes cluster: OK -14:42:32> Cluster is up: OK +10:52:00> (init) Restart killed instances: OK +10:52:00> Cluster nodes are reachable: OK +10:52:00> Cluster nodes hard reset: OK +10:52:01> Cluster Join and auto-discovery test: OK +10:52:04> Before slots allocation, all nodes report cluster failure: OK +10:52:04> Create a 5 nodes cluster: OK +10:52:08> Cluster is up: OK --- Iteration 19 --- -14:42:32> Wait for slave of #4 to sync: OK -14:42:32> Cluster is writable before failover: OK -14:42:32> Terminating node #4: OK -14:42:33> Wait failover by #9 with old epoch 5: OK -14:42:38> Cluster should eventually be up again: OK -14:42:38> Cluster is writable again: OK -14:42:38> Restarting node #4: OK -14:42:38> Instance #4 is now a slave: OK -14:42:38> We can read back the value we set before: OK +10:52:08> Wait for slave of #4 to sync: OK +10:52:08> Cluster is writable before failover: OK +10:52:08> Terminating node #4: OK +10:52:09> Wait failover by #9 with old epoch 5: OK +10:52:15> Cluster should eventually be up again: OK +10:52:15> Cluster is writable again: OK +10:52:15> Restarting node #4: OK +10:52:15> Instance #4 is now a slave: OK +10:52:15> We can read back the value we set before: OK --- Iteration 18 --- -14:42:38> Wait for slave of #9 to sync: OK -14:42:38> Cluster is writable before failover: OK -14:42:38> Terminating node #9: OK -14:42:39> Wait failover by #4 with old epoch 21: OK -14:42:46> Cluster should eventually be up again: OK -14:42:47> Cluster is writable again: OK -14:42:47> Restarting node #9: OK -14:42:48> Instance #9 is now a slave: OK -14:42:48> We can read back the value we set before: OK +10:52:15> Wait for slave of #9 to sync: OK +10:52:15> Cluster is writable before failover: OK +10:52:15> Terminating node #9: OK +10:52:16> Wait failover by #4 with old epoch 21: OK +10:52:22> Cluster should eventually be up again: OK +10:52:23> Cluster is writable again: OK +10:52:23> Restarting node #9: OK +10:52:24> Instance #9 is now a slave: OK +10:52:24> We can read back the value we set before: OK --- Iteration 17 --- -14:42:48> Cluster is writable before failover: OK -14:42:48> Terminating node #6: OK -14:42:49> Cluster should eventually be up again: OK -14:42:50> Cluster is writable again: OK -14:42:50> Restarting node #6: OK -14:42:50> Instance #6 is now a slave: OK -14:42:50> We can read back the value we set before: OK +10:52:24> Wait for slave of #1 to sync: OK +10:52:24> Cluster is writable before failover: OK +10:52:24> Terminating node #1: OK +10:52:25> Wait failover by #6 with old epoch 2: OK +10:52:31> Cluster should eventually be up again: OK +10:52:31> Cluster is writable again: OK +10:52:31> Restarting node #1: OK +10:52:31> Instance #1 is now a slave: OK +10:52:31> We can read back the value we set before: OK --- Iteration 16 --- -14:42:50> Wait for slave of #2 to sync: OK -14:42:50> Cluster is writable before failover: OK -14:42:50> Terminating node #2: OK -14:42:52> Wait failover by #7 with old epoch 3: OK -14:42:57> Cluster should eventually be up again: OK -14:42:58> Cluster is writable again: OK -14:42:58> Restarting node #2: OK -14:42:58> Instance #2 is now a slave: OK -14:42:58> We can read back the value we set before: OK +10:52:31> Cluster is writable before failover: OK +10:52:31> Terminating node #9: OK +10:52:31> Cluster should eventually be up again: OK +10:52:31> Cluster is writable again: OK +10:52:31> Restarting node #9: OK +10:52:31> Instance #9 is now a slave: OK +10:52:31> We can read back the value we set before: OK --- Iteration 15 --- -14:42:58> Cluster is writable before failover: OK -14:42:58> Terminating node #8: OK -14:42:58> Cluster should eventually be up again: OK -14:42:58> Cluster is writable again: OK -14:42:58> Restarting node #8: OK -14:42:59> Instance #8 is now a slave: OK -14:42:59> We can read back the value we set before: OK +10:52:32> Wait for slave of #3 to sync: OK +10:52:32> Cluster is writable before failover: OK +10:52:32> Terminating node #3: OK +10:52:32> Wait failover by #8 with old epoch 4: OK +10:52:38> Cluster should eventually be up again: OK +10:52:38> Cluster is writable again: OK +10:52:38> Restarting node #3: OK +10:52:38> Instance #3 is now a slave: OK +10:52:38> We can read back the value we set before: OK --- Iteration 14 --- -14:42:59> Cluster is writable before failover: OK -14:42:59> Terminating node #9: OK -14:43:02> Cluster should eventually be up again: OK -14:43:03> Cluster is writable again: OK -14:43:03> Restarting node #9: OK -14:43:03> Instance #9 is now a slave: OK -14:43:03> We can read back the value we set before: OK +10:52:38> Cluster is writable before failover: OK +10:52:38> Terminating node #3: OK +10:52:39> Cluster should eventually be up again: OK +10:52:39> Cluster is writable again: OK +10:52:39> Restarting node #3: OK +10:52:39> Instance #3 is now a slave: OK +10:52:39> We can read back the value we set before: OK --- Iteration 13 --- -14:43:03> Wait for slave of #1 to sync: OK -14:43:03> Cluster is writable before failover: OK -14:43:03> Terminating node #1: OK -14:43:04> Wait failover by #6 with old epoch 2: OK -14:43:11> Cluster should eventually be up again: OK -14:43:12> Cluster is writable again: OK -14:43:12> Restarting node #1: OK -14:43:12> Instance #1 is now a slave: OK -14:43:12> We can read back the value we set before: OK +10:52:39> Wait for slave of #0 to sync: OK +10:52:39> Cluster is writable before failover: OK +10:52:39> Terminating node #0: OK +10:52:40> Wait failover by #5 with old epoch 1: OK +10:52:47> Cluster should eventually be up again: OK +10:52:47> Cluster is writable again: OK +10:52:47> Restarting node #0: OK +10:52:48> Instance #0 is now a slave: OK +10:52:48> We can read back the value we set before: OK --- Iteration 12 --- -14:43:13> Cluster is writable before failover: OK -14:43:13> Terminating node #8: OK -14:43:14> Cluster should eventually be up again: OK -14:43:14> Cluster is writable again: OK -14:43:14> Restarting node #8: OK -14:43:14> Instance #8 is now a slave: OK -14:43:14> We can read back the value we set before: OK +10:52:48> Cluster is writable before failover: OK +10:52:48> Terminating node #3: OK +10:52:49> Cluster should eventually be up again: OK +10:52:49> Cluster is writable again: OK +10:52:49> Restarting node #3: OK +10:52:49> Instance #3 is now a slave: OK +10:52:49> We can read back the value we set before: OK --- Iteration 11 --- -14:43:14> Wait for slave of #6 to sync: OK -14:43:14> Cluster is writable before failover: OK -14:43:14> Terminating node #6: OK -14:43:15> Wait failover by #1 with old epoch 24: OK -14:43:22> Cluster should eventually be up again: OK -14:43:22> Cluster is writable again: OK -14:43:23> Restarting node #6: OK -14:43:23> Instance #6 is now a slave: OK -14:43:23> We can read back the value we set before: OK +10:52:49> Cluster is writable before failover: OK +10:52:49> Terminating node #7: OK +10:52:49> Cluster should eventually be up again: OK +10:52:49> Cluster is writable again: OK +10:52:49> Restarting node #7: OK +10:52:50> Instance #7 is now a slave: OK +10:52:50> We can read back the value we set before: OK --- Iteration 10 --- -14:43:24> Wait for slave of #3 to sync: OK -14:43:24> Cluster is writable before failover: OK -14:43:24> Terminating node #3: OK -14:43:25> Wait failover by #8 with old epoch 4: OK -14:43:30> Cluster should eventually be up again: OK -14:43:31> Cluster is writable again: OK -14:43:31> Restarting node #3: OK -14:43:31> Instance #3 is now a slave: OK -14:43:31> We can read back the value we set before: OK +10:52:50> Cluster is writable before failover: OK +10:52:50> Terminating node #7: OK +10:52:50> Cluster should eventually be up again: OK +10:52:50> Cluster is writable again: OK +10:52:50> Restarting node #7: OK +10:52:50> Instance #7 is now a slave: OK +10:52:50> We can read back the value we set before: OK --- Iteration 9 --- -14:43:31> Cluster is writable before failover: OK -14:43:31> Terminating node #6: OK -14:43:32> Cluster should eventually be up again: OK -14:43:32> Cluster is writable again: OK -14:43:32> Restarting node #6: OK -14:43:32> Instance #6 is now a slave: OK -14:43:32> We can read back the value we set before: OK +10:52:50> Wait for slave of #6 to sync: OK +10:52:50> Cluster is writable before failover: OK +10:52:50> Terminating node #6: OK +10:52:51> Wait failover by #1 with old epoch 23: OK +10:52:56> Cluster should eventually be up again: OK +10:52:56> Cluster is writable again: OK +10:52:56> Restarting node #6: OK +10:52:57> Instance #6 is now a slave: OK +10:52:57> We can read back the value we set before: OK --- Iteration 8 --- -14:43:32> Wait for slave of #4 to sync: OK -14:43:32> Cluster is writable before failover: OK -14:43:32> Terminating node #4: OK -14:43:33> Wait failover by #9 with old epoch 22: OK -14:43:39> Cluster should eventually be up again: OK -14:43:39> Cluster is writable again: OK -14:43:39> Restarting node #4: OK -14:43:40> Instance #4 is now a slave: OK -14:43:40> We can read back the value we set before: OK +10:52:57> Wait for slave of #5 to sync: OK +10:52:57> Cluster is writable before failover: OK +10:52:57> Terminating node #5: OK +10:52:57> Wait failover by #0 with old epoch 25: OK +10:53:02> Cluster should eventually be up again: OK +10:53:02> Cluster is writable again: OK +10:53:02> Restarting node #5: OK +10:53:02> Instance #5 is now a slave: OK +10:53:02> We can read back the value we set before: OK --- Iteration 7 --- -14:43:40> Cluster is writable before failover: OK -14:43:40> Terminating node #6: OK -14:43:40> Cluster should eventually be up again: OK -14:43:40> Cluster is writable again: OK -14:43:41> Restarting node #6: OK -14:43:41> Instance #6 is now a slave: OK -14:43:41> We can read back the value we set before: OK +10:53:02> Wait for slave of #8 to sync: OK +10:53:02> Cluster is writable before failover: OK +10:53:02> Terminating node #8: OK +10:53:03> Wait failover by #3 with old epoch 24: OK +10:53:09> Cluster should eventually be up again: OK +10:53:09> Cluster is writable again: OK +10:53:09> Restarting node #8: OK +10:53:09> Instance #8 is now a slave: OK +10:53:09> We can read back the value we set before: OK --- Iteration 6 --- -14:43:41> Cluster is writable before failover: OK -14:43:41> Terminating node #4: OK -14:43:42> Cluster should eventually be up again: OK -14:43:42> Cluster is writable again: OK -14:43:42> Restarting node #4: OK -14:43:43> Instance #4 is now a slave: OK -14:43:43> We can read back the value we set before: OK +10:53:09> Wait for slave of #3 to sync: OK +10:53:10> Cluster is writable before failover: OK +10:53:10> Terminating node #3: OK +10:53:11> Wait failover by #8 with old epoch 28: OK +10:53:16> Cluster should eventually be up again: OK +10:53:16> Cluster is writable again: OK +10:53:16> Restarting node #3: OK +10:53:16> Instance #3 is now a slave: OK +10:53:16> We can read back the value we set before: OK --- Iteration 5 --- -14:43:43> Wait for slave of #1 to sync: OK -14:43:43> Cluster is writable before failover: OK -14:43:43> Terminating node #1: OK -14:43:44> Wait failover by #6 with old epoch 25: OK -14:43:49> Cluster should eventually be up again: OK -14:43:49> Cluster is writable again: OK -14:43:49> Restarting node #1: OK -14:43:50> Instance #1 is now a slave: OK -14:43:50> We can read back the value we set before: OK +10:53:16> Wait for slave of #4 to sync: OK +10:53:16> Cluster is writable before failover: OK +10:53:16> Terminating node #4: OK +10:53:16> Wait failover by #9 with old epoch 22: OK +10:53:21> Cluster should eventually be up again: OK +10:53:21> Cluster is writable again: OK +10:53:21> Restarting node #4: OK +10:53:22> Instance #4 is now a slave: OK +10:53:22> We can read back the value we set before: OK --- Iteration 4 --- -14:43:50> Cluster is writable before failover: OK -14:43:50> Terminating node #3: OK -14:43:51> Cluster should eventually be up again: OK -14:43:51> Cluster is writable again: OK -14:43:51> Restarting node #3: OK -14:43:52> Instance #3 is now a slave: OK -14:43:52> We can read back the value we set before: OK +10:53:22> Cluster is writable before failover: OK +10:53:22> Terminating node #4: OK +10:53:22> Cluster should eventually be up again: OK +10:53:22> Cluster is writable again: OK +10:53:22> Restarting node #4: OK +10:53:22> Instance #4 is now a slave: OK +10:53:22> We can read back the value we set before: OK --- Iteration 3 --- -14:43:52> Wait for slave of #7 to sync: OK -14:43:52> Cluster is writable before failover: OK -14:43:52> Terminating node #7: OK -14:43:53> Wait failover by #2 with old epoch 23: OK -14:43:58> Cluster should eventually be up again: OK -14:43:59> Cluster is writable again: OK -14:43:59> Restarting node #7: OK -14:43:59> Instance #7 is now a slave: OK -14:43:59> We can read back the value we set before: OK +10:53:22> Cluster is writable before failover: OK +10:53:22> Terminating node #3: OK +10:53:22> Cluster should eventually be up again: OK +10:53:22> Cluster is writable again: OK +10:53:22> Restarting node #3: OK +10:53:22> Instance #3 is now a slave: OK +10:53:22> We can read back the value we set before: OK --- Iteration 2 --- -14:43:59> Cluster is writable before failover: OK -14:43:59> Terminating node #7: OK -14:43:59> Cluster should eventually be up again: OK -14:43:59> Cluster is writable again: OK -14:43:59> Restarting node #7: OK -14:44:00> Instance #7 is now a slave: OK -14:44:00> We can read back the value we set before: OK +10:53:22> Cluster is writable before failover: OK +10:53:22> Terminating node #4: OK +10:53:22> Cluster should eventually be up again: OK +10:53:22> Cluster is writable again: OK +10:53:22> Restarting node #4: OK +10:53:22> Instance #4 is now a slave: OK +10:53:22> We can read back the value we set before: OK --- Iteration 1 --- -14:44:00> Wait for slave of #8 to sync: OK -14:44:00> Cluster is writable before failover: OK -14:44:00> Terminating node #8: OK -14:44:02> Wait failover by #3 with old epoch 26: OK -14:44:06> Cluster should eventually be up again: OK -14:44:06> Cluster is writable again: OK -14:44:06> Restarting node #8: OK -14:44:06> Instance #8 is now a slave: OK -14:44:06> We can read back the value we set before: OK -14:44:06> Post condition: current_epoch >= my_epoch everywhere: OK +10:53:22> Wait for slave of #0 to sync: OK +10:53:22> Cluster is writable before failover: OK +10:53:22> Terminating node #0: OK +10:53:23> Wait failover by #5 with old epoch 27: OK +10:53:29> Cluster should eventually be up again: OK +10:53:29> Cluster is writable again: OK +10:53:29> Restarting node #0: OK +10:53:29> Instance #0 is now a slave: OK +10:53:29> We can read back the value we set before: OK +10:53:29> Post condition: current_epoch >= my_epoch everywhere: OK Testing unit: 04-resharding.tcl -14:44:06> (init) Restart killed instances: OK -14:44:06> Cluster nodes are reachable: OK -14:44:06> Cluster nodes hard reset: OK -14:44:13> Cluster Join and auto-discovery test: OK -14:44:16> Before slots allocation, all nodes report cluster failure: OK -14:44:16> Create a 5 nodes cluster: OK -14:44:20> Cluster is up: OK -14:44:20> Enable AOF in all the instances: OK +10:53:29> (init) Restart killed instances: OK +10:53:29> Cluster nodes are reachable: OK +10:53:29> Cluster nodes hard reset: OK +10:53:30> Cluster Join and auto-discovery test: OK +10:53:31> Before slots allocation, all nodes report cluster failure: OK +10:53:31> Create a 5 nodes cluster: OK +10:53:35> Cluster is up: OK +10:53:35> Enable AOF in all the instances: OK Testing TLS cluster on start node 127.0.0.1:30000, plaintext port 30001 -14:44:20> Cluster consistency during live resharding: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...Starting resharding...W........................................................................................................................................W.....................................................................................W..W...............W...................................................................W...........................................................................................W.........................................................................................W...............................................................................................W.................WW......................................................................................W..........................................................................................W..............................................................................................................W..............................................................................W.......................................WWWWW...Starting resharding...W...........................................................................................................................................W..............................................................................................W...........................W.........................................................................W.................................................W................................W.........................................................W..............................................................................W.........................W..........................................................W.........................................................................................................................W........................................................................................W.....................................................................................................W............................................WWWWWW...Starting resharding...W.....................................................................................................................................W............................................................................................W...........................................................................................................W..........................................................................................................W............................................................................................W....................................................................W................................................................................W.............................................................................................W...............................................................................W.........................................................................................................W...............................WWWWWWWWW...Starting resharding...W.............................................................................................................................................................................W...................................................................................................W.......................................................................................W......................................................................................W...........................................................................W............................................................................................................W............................................................................................................W.......................................................................................................................W..............................................................................................W.........................................Starting resharding...W.....................................................................................................................................................W................................................................................................................W..................................................................................................W.............................................................................................................................W.......................................................................................................W..........................................................................................................................W.....................................................................................................W...................................................................................................W.............................................................................................W...........Starting resharding...W.....................................................................................................................................W.............................................................................................W...........................................................................................................W....................................................................................................W.....................................................................................................W......................................................................................................W....................................................................................................................W.........................................................................................................W........................................................................................................................W.......................................Starting resharding...W...........................................................................................................................................W............................................................................................................................W...........................................................................W.......................................................................................................W............................................................................................W.......................................................................................W...............................................................................W....................................................................W..............................................................................................W...............................................................................................................................................OK -14:47:39> Verify 50000 keys for consistency with logical content: OK -14:47:50> Terminate and restart all the instances: OK -14:47:56> Cluster should eventually be up again: OK -14:47:58> Verify 50000 keys after the restart: OK -14:48:09> Disable AOF in all the instances: OK -14:48:09> Verify slaves consistency: OK -14:48:10> Dump sanitization was skipped for migrations: OK +10:53:35> Cluster consistency during live resharding: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...Starting resharding...W.....................W....................................................................................................................................W..........................................W....................................................W.............................................................W..............................................W.........................................................W....................................................W.......................................................W..............................W............................................W........................................W...............................................W.............................................................W.............................................W...............................................W..........................................................W..................................W...................................W.....................Starting resharding...W.....................W...........................................................................................................................................W......................................................W.....................................W........................................W......................................W................................................................W.........................................W........................................................W............................................................................W................................................W...................................................................W.................................................W...................................................................W................................................................W...................................................................W..................................................W........WW...Starting resharding...W.....................W...............................................................................................................................W.......................................................W...........................................W.......................................W.........WWW.........WW.................W............................W...........................................................................W..............................................W.............................................................................................W......................................................................W............................................................................W................W............................W..................................................................................W........................................................W....................................................W...............................................................................WWWWWWW...Starting resharding...W................................................W.............................................................................................................W....................................W...............W.........................................W............................................................WW..............................................................W..............WW...................W.............................................W..................................W.......................................W..................................WWW........................W..................................W................W..............................................................W..................................................................................W................................................W.........................................................................W..................................W............................................WWWWOK +10:54:49> Verify 50000 keys for consistency with logical content: OK +10:54:54> Terminate and restart all the instances: OK +10:54:58> Cluster should eventually be up again: OK +10:55:00> Verify 50000 keys after the restart: OK +10:55:13> Disable AOF in all the instances: OK +10:55:13> Verify slaves consistency: OK +10:55:14> Dump sanitization was skipped for migrations: OK Testing unit: 07-replica-migration.tcl -14:48:10> (init) Restart killed instances: OK -14:48:10> Cluster nodes are reachable: OK -14:48:10> Cluster nodes hard reset: OK -14:48:11> Cluster Join and auto-discovery test: OK -14:48:14> Before slots allocation, all nodes report cluster failure: OK -14:48:14> Create a 5 nodes cluster: OK -14:48:18> Cluster is up: OK -14:48:18> Each master should have two replicas attached: OK -14:48:18> Killing all the slaves of master #0 and #1: OK -14:48:22> Master #0 should have at least one replica: OK -14:48:30> Master #1 should have at least one replica: OK -14:48:30> Master #2 should have at least one replica: OK -14:48:30> Master #3 should have at least one replica: OK -14:48:30> Master #4 should have at least one replica: OK -14:48:30> (init) Restart killed instances: valkey/5 valkey/6 valkey/10 valkey/11 OK -14:48:30> Cluster nodes are reachable: OK -14:48:30> Cluster nodes hard reset: OK -14:48:32> Cluster Join and auto-discovery test: OK -14:48:34> Before slots allocation, all nodes report cluster failure: OK -14:48:34> Create a 5 nodes cluster: OK -14:48:38> Cluster is up: OK -14:48:38> Kill slave #7 of master #2. Only slave left is #12 now: OK -14:48:39> Killing master node #2, #12 should failover: OK -14:48:39> Wait for failover: OK -14:48:46> Cluster should eventually be up again: OK -14:48:47> Cluster is writable: OK -14:48:47> Instance 12 is now a master without slaves: OK -14:48:47> Master #12 should get at least one migrated replica: OK +10:55:14> (init) Restart killed instances: OK +10:55:14> Cluster nodes are reachable: OK +10:55:14> Cluster nodes hard reset: OK +10:55:16> Cluster Join and auto-discovery test: OK +10:55:18> Before slots allocation, all nodes report cluster failure: OK +10:55:18> Create a 5 nodes cluster: OK +10:55:22> Cluster is up: OK +10:55:22> Each master should have two replicas attached: OK +10:55:22> Killing all the slaves of master #0 and #1: OK +10:55:29> Master #0 should have at least one replica: OK +10:55:32> Master #1 should have at least one replica: OK +10:55:34> Master #2 should have at least one replica: OK +10:55:34> Master #3 should have at least one replica: OK +10:55:34> Master #4 should have at least one replica: OK +10:55:34> (init) Restart killed instances: valkey/5 valkey/6 valkey/10 valkey/11 OK +10:55:35> Cluster nodes are reachable: OK +10:55:35> Cluster nodes hard reset: OK +10:55:39> Cluster Join and auto-discovery test: OK +10:55:44> Before slots allocation, all nodes report cluster failure: OK +10:55:44> Create a 5 nodes cluster: OK +10:55:49> Cluster is up: OK +10:55:49> Kill slave #7 of master #2. Only slave left is #12 now: OK +10:55:49> Killing master node #2, #12 should failover: OK +10:55:49> Wait for failover: OK +10:55:56> Cluster should eventually be up again: OK +10:55:57> Cluster is writable: OK +10:55:57> Instance 12 is now a master without slaves: OK +10:55:57> Master #12 should get at least one migrated replica: OK Testing unit: 12-replica-migration-2.tcl -14:48:52> (init) Restart killed instances: valkey/2 valkey/7 OK -14:48:53> Cluster nodes are reachable: OK -14:48:53> Cluster nodes hard reset: OK -14:48:55> Cluster Join and auto-discovery test: OK -14:48:57> Before slots allocation, all nodes report cluster failure: OK -14:48:57> Create a 5 nodes cluster: OK -14:49:01> Cluster is up: OK -14:49:01> Each master should have at least two replicas attached: OK -14:49:01> Set allow-replica-migration yes: OK -14:49:01> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) +10:56:02> (init) Restart killed instances: valkey/2 valkey/7 OK +10:56:03> Cluster nodes are reachable: OK +10:56:03> Cluster nodes hard reset: OK +10:56:07> Cluster Join and auto-discovery test: OK +10:56:09> Before slots allocation, all nodes report cluster failure: OK +10:56:09> Create a 5 nodes cluster: OK +10:56:12> Cluster is up: OK +10:56:12> Each master should have at least two replicas attached: OK +10:56:12> Set allow-replica-migration yes: OK +10:56:12> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. >>> Rebalancing across 5 nodes. Total weight = 4.00 +Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30004 +#################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30002 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30006 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### -Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30004 -#############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################*** clusterManagerMoveSlot: NOREPLICAS Not enough good replicas to write. -FAILED: caught an error in the test child process exited abnormally -child process exited abnormally - while executing -"exec ../../../src/valkey-cli --cluster rebalance 127.0.0.1:[get_instance_attrib valkey 0 port] {*}[valkeycli_tls_config "../../../tests"] --cluste..." - ("uplevel" body line 2) - invoked from within -"uplevel 1 $code" - (procedure "test" line 6) - invoked from within -"test "Resharding all the master #0 slots away from it" { - set output [exec \ - ../../../src/valkey-cli --cluster rebalance \ - 127.0.0...." - (file "../tests/12-replica-migration-2.tcl" line 39) - invoked from within -"source $test " +Moving 816 slots from 127.0.0.1:30000 to 127.0.0.1:30008 +################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################ +OK +11:04:30> Master #0 who lost all slots should turn into a replica without replicas: OK +11:04:30> 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 +11:04:41> Master #0 should re-acquire one or more replicas: OK Testing unit: 12.1-replica-migration-3.tcl -14:53:13> (init) Restart killed instances: OK -14:53:13> Cluster nodes are reachable: OK -14:53:13> Cluster nodes hard reset: OK -14:53:18> Cluster Join and auto-discovery test: OK -14:53:20> Before slots allocation, all nodes report cluster failure: OK -14:53:20> Create a 5 nodes cluster: OK -14:53:24> Cluster is up: OK -14:53:24> Each master should have at least two replicas attached: OK -14:53:24> Set allow-replica-migration no: OK -14:53:24> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) +11:04:41> (init) Restart killed instances: OK +11:04:41> Cluster nodes are reachable: OK +11:04:41> Cluster nodes hard reset: OK +11:04:42> Cluster Join and auto-discovery test: OK +11:04:45> Before slots allocation, all nodes report cluster failure: OK +11:04:45> Create a 5 nodes cluster: OK +11:04:48> Cluster is up: OK +11:04:48> Each master should have at least two replicas attached: OK +11:04:48> Set allow-replica-migration no: OK +11:04:48> 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... @@ -3452,61 +4035,61 @@ >>> Rebalancing across 5 nodes. Total weight = 4.00 Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30002 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### -Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30004 -#################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30006 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### +Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30004 +#################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 816 slots from 127.0.0.1:30000 to 127.0.0.1:30008 ################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################ OK -15:00:48> Wait cluster to be stable: OK -15:00:48> Master #0 still should have its replicas: OK -15:00:48> Each master should have at least two replicas attached: OK +11:09:43> Wait cluster to be stable: OK +11:09:43> Master #0 still should have its replicas: OK +11:09:43> Each master should have at least two replicas attached: OK Testing unit: 28-cluster-shards.tcl -15:00:48> (init) Restart killed instances: OK -15:00:48> Cluster nodes are reachable: OK -15:00:48> Cluster nodes hard reset: OK -15:00:54> Cluster Join and auto-discovery test: OK -15:00:57> Before slots allocation, all nodes report cluster failure: OK -15:00:57> Create a 8 nodes cluster with 4 shards: OK -15:00:58> Cluster should start ok: OK -15:01:02> Set cluster hostnames and verify they are propagated: OK -15:01:04> Verify information about the shards: OK -15:01:06> Verify no slot shard: OK -15:01:06> Kill a node and tell the replica to immediately takeover: OK -15:01:06> Verify health as fail for killed node: OK -15:01:10> Restarting primary node: OK -15:01:10> Instance #0 gets converted into a replica: OK -15:01:10> Test the replica reports a loading state while it's loading: OK -15:01:15> Regression test for a crash when calling SHARDS during handshake: OK -15:01:15> Cluster is up: OK -15:01:18> Shard ids are unique: OK -15:01:18> CLUSTER MYSHARDID reports same id for both primary and replica: OK -15:01:18> New replica receives primary's shard id: OK -15:01:18> CLUSTER MYSHARDID reports same shard id after shard restart: OK -15:01:21> CLUSTER MYSHARDID reports same shard id after cluster restart: OK +11:09:43> (init) Restart killed instances: OK +11:09:43> Cluster nodes are reachable: OK +11:09:43> Cluster nodes hard reset: OK +11:09:44> Cluster Join and auto-discovery test: OK +11:09:46> Before slots allocation, all nodes report cluster failure: OK +11:09:46> Create a 8 nodes cluster with 4 shards: OK +11:09:47> Cluster should start ok: OK +11:09:50> Set cluster hostnames and verify they are propagated: OK +11:09:52> Verify information about the shards: OK +11:09:53> Verify no slot shard: OK +11:09:53> Kill a node and tell the replica to immediately takeover: OK +11:09:53> Verify health as fail for killed node: OK +11:09:57> Restarting primary node: OK +11:09:57> Instance #0 gets converted into a replica: OK +11:09:57> Test the replica reports a loading state while it's loading: OK +11:10:01> Regression test for a crash when calling SHARDS during handshake: OK +11:10:02> Cluster is up: OK +11:10:05> Shard ids are unique: OK +11:10:05> CLUSTER MYSHARDID reports same id for both primary and replica: OK +11:10:05> New replica receives primary's shard id: OK +11:10:05> CLUSTER MYSHARDID reports same shard id after shard restart: OK +11:10:08> CLUSTER MYSHARDID reports same shard id after cluster restart: OK Cleaning up... -killing stale instance 838213 -killing stale instance 838237 -killing stale instance 838296 -killing stale instance 838311 -killing stale instance 838338 -killing stale instance 838365 -killing stale instance 838407 -killing stale instance 838442 -killing stale instance 838467 -killing stale instance 838503 -killing stale instance 839999 -killing stale instance 840005 -killing stale instance 872183 -killing stale instance 872194 -killing stale instance 872219 -killing stale instance 872250 -killing stale instance 872332 -killing stale instance 872354 -killing stale instance 872437 -killing stale instance 872477 -WARNING 2 test(s) failed. +killing stale instance 626190 +killing stale instance 626340 +killing stale instance 626648 +killing stale instance 626723 +killing stale instance 626798 +killing stale instance 626855 +killing stale instance 626970 +killing stale instance 627073 +killing stale instance 627202 +killing stale instance 627259 +killing stale instance 631289 +killing stale instance 631304 +killing stale instance 677624 +killing stale instance 677641 +killing stale instance 677651 +killing stale instance 677670 +killing stale instance 677688 +killing stale instance 677704 +killing stale instance 677719 +killing stale instance 677725 +GOOD! No errors. ./runtest-sentinel || true Starting sentinel #0 at port 20000 Starting sentinel #1 at port 20001 @@ -3519,253 +4102,897 @@ Starting valkey #3 at port 30003 Starting valkey #4 at port 30004 Testing unit: 00-base.tcl -15:01:41> (start-init) Flush config and compare rewrite config file lines: OK -15:01:41> (init) Restart killed instances: OK -15:01:41> (init) Remove old primary entry from sentinels: OK -15:01:41> (init) Create a primary-replicas cluster of 5 instances: OK -15:01:41> (init) Sentinels can start monitoring a primary: OK -15:01:45> (init) Sentinels can talk with the primary: OK -15:01:45> (init) Sentinels are able to auto-discover other sentinels: OK -15:01:45> (init) Sentinels are able to auto-discover replicas: OK -15:01:45> Sentinel command flag infrastructure works correctly: OK -15:01:45> SENTINEL HELP output the sentinel subcommand help: OK -15:01:45> SENTINEL MYID return the sentinel instance ID: OK -15:01:45> SENTINEL INFO CACHE returns the cached info: OK -15:01:45> SENTINEL PENDING-SCRIPTS returns the information about pending scripts: OK -15:01:45> SENTINEL PRIMARIES returns a list of monitored primaries: OK -15:01:45> SENTINEL SENTINELS returns a list of sentinel instances: OK -15:01:45> SENTINEL SLAVES returns a list of the monitored replicas: OK -15:01:45> SENTINEL SIMULATE-FAILURE HELP list supported flags: OK -15:01:45> Basic failover works if the primary is down: OK -15:01:49> New primary 127.0.0.1:30002 role matches: OK -15:01:49> All the other slaves now point to the new primary: OK -15:01:49> The old primary eventually gets reconfigured as a slave: OK -15:01:59> ODOWN is not possible without N (quorum) Sentinels reports: OK -15:02:00> Failover is not possible without majority agreement: OK -15:02:02> Failover works if we configure for absolute agreement: OK -15:02:07> New primary 127.0.0.1:30004 role matches: OK -15:02:07> SENTINEL RESET can resets the primary: OK -15:02:07> SENTINEL IS-PRIMARY-DOWN-BY-ADDR checks if the primary is down: OK +11:10:19> (start-init) Flush config and compare rewrite config file lines: OK +11:10:19> (init) Restart killed instances: OK +11:10:19> (init) Remove old primary entry from sentinels: OK +11:10:19> (init) Create a primary-replicas cluster of 5 instances: OK +11:10:19> (init) Sentinels can start monitoring a primary: OK +11:10:21> (init) Sentinels can talk with the primary: OK +11:10:21> (init) Sentinels are able to auto-discover other sentinels: OK +11:10:22> (init) Sentinels are able to auto-discover replicas: OK +11:10:22> Sentinel command flag infrastructure works correctly: OK +11:10:22> SENTINEL HELP output the sentinel subcommand help: OK +11:10:22> SENTINEL MYID return the sentinel instance ID: OK +11:10:22> SENTINEL INFO CACHE returns the cached info: OK +11:10:22> SENTINEL PENDING-SCRIPTS returns the information about pending scripts: OK +11:10:22> SENTINEL PRIMARIES returns a list of monitored primaries: OK +11:10:22> SENTINEL SENTINELS returns a list of sentinel instances: OK +11:10:22> SENTINEL SLAVES returns a list of the monitored replicas: OK +11:10:22> SENTINEL SIMULATE-FAILURE HELP list supported flags: OK +11:10:22> Basic failover works if the primary is down: OK +11:10:26> New primary 127.0.0.1:30002 role matches: OK +11:10:26> All the other slaves now point to the new primary: OK +11:10:26> The old primary eventually gets reconfigured as a slave: OK +11:10:37> ODOWN is not possible without N (quorum) Sentinels reports: OK +11:10:38> Failover is not possible without majority agreement: OK +11:10:40> Failover works if we configure for absolute agreement: OK +11:10:44> New primary 127.0.0.1:30000 role matches: OK +11:10:44> SENTINEL RESET can resets the primary: OK +11:10:44> SENTINEL IS-PRIMARY-DOWN-BY-ADDR checks if the primary is down: OK Testing unit: 01-conf-update.tcl -15:02:07> (init) Restart killed instances: OK -15:02:07> (init) Remove old primary entry from sentinels: OK -15:02:07> (init) Create a primary-replicas cluster of 5 instances: OK -15:02:07> (init) Sentinels can start monitoring a primary: OK -15:02:08> (init) Sentinels can talk with the primary: OK -15:02:08> (init) Sentinels are able to auto-discover other sentinels: OK -15:02:09> (init) Sentinels are able to auto-discover replicas: OK -15:02:09> We can failover with Sentinel 1 crashed: OK -15:02:14> After Sentinel 1 is restarted, its config gets updated: OK -15:02:14> New primary 127.0.0.1:30004 role matches: OK -15:02:14> Update log level: OK +11:10:45> (init) Restart killed instances: OK +11:10:45> (init) Remove old primary entry from sentinels: OK +11:10:45> (init) Create a primary-replicas cluster of 5 instances: OK +11:10:45> (init) Sentinels can start monitoring a primary: OK +11:10:46> (init) Sentinels can talk with the primary: OK +11:10:46> (init) Sentinels are able to auto-discover other sentinels: OK +11:10:48> (init) Sentinels are able to auto-discover replicas: OK +11:10:48> We can failover with Sentinel 1 crashed: OK +11:10:53> After Sentinel 1 is restarted, its config gets updated: OK +11:10:54> New primary 127.0.0.1:30002 role matches: OK +11:10:54> Update log level: OK Testing unit: 02-replicas-reconf.tcl -15:02:14> (init) Restart killed instances: OK -15:02:14> (init) Remove old primary entry from sentinels: OK -15:02:15> (init) Create a primary-replicas cluster of 5 instances: OK -15:02:15> (init) Sentinels can start monitoring a primary: OK -15:02:16> (init) Sentinels can talk with the primary: OK -15:02:16> (init) Sentinels are able to auto-discover other sentinels: OK -15:02:18> (init) Sentinels are able to auto-discover replicas: OK -15:02:18> Check that slaves replicate from current primary: OK -15:02:18> Crash the primary and force a failover: OK -15:02:23> Check that slaves replicate from current primary: OK -15:02:23> Kill a slave instance: OK -15:02:23> Crash the primary and force a failover: OK -15:02:47> Check that slaves replicate from current primary: OK -15:02:47> Wait for failover to end: OK -15:02:48> Restart killed slave and test replication of slaves again...: OK -15:02:48> Check that slaves replicate from current primary: OK +11:10:56> (init) Restart killed instances: OK +11:10:56> (init) Remove old primary entry from sentinels: OK +11:10:59> (init) Create a primary-replicas cluster of 5 instances: OK +11:10:59> (init) Sentinels can start monitoring a primary: OK +11:11:04> (init) Sentinels can talk with the primary: OK +11:11:04> (init) Sentinels are able to auto-discover other sentinels: OK +11:11:04> (init) Sentinels are able to auto-discover replicas: OK +11:11:04> Check that slaves replicate from current primary: OK +11:11:04> Crash the primary and force a failover: OK +11:11:09> Check that slaves replicate from current primary: OK +11:11:10> Kill a slave instance: OK +11:11:10> Crash the primary and force a failover: OK +11:11:16> Check that slaves replicate from current primary: OK +11:11:17> Wait for failover to end: OK +11:11:17> Restart killed slave and test replication of slaves again...: OK +11:11:17> Check that slaves replicate from current primary: OK Testing unit: 03-runtime-reconf.tcl -15:02:58> (init) Restart killed instances: OK -15:02:58> (init) Remove old primary entry from sentinels: OK -15:02:58> (init) Create a primary-replicas cluster of 5 instances: OK -15:02:58> (init) Sentinels can start monitoring a primary: OK -15:02:59> (init) Sentinels can talk with the primary: OK -15:02:59> (init) Sentinels are able to auto-discover other sentinels: OK -15:02:59> (init) Sentinels are able to auto-discover replicas: OK -15:02:59> Sentinels (re)connection following SENTINEL SET myprimary auth-pass: OK -15:03:00> Sentinels (re)connection following primary ACL change: OK -15:03:02> Set parameters in normal case: OK -15:03:02> Set parameters in normal case with bad format: OK -15:03:02> Sentinel Set with other error situations: OK +11:11:27> (init) Restart killed instances: OK +11:11:27> (init) Remove old primary entry from sentinels: OK +11:11:28> (init) Create a primary-replicas cluster of 5 instances: OK +11:11:28> (init) Sentinels can start monitoring a primary: OK +11:11:35> (init) Sentinels can talk with the primary: OK +11:11:35> (init) Sentinels are able to auto-discover other sentinels: OK +11:11:35> (init) Sentinels are able to auto-discover replicas: OK +11:11:35> Sentinels (re)connection following SENTINEL SET myprimary auth-pass: OK +11:11:37> Sentinels (re)connection following primary ACL change: OK +11:11:40> Set parameters in normal case: OK +11:11:41> Set parameters in normal case with bad format: OK +11:11:41> Sentinel Set with other error situations: OK Testing unit: 04-slave-selection.tcl Testing unit: 05-manual.tcl -15:03:02> (init) Restart killed instances: OK -15:03:02> (init) Remove old primary entry from sentinels: OK -15:03:03> (init) Create a primary-replicas cluster of 5 instances: OK -15:03:03> (init) Sentinels can start monitoring a primary: OK -15:03:03> (init) Sentinels can talk with the primary: OK -15:03:03> (init) Sentinels are able to auto-discover other sentinels: OK -15:03:05> (init) Sentinels are able to auto-discover replicas: OK -15:03:05> Manual failover works: OK -15:03:06> New primary 127.0.0.1:30004 role matches: OK -15:03:06> All the other slaves now point to the new primary: OK -15:03:06> The old primary eventually gets reconfigured as a slave: OK -15:03:10> (init) Restart killed instances: OK -15:03:10> (init) Remove old primary entry from sentinels: OK -15:03:10> (init) Create a primary-replicas cluster of 5 instances: OK -15:03:10> (init) Sentinels can start monitoring a primary: OK -15:03:11> (init) Sentinels can talk with the primary: OK -15:03:11> (init) Sentinels are able to auto-discover other sentinels: OK -15:03:11> (init) Sentinels are able to auto-discover replicas: OK -15:03:11> SENTINEL SIMULATE-FAILURE crash-after-election works: OK -15:03:11> (init) Restart killed instances: OK -15:03:11> (init) Remove old primary entry from sentinels: OK -15:03:11> (init) Create a primary-replicas cluster of 5 instances: OK -15:03:11> (init) Sentinels can start monitoring a primary: OK -15:03:12> (init) Sentinels can talk with the primary: OK -15:03:12> (init) Sentinels are able to auto-discover other sentinels: OK -15:03:13> (init) Sentinels are able to auto-discover replicas: OK -15:03:13> SENTINEL SIMULATE-FAILURE crash-after-promotion works: OK +11:11:41> (init) Restart killed instances: OK +11:11:41> (init) Remove old primary entry from sentinels: OK +11:11:41> (init) Create a primary-replicas cluster of 5 instances: OK +11:11:41> (init) Sentinels can start monitoring a primary: OK +11:11:44> (init) Sentinels can talk with the primary: OK +11:11:44> (init) Sentinels are able to auto-discover other sentinels: OK +11:11:44> (init) Sentinels are able to auto-discover replicas: OK +11:11:44> Manual failover works: OK +11:11:45> New primary 127.0.0.1:30004 role matches: OK +11:11:45> All the other slaves now point to the new primary: OK +11:11:45> The old primary eventually gets reconfigured as a slave: OK +11:11:50> (init) Restart killed instances: OK +11:11:50> (init) Remove old primary entry from sentinels: OK +11:11:50> (init) Create a primary-replicas cluster of 5 instances: OK +11:11:50> (init) Sentinels can start monitoring a primary: OK +11:11:52> (init) Sentinels can talk with the primary: OK +11:11:52> (init) Sentinels are able to auto-discover other sentinels: OK +11:11:52> (init) Sentinels are able to auto-discover replicas: OK +11:11:52> SENTINEL SIMULATE-FAILURE crash-after-election works: OK +11:11:52> (init) Restart killed instances: OK +11:11:52> (init) Remove old primary entry from sentinels: OK +11:11:52> (init) Create a primary-replicas cluster of 5 instances: OK +11:11:52> (init) Sentinels can start monitoring a primary: OK +11:11:54> (init) Sentinels can talk with the primary: OK +11:11:54> (init) Sentinels are able to auto-discover other sentinels: OK +11:11:55> (init) Sentinels are able to auto-discover replicas: OK +11:11:55> SENTINEL SIMULATE-FAILURE crash-after-promotion works: OK Testing unit: 06-ckquorum.tcl -15:03:15> (init) Restart killed instances: OK -15:03:15> (init) Remove old primary entry from sentinels: OK -15:03:15> (init) Create a primary-replicas cluster of 5 instances: OK -15:03:15> (init) Sentinels can start monitoring a primary: OK -15:03:15> (init) Sentinels can talk with the primary: OK -15:03:15> (init) Sentinels are able to auto-discover other sentinels: OK -15:03:18> (init) Sentinels are able to auto-discover replicas: OK -15:03:18> CKQUORUM reports OK and the right amount of Sentinels: OK -15:03:18> CKQUORUM detects quorum cannot be reached: OK -15:03:18> CKQUORUM detects failover authorization cannot be reached: OK +11:11:56> (init) Restart killed instances: OK +11:11:56> (init) Remove old primary entry from sentinels: OK +11:11:56> (init) Create a primary-replicas cluster of 5 instances: OK +11:11:56> (init) Sentinels can start monitoring a primary: OK +11:11:57> (init) Sentinels can talk with the primary: OK +11:11:57> (init) Sentinels are able to auto-discover other sentinels: OK +11:11:59> (init) Sentinels are able to auto-discover replicas: OK +11:11:59> CKQUORUM reports OK and the right amount of Sentinels: OK +11:11:59> CKQUORUM detects quorum cannot be reached: OK +11:11:59> CKQUORUM detects failover authorization cannot be reached: OK Testing unit: 07-down-conditions.tcl -15:03:21> (init) Restart killed instances: OK -15:03:21> (init) Remove old primary entry from sentinels: OK -15:03:21> (init) Create a primary-replicas cluster of 5 instances: OK -15:03:21> (init) Sentinels can start monitoring a primary: OK -15:03:21> (init) Sentinels can talk with the primary: OK -15:03:21> (init) Sentinels are able to auto-discover other sentinels: OK -15:03:23> (init) Sentinels are able to auto-discover replicas: OK -15:03:23> Crash the majority of Sentinels to prevent failovers for this unit: OK -15:03:23> SDOWN is triggered by non-responding but not crashed instance: OK -15:03:25> SDOWN is triggered by crashed instance: OK -15:03:28> SDOWN is triggered by primaries advertising as slaves: OK -15:03:32> SDOWN is triggered by misconfigured instance replying with errors: OK -15:03:42> SDOWN is triggered if we rename PING to PONG: OK +11:12:01> (init) Restart killed instances: OK +11:12:01> (init) Remove old primary entry from sentinels: OK +11:12:04> (init) Create a primary-replicas cluster of 5 instances: OK +11:12:04> (init) Sentinels can start monitoring a primary: OK +11:12:05> (init) Sentinels can talk with the primary: OK +11:12:05> (init) Sentinels are able to auto-discover other sentinels: OK +11:12:07> (init) Sentinels are able to auto-discover replicas: OK +11:12:07> Crash the majority of Sentinels to prevent failovers for this unit: OK +11:12:07> SDOWN is triggered by non-responding but not crashed instance: OK +11:12:10> SDOWN is triggered by crashed instance: OK +11:12:12> SDOWN is triggered by primaries advertising as slaves: OK +11:12:16> SDOWN is triggered by misconfigured instance replying with errors: OK +11:12:26> SDOWN is triggered if we rename PING to PONG: OK Testing unit: 08-hostname-conf.tcl -15:03:44> (pre-init) Configure instances and sentinel for hostname use: sentinel/0 sentinel/1 sentinel/2 OK -15:03:44> (init) Restart killed instances: OK -15:03:44> (init) Remove old primary entry from sentinels: OK -15:03:45> (init) Create a primary-replicas cluster of 5 instances: OK -15:03:45> (init) Sentinels can start monitoring a primary: OK -15:03:45> (init) Sentinels can talk with the primary: OK -15:03:45> (init) Sentinels are able to auto-discover other sentinels: OK -15:03:47> (init) Sentinels are able to auto-discover replicas: OK -15:03:47> Sentinel announces hostnames: OK -15:03:47> (post-cleanup) Configure instances and sentinel for IPs: OK +11:12:29> (pre-init) Configure instances and sentinel for hostname use: sentinel/0 sentinel/1 sentinel/2 OK +11:12:29> (init) Restart killed instances: OK +11:12:29> (init) Remove old primary entry from sentinels: OK +11:12:29> (init) Create a primary-replicas cluster of 5 instances: OK +11:12:29> (init) Sentinels can start monitoring a primary: OK +11:12:30> (init) Sentinels can talk with the primary: OK +11:12:30> (init) Sentinels are able to auto-discover other sentinels: OK +11:12:31> (init) Sentinels are able to auto-discover replicas: OK +11:12:31> Sentinel announces hostnames: OK +11:12:32> (post-cleanup) Configure instances and sentinel for IPs: OK Testing unit: 09-acl-support.tcl -15:03:47> (init) Restart killed instances: OK -15:03:47> (init) Remove old primary entry from sentinels: OK -15:03:47> (init) Create a primary-replicas cluster of 5 instances: OK -15:03:47> (init) Sentinels can start monitoring a primary: OK -15:03:47> (init) Sentinels can talk with the primary: OK -15:03:47> (init) Sentinels are able to auto-discover other sentinels: OK -15:03:49> (init) Sentinels are able to auto-discover replicas: OK -15:03:49> (post-init) Set up ACL configuration: OK -15:03:49> SENTINEL CONFIG SET handles on-the-fly credentials reconfiguration: OK -15:03:51> (post-cleanup) Tear down ACL configuration: OK +11:12:32> (init) Restart killed instances: OK +11:12:32> (init) Remove old primary entry from sentinels: OK +11:12:32> (init) Create a primary-replicas cluster of 5 instances: OK +11:12:32> (init) Sentinels can start monitoring a primary: OK +11:12:33> (init) Sentinels can talk with the primary: OK +11:12:33> (init) Sentinels are able to auto-discover other sentinels: OK +11:12:34> (init) Sentinels are able to auto-discover replicas: OK +11:12:34> (post-init) Set up ACL configuration: OK +11:12:34> SENTINEL CONFIG SET handles on-the-fly credentials reconfiguration: OK +11:12:36> (post-cleanup) Tear down ACL configuration: OK Testing unit: 10-replica-priority.tcl -15:03:51> (init) Restart killed instances: OK -15:03:51> (init) Remove old primary entry from sentinels: OK -15:03:51> (init) Create a primary-replicas cluster of 5 instances: OK -15:03:51> (init) Sentinels can start monitoring a primary: OK -15:03:52> (init) Sentinels can talk with the primary: OK -15:03:52> (init) Sentinels are able to auto-discover other sentinels: OK -15:03:54> (init) Sentinels are able to auto-discover replicas: OK -15:03:54> Check acceptable replica-priority values: OK -15:03:54> Set replica-announced=yes on all replicas: OK -15:03:54> Check sentinel replies with 4 replicas: OK -15:03:54> Set replica-announced=no on 2 replicas: OK -15:03:54> Check sentinel replies with 2 replicas: OK -15:03:54> Set replica-announced=yes on all replicas: OK -15:03:54> Check sentinel replies with 4 replicas: OK +11:12:36> (init) Restart killed instances: OK +11:12:36> (init) Remove old primary entry from sentinels: OK +11:12:36> (init) Create a primary-replicas cluster of 5 instances: OK +11:12:36> (init) Sentinels can start monitoring a primary: OK +11:12:37> (init) Sentinels can talk with the primary: OK +11:12:37> (init) Sentinels are able to auto-discover other sentinels: OK +11:12:39> (init) Sentinels are able to auto-discover replicas: OK +11:12:39> Check acceptable replica-priority values: OK +11:12:39> Set replica-announced=yes on all replicas: OK +11:12:39> Check sentinel replies with 4 replicas: OK +11:12:39> Set replica-announced=no on 2 replicas: OK +11:12:39> Check sentinel replies with 2 replicas: OK +11:12:39> Set replica-announced=yes on all replicas: OK +11:12:39> Check sentinel replies with 4 replicas: OK Testing unit: 11-port-0.tcl -15:03:54> (init) Restart killed instances: OK -15:03:54> (init) Remove old primary entry from sentinels: OK -15:03:54> (init) Create a primary-replicas cluster of 5 instances: OK -15:03:54> (init) Sentinels can start monitoring a primary: OK -15:03:54> (init) Sentinels can talk with the primary: OK -15:03:54> (init) Sentinels are able to auto-discover other sentinels: OK -15:03:54> (init) Sentinels are able to auto-discover replicas: OK -15:03:54> Start/Stop sentinel on same port with a different runID should not change the total number of sentinels: OK +11:12:39> (init) Restart killed instances: OK +11:12:39> (init) Remove old primary entry from sentinels: OK +11:12:39> (init) Create a primary-replicas cluster of 5 instances: OK +11:12:39> (init) Sentinels can start monitoring a primary: OK +11:12:40> (init) Sentinels can talk with the primary: OK +11:12:40> (init) Sentinels are able to auto-discover other sentinels: OK +11:12:40> (init) Sentinels are able to auto-discover replicas: OK +11:12:40> Start/Stop sentinel on same port with a different runID should not change the total number of sentinels: OK Testing unit: 12-primary-reboot.tcl -15:03:55> (init) Restart killed instances: sentinel/4 OK -15:03:55> (init) Remove old primary entry from sentinels: OK -15:03:56> (init) Create a primary-replicas cluster of 5 instances: OK -15:03:56> (init) Sentinels can start monitoring a primary: OK -15:03:56> (init) Sentinels can talk with the primary: OK -15:03:56> (init) Sentinels are able to auto-discover other sentinels: OK -15:03:58> (init) Sentinels are able to auto-discover replicas: OK -15:03:58> Primary reboot in very short time: OK -15:04:05> New primary 127.0.0.1:30004 role matches: OK -15:04:05> All the other slaves now point to the new primary: OK -15:04:05> The old primary eventually gets reconfigured as a slave: OK +11:12:41> (init) Restart killed instances: sentinel/4 OK +11:12:41> (init) Remove old primary entry from sentinels: OK +11:12:42> (init) Create a primary-replicas cluster of 5 instances: OK +11:12:42> (init) Sentinels can start monitoring a primary: OK +11:12:43> (init) Sentinels can talk with the primary: OK +11:12:43> (init) Sentinels are able to auto-discover other sentinels: OK +11:12:44> (init) Sentinels are able to auto-discover replicas: OK +11:12:44> Primary reboot in very short time: OK +11:12:52> New primary 127.0.0.1:30004 role matches: OK +11:12:52> All the other slaves now point to the new primary: OK +11:12:52> The old primary eventually gets reconfigured as a slave: OK Testing unit: 13-info-command.tcl -15:04:16> (init) Restart killed instances: OK -15:04:16> (init) Remove old primary entry from sentinels: OK -15:04:16> (init) Create a primary-replicas cluster of 5 instances: OK -15:04:16> (init) Sentinels can start monitoring a primary: OK -15:04:16> (init) Sentinels can talk with the primary: OK -15:04:16> (init) Sentinels are able to auto-discover other sentinels: OK -15:04:18> (init) Sentinels are able to auto-discover replicas: OK -15:04:18> info command with at most one argument: OK -15:04:18> info command with one sub-section: OK -15:04:18> info command with multiple sub-sections: OK +11:13:01> (init) Restart killed instances: OK +11:13:01> (init) Remove old primary entry from sentinels: OK +11:13:01> (init) Create a primary-replicas cluster of 5 instances: OK +11:13:01> (init) Sentinels can start monitoring a primary: OK +11:13:02> (init) Sentinels can talk with the primary: OK +11:13:02> (init) Sentinels are able to auto-discover other sentinels: OK +11:13:04> (init) Sentinels are able to auto-discover replicas: OK +11:13:04> info command with at most one argument: OK +11:13:04> info command with one sub-section: OK +11:13:04> info command with multiple sub-sections: OK Testing unit: 14-debug-command.tcl -15:04:18> (init) Restart killed instances: OK -15:04:18> (init) Remove old primary entry from sentinels: OK -15:04:18> (init) Create a primary-replicas cluster of 5 instances: OK -15:04:18> (init) Sentinels can start monitoring a primary: OK -15:04:18> (init) Sentinels can talk with the primary: OK -15:04:18> (init) Sentinels are able to auto-discover other sentinels: OK -15:04:20> (init) Sentinels are able to auto-discover replicas: OK -15:04:20> Sentinel debug test with arguments and without argument: OK +11:13:04> (init) Restart killed instances: OK +11:13:04> (init) Remove old primary entry from sentinels: OK +11:13:04> (init) Create a primary-replicas cluster of 5 instances: OK +11:13:04> (init) Sentinels can start monitoring a primary: OK +11:13:04> (init) Sentinels can talk with the primary: OK +11:13:04> (init) Sentinels are able to auto-discover other sentinels: OK +11:13:06> (init) Sentinels are able to auto-discover replicas: OK +11:13:06> Sentinel debug test with arguments and without argument: OK Testing unit: 15-sentinel-deprecated-commands.tcl -15:04:20> (init) Restart killed instances: OK -15:04:20> (init) Remove old primary entry from sentinels: OK -15:04:20> (init) Create a primary-replicas cluster of 5 instances: OK -15:04:20> (init) Sentinels can start monitoring a primary: OK -15:04:20> (init) Sentinels can talk with the primary: OK -15:04:20> (init) Sentinels are able to auto-discover other sentinels: OK -15:04:22> (init) Sentinels are able to auto-discover replicas: OK -15:04:22> SENTINEL MASTERS returns a list of monitored masters (SENTINEL MASTERS as a deprecated command): OK -15:04:22> SENTINEL SLAVES returns a list of the monitored slaves (SENTINEL SLAVES as a deprecated command): OK -15:04:22> SENTINEL MASTER returns the information list of the monitored master (SENTINEL MASTER as a deprecated command): OK -15:04:22> SENTINEL IS-MASTER-DOWN-BY-ADDR checks if the primary is down (SENTINEL IS-MASTER-DOWN-BY-ADDR as a deprecated command): OK +11:13:06> (init) Restart killed instances: OK +11:13:06> (init) Remove old primary entry from sentinels: OK +11:13:06> (init) Create a primary-replicas cluster of 5 instances: OK +11:13:06> (init) Sentinels can start monitoring a primary: OK +11:13:06> (init) Sentinels can talk with the primary: OK +11:13:06> (init) Sentinels are able to auto-discover other sentinels: OK +11:13:08> (init) Sentinels are able to auto-discover replicas: OK +11:13:08> SENTINEL MASTERS returns a list of monitored masters (SENTINEL MASTERS as a deprecated command): OK +11:13:08> SENTINEL SLAVES returns a list of the monitored slaves (SENTINEL SLAVES as a deprecated command): OK +11:13:08> SENTINEL MASTER returns the information list of the monitored master (SENTINEL MASTER as a deprecated command): OK +11:13:08> SENTINEL IS-MASTER-DOWN-BY-ADDR checks if the primary is down (SENTINEL IS-MASTER-DOWN-BY-ADDR as a deprecated command): OK Testing unit: 16-config-set-config-get.tcl -15:04:22> (init) Restart killed instances: OK -15:04:22> (init) Remove old primary entry from sentinels: OK -15:04:22> (init) Create a primary-replicas cluster of 5 instances: OK -15:04:22> (init) Sentinels can start monitoring a primary: OK -15:04:23> (init) Sentinels can talk with the primary: OK -15:04:23> (init) Sentinels are able to auto-discover other sentinels: OK -15:04:24> (init) Sentinels are able to auto-discover replicas: OK -15:04:24> SENTINEL CONFIG SET and SENTINEL CONFIG GET handles multiple variables: OK -15:04:24> SENTINEL CONFIG GET for duplicate and unknown variables: OK -15:04:24> SENTINEL CONFIG GET for patterns: OK -15:04:24> SENTINEL CONFIG SET duplicate variables: OK -15:04:24> SENTINEL CONFIG SET, one option does not exist: OK -15:04:24> SENTINEL CONFIG SET, one option with wrong value: OK -15:04:25> SENTINEL CONFIG SET, wrong number of arguments: OK +11:13:08> (init) Restart killed instances: OK +11:13:08> (init) Remove old primary entry from sentinels: OK +11:13:08> (init) Create a primary-replicas cluster of 5 instances: OK +11:13:08> (init) Sentinels can start monitoring a primary: OK +11:13:09> (init) Sentinels can talk with the primary: OK +11:13:09> (init) Sentinels are able to auto-discover other sentinels: OK +11:13:10> (init) Sentinels are able to auto-discover replicas: OK +11:13:10> SENTINEL CONFIG SET and SENTINEL CONFIG GET handles multiple variables: OK +11:13:10> SENTINEL CONFIG GET for duplicate and unknown variables: OK +11:13:10> SENTINEL CONFIG GET for patterns: OK +11:13:10> SENTINEL CONFIG SET duplicate variables: OK +11:13:10> SENTINEL CONFIG SET, one option does not exist: OK +11:13:10> SENTINEL CONFIG SET, one option with wrong value: OK +11:13:10> SENTINEL CONFIG SET, wrong number of arguments: OK Cleaning up... -killing stale instance 873753 -killing stale instance 873801 -killing stale instance 877484 -killing stale instance 882964 -killing stale instance 883872 -killing stale instance 885203 -killing stale instance 886216 -killing stale instance 887901 -killing stale instance 887910 -killing stale instance 887917 -killing stale instance 888695 -killing stale instance 888756 -killing stale instance 889102 +killing stale instance 678330 +killing stale instance 678349 +killing stale instance 678355 +killing stale instance 683079 +killing stale instance 683713 +killing stale instance 684830 +killing stale instance 685396 +killing stale instance 690195 +killing stale instance 690204 +killing stale instance 690211 +killing stale instance 690976 +killing stale instance 690990 +killing stale instance 691102 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/server.565349.40/stdout' +removed 'tests/tmp/server.565349.40/stderr' +removed 'tests/tmp/server.565349.156/stdout' +removed 'tests/tmp/server.565349.156/stderr' +removed 'tests/tmp/valkey.conf.565349.388' +removed 'tests/tmp/valkey.conf.565349.205' +removed 'tests/tmp/server.565349.5/stdout' +removed 'tests/tmp/server.565349.5/stderr' +removed 'tests/tmp/server.565349.399/stdout' +removed 'tests/tmp/server.565349.399/stderr' +removed 'tests/tmp/server.565349.359/stdout' +removed 'tests/tmp/server.565349.359/stderr' +removed 'tests/tmp/valkey.conf.565349.63' +removed 'tests/tmp/valkey.conf.565349.129' +removed 'tests/tmp/valkey.conf.565349.247' +removed 'tests/tmp/valkey.conf.565349.392' +removed 'tests/tmp/server.565349.42/stdout' +removed 'tests/tmp/server.565349.42/stderr' +removed 'tests/tmp/server.565349.112/stdout' +removed 'tests/tmp/server.565349.112/stderr' +removed 'tests/tmp/server.565349.333/stdout' +removed 'tests/tmp/server.565349.333/stderr' +removed 'tests/tmp/server.565349.32/stdout' +removed 'tests/tmp/server.565349.32/stderr' +removed 'tests/tmp/server.565349.292/stdout' +removed 'tests/tmp/server.565349.292/stderr' +removed 'tests/tmp/server.565349.114/stdout' +removed 'tests/tmp/server.565349.114/stderr' +removed 'tests/tmp/server.565349.64/stdout' +removed 'tests/tmp/server.565349.64/stderr' +removed 'tests/tmp/valkey.conf.565349.203' +removed 'tests/tmp/valkey.conf.565349.177' +removed 'tests/tmp/valkey.conf.565349.372' +removed 'tests/tmp/server.565349.144/stdout' +removed 'tests/tmp/server.565349.144/stderr' +removed 'tests/tmp/server.565349.190/stdout' +removed 'tests/tmp/server.565349.190/stderr' +removed 'tests/tmp/server.565349.7/stdout' +removed 'tests/tmp/server.565349.7/stderr' +removed 'tests/tmp/server.565349.22/stdout' +removed 'tests/tmp/server.565349.22/stderr' +removed 'tests/tmp/server.565349.242/stdout' +removed 'tests/tmp/server.565349.242/stderr' +removed 'tests/tmp/server.565349.116/stdout' +removed 'tests/tmp/server.565349.116/stderr' +removed 'tests/tmp/server.565349.200/stdout' +removed 'tests/tmp/server.565349.200/stderr' +removed 'tests/tmp/server.565349.234/stdout' +removed 'tests/tmp/server.565349.234/stderr' +removed 'tests/tmp/server.565349.106/stdout' +removed 'tests/tmp/server.565349.106/stderr' +removed 'tests/tmp/valkey.conf.565349.404' +removed 'tests/tmp/valkey.conf.565349.326' +removed 'tests/tmp/server.565349.214/stdout' +removed 'tests/tmp/server.565349.214/stderr' +removed 'tests/tmp/server.565349.407/stdout' +removed 'tests/tmp/server.565349.407/stderr' +removed 'tests/tmp/valkey.conf.565349.346' +removed 'tests/tmp/server.565349.389/stdout' +removed 'tests/tmp/server.565349.389/stderr' +removed 'tests/tmp/valkey.conf.565349.27' +removed 'tests/tmp/valkey.conf.565349.308' +removed 'tests/tmp/server.565349.345/stdout' +removed 'tests/tmp/server.565349.345/stderr' +removed 'tests/tmp/server.565349.188/stdout' +removed 'tests/tmp/server.565349.188/stderr' +removed 'tests/tmp/server.565349.375/stdout' +removed 'tests/tmp/server.565349.375/stderr' +removed 'tests/tmp/server.565349.150/stdout' +removed 'tests/tmp/server.565349.150/stderr' +removed 'tests/tmp/server.565349.351/stdout' +removed 'tests/tmp/server.565349.351/stderr' +removed 'tests/tmp/valkey.conf.565349.340' +removed 'tests/tmp/valkey.conf.565349.115' +removed 'tests/tmp/server.565349.46/stdout' +removed 'tests/tmp/server.565349.46/stderr' +removed 'tests/tmp/valkey.conf.565349.229' +removed 'tests/tmp/server.565349.226/stdout' +removed 'tests/tmp/server.565349.226/stderr' +removed 'tests/tmp/valkey.conf.565349.418' +removed 'tests/tmp/valkey.conf.565349.157' +removed 'tests/tmp/valkey.conf.565349.165' +removed 'tests/tmp/valkey.conf.565349.293' +removed 'tests/tmp/valkey.conf.565349.378' +removed 'tests/tmp/server.565349.349/stdout' +removed 'tests/tmp/server.565349.349/stderr' +removed 'tests/tmp/valkey.conf.565349.65' +removed 'tests/tmp/server.565349.70/stdout' +removed 'tests/tmp/server.565349.70/stderr' +removed 'tests/tmp/server.565349.329/stdout' +removed 'tests/tmp/server.565349.329/stderr' +removed 'tests/tmp/valkey.conf.565349.121' +removed 'tests/tmp/server.565349.206/stdout' +removed 'tests/tmp/server.565349.206/stderr' +removed 'tests/tmp/valkey.conf.565349.103' +removed 'tests/tmp/server.565349.347/stdout' +removed 'tests/tmp/server.565349.347/stderr' +removed 'tests/tmp/valkey.conf.565349.219' +removed 'tests/tmp/server.565349.56/stdout' +removed 'tests/tmp/server.565349.56/stderr' +removed 'tests/tmp/server.565349.294/stdout' +removed 'tests/tmp/server.565349.294/stderr' +removed 'tests/tmp/valkey.conf.565349.131' +removed 'tests/tmp/valkey.conf.565349.69' +removed 'tests/tmp/server.565349.102/stdout' +removed 'tests/tmp/server.565349.102/stderr' +removed 'tests/tmp/server.565349.184/stdout' +removed 'tests/tmp/server.565349.184/stderr' +removed 'tests/tmp/valkey.conf.565349.410' +removed 'tests/tmp/server.565349.178/stdout' +removed 'tests/tmp/server.565349.178/stderr' +removed 'tests/tmp/valkey.conf.565349.21' +removed 'tests/tmp/server.565349.98/stdout' +removed 'tests/tmp/server.565349.98/stderr' +removed 'tests/tmp/server.acl.565349.320/stdout' +removed 'tests/tmp/server.acl.565349.320/stderr' +removed 'tests/tmp/server.acl.565349.320/user.acl' +removed 'tests/tmp/valkey.conf.565349.315' +removed 'tests/tmp/server.565349.82/stdout' +removed 'tests/tmp/server.565349.82/stderr' +removed 'tests/tmp/server.565349.82/nodes.conf' +removed 'tests/tmp/valkey.conf.565349.197' +removed 'tests/tmp/server.565349.124/stdout' +removed 'tests/tmp/server.565349.124/stderr' +removed 'tests/tmp/server.565349.401/stdout' +removed 'tests/tmp/server.565349.401/stderr' +removed 'tests/tmp/server.565349.196/stdout' +removed 'tests/tmp/server.565349.196/stderr' +removed 'tests/tmp/server.565349.355/stdout' +removed 'tests/tmp/server.565349.355/stderr' +removed 'tests/tmp/server.565349.355/nodes.conf' +removed 'tests/tmp/valkey.conf.565349.324' +removed 'tests/tmp/server.565349.244/stdout' +removed 'tests/tmp/server.565349.244/stderr' +removed 'tests/tmp/valkey.conf.565349.370' +removed 'tests/tmp/valkey.conf.565349.334' +removed 'tests/tmp/valkey.conf.565349.123' +removed 'tests/tmp/server.565349.76/stdout' +removed 'tests/tmp/server.565349.76/stderr' +removed 'tests/tmp/valkey.conf.565349.275' +removed 'tests/tmp/server.565349.405/stdout' +removed 'tests/tmp/server.565349.405/stderr' +removed 'tests/tmp/server.565349.367/stdout' +removed 'tests/tmp/server.565349.367/stderr' +removed 'tests/tmp/server.565349.298/stdout' +removed 'tests/tmp/server.565349.298/stderr' +removed 'tests/tmp/server.565349.80/stdout' +removed 'tests/tmp/server.565349.80/stderr' +removed 'tests/tmp/valkey.conf.565349.189' +removed 'tests/tmp/valkey.conf.565349.47' +removed 'tests/tmp/valkey.conf.565349.402' +removed 'tests/tmp/valkey.conf.565349.376' +removed 'tests/tmp/valkey.conf.565349.45' +removed 'tests/tmp/valkey.conf.565349.143' +removed 'tests/tmp/valkey.conf.565349.257' +removed 'tests/tmp/valkey.conf.565349.125' +removed 'tests/tmp/server.565349.391/stdout' +removed 'tests/tmp/server.565349.391/stderr' +removed 'tests/tmp/valkey.conf.565349.414' +removed 'tests/tmp/valkey.conf.565349.265' +removed 'tests/tmp/valkey.conf.565349.71' +removed 'tests/tmp/server.565349.423/stdout' +removed 'tests/tmp/server.565349.423/stderr' +removed 'tests/tmp/server.565349.220/stdout' +removed 'tests/tmp/server.565349.220/stderr' +removed 'tests/tmp/valkey.conf.565349.87' +removed 'tests/tmp/server.565349.38/stdout' +removed 'tests/tmp/server.565349.38/stderr' +removed 'tests/tmp/server.565349.1/stdout' +removed 'tests/tmp/server.565349.1/stderr' +removed 'tests/tmp/server.565349.68/stdout' +removed 'tests/tmp/server.565349.68/stderr' +removed 'tests/tmp/server.565349.240/stdout' +removed 'tests/tmp/server.565349.240/stderr' +removed 'tests/tmp/server.565349.272/stdout' +removed 'tests/tmp/server.565349.272/stderr' +removed 'tests/tmp/server.565349.318/stdout' +removed 'tests/tmp/server.565349.318/stderr' +removed 'tests/tmp/server.565349.264/stdout' +removed 'tests/tmp/server.565349.264/stderr' +removed 'tests/tmp/valkey.conf.565349.195' +removed 'tests/tmp/valkey.conf.565349.133' +removed 'tests/tmp/valkey.conf.565349.179' +removed 'tests/tmp/valkey.conf.565349.396' +removed 'tests/tmp/valkey.conf.565349.269' +removed 'tests/tmp/server.565349.296/stdout' +removed 'tests/tmp/server.565349.296/stderr' +removed 'tests/tmp/valkey.conf.565349.255' +removed 'tests/tmp/valkey.conf.565349.406' +removed 'tests/tmp/server.565349.256/stdout' +removed 'tests/tmp/server.565349.256/stderr' +removed 'tests/tmp/server.565349.343/stdout' +removed 'tests/tmp/server.565349.343/stderr' +removed 'tests/tmp/server.565349.280/stdout' +removed 'tests/tmp/server.565349.280/stderr' +removed 'tests/tmp/valkey.conf.565349.352' +removed 'tests/tmp/valkey.conf.565349.245' +removed 'tests/tmp/valkey.conf.565349.241' +removed 'tests/tmp/server.565349.36/stdout' +removed 'tests/tmp/server.565349.36/stderr' +removed 'tests/tmp/valkey.conf.565349.95' +removed 'tests/tmp/valkey.conf.565349.147' +removed 'tests/tmp/server.565349.172/stdout' +removed 'tests/tmp/server.565349.172/stderr' +removed 'tests/tmp/valkey.conf.565349.243' +removed 'tests/tmp/valkey.conf.565349.81' +removed 'tests/tmp/server.565349.92/stdout' +removed 'tests/tmp/server.565349.92/stderr' +removed 'tests/tmp/valkey.conf.565349.201' +removed 'tests/tmp/valkey.conf.565349.135' +removed 'tests/tmp/resetchannels.acl.565349.306/default.conf' +removed 'tests/tmp/resetchannels.acl.565349.306/stdout' +removed 'tests/tmp/resetchannels.acl.565349.306/nodefaultuser.acl' +removed 'tests/tmp/resetchannels.acl.565349.306/stderr' +removed 'tests/tmp/valkey.conf.565349.332' +removed 'tests/tmp/server.acl.565349.300/stdout' +removed 'tests/tmp/server.acl.565349.300/stderr' +removed 'tests/tmp/server.acl.565349.300/user.acl' +removed 'tests/tmp/server.565349.140/stdout' +removed 'tests/tmp/server.565349.140/stderr' +removed 'tests/tmp/server.565349.26/stdout' +removed 'tests/tmp/server.565349.26/stderr' +removed 'tests/tmp/server.565349.385/stdout' +removed 'tests/tmp/server.565349.385/stderr' +removed 'tests/tmp/valkey.conf.565349.412' +removed 'tests/tmp/valkey.conf.565349.356' +removed 'tests/tmp/valkey.conf.565349.159' +removed 'tests/tmp/valkey.conf.565349.12' +removed 'tests/tmp/server.565349.84/stdout' +removed 'tests/tmp/server.565349.84/stderr' +removed 'tests/tmp/valkey.conf.565349.199' +removed 'tests/tmp/valkey.conf.565349.43' +removed 'tests/tmp/server.565349.395/stdout' +removed 'tests/tmp/server.565349.395/stderr' +removed 'tests/tmp/server.565349.403/stdout' +removed 'tests/tmp/server.565349.403/stderr' +removed 'tests/tmp/valkey.conf.565349.37' +removed 'tests/tmp/server.565349.331/stdout' +removed 'tests/tmp/server.565349.331/stderr' +removed 'tests/tmp/server.565349.246/stdout' +removed 'tests/tmp/server.565349.246/stderr' +removed 'tests/tmp/valkey.conf.565349.145' +removed 'tests/tmp/server.565349.397/stdout' +removed 'tests/tmp/server.565349.397/stderr' +removed 'tests/tmp/valkey.conf.565349.191' +removed 'tests/tmp/valkey.conf.565349.89' +removed 'tests/tmp/valkey.conf.565349.209' +removed 'tests/tmp/server.565349.104/stdout' +removed 'tests/tmp/server.565349.104/stderr' +removed 'tests/tmp/valkey.conf.565349.317' +removed 'tests/tmp/valkey.conf.565349.111' +removed 'tests/tmp/valkey.conf.565349.127' +removed 'tests/tmp/server.565349.260/stdout' +removed 'tests/tmp/server.565349.260/stderr' +removed 'tests/tmp/server.565349.274/stdout' +removed 'tests/tmp/server.565349.274/stderr' +removed 'tests/tmp/valkey.conf.565349.338' +removed 'tests/tmp/valkey.conf.565349.295' +removed 'tests/tmp/valkey.conf.565349.33' +removed 'tests/tmp/server.565349.419/stdout' +removed 'tests/tmp/server.565349.419/stderr' +removed 'tests/tmp/valkey.conf.565349.169' +removed 'tests/tmp/valkey.conf.565349.350' +removed 'tests/tmp/server.565349.252/stdout' +removed 'tests/tmp/server.565349.252/stderr' +removed 'tests/tmp/valkey.conf.565349.35' +removed 'tests/tmp/server.565349.415/stdout' +removed 'tests/tmp/server.565349.415/stderr' +removed 'tests/tmp/server.565349.377/stdout' +removed 'tests/tmp/server.565349.377/stderr' +removed 'tests/tmp/server.565349.216/stdout' +removed 'tests/tmp/server.565349.216/stderr' +removed 'tests/tmp/server.565349.202/stdout' +removed 'tests/tmp/server.565349.202/stderr' +removed 'tests/tmp/valkey.conf.565349.41' +removed 'tests/tmp/server.565349.152/stdout' +removed 'tests/tmp/server.565349.152/stderr' +removed 'tests/tmp/server.565349.365/stdout' +removed 'tests/tmp/server.565349.365/stderr' +removed 'tests/tmp/server.565349.232/stdout' +removed 'tests/tmp/server.565349.232/stderr' +removed 'tests/tmp/server.565349.335/stdout' +removed 'tests/tmp/server.565349.335/stderr' +removed 'tests/tmp/server.565349.128/stdout' +removed 'tests/tmp/server.565349.128/stderr' +removed 'tests/tmp/server.565349.158/stdout' +removed 'tests/tmp/server.565349.158/stderr' +removed 'tests/tmp/valkey.conf.565349.19' +removed 'tests/tmp/server.565349.311/stdout' +removed 'tests/tmp/server.565349.311/stderr' +removed 'tests/tmp/valkey.conf.565349.344' +removed 'tests/tmp/server.565349.224/stdout' +removed 'tests/tmp/server.565349.224/stderr' +removed 'tests/tmp/server.565349.154/stdout' +removed 'tests/tmp/server.565349.154/stderr' +removed 'tests/tmp/server.565349.122/stdout' +removed 'tests/tmp/server.565349.122/stderr' +removed 'tests/tmp/selectors.acl.565349.17/default.conf' +removed 'tests/tmp/selectors.acl.565349.17/stdout' +removed 'tests/tmp/selectors.acl.565349.17/userwithselectors.acl' +removed 'tests/tmp/selectors.acl.565349.17/stderr' +removed 'tests/tmp/valkey.conf.565349.181' +removed 'tests/tmp/server.565349.258/stdout' +removed 'tests/tmp/server.565349.258/stderr' +removed 'tests/tmp/server.565349.24/stdout' +removed 'tests/tmp/server.565349.24/stderr' +removed 'tests/tmp/valkey.conf.565349.233' +removed 'tests/tmp/server.565349.11/stdout' +removed 'tests/tmp/server.565349.11/stderr' +removed 'tests/tmp/server.565349.11/nodes.conf' +removed 'tests/tmp/valkey.conf.565349.51' +removed 'tests/tmp/valkey.conf.565349.185' +removed 'tests/tmp/server.565349.282/stdout' +removed 'tests/tmp/server.565349.282/stderr' +removed 'tests/tmp/server.565349.383/stdout' +removed 'tests/tmp/server.565349.383/stderr' +removed 'tests/tmp/valkey.conf.565349.113' +removed 'tests/tmp/valkey.conf.565349.16' +removed 'tests/tmp/server.565349.20/stdout' +removed 'tests/tmp/server.565349.20/stderr' +removed 'tests/tmp/valkey.conf.565349.107' +removed 'tests/tmp/server.565349.94/stdout' +removed 'tests/tmp/server.565349.94/stderr' +removed 'tests/tmp/valkey.conf.565349.422' +removed 'tests/tmp/server.565349.309/stdout' +removed 'tests/tmp/server.565349.309/stderr' +removed 'tests/tmp/valkey.conf.565349.420' +removed 'tests/tmp/server.565349.60/stdout' +removed 'tests/tmp/server.565349.60/stderr' +removed 'tests/tmp/valkey.conf.565349.85' +removed 'tests/tmp/valkey.conf.565349.364' +removed 'tests/tmp/valkey.conf.565349.91' +removed 'tests/tmp/valkey.conf.565349.231' +removed 'tests/tmp/server.565349.96/stdout' +removed 'tests/tmp/server.565349.96/stderr' +removed 'tests/tmp/server.565349.50/stdout' +removed 'tests/tmp/server.565349.50/stderr' +removed 'tests/tmp/valkey.conf.565349.259' +removed 'tests/tmp/server.565349.120/stdout' +removed 'tests/tmp/server.565349.120/stderr' +removed 'tests/tmp/server.565349.316/stdout' +removed 'tests/tmp/server.565349.316/stderr' +removed 'tests/tmp/valkey.conf.565349.23' +removed 'tests/tmp/valkey.conf.565349.366' +removed 'tests/tmp/server.565349.182/stdout' +removed 'tests/tmp/server.565349.182/stderr' +removed 'tests/tmp/server.565349.270/stdout' +removed 'tests/tmp/server.565349.270/stderr' +removed 'tests/tmp/valkey.conf.565349.279' +removed 'tests/tmp/valkey.conf.565349.239' +removed 'tests/tmp/server.565349.210/stdout' +removed 'tests/tmp/server.565349.210/stderr' +removed 'tests/tmp/valkey.conf.565349.368' +removed 'tests/tmp/valkey.conf.565349.10' +removed 'tests/tmp/server.565349.15/stdout' +removed 'tests/tmp/server.565349.15/stderr' +removed 'tests/tmp/valkey.conf.565349.221' +removed 'tests/tmp/server.565349.198/stdout' +removed 'tests/tmp/server.565349.198/stderr' +removed 'tests/tmp/valkey.conf.565349.261' +removed 'tests/tmp/valkey.conf.565349.211' +removed 'tests/tmp/valkey.conf.565349.217' +removed 'tests/tmp/server.565349.268/stdout' +removed 'tests/tmp/server.565349.268/stderr' +removed 'tests/tmp/valkey.conf.565349.408' +removed 'tests/tmp/valkey.conf.565349.384' +removed 'tests/tmp/server.565349.72/stdout' +removed 'tests/tmp/server.565349.72/stderr' +removed 'tests/tmp/valkey.conf.565349.61' +removed 'tests/tmp/server.565349.325/stdout' +removed 'tests/tmp/server.565349.325/stderr' +removed 'tests/tmp/valkey.conf.565349.77' +removed 'tests/tmp/valkey.conf.565349.83' +removed 'tests/tmp/server.565349.262/stdout' +removed 'tests/tmp/server.565349.262/stderr' +removed 'tests/tmp/valkey.conf.565349.277' +removed 'tests/tmp/valkey.conf.565349.141' +removed 'tests/tmp/server.565349.212/stdout' +removed 'tests/tmp/server.565349.212/stderr' +removed 'tests/tmp/valkey.conf.565349.73' +removed 'tests/tmp/server.565349.290/stdout' +removed 'tests/tmp/server.565349.290/stderr' +removed 'tests/tmp/valkey.conf.565349.4' +removed 'tests/tmp/server.565349.126/stdout' +removed 'tests/tmp/server.565349.126/stderr' +removed 'tests/tmp/valkey.conf.565349.330' +removed 'tests/tmp/server.565349.170/stdout' +removed 'tests/tmp/server.565349.170/stderr' +removed 'tests/tmp/server.565349.9/stdout' +removed 'tests/tmp/server.565349.9/stderr' +removed 'tests/tmp/server.565349.9/nodes.conf' +removed 'tests/tmp/valkey.conf.565349.328' +removed 'tests/tmp/server.565349.86/stdout' +removed 'tests/tmp/server.565349.86/stderr' +removed 'tests/tmp/valkey.conf.565349.281' +removed 'tests/tmp/server.565349.146/stdout' +removed 'tests/tmp/server.565349.146/stderr' +removed 'tests/tmp/server.565349.148/stdout' +removed 'tests/tmp/server.565349.148/stderr' +removed 'tests/tmp/server.565349.337/stdout' +removed 'tests/tmp/server.565349.337/stderr' +removed 'tests/tmp/valkey.conf.565349.167' +removed 'tests/tmp/valkey.conf.565349.8' +removed 'tests/tmp/valkey.conf.565349.171' +removed 'tests/tmp/server.565349.254/stdout' +removed 'tests/tmp/server.565349.254/stderr' +removed 'tests/tmp/server.565349.44/stdout' +removed 'tests/tmp/server.565349.44/stderr' +removed 'tests/tmp/server.565349.373/stdout' +removed 'tests/tmp/server.565349.373/stderr' +removed 'tests/tmp/valkey.conf.565349.161' +removed 'tests/tmp/valkey.conf.565349.59' +removed 'tests/tmp/valkey.conf.565349.249' +removed 'tests/tmp/valkey.conf.565349.119' +removed 'tests/tmp/valkey.conf.565349.271' +removed 'tests/tmp/server.565349.238/stdout' +removed 'tests/tmp/server.565349.238/stderr' +removed 'tests/tmp/server.565349.339/stdout' +removed 'tests/tmp/server.565349.339/stderr' +removed 'tests/tmp/valkey.conf.565349.151' +removed 'tests/tmp/valkey.conf.565349.39' +removed 'tests/tmp/valkey.conf.565349.14' +removed 'tests/tmp/valkey.conf.565349.223' +removed 'tests/tmp/server.565349.357/stdout' +removed 'tests/tmp/server.565349.357/stderr' +removed 'tests/tmp/server.565349.357/nodes.conf' +removed 'tests/tmp/server.565349.409/stdout' +removed 'tests/tmp/server.565349.409/stderr' +removed 'tests/tmp/valkey.conf.565349.287' +removed 'tests/tmp/server.565349.142/stdout' +removed 'tests/tmp/server.565349.142/stderr' +removed 'tests/tmp/server.565349.236/stdout' +removed 'tests/tmp/server.565349.236/stderr' +removed 'tests/tmp/valkey.conf.565349.2' +removed 'tests/tmp/valkey.conf.565349.79' +removed 'tests/tmp/valkey.conf.565349.291' +removed 'tests/tmp/valkey.conf.565349.382' +removed 'tests/tmp/valkey.conf.565349.253' +removed 'tests/tmp/server.565349.208/stdout' +removed 'tests/tmp/server.565349.208/stderr' +removed 'tests/tmp/valkey.conf.565349.336' +removed 'tests/tmp/server.565349.58/stdout' +removed 'tests/tmp/server.565349.58/stderr' +removed 'tests/tmp/duplicate.acl.565349.313/default.conf' +removed 'tests/tmp/duplicate.acl.565349.313/stdout' +removed 'tests/tmp/duplicate.acl.565349.313/stderr' +removed 'tests/tmp/duplicate.acl.565349.313/user.acl' +removed 'tests/tmp/server.565349.341/stdout' +removed 'tests/tmp/server.565349.341/stderr' +removed 'tests/tmp/server.565349.78/stdout' +removed 'tests/tmp/server.565349.78/stderr' +removed 'tests/tmp/valkey.conf.565349.225' +removed 'tests/tmp/valkey.conf.565349.57' +removed 'tests/tmp/server.565349.74/stdout' +removed 'tests/tmp/server.565349.74/stderr' +removed 'tests/tmp/valkey.conf.565349.93' +removed 'tests/tmp/valkey.conf.565349.390' +removed 'tests/tmp/valkey.conf.565349.310' +removed 'tests/tmp/valkey.conf.565349.117' +removed 'tests/tmp/server.565349.136/stdout' +removed 'tests/tmp/server.565349.136/stderr' +removed 'tests/tmp/server.565349.52/stdout' +removed 'tests/tmp/server.565349.52/stderr' +removed 'tests/tmp/valkey.conf.565349.354' +removed 'tests/tmp/server.565349.168/stdout' +removed 'tests/tmp/server.565349.168/stderr' +removed 'tests/tmp/server.565349.222/stdout' +removed 'tests/tmp/server.565349.222/stderr' +removed 'tests/tmp/valkey.conf.565349.424' +removed 'tests/tmp/valkey.conf.565349.237' +removed 'tests/tmp/server.565349.288/stdout' +removed 'tests/tmp/server.565349.288/stderr' +removed 'tests/tmp/valkey.conf.565349.299' +removed 'tests/tmp/valkey.conf.565349.137' +removed 'tests/tmp/server.565349.88/stdout' +removed 'tests/tmp/server.565349.88/stderr' +removed 'tests/tmp/server.565349.353/stdout' +removed 'tests/tmp/server.565349.353/stderr' +removed 'tests/tmp/resetchannels.acl.565349.303/default.conf' +removed 'tests/tmp/resetchannels.acl.565349.303/stdout' +removed 'tests/tmp/resetchannels.acl.565349.303/nodefaultuser.acl' +removed 'tests/tmp/resetchannels.acl.565349.303/stderr' +removed 'tests/tmp/server.565349.34/stdout' +removed 'tests/tmp/server.565349.34/stderr' +removed 'tests/tmp/valkey.conf.565349.297' +removed 'tests/tmp/server.565349.66/stdout' +removed 'tests/tmp/server.565349.66/stderr' +removed 'tests/tmp/valkey.conf.565349.358' +removed 'tests/tmp/server.565349.228/stdout' +removed 'tests/tmp/server.565349.228/stderr' +removed 'tests/tmp/valkey.conf.565349.109' +removed 'tests/tmp/server.565349.162/stdout' +removed 'tests/tmp/server.565349.162/stderr' +removed 'tests/tmp/server.565349.30/stdout' +removed 'tests/tmp/server.565349.30/stderr' +removed 'tests/tmp/server.565349.100/stdout' +removed 'tests/tmp/server.565349.100/stderr' +removed 'tests/tmp/valkey.conf.565349.319' +removed 'tests/tmp/valkey.conf.565349.394' +removed 'tests/tmp/valkey.conf.565349.155' +removed 'tests/tmp/server.565349.134/stdout' +removed 'tests/tmp/server.565349.134/stderr' +removed 'tests/tmp/server.565349.134/nodes.conf' +removed 'tests/tmp/server.565349.278/stdout' +removed 'tests/tmp/server.565349.278/stderr' +removed 'tests/tmp/server.565349.54/stdout' +removed 'tests/tmp/server.565349.54/stderr' +removed 'tests/tmp/server.565349.417/stdout' +removed 'tests/tmp/server.565349.417/stderr' +removed 'tests/tmp/server.565349.393/stdout' +removed 'tests/tmp/server.565349.393/stderr' +removed 'tests/tmp/valkey.conf.565349.322' +removed 'tests/tmp/server.565349.90/stdout' +removed 'tests/tmp/server.565349.90/stderr' +removed 'tests/tmp/server.565349.230/stdout' +removed 'tests/tmp/server.565349.230/stderr' +removed 'tests/tmp/valkey.conf.565349.235' +removed 'tests/tmp/valkey.conf.565349.49' +removed 'tests/tmp/server.565349.48/stdout' +removed 'tests/tmp/server.565349.48/stderr' +removed 'tests/tmp/valkey.conf.565349.267' +removed 'tests/tmp/valkey.conf.565349.173' +removed 'tests/tmp/valkey.conf.565349.25' +removed 'tests/tmp/valkey.conf.565349.213' +removed 'tests/tmp/server.565349.108/stdout' +removed 'tests/tmp/server.565349.108/stderr' +removed 'tests/tmp/server.565349.3/stdout' +removed 'tests/tmp/server.565349.3/stderr' +removed 'tests/tmp/server.565349.164/stdout' +removed 'tests/tmp/server.565349.164/stderr' +removed 'tests/tmp/server.565349.192/stdout' +removed 'tests/tmp/server.565349.192/stderr' +removed 'tests/tmp/valkey.conf.565349.97' +removed 'tests/tmp/valkey.conf.565349.187' +removed 'tests/tmp/valkey.conf.565349.193' +removed 'tests/tmp/valkey.conf.565349.149' +removed 'tests/tmp/valkey.conf.565349.263' +removed 'tests/tmp/valkey.conf.565349.273' +removed 'tests/tmp/valkey.conf.565349.67' +removed 'tests/tmp/valkey.conf.565349.374' +removed 'tests/tmp/valkey.conf.565349.380' +removed 'tests/tmp/valkey.conf.565349.398' +removed 'tests/tmp/valkey.conf.565349.416' +removed 'tests/tmp/server.565349.180/stdout' +removed 'tests/tmp/server.565349.180/stderr' +removed 'tests/tmp/server.565349.218/stdout' +removed 'tests/tmp/server.565349.218/stderr' +removed 'tests/tmp/server.565349.174/stdout' +removed 'tests/tmp/server.565349.174/stderr' +removed 'tests/tmp/valkey.conf.565349.305' +removed 'tests/tmp/valkey.conf.565349.312' +removed 'tests/tmp/server.565349.118/stdout' +removed 'tests/tmp/server.565349.118/stderr' +removed 'tests/tmp/server.565349.138/stdout' +removed 'tests/tmp/server.565349.138/stderr' +removed 'tests/tmp/server.565349.369/stdout' +removed 'tests/tmp/server.565349.369/stderr' +removed 'tests/tmp/valkey.conf.565349.251' +removed 'tests/tmp/server.565349.379/stdout' +removed 'tests/tmp/server.565349.379/stderr' +removed 'tests/tmp/server.565349.381/stdout' +removed 'tests/tmp/server.565349.381/stderr' +removed 'tests/tmp/valkey.conf.565349.105' +removed 'tests/tmp/valkey.conf.565349.75' +removed 'tests/tmp/valkey.conf.565349.342' +removed 'tests/tmp/server.565349.286/stdout' +removed 'tests/tmp/server.565349.286/stderr' +removed 'tests/tmp/valkey.conf.565349.139' +removed 'tests/tmp/server.565349.276/stdout' +removed 'tests/tmp/server.565349.276/stderr' +removed 'tests/tmp/server.565349.13/stdout' +removed 'tests/tmp/server.565349.13/stderr' +removed 'tests/tmp/server.565349.413/stdout' +removed 'tests/tmp/server.565349.413/stderr' +removed 'tests/tmp/valkey.conf.565349.360' +removed 'tests/tmp/server.565349.204/stdout' +removed 'tests/tmp/server.565349.204/stderr' +removed 'tests/tmp/valkey.conf.565349.183' +removed 'tests/tmp/valkey.conf.565349.29' +removed 'tests/tmp/server.565349.284/stdout' +removed 'tests/tmp/server.565349.284/stderr' +removed 'tests/tmp/valkey.conf.565349.207' +removed 'tests/tmp/server.565349.248/stdout' +removed 'tests/tmp/server.565349.248/stderr' +removed 'tests/tmp/server.565349.160/stdout' +removed 'tests/tmp/server.565349.160/stderr' +removed 'tests/tmp/server.565349.160/nodes.conf' +removed 'tests/tmp/valkey.conf.565349.285' +removed 'tests/tmp/valkey.conf.565349.53' +removed 'tests/tmp/valkey.conf.565349.215' +removed 'tests/tmp/server.565349.176/stdout' +removed 'tests/tmp/server.565349.176/stderr' +removed 'tests/tmp/server.565349.166/stdout' +removed 'tests/tmp/server.565349.166/stderr' +removed 'tests/tmp/server.565349.194/stdout' +removed 'tests/tmp/server.565349.194/stderr' +removed 'tests/tmp/valkey.conf.565349.99' +removed 'tests/tmp/valkey.conf.565349.302' +removed 'tests/tmp/valkey.conf.565349.55' +removed 'tests/tmp/server.565349.266/stdout' +removed 'tests/tmp/server.565349.266/stderr' +removed 'tests/tmp/valkey.conf.565349.400' +removed 'tests/tmp/valkey.conf.565349.31' +removed 'tests/tmp/server.565349.250/stdout' +removed 'tests/tmp/server.565349.250/stderr' +removed 'tests/tmp/server.565349.387/stdout' +removed 'tests/tmp/server.565349.387/stderr' +removed 'tests/tmp/server.565349.110/stdout' +removed 'tests/tmp/server.565349.110/stderr' +removed 'tests/tmp/valkey.conf.565349.227' +removed 'tests/tmp/valkey.conf.565349.153' +removed 'tests/tmp/valkey.conf.565349.362' +removed 'tests/tmp/valkey.conf.565349.6' +removed 'tests/tmp/server.565349.371/stdout' +removed 'tests/tmp/server.565349.371/stderr' +removed 'tests/tmp/valkey.conf.565349.386' +removed 'tests/tmp/server.565349.132/stdout' +removed 'tests/tmp/server.565349.132/stderr' +removed 'tests/tmp/valkey.conf.565349.289' +removed 'tests/tmp/valkey.conf.565349.101' +removed 'tests/tmp/server.565349.361/stdout' +removed 'tests/tmp/server.565349.361/stderr' +removed 'tests/tmp/server.565349.361/nodes.conf' +removed 'tests/tmp/server.565349.28/stdout' +removed 'tests/tmp/server.565349.28/stderr' +removed 'tests/tmp/valkey.conf.565349.283' +removed 'tests/tmp/valkey.conf.565349.348' +removed 'tests/tmp/server.565349.363/stdout' +removed 'tests/tmp/server.565349.363/stderr' +removed 'tests/tmp/server.565349.327/stdout' +removed 'tests/tmp/server.565349.327/stderr' +removed 'tests/tmp/server.565349.411/stdout' +removed 'tests/tmp/server.565349.411/stderr' +removed 'tests/tmp/server.565349.186/stdout' +removed 'tests/tmp/server.565349.186/stderr' +removed 'tests/tmp/valkey.conf.565349.163' +removed 'tests/tmp/server.565349.62/stdout' +removed 'tests/tmp/server.565349.62/stderr' +removed 'tests/tmp/server.565349.62/somename' +removed 'tests/tmp/valkey.conf.565349.175' +removed 'tests/tmp/server.565349.421/stdout' +removed 'tests/tmp/server.565349.421/stderr' +removed 'tests/tmp/server.565349.130/stdout' +removed 'tests/tmp/server.565349.130/stderr' make[1]: Leaving directory '/build/reproducible-path/valkey-8.1.1+dfsg1' create-stamp debian/debhelper-build-stamp dh_prep @@ -3797,16 +5024,16 @@ dh_strip -a dh_makeshlibs -a dh_shlibdeps -a -dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/valkey-tools/usr/bin/valkey-cli debian/valkey-tools/usr/bin/valkey-benchmark debian/valkey-tools/usr/bin/valkey-check-rdb debian/valkey-tools/usr/bin/valkey-check-aof were not linked against liblzf.so.1 (they use none of the library's symbols) -dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/valkey-tools/usr/bin/valkey-cli debian/valkey-tools/usr/bin/valkey-benchmark debian/valkey-tools/usr/bin/valkey-check-rdb debian/valkey-tools/usr/bin/valkey-check-aof were not linked against libatomic.so.1 (they use none of the library's symbols) +dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/valkey-tools/usr/bin/valkey-check-aof debian/valkey-tools/usr/bin/valkey-benchmark debian/valkey-tools/usr/bin/valkey-check-rdb debian/valkey-tools/usr/bin/valkey-cli were not linked against liblzf.so.1 (they use none of the library's symbols) +dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/valkey-tools/usr/bin/valkey-check-aof debian/valkey-tools/usr/bin/valkey-benchmark debian/valkey-tools/usr/bin/valkey-check-rdb debian/valkey-tools/usr/bin/valkey-cli were not linked against libatomic.so.1 (they use none of the library's symbols) dh_installdeb dh_gencontrol dh_md5sums dh_builddeb -dpkg-deb: building package 'valkey-server' in '../valkey-server_8.1.1+dfsg1-3_amd64.deb'. -dpkg-deb: building package 'valkey-tools' in '../valkey-tools_8.1.1+dfsg1-3_amd64.deb'. dpkg-deb: building package 'valkey-sentinel' in '../valkey-sentinel_8.1.1+dfsg1-3_amd64.deb'. +dpkg-deb: building package 'valkey-server' in '../valkey-server_8.1.1+dfsg1-3_amd64.deb'. dpkg-deb: building package 'valkey-tools-dbgsym' in '../valkey-tools-dbgsym_8.1.1+dfsg1-3_amd64.deb'. +dpkg-deb: building package 'valkey-tools' in '../valkey-tools_8.1.1+dfsg1-3_amd64.deb'. dpkg-genbuildinfo --build=binary -O../valkey_8.1.1+dfsg1-3_amd64.buildinfo dpkg-genchanges --build=binary -O../valkey_8.1.1+dfsg1-3_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -3814,12 +5041,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/541337/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/541337/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/717485 and its subdirectories -I: Current time: Wed Sep 2 15:04:39 -12 2026 -I: pbuilder-time-stamp: 1788404679 +I: removing directory /srv/workspace/pbuilder/541337 and its subdirectories +I: Current time: Fri Aug 1 11:13:19 +14 2025 +I: pbuilder-time-stamp: 1753996399