Diff of the two buildlogs: -- --- b1/build.log 2025-10-24 21:29:37.204440618 +0000 +++ b2/build.log 2025-10-24 22:00:21.502906511 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri Oct 24 09:04:52 -12 2025 -I: pbuilder-time-stamp: 1761339892 +I: Current time: Fri Nov 27 17:52:38 +14 2026 +I: pbuilder-time-stamp: 1795751558 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -28,53 +28,85 @@ dpkg-source: info: applying 0004-Add-support-for-USE_SYSTEM_JEMALLOC-flag.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/187764/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/3363078/tmp/hooks/D01_modify_environment starting +debug: Running on ionos5-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 Nov 27 03:52 /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/3363078/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/3363078/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=40 ' - DISTRIBUTION='unstable' - 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]="3" [2]="3" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.3.3(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='372107484e0f48d2948bc4434d4793e5' - 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='187764' - PS1='# ' - PS2='> ' + INVOCATION_ID=beeab781e01d4d3fa2794c2a8eec5579 + 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=3363078 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.0zs4fhzJ/pbuilderrc_5veu --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.0zs4fhzJ/b1 --logfile b1/build.log valkey_8.1.4+dfsg1-1.dsc' - SUDO_GID='110' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='105' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://46.16.76.132:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.0zs4fhzJ/pbuilderrc_V7mr --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.0zs4fhzJ/b2 --logfile b2/build.log valkey_8.1.4+dfsg1-1.dsc' + SUDO_GID=110 + SUDO_HOME=/var/lib/jenkins + SUDO_UID=105 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://213.165.73.152:3128 I: uname -a - Linux ionos1-amd64 6.12.48+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.48-1 (2025-09-20) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.12.48+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.48-1 (2025-09-20) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/187764/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/3363078/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -196,7 +228,7 @@ Get: 58 http://deb.debian.org/debian unstable/main amd64 tcl8.6 amd64 8.6.17+dfsg-1 [121 kB] Get: 59 http://deb.debian.org/debian unstable/main amd64 tcl amd64 8.6.16 [4096 B] Get: 60 http://deb.debian.org/debian unstable/main amd64 tcl-tls amd64 1.8.0-2 [65.1 kB] -Fetched 22.3 MB in 14s (1617 kB/s) +Fetched 22.3 MB in 0s (74.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 ... 19860 files and directories currently installed.) @@ -398,8 +430,8 @@ Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' -Local time is now: Fri Oct 24 21:08:34 UTC 2025. -Universal Time is now: Fri Oct 24 21:08:34 UTC 2025. +Local time is now: Fri Nov 27 03:53:25 UTC 2026. +Universal Time is now: Fri Nov 27 03:53:25 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libjemalloc-dev (5.3.0-3) ... @@ -461,7 +493,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/valkey-8.1.4+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.4+dfsg1-1_source.changes +I: user script /srv/workspace/pbuilder/3363078/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/3363078/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/valkey-8.1.4+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.4+dfsg1-1_source.changes dpkg-buildpackage: info: source package valkey dpkg-buildpackage: info: source version 8.1.4+dfsg1-1 dpkg-buildpackage: info: source distribution unstable @@ -473,9 +509,9 @@ debian/rules override_dh_auto_clean make[1]: Entering directory '/build/reproducible-path/valkey-8.1.4+dfsg1' dh_auto_clean - make -j40 distclean + make -j42 distclean make[2]: Entering directory '/build/reproducible-path/valkey-8.1.4+dfsg1' -make[2]: warning: -j40 forced in submake: resetting jobserver mode. +make[2]: warning: -j42 forced in submake: resetting jobserver mode. cd src && make distclean make[3]: Entering directory '/build/reproducible-path/valkey-8.1.4+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 @@ -513,9 +549,9 @@ debian/rules override_dh_auto_build make[1]: Entering directory '/build/reproducible-path/valkey-8.1.4+dfsg1' dh_auto_build -- V=1 USE_SYSTEM_JEMALLOC=yes USE_SYSTEMD=yes USE_JEMALLOC=yes - make -j40 INSTALL="install --strip-program=true" V=1 USE_SYSTEM_JEMALLOC=yes USE_SYSTEMD=yes USE_JEMALLOC=yes + make -j42 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.4+dfsg1' -make[2]: warning: -j40 forced in submake: resetting jobserver mode. +make[2]: warning: -j42 forced in submake: resetting jobserver mode. cd src && make all make[3]: Entering directory '/build/reproducible-path/valkey-8.1.4+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.4+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 @@ -565,43 +601,43 @@ (echo "-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.4+dfsg1=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I/usr/include/liblzf" > .make-cflags) (echo "-flto=auto -ffat-lto-objects -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf" > .make-ldflags) MAKE hiredis -cd hiredis && make static USE_SSL=1 MAKE linenoise +cd hiredis && make static USE_SSL=1 cd linenoise && make +make[5]: Entering directory '/build/reproducible-path/valkey-8.1.4+dfsg1/deps/hiredis' MAKE lua -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.4+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" MAKE hdr_histogram -make[5]: Entering directory '/build/reproducible-path/valkey-8.1.4+dfsg1/deps/hiredis' -cd hdr_histogram && make MAKE fpconv -cd fpconv && make +cd lua/src && make all CFLAGS="-Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.4+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" make[5]: Entering directory '/build/reproducible-path/valkey-8.1.4+dfsg1/deps/linenoise' cc -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.4+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 -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.4+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 +cd hdr_histogram && make +cd fpconv && make make[5]: Entering directory '/build/reproducible-path/valkey-8.1.4+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.4+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.4+dfsg1/deps/fpconv' -cc -Wall -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.4+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 -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.4+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 make[5]: Entering directory '/build/reproducible-path/valkey-8.1.4+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.4+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 -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.4+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 -Os -g -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.4+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.4+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 -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.4+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 -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.4+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.4+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 -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.4+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.4+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 -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.4+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.4+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 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.4+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 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.4+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 -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.4+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.4+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 -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.4+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.4+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 -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.4+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 -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.4+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 -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.4+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 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.4+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.4+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 -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.4+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.4+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 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.4+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 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DLUA_USE_MKSTEMP -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/valkey-8.1.4+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 -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.4+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.4+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.4+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 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.4+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 @@ -758,10 +794,10 @@ cc -flto=auto -ffat-lto-objects -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf -O3 -flto=auto -ffat-lto-objects -fno-omit-frame-pointer -g -ggdb -rdynamic -o valkey-cli anet.o adlist.o dict.o valkey-cli.o zmalloc.o release.o ae.o serverassert.o crcspeed.o crccombine.o crc64.o siphash.o crc16.o monotonic.o cli_common.o mt19937-64.o strl.o cli_commands.o ../deps/hiredis/libhiredis.a ../deps/linenoise/linenoise.o -ljemalloc -lm -ldl -pthread -lrt -lsystemd ../deps/hiredis/libhiredis_ssl.a -lssl -lcrypto install --strip-program=true valkey-server valkey-sentinel install --strip-program=true valkey-server valkey-check-rdb -install: WARNING: ignoring --strip-program option as -s option was not specified -install: install --strip-program=true valkey-server valkey-check-aof +install --strip-program=true valkey-server valkey-check-aof +install: install: install: WARNING: ignoring --strip-program option as -s option was not specified +WARNING: ignoring --strip-program option as -s option was not specified WARNING: ignoring --strip-program option as -s option was not specified -install: WARNING: ignoring --strip-program option as -s option was not specified Hint: It's a good idea to run 'make test' ;) @@ -779,33 +815,1870 @@ 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 -** SLOW COMPUTER ** Using a single client to avoid false positives. Cleanup: may take some time... OK Starting test server at port 21079 -[ready]: 288611 +[ready]: 3499696 +Testing unit/expire +=== (expire) Starting server on 127.0.0.1:21111 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 (2106 ms) +[ok]: EXPIRE - write on expire should work (5 ms) +[ok]: EXPIREAT - Check for EXPIRE alike behavior (1 ms) +[ok]: SETEX - Set + Expire combo operation. Check for TTL (1 ms) +[ok]: SETEX - Check value (0 ms) +[ok]: SETEX - Overwrite old key (1 ms) +[ok]: SETEX - Wait for the key to expire (1105 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 (1 ms) +millisecond expire test attempts: 0 +[ok]: EXPIRE precision is now the millisecond (1108 ms) +PSETEX sub-second expire test attempts: 0 +[ok]: PSETEX can set sub-second expires (109 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 (202 ms) +[ok]: EXPIRE / EXPIREAT / PEXPIRE / PEXPIREAT Expiration time is already expired (12 ms) +[ok]: TTL returns time to live in seconds (6 ms) +[ok]: PTTL returns time to live in milliseconds (1 ms) +[ok]: TTL / PTTL / EXPIRETIME / PEXPIRETIME return -1 if key has no expire (2 ms) +[ok]: TTL / PTTL / EXPIRETIME / PEXPIRETIME return -2 if key does not exit (1 ms) +[ok]: EXPIRETIME returns absolute expiration time in seconds (1 ms) +[ok]: PEXPIRETIME returns absolute expiration time in milliseconds (1 ms) +[ok]: Server should actively expire keys incrementally (619 ms) +[ok]: Server should lazy expire keys (1007 ms) +[ok]: EXPIRE should not resurrect keys (issue #1026) (1011 ms) +[ok]: 5 keys in, 5 keys out (2 ms) +[ok]: EXPIRE with empty string as TTL should report an error (1 ms) +[ok]: SET with EX with big integer should report an error (1 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 (1 ms) +[ok]: PEXPIREAT with big negative integer works (0 ms) +=== (external:skip) Starting server on 127.0.0.1:21113 ok +[ok]: All time-to-live(TTL) in commands are propagated as absolute timestamp in milliseconds in AOF (2432 ms) +[ok]: All TTL in commands are propagated as absolute timestamp in replication stream (130 ms) +=== (needs:repl external:skip) Starting server on 127.0.0.1:21115 ok +[ok]: First server should have role slave after REPLICAOF (2 ms) +[ok]: For all replicated TTL-related commands, absolute expire times are identical on primary and replica (49 ms) + +Waiting for background AOF rewrite to finish... [ok]: expired key which is created in writeable replicas should be deleted by active expiry (233 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 (2024 ms) +[ok]: GETEX use of PERSIST option should remove TTL (4 ms) +[ok]: GETEX use of PERSIST option should remove TTL after loadaof (7 ms) +[ok]: GETEX propagate as to replica as PERSIST, UNLINK, or nothing (78 ms) +[ok]: EXPIRE with NX option on a key with ttl (2 ms) +[ok]: EXPIRE with NX option on a key without ttl (6 ms) +[ok]: EXPIRE with XX option on a key with ttl (8 ms) +[ok]: EXPIRE with XX option on a key without ttl (1 ms) +[ok]: EXPIRE with GT option on a key with lower ttl (2 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 (1 ms) +[ok]: EXPIRE with LT option on a key with lower ttl (1 ms) +[ok]: EXPIRE with LT option on a key without ttl (2 ms) +[ok]: EXPIRE with LT and XX option on a key with ttl (1 ms) +[ok]: EXPIRE with LT and XX option on a key without ttl (1 ms) +[ok]: EXPIRE with conflicting options: LT GT (0 ms) +[ok]: EXPIRE with conflicting options: NX GT (0 ms) +[ok]: EXPIRE with conflicting options: NX LT (1 ms) +[ok]: EXPIRE with conflicting options: NX XX (0 ms) +[ok]: EXPIRE with unsupported options (0 ms) +[ok]: EXPIRE with unsupported options (1 ms) +[ok]: EXPIRE with negative expiry (8 ms) +[ok]: EXPIRE with negative expiry on a non-valitale key (1 ms) +[ok]: EXPIRE with non-existed key (1 ms) +[ok]: Server should not propagate the read command on lazy expire (603 ms) +[ok]: SCAN: Lazy-expire should not be wrapped in MULTI/EXEC (99 ms) +[ok]: RANDOMKEY: Lazy-expire should not be wrapped in MULTI/EXEC (100 ms) +[ok]: import-source can be closed when import-mode is off (2 ms) +[ok]: Import mode should forbid active expiration (119 ms) +[ok]: Import mode should forbid lazy expiration (22 ms) +[ok]: Client can visit expired key in import-source state (125 ms) +=== (expire) Starting server on 127.0.0.1:21117 ok +[ok]: Active expiration triggers hashtable shrink (179 ms) +=== (expire external:skip cluster) Starting server on 127.0.0.1:21119 ok +[ok]: expire scan should skip dictionaries with lot's of empty buckets (1133 ms) +[1/129 done]: unit/expire (18 seconds) +Testing unit/bitops +=== (bitops) Starting server on 127.0.0.1:21121 ok +[ok]: BITCOUNT against wrong type (6 ms) +[ok]: BITCOUNT returns 0 against non existing key (8 ms) +[ok]: BITCOUNT returns 0 with out of range indexes (1 ms) +[ok]: BITCOUNT returns 0 with negative indexes where start > end (1 ms) +[ok]: BITCOUNT against test vector #1 (1 ms) +[ok]: BITCOUNT against test vector #2 (1 ms) +[ok]: BITCOUNT against test vector #3 (0 ms) +[ok]: BITCOUNT against test vector #4 (5 ms) +[ok]: BITCOUNT against test vector #5 (1 ms) +[ok]: BITCOUNT fuzzing without start/end (526 ms) +[ok]: BITCOUNT fuzzing with start/end (1134 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 (2 ms) +[ok]: BITCOUNT regression test for github issue #582 (1 ms) +[ok]: BITCOUNT misaligned prefix (1 ms) +[ok]: BITCOUNT misaligned prefix + full words + remainder (1 ms) +[ok]: BITOP NOT (empty string) (1 ms) +[ok]: BITOP NOT (known string) (1 ms) +[ok]: BITOP where dest and target are the same key (0 ms) +[ok]: BITOP AND|OR|XOR don't change the string with single input key (2 ms) +[ok]: BITOP missing key is considered a stream of zero (2 ms) +[ok]: BITOP shorter keys are zero-padded to the key with max length (2 ms) +[ok]: BITOP and fuzzing (359 ms) +[ok]: BITOP or fuzzing (372 ms) +[ok]: BITOP xor fuzzing (328 ms) +[ok]: BITOP NOT fuzzing (33 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) (1 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 (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 (1 ms) +[ok]: BITPOS bit=1 starting at unaligned address (1 ms) +[ok]: BITPOS bit=0 unaligned+full word+reminder (4 ms) +[ok]: BITPOS bit=1 unaligned+full word+reminder (5 ms) +[ok]: BITPOS bit=1 returns -1 if string is all 0 bits (11 ms) +[ok]: BITPOS bit=0 works with intervals (2 ms) +[ok]: BITPOS bit=1 works with intervals (3 ms) +[ok]: BITPOS bit=0 changes behavior if end is given (1 ms) +[ok]: SETBIT/BITFIELD only increase dirty when the value changed (7 ms) +[ok]: BITPOS bit=1 fuzzy testing using SETBIT (537 ms) +[ok]: BITPOS bit=0 fuzzy testing using SETBIT (400 ms) +[ok]: BITPOS/BITCOUNT fuzzy testing using SETBIT (435 ms) +[ignore]: large memory flag not provided +[2/129 done]: unit/bitops (5 seconds) +Testing unit/aofrw +=== (aofrw external:skip logreqres:skip) Starting server on 127.0.0.1:21123 ok + +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite during write load: RDB preamble=yes (10760 ms) + +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite during write load: RDB preamble=no (7894 ms) +=== (aofrw external:skip) Starting server on 127.0.0.1:21125 ok + +Waiting for background AOF rewrite to finish... [ok]: Turning off AOF kills the background writing child if any (95 ms) + +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with listpack encoding, string data (67 ms) + +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, string data (631 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 (120 ms) + +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, int data (335 ms) + +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with intset encoding, string data (109 ms) + +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, string data (432 ms) + +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with intset encoding, int data (124 ms) + +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, int data (797 ms) + +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with listpack encoding, string data (191 ms) + +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, string data (716 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 (125 ms) + +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, int data (526 ms) + +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, string data (106 ms) + +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, string data (837 ms) + +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, int data (149 ms) + +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, int data (816 ms) + +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite functions (118 ms) +[ok]: BGREWRITEAOF is delayed if BGSAVE is in progress (366 ms) +[ok]: BGREWRITEAOF is refused if already in progress (270 ms) +[3/129 done]: unit/aofrw (27 seconds) Testing unit/oom-score-adj -=== (oom-score-adj external:skip) Starting server on 127.0.0.1:21111 ok +=== (oom-score-adj external:skip) Starting server on 127.0.0.1:21127 ok +[ok]: CONFIG SET oom-score-adj works as expected (1083 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 (8 ms) +[ok]: CONFIG SET out-of-range oom score (3 ms) +[4/129 done]: unit/oom-score-adj (1 seconds) +Testing unit/keyspace +=== (keyspace) Starting server on 127.0.0.1:21129 ok +[ok]: DEL against a single item (9 ms) +[ok]: Vararg DEL (8 ms) +[ok]: Untagged multi-key commands (7 ms) +[ok]: KEYS with pattern (6 ms) +[ok]: KEYS to get all keys (1 ms) +[ok]: DBSIZE (0 ms) +[ok]: KEYS with hashtag (10 ms) +[ok]: DEL all keys (9 ms) +[ok]: KEYS with empty DB (0 ms) +[ok]: DEL against expired key (1104 ms) +[ok]: EXISTS (1 ms) +[ok]: Zero length value in key. SET/GET/EXISTS (1 ms) +[ok]: Commands pipelining (1 ms) +[ok]: Non existing command (1 ms) +[ok]: RENAME basic usage (1 ms) +[ok]: RENAME source key should no longer exist (0 ms) +[ok]: RENAME against already existing key (11 ms) +[ok]: RENAMENX basic usage (2 ms) +[ok]: RENAMENX against already existing key (1 ms) +[ok]: RENAMENX against already existing key (2) (1 ms) +[ok]: RENAME against non existing source key (6 ms) +[ok]: RENAME where source and dest key are the same (existing) (9 ms) +[ok]: RENAMENX where source and dest key are the same (existing) (1 ms) +[ok]: RENAME where source and dest key are the same (non existing) (1 ms) +[ok]: RENAME with volatile key, should move the TTL as well (2 ms) +[ok]: RENAME with volatile key, should not inherit TTL of target key (11 ms) +[ok]: DEL all keys again (DB 0) (8 ms) +[ok]: DEL all keys again (DB 1) (2 ms) +[ok]: COPY basic usage for string (6 ms) +[ok]: COPY for string does not replace an existing key without REPLACE option (8 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 (9 ms) +[ok]: COPY for string does not copy data to no-integer DB (1 ms) +[ok]: COPY can copy key expire metadata as well (2 ms) +[ok]: COPY does not create an expire if it does not exist (6 ms) +[ok]: COPY basic usage for list - quicklist (56 ms) +[ok]: COPY basic usage for list - listpack (7 ms) +[ok]: COPY basic usage for $type set (10 ms) +[ok]: COPY basic usage for $type set (7 ms) +[ok]: COPY basic usage for $type set (161 ms) +[ok]: COPY basic usage for listpack sorted set (22 ms) +[ok]: COPY basic usage for skiplist sorted set (141 ms) +[ok]: COPY basic usage for listpack hash (14 ms) +[ok]: COPY basic usage for hashtable hash (126 ms) +[ok]: COPY basic usage for stream (1039 ms) +[ok]: COPY basic usage for stream-cgroups (40 ms) +[ok]: MOVE basic usage (2 ms) +[ok]: MOVE against key existing in the target DB (0 ms) +[ok]: MOVE against non-integer DB (#1428) (0 ms) +[ok]: MOVE can move key expire metadata as well (5 ms) +[ok]: MOVE does not create an expire if it does not exist (7 ms) +[ok]: SET/GET keys in different DBs (6 ms) +[ok]: RANDOMKEY (46 ms) +[ok]: RANDOMKEY against empty DB (1 ms) +[ok]: RANDOMKEY regression 1 (1 ms) +[ok]: KEYS * two times with long key, Github issue #1208 (1 ms) +[ok]: Regression for pattern matching long nested loops (0 ms) +[ok]: Coverage: basic SWAPDB test and unhappy path (8 ms) +[ok]: Coverage: SWAPDB and FLUSHDB (4 ms) +[ok]: Regression for pattern matching very long nested loops (52 ms) +=== (keyspace external:skip cluster) Starting server on 127.0.0.1:21131 ok +[ok]: KEYS with empty DB in cluster mode (2 ms) +[ok]: KEYS with empty slot in cluster mode (7 ms) +[5/129 done]: unit/keyspace (6 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:21133 ok +[ok]: SORT adds integer field to list (1 ms) +[6/129 done]: unit/violations (0 seconds) +Testing unit/pubsubshard +=== (pubsubshard external:skip) Starting server on 127.0.0.1:21135 ok +[ok]: SPUBLISH/SSUBSCRIBE basics (36 ms) +[ok]: SPUBLISH/SSUBSCRIBE with two clients (51 ms) +[ok]: SPUBLISH/SSUBSCRIBE after UNSUBSCRIBE without arguments (31 ms) +[ok]: SSUBSCRIBE to one channel more than once (25 ms) +[ok]: SUNSUBSCRIBE from non-subscribed channels (13 ms) +[ok]: PUBSUB command basics (1 ms) +[ok]: SPUBLISH/SSUBSCRIBE with two clients (26 ms) +[ok]: SPUBLISH/SSUBSCRIBE with PUBLISH/SUBSCRIBE (40 ms) +[ok]: PubSubShard with CLIENT REPLY OFF (114 ms) +=== (pubsubshard external:skip) Starting server on 127.0.0.1:21137 ok +=== (pubsubshard external:skip) Starting server on 127.0.0.1:21139 ok +[ok]: setup replication for following tests (126 ms) +[ok]: publish message to master and receive on replica (52 ms) +[7/129 done]: unit/pubsubshard (2 seconds) +Testing unit/querybuf +=== (querybuf slow) Starting server on 127.0.0.1:21141 ok +[ok]: query buffer resized correctly (3015 ms) +[ok]: query buffer resized correctly when not idle (113 ms) +[ok]: query buffer resized correctly with fat argv (2883 ms) +[8/129 done]: unit/querybuf (7 seconds) +Testing unit/other +=== (other) Starting server on 127.0.0.1:21143 ok +[ok]: Coverage: HELP commands (8 ms) +[ok]: Coverage: MEMORY MALLOC-STATS (3 ms) +[ok]: Coverage: MEMORY PURGE (5 ms) +[ok]: Coverage: ECHO (0 ms) +[ok]: SAVE - make sure there are all the types as values (21 ms) +[ok]: FUZZ stresser with data model binary (1725 ms) +[ok]: FUZZ stresser with data model alpha (2024 ms) +[ok]: FUZZ stresser with data model compr (1848 ms) +=== (external:skip) Starting server on 127.0.0.1:21145 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 (670 ms) + +Waiting for background save to finish... +Waiting for background save to finish... [ok]: BGSAVE (560 ms) +[ok]: SELECT an out of range DB (1 ms) +[ok]: Check consistency of different data types after a reload (3112 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... [ok]: Same dataset digest if saving/reloading as AOF? (2669 ms) -===== Start of server log (pid 288650) ===== +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: EXPIRES after a reload (snapshot + append only file rewrite) (1043 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: EXPIRES after AOF reload (without rewrite) (2123 ms) +[ok]: PIPELINING stresser (also a regression for the old epoll bug) (1267 ms) +[ok]: APPEND basics (5 ms) +[ok]: APPEND basics, integer encoded values (1 ms) +[ok]: APPEND fuzzing (1471 ms) +[ok]: FLUSHDB (6 ms) +[ok]: Perform a final SAVE to leave a clean DB on disk (12 ms) +[ok]: RESET clears client state (11 ms) +[ok]: RESET clears MONITOR state (28 ms) +[ok]: RESET clears and discards MULTI state (1 ms) +[ok]: RESET clears Pub/Sub state (1 ms) +[ok]: RESET clears authenticated state (8 ms) +[ok]: Subcommand syntax error crash (issue #10070) (1 ms) +[ok]: Extended Redis Compatibility config (7 ms) +=== (other external:skip) Starting server on 127.0.0.1:21147 ok + +Waiting for background save to finish... +Waiting for background save to finish... [ok]: Don't rehash if server has child process (2334 ms) +=== (other external:skip) Starting server on 127.0.0.1:21149 ok +[ok]: Process title set as expected (9 ms) +=== (other external:skip cluster slow) Starting server on 127.0.0.1:21151 ok +[ok]: Server can trigger resizing (1791 ms) +[ok]: Server can rewind and trigger smaller slot resizing (717 ms) +=== (other external:skip) Starting server on 127.0.0.1:21153 ok +[ok]: Server can resize empty dict (227 ms) +Creating temp file /build/reproducible-path/valkey-8.1.4+dfsg1/3499696 +=== (repl external:skip) Starting server on 127.0.0.1:21155 ok +[ok]: test unixsocket options are set correctly (1 ms) +Deleting temp file: /build/reproducible-path/valkey-8.1.4+dfsg1/3499696 +[9/129 done]: unit/other (33 seconds) +Testing unit/auth +=== (auth external:skip) Starting server on 127.0.0.1:21157 ok +[ok]: AUTH fails if there is no password configured server side (1 ms) +[ok]: Arity check for auth command (5 ms) +=== (auth external:skip) Starting server on 127.0.0.1:21159 ok +[ok]: AUTH fails when a wrong password is given (23 ms) +[ok]: Arbitrary command gives an error when AUTH is required (1 ms) +[ok]: AUTH succeeds when the right password is given (0 ms) +[ok]: Once AUTH succeeded we can actually send commands to the server (1 ms) +[ok]: For unauthenticated clients multibulk and bulk length are limited (46 ms) +[ok]: For unauthenticated clients output buffer is limited (30 ms) +[ok]: For once authenticated clients output buffer is NOT limited (25 ms) +=== (auth_binary_password external:skip) Starting server on 127.0.0.1:21161 ok +[ok]: AUTH fails when binary password is wrong (4 ms) +[ok]: AUTH succeeds when binary password is correct (0 ms) +=== (primaryauth) Starting server on 127.0.0.1:21163 ok +[ok]: primaryauth test with binary password dualchannel = yes (1296 ms) +=== (auth_binary_password external:skip) Starting server on 127.0.0.1:21165 ok +[ok]: AUTH fails when binary password is wrong (8 ms) +[ok]: AUTH succeeds when binary password is correct (0 ms) +=== (primaryauth) Starting server on 127.0.0.1:21167 ok +[ok]: primaryauth test with binary password dualchannel = no (1754 ms) +[10/129 done]: unit/auth (6 seconds) +Testing unit/hyperloglog +=== (hll) Starting server on 127.0.0.1:21169 ok +[ignore]: CVE-2025-32023: Sparse HLL XZERO overflow triggers crash: large memory flag not provided +[ok]: HyperLogLog self test passes (951 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 (2 ms) +[ok]: HyperLogLogs are promote from sparse to dense (862 ms) +[ok]: Change hll-sparse-max-bytes (2 ms) +[ok]: Hyperloglog promote to dense well in different hll-sparse-max-bytes (129 ms) +[ok]: HyperLogLog sparse encoding stress test (2320 ms) +[ok]: Corrupted sparse HyperLogLogs are detected: Additional at tail (1 ms) +[ok]: Corrupted sparse HyperLogLogs are detected: Broken magic (1 ms) +[ok]: Corrupted sparse HyperLogLogs are detected: Invalid encoding (1 ms) +[ok]: Corrupted dense HyperLogLogs are detected: Wrong length (0 ms) +[ok]: Fuzzing dense/sparse encoding: Server should always detect errors (54052 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 (1578 ms) +[ok]: PFCOUNT multiple-keys merge returns cardinality of union #1 (5344 ms) +[ok]: PFCOUNT multiple-keys merge returns cardinality of union #2 (4550 ms) +[ok]: PFDEBUG GETREG returns the HyperLogLog raw registers (834 ms) +[ok]: PFADD / PFCOUNT cache invalidation works (2 ms) +[11/129 done]: unit/hyperloglog (72 seconds) +Testing unit/networking +=== () Starting server on 127.0.0.1:21171 ok +[ok]: CONFIG SET port number (242 ms) +=== () Starting server on 127.0.0.1:21174 ok +[ok]: CONFIG SET bind address (234 ms) +=== () Starting server on 127.0.0.1:21176 ok +=== () Starting server on 127.0.0.1:21178 ok +[ok]: CONFIG SET bind-source-addr (644 ms) +=== (external:skip) Starting server on 127.0.0.1:21180 ok +[ok]: Default bind address configuration handling (519 ms) +[ok]: Protected mode works as expected (2 ms) +=== (external:skip) Starting server on 127.0.0.1:21182 ok +[12/129 done]: unit/networking (3 seconds) +Testing unit/latency-monitor +=== (latency-monitor needs:latency) Starting server on 127.0.0.1:21184 ok +[ok]: LATENCY HISTOGRAM with empty histogram (1 ms) +[ok]: LATENCY HISTOGRAM all commands (1 ms) +[ok]: LATENCY HISTOGRAM sub commands (1 ms) +[ok]: LATENCY HISTOGRAM with a subset of commands (3 ms) +[ok]: LATENCY HISTOGRAM command (2 ms) +[ok]: LATENCY HISTOGRAM with wrong command name skips the invalid one (3 ms) +[ok]: Test latency events logging (3408 ms) +LATENCY HISTORY data: +{1795752006 300} {1795752007 400} {1795752009 500} +[ok]: LATENCY HISTORY output is ok (0 ms) +LATENCY LATEST data: +{command 1795752009 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) +-------------------------------------------------------------------------------- + # + _| + || +_|| + +320 +sss + +[ok]: LATENCY GRAPH can output the event graph (0 ms) +[ok]: LATENCY GRAPH can output the expire event graph (0 ms) +[ok]: LATENCY of expire events are correctly collected (2613 ms) +[ok]: LATENCY HISTORY / RESET with wrong event name is fine (0 ms) +[ok]: LATENCY DOCTOR produces some output (2 ms) +[ok]: LATENCY RESET is able to reset events (0 ms) +[ok]: LATENCY HELP should not have unexpected options (1 ms) +=== (latency-monitor cluster external:skip needs:latency) Starting server on 127.0.0.1:21186 ok +=== (latency-monitor cluster external:skip needs:latency) Starting server on 127.0.0.1:21188 ok +[ok]: Cluster config file latency (1417 ms) +[13/129 done]: unit/latency-monitor (21 seconds) +Testing unit/introspection-2 +=== (introspection) Starting server on 127.0.0.1:21190 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 (3003 ms) +[ok]: TOUCH alters the last access time of a key in no-touch mode (3003 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 (1 ms) +[ok]: command stats for GEOADD (2 ms) +[ok]: errors stats for GEOADD (1 ms) +[ok]: command stats for EXPIRE (1 ms) +[ok]: command stats for BRPOP (1 ms) +[ok]: command stats for MULTI (3 ms) +[ok]: command stats for scripts (2 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 (2 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 (2 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 (1 ms) +[ok]: GET command will not be marked with movablekeys (0 ms) +[ok]: MSET command will not be marked with movablekeys (1 ms) +[ok]: BITFIELD command will not be marked with movablekeys (0 ms) +[ok]: LMOVE command will not be marked with movablekeys (1 ms) +[ok]: LPOP command will not be marked with movablekeys (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 (1 ms) +[ok]: ZUNIONSTORE command is marked with movablekeys (0 ms) +[ok]: XREAD command is marked with movablekeys (1 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 (1 ms) +[ok]: MIGRATE command is marked with movablekeys (0 ms) +[ok]: GEORADIUS command is marked with movablekeys (1 ms) +[14/129 done]: unit/introspection-2 (11 seconds) +Testing unit/lazyfree +=== (lazyfree) Starting server on 127.0.0.1:21192 ok +[ok]: UNLINK can reclaim memory in background (222 ms) +[ok]: FLUSHDB ASYNC can reclaim memory in background (222 ms) +[ok]: lazy free a stream with all types of metadata (175 ms) +[ok]: lazy free a stream with deleted cgroup (2 ms) +[15/129 done]: unit/lazyfree (0 seconds) +Testing unit/limits +=== (limits network external:skip) Starting server on 127.0.0.1:21194 ok +[ok]: Check if maxclients works refusing connections (1105 ms) +[16/129 done]: unit/limits (2 seconds) +Testing unit/tls +=== (tls) Starting server on 127.0.0.1:21196 ok +[ok]: TLS: Not accepting non-TLS connections on a TLS port (0 ms) +[ok]: TLS: Verify tls-auth-clients behaves as expected (28 ms) +[ok]: TLS: Verify tls-protocols behaves as expected (20 ms) +[ok]: TLS: Verify tls-ciphers behaves as expected (46 ms) +[ok]: TLS: Verify tls-prefer-server-ciphers behaves as expected (39 ms) +=== () Starting server on 127.0.0.1:21198 ok +[ok]: TLS: Verify tls-cert-file is also used as a client cert if none specified (389 ms) +[ok]: TLS: switch between tcp and tls ports (43 ms) +[ok]: TLS: Working with an encrypted keyfile (55 ms) +[17/129 done]: unit/tls (1 seconds) +Testing unit/introspection +=== (introspection) Starting server on 127.0.0.1:21200 ok +[ok]: PING (1 ms) +[ok]: CLIENT LIST (1 ms) +[ok]: CLIENT LIST with IDs (0 ms) +[ok]: CLIENT INFO (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 (0 ms) +[ok]: CLIENT LIST with multiple IDs and TYPE filter (37 ms) +[ok]: CLIENT LIST with filters matching no clients (26 ms) +[ok]: CLIENT LIST with illegal arguments (3 ms) +[ok]: client input output and command process statistics (124 ms) +[ok]: CLIENT KILL with illegal arguments (7 ms) +CLIENT KILL maxAGE will kill old clients test attempts: 0 +[ok]: CLIENT KILL maxAGE will kill old clients (2044 ms) +[ok]: CLIENT KILL SKIPME YES/NO will kill all clients (455 ms) +[ok]: CLIENT command unhappy path coverage (5 ms) +[ok]: CLIENT KILL close the client connection during bgsave (148 ms) +[ok]: CLIENT REPLY OFF/ON: disable all commands reply (55 ms) +[ok]: CLIENT REPLY SKIP: skip the next command reply (55 ms) +[ok]: CLIENT REPLY ON: unset SKIP flag (55 ms) +[ok]: MONITOR can log executed commands (14 ms) +[ok]: MONITOR properly escapes special characters through sdscatrepr (13 ms) +[ok]: MONITOR can log commands issued by the scripting engine (14 ms) +[ok]: MONITOR can log commands issued by functions (14 ms) +[ok]: MONITOR supports redacting command arguments (14 ms) +[ok]: MONITOR correctly handles multi-exec cases (17 ms) +[ok]: MONITOR correctly records SET EX in MULTI-EXEC (13 ms) +[ok]: MONITOR log blocked command only once (130 ms) +[ok]: CLIENT GETNAME should return NIL if name is not assigned (3 ms) +[ok]: CLIENT GETNAME check if name set correctly (1 ms) +[ok]: CLIENT LIST shows empty fields for unassigned names (0 ms) +[ok]: CLIENT SETNAME does not accept spaces (0 ms) +[ok]: CLIENT SETNAME can assign a name to this connection (0 ms) +[ok]: CLIENT SETNAME can change the name of an existing connection (1 ms) +[ok]: After CLIENT SETNAME, connection can still be closed (13 ms) +[ok]: CLIENT SETINFO can set a library name to this connection (0 ms) +[ok]: CLIENT SETINFO invalid args (1 ms) +[ok]: RESET does NOT clean library name (0 ms) +[ok]: CLIENT SETINFO can clear library name (0 ms) +=== () Starting server on 127.0.0.1:21202 ok +=== () Starting server on 127.0.0.1:21204 ok +=== () Starting server on 127.0.0.1:21206 ok +=== () Starting server on 127.0.0.1:21208 ok +[ok]: CONFIG save params special case handled properly (2520 ms) +[ok]: CONFIG sanity (45 ms) +[ok]: CONFIG REWRITE sanity (728 ms) +=== () Starting server on 127.0.0.1:21210 ok +[ok]: CONFIG REWRITE handles save and shutdown properly (1836 ms) +[ok]: CONFIG SET with multiple args (4 ms) +[ok]: CONFIG SET rollback on set error (1 ms) +dummy_accept: sock556f6c4017b0 +[ok]: CONFIG SET rollback on apply error (12 ms) +[ok]: CONFIG SET duplicate configs (1 ms) +[ok]: CONFIG SET set immutable (0 ms) +[ok]: CONFIG GET hidden configs (4 ms) +[ok]: CONFIG GET multiple args (1 ms) +[ok]: valkey-server command line arguments - error cases (222 ms) +=== () Starting server on 127.0.0.1:21213 ok +=== () Starting server on 127.0.0.1:21215 ok +[ok]: tot-net-out for replica client (854 ms) +=== () Starting server on 127.0.0.1:21217 ok +[ok]: valkey-server command line arguments - allow passing option name and option value in the same arg (1066 ms) +=== () Starting server on 127.0.0.1:21219 ok +[ok]: valkey-server command line arguments - wrong usage that we support anyway (273 ms) +=== () Starting server on 127.0.0.1:21221 ok +[ok]: valkey-server command line arguments - allow option value to use the `--` prefix (278 ms) +=== () Starting server on 127.0.0.1:21223 ok +[ok]: valkey-server command line arguments - option name and option value in the same arg and `--` prefix (274 ms) +=== () Starting server on 127.0.0.1:21225 ok +=== () Starting server on 127.0.0.1:21227 ok +=== () Starting server on 127.0.0.1:21229 ok +=== () Starting server on 127.0.0.1:21231 ok +=== () Starting server on 127.0.0.1:21233 ok +[ok]: valkey-server command line arguments - save with empty input (1405 ms) +=== () Starting server on 127.0.0.1:21235 ok +[ok]: valkey-server command line arguments - take one bulk string with spaces for MULTI_ARG configs parsing (295 ms) +=== () Starting server on 127.0.0.1:21237 ok +[ok]: valkey-server command line arguments - dir multiple times (265 ms) +=== (introspection external:skip) Starting server on 127.0.0.1:21239 ok +[ok]: cannot modify protected configuration - no (1 ms) +=== (introspection external:skip) Starting server on 127.0.0.1:21241 ok +[ok]: cannot modify protected configuration - local (7 ms) +=== () Starting server on 127.0.0.1:21243 ok +[ok]: config during loading (3438 ms) +=== () Starting server on 127.0.0.1:21245 ok +[ok]: MEMORY commands during loading (1560 ms) +=== (introspection) Starting server on 127.0.0.1:21247 ok +[ok]: CONFIG REWRITE handles rename-command properly (458 ms) +=== (introspection) Starting server on 127.0.0.1:21249 ok +=== (introspection) Starting server on 127.0.0.1:21251 ok +[ok]: CONFIG REWRITE handles alias config properly (1088 ms) +[18/129 done]: unit/introspection (21 seconds) +Testing unit/obuf-limits +=== (obuf-limits external:skip logreqres:skip) Starting server on 127.0.0.1:21253 ok +[ok]: CONFIG SET client-output-buffer-limit (2 ms) +[ok]: Client output buffer hard limit is enforced (17466 ms) +[ok]: Client output buffer soft limit is enforced if time is overreached (4164 ms) +[ok]: Client output buffer soft limit is not enforced too early and is enforced when no traffic (5925 ms) +[ok]: No response for single command if client output buffer hard limit is enforced (132 ms) +[ok]: No response for multi commands in pipeline if client output buffer limit is enforced (1060 ms) +[ok]: Execute transactions completely even if client output buffer limit is enforced (33 ms) +[ok]: Obuf limit, HRANDFIELD with huge count stopped mid-run (19 ms) +[ok]: Obuf limit, KEYS stopped mid-run (114 ms) +[19/129 done]: unit/obuf-limits (29 seconds) +Testing unit/tracking +=== (tracking network logreqres:skip) Starting server on 127.0.0.1:21255 ok +[ok]: Client tracking prefixes memory overhead (304 ms) +[ok]: Clients are able to enable tracking and redirect it (1 ms) +[ok]: The other connection is able to get invalidations (1 ms) +[ok]: The client is now able to disable tracking (1 ms) +[ok]: Clients can enable the BCAST mode with the empty prefix (0 ms) +[ok]: The connection gets invalidation messages about all the keys (1 ms) +[ok]: Clients can enable the BCAST mode with prefixes (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 (2 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 (1 ms) +[ok]: RESP3 tracking redirection (1 ms) +[ok]: Invalidations of previous keys can be redirected after switching to RESP3 (1 ms) +[ok]: Invalidations of new keys can be redirected after switching to RESP3 (1 ms) +[ok]: Invalid keys should not be tracked for scripts in NOLOOP mode (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 (8 ms) +[ok]: Different clients can redirect to the same connection (1 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 (2 ms) +[ok]: BCAST with prefix collisions throw errors (7 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 (1 ms) +[ok]: Tracking gets notification on tracking table key eviction (43 ms) +[ok]: Invalidation message received for flushall (15 ms) +[ok]: Invalidation message received for flushdb (15 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 (247 ms) +[ok]: Tracking info is correct (16 ms) +[ok]: CLIENT GETREDIR provides correct client id (1 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking off (1 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on (0 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on with options (1 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optin (1 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optout (1 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking bcast mode (1 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking redir broken (15 ms) +[ok]: Regression test for #11715 (13 ms) +[ok]: RESP3 based basic invalidation with client reply off (13 ms) +[ok]: RESP2 based basic invalidation with client reply off (57 ms) +[ok]: RESP3 based basic redirect invalidation with client reply off (20 ms) +[ok]: RESP3 based basic tracking-redir-broken with client reply off (13 ms) +=== (tracking network) Starting server on 127.0.0.1:21257 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 (1 ms) +[20/129 done]: unit/tracking (2 seconds) +Testing unit/scan +=== (scan network standalone) Starting server on 127.0.0.1:21259 ok +[ok]: {standalone} SCAN basic (128 ms) +[ok]: {standalone} SCAN COUNT (138 ms) +[ok]: {standalone} SCAN MATCH (121 ms) +[ok]: {standalone} SCAN TYPE (159 ms) +[ok]: {standalone} SCAN unknown type (107 ms) +[ok]: {standalone} SCAN with expired keys (127 ms) +[ok]: {standalone} SCAN with expired keys with TYPE filter (126 ms) +[ok]: {standalone} SSCAN with encoding intset (1 ms) +[ok]: {standalone} SSCAN with encoding listpack (2 ms) +[ok]: {standalone} SSCAN with encoding hashtable (5 ms) +[ok]: {standalone} HSCAN with encoding listpack (1 ms) +[ok]: {standalone} HSCAN with encoding hashtable (80 ms) +[ok]: {standalone} ZSCAN with encoding listpack (3 ms) +[ok]: {standalone} ZSCAN with encoding skiplist (81 ms) +[ok]: {standalone} SCAN guarantees check under write load (31 ms) +[ok]: {standalone} SSCAN with integer encoded object (issue #1345) (1 ms) +[ok]: {standalone} SSCAN with PATTERN (0 ms) +[ok]: {standalone} HSCAN with PATTERN (0 ms) +[ok]: {standalone} HSCAN with NOVALUES (1 ms) +[ok]: {standalone} ZSCAN with PATTERN (1 ms) +[ok]: {standalone} ZSCAN with NOSCORES (0 ms) +[ok]: {standalone} ZSCAN scores: regression test for issue #2175 (83 ms) +[ok]: {standalone} SCAN regression test for issue #4906 (10572 ms) +[ok]: {standalone} SCAN MATCH pattern implies cluster slot (29 ms) +=== (external:skip cluster scan) Starting server on 127.0.0.1:21261 ok +[ok]: {cluster} SCAN basic (131 ms) +[ok]: {cluster} SCAN COUNT (150 ms) +[ok]: {cluster} SCAN MATCH (105 ms) +[ok]: {cluster} SCAN TYPE (127 ms) +[ok]: {cluster} SCAN unknown type (65 ms) +[ok]: {cluster} SCAN with expired keys (134 ms) +[ok]: {cluster} SCAN with expired keys with TYPE filter (105 ms) +[ok]: {cluster} SSCAN with encoding intset (2 ms) +[ok]: {cluster} SSCAN with encoding listpack (1 ms) +[ok]: {cluster} SSCAN with encoding hashtable (5 ms) +[ok]: {cluster} HSCAN with encoding listpack (2 ms) +[ok]: {cluster} HSCAN with encoding hashtable (79 ms) +[ok]: {cluster} ZSCAN with encoding listpack (3 ms) +[ok]: {cluster} ZSCAN with encoding skiplist (107 ms) +[ok]: {cluster} SCAN guarantees check under write load (37 ms) +[ok]: {cluster} SSCAN with integer encoded object (issue #1345) (0 ms) +[ok]: {cluster} SSCAN with PATTERN (1 ms) +[ok]: {cluster} HSCAN with PATTERN (1 ms) +[ok]: {cluster} HSCAN with NOVALUES (0 ms) +[ok]: {cluster} ZSCAN with PATTERN (0 ms) +[ok]: {cluster} ZSCAN with NOSCORES (1 ms) +[ok]: {cluster} ZSCAN scores: regression test for issue #2175 (84 ms) +[ok]: {cluster} SCAN regression test for issue #4906 (9225 ms) +[ok]: {cluster} SCAN MATCH pattern implies cluster slot (29 ms) +[21/129 done]: unit/scan (26 seconds) +Testing unit/info-command +=== (info and its relative command) Starting server on 127.0.0.1:21263 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) +[22/129 done]: unit/info-command (0 seconds) +Testing unit/scripting +=== (scripting) Starting server on 127.0.0.1:21265 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 string -> Redis protocol type conversion (0 ms) +[ok]: EVAL - Lua true boolean -> Redis protocol type conversion (0 ms) +[ok]: EVAL - Lua false boolean -> Redis protocol type conversion (0 ms) +[ok]: EVAL - Lua status code reply -> Redis protocol type conversion (0 ms) +[ok]: EVAL - Lua error reply -> Redis protocol type conversion (1 ms) +[ok]: EVAL - Lua table -> Redis protocol type conversion (0 ms) +[ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (1 ms) +[ok]: EVAL - is Lua able to call Redis API? (1 ms) +[ok]: EVAL - Redis integer -> Lua type conversion (0 ms) +[ok]: EVAL - Lua number -> Redis integer conversion (1 ms) +[ok]: EVAL - Redis bulk -> Lua type conversion (1 ms) +[ok]: EVAL - Redis multi bulk -> Lua type conversion (1 ms) +[ok]: EVAL - Redis status reply -> Lua type conversion (1 ms) +[ok]: EVAL - Redis error reply -> Lua type conversion (0 ms) +[ok]: EVAL - Redis nil bulk reply -> Lua type conversion (1 ms) +[ok]: EVAL - Is the Lua client using the currently selected DB? (1 ms) +[ok]: EVAL - SELECT inside Lua should not affect the caller (1 ms) +[ok]: EVAL - Scripts do not block on blpop command (1 ms) +[ok]: EVAL - Scripts do not block on brpop command (1 ms) +[ok]: EVAL - Scripts do not block on brpoplpush command (1 ms) +[ok]: EVAL - Scripts do not block on blmove command (1 ms) +[ok]: EVAL - Scripts do not block on bzpopmin command (1 ms) +[ok]: EVAL - Scripts do not block on bzpopmax command (1 ms) +[ok]: EVAL - Scripts do not block on wait (0 ms) +[ok]: EVAL - Scripts do not block on waitaof (1 ms) +[ok]: EVAL - Scripts do not block on XREAD with BLOCK option (1 ms) +[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (1 ms) +[ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (1 ms) +[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option -- non empty stream (1 ms) +[ok]: EVAL - Scripts can run non-deterministic commands (1 ms) +[ok]: EVAL - No arguments to redis.call/pcall is considered an error (0 ms) +[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) +[ok]: EVAL - 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 (0 ms) +[ok]: EVAL - cmsgpack can pack double? (1 ms) +[ok]: EVAL - cmsgpack can pack negative int64? (0 ms) +[ok]: EVAL - cmsgpack pack/unpack smoke test (165 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 (1 ms) +[ok]: EVAL - Able to parse trailing comments (1 ms) +[ok]: EVAL_RO - Successful case (1 ms) +[ok]: EVAL_RO - Cannot run write commands (0 ms) +[ok]: redis.sha1hex() implementation (0 ms) +[ok]: Measures elapsed time os.clock() (1000 ms) +[ok]: Prohibit dangerous lua methods in sandbox (1 ms) +[ok]: Verify execution of prohibit dangerous Lua methods will fail (4 ms) +[ok]: Globals protection reading an undeclared global variable (0 ms) +[ok]: Globals protection setting an undeclared global* (1 ms) +[ok]: lua bit.tohex bug (1 ms) +[ok]: Test an example script DECR_IF_GT (3 ms) +[ok]: EVAL does not leak in the Lua stack (1181 ms) +[ok]: Call Redis command with many args from Lua (issue #1764) (1 ms) +[ok]: Number conversion precision test (issue #1118) (0 ms) +[ok]: String containing number precision test (regression of issue #1118) (0 ms) +[ok]: Verify negative arg count is error instead of crash (issue #1842) (0 ms) +[ok]: Scripts can handle commands with incorrect arity (1 ms) +[ok]: Correct handling of reused argv (issue #1939) (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 (81 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]: 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 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 (1 ms) +[ok]: Test loadfile are not available (0 ms) +[ok]: Test dofile are not available (1 ms) +[ok]: Test print are not available (0 ms) +[ignore]: large memory flag not provided +=== (scripting) Starting server on 127.0.0.1:21267 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 (45 ms) +[ok]: Timedout script does not cause a false dead client (43 ms) +[ok]: Timedout script link is still usable after Lua returns (60 ms) +[ok]: Timedout scripts and unblocked command (801 ms) +[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (209 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:21269 ok +=== () Starting server on 127.0.0.1:21271 ok +[ok]: Before the replica connects we issue two EVAL commands (1 ms) +[ok]: Connect a replica to the master instance (541 ms) +[ok]: Replication of script multiple pushes to list with BLPOP (9 ms) +[ok]: Lua scripts using SELECT are replicated correctly (2 ms) +=== (scripting repl external:skip) Starting server on 127.0.0.1:21273 ok +=== () Starting server on 127.0.0.1:21275 ok +[ok]: Connect a replica to the master instance (592 ms) +[ok]: Redis.replicate_commands() can be issued anywhere now (1 ms) +[ok]: Redis.set_repl() can be issued before replicate_commands() now (4 ms) +[ok]: Redis.set_repl() don't accept invalid values (1 ms) +[ok]: Test selective replication of certain commands from Lua (11 ms) +[ok]: PRNG is seeded randomly for command replication (2 ms) +[ok]: Using side effects is not a problem with command replication (6 ms) +=== (scripting needs:debug) Starting server on 127.0.0.1:21277 ok +[ok]: test RESP2/2 big number protocol parsing (7 ms) +[ok]: test RESP2/2 malformed big number protocol parsing (0 ms) +[ok]: test RESP2/2 map protocol parsing (3 ms) +[ok]: test RESP2/2 set protocol parsing (1 ms) +[ok]: test RESP2/2 double protocol parsing (1 ms) +[ok]: test RESP2/2 null protocol parsing (0 ms) +[ok]: test RESP2/2 verbatim protocol parsing (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/3 set protocol parsing (1 ms) +[ok]: test RESP2/3 double protocol parsing (4 ms) +[ok]: test RESP2/3 null protocol parsing (1 ms) +[ok]: test RESP2/3 verbatim protocol parsing (1 ms) +[ok]: test RESP2/3 true protocol parsing (1 ms) +[ok]: test RESP2/3 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 (1 ms) +[ok]: test RESP3/2 set protocol parsing (4 ms) +[ok]: test RESP3/2 double protocol parsing (1 ms) +[ok]: test RESP3/2 null protocol parsing (1 ms) +[ok]: test RESP3/2 verbatim protocol parsing (1 ms) +[ok]: test RESP3/2 true protocol parsing (1 ms) +[ok]: test RESP3/2 false protocol parsing (4 ms) +[ok]: test RESP3/3 big number protocol parsing (1 ms) +[ok]: test RESP3/3 malformed big number protocol parsing (1 ms) +[ok]: test RESP3/3 map protocol parsing (5 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 (1 ms) +[ok]: test RESP3/3 false protocol parsing (1 ms) +[ok]: test resp3 attribute protocol parsing (0 ms) +[ok]: Script block the time during execution (15 ms) +[ok]: Script delete the expired key (4 ms) +[ok]: TIME command using cached time (15 ms) +[ok]: Script block the time in some expiration related commands (83 ms) +[ok]: RESTORE expired keys with expiration time (17 ms) +=== (scripting) Starting server on 127.0.0.1:21279 ok +[ok]: EVAL - Does Lua interpreter replies to our requests? (1 ms) +[ok]: EVAL - Return _G (3 ms) +[ok]: EVAL - Return table with a metatable that raise error (1 ms) +[ok]: EVAL - Return table with a metatable that call server (1 ms) +[ok]: EVAL - Lua integer -> Redis protocol type conversion (6 ms) +[ok]: EVAL - Lua string -> Redis protocol type conversion (5 ms) +[ok]: EVAL - Lua true boolean -> Redis protocol type conversion (0 ms) +[ok]: EVAL - Lua false boolean -> Redis protocol type conversion (1 ms) +[ok]: EVAL - Lua status code reply -> Redis protocol type conversion (0 ms) +[ok]: EVAL - Lua error reply -> Redis protocol type conversion (5 ms) +[ok]: EVAL - Lua table -> Redis protocol type conversion (1 ms) +[ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (1 ms) +[ok]: EVAL - is Lua able to call Redis API? (1 ms) +[ok]: EVAL - Redis integer -> Lua type conversion (0 ms) +[ok]: EVAL - Lua number -> Redis integer conversion (3 ms) +[ok]: EVAL - Redis bulk -> Lua type conversion (1 ms) +[ok]: EVAL - Redis multi bulk -> Lua type conversion (7 ms) +[ok]: EVAL - Redis status reply -> Lua type conversion (1 ms) +[ok]: EVAL - Redis error reply -> Lua type conversion (1 ms) +[ok]: EVAL - Redis nil bulk reply -> Lua type conversion (1 ms) +[ok]: EVAL - Is the Lua client using the currently selected DB? (4 ms) +[ok]: EVAL - SELECT inside Lua should not affect the caller (1 ms) +[ok]: EVAL - Scripts do not block on blpop command (1 ms) +[ok]: EVAL - Scripts do not block on brpop command (1 ms) +[ok]: EVAL - Scripts do not block on brpoplpush command (1 ms) +[ok]: EVAL - Scripts do not block on blmove command (1 ms) +[ok]: EVAL - Scripts do not block on bzpopmin command (2 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 (2 ms) +[ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (1 ms) +[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option -- non empty stream (1 ms) +[ok]: EVAL - Scripts can run non-deterministic commands (1 ms) +[ok]: EVAL - No arguments to redis.call/pcall is considered an error (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) (1 ms) +[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) +[ignore]: EVAL - JSON string encoding a string larger than 2GB: large memory flag not provided +[ok]: EVAL - JSON numeric decoding (0 ms) +[ok]: EVAL - JSON string decoding (0 ms) +[ok]: EVAL - JSON smoke test (1 ms) +[ok]: EVAL - cmsgpack can pack double? (1 ms) +[ok]: EVAL - cmsgpack can pack negative int64? (0 ms) +[ok]: EVAL - cmsgpack pack/unpack smoke test (489 ms) +[ok]: EVAL - cmsgpack can pack and unpack circular references? (2 ms) +[ok]: EVAL - Numerical sanity check from bitop (2 ms) +[ok]: EVAL - Verify minimal bitop functionality (1 ms) +[ok]: EVAL - Able to parse trailing comments (1 ms) +[ok]: EVAL_RO - Successful case (1 ms) +[ok]: EVAL_RO - Cannot run write commands (1 ms) +[ok]: redis.sha1hex() implementation (1 ms) +[ok]: Measures elapsed time os.clock() (1277 ms) +[ok]: Prohibit dangerous lua methods in sandbox (1 ms) +[ok]: Verify execution of prohibit dangerous Lua methods will fail (15 ms) +[ok]: Globals protection reading an undeclared global variable (1 ms) +[ok]: Globals protection setting an undeclared global* (1 ms) +[ok]: lua bit.tohex bug (1 ms) +[ok]: Test an example script DECR_IF_GT (10 ms) +[ok]: EVAL does not leak in the Lua stack (2897 ms) +[ok]: Call Redis command with many args from Lua (issue #1764) (2 ms) +[ok]: Number conversion precision test (issue #1118) (0 ms) +[ok]: String containing number precision test (regression of issue #1118) (1 ms) +[ok]: Verify negative arg count is error instead of crash (issue #1842) (1 ms) +[ok]: Scripts can handle commands with incorrect arity (1 ms) +[ok]: Correct handling of reused argv (issue #1939) (1 ms) +[ok]: Functions in the Redis namespace are able to report errors (1 ms) +[ok]: CLUSTER RESET can not be invoke from within a script (1 ms) +[ok]: Script with RESP3 map (3 ms) +[ok]: Script return recursive object (176 ms) +[ok]: Script check unpack with massive arguments (5 ms) +[ok]: Script read key with expiration set (1 ms) +[ok]: Script del key with expiration set (1 ms) +[ok]: Script ACL check (3 ms) +[ok]: Binary code loading failed (1 ms) +[ok]: Try trick global protection 1 (1 ms) +[ok]: Try trick global protection 2 (1 ms) +[ok]: Try trick global protection 3 (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 (1 ms) +[ok]: Try trick readonly table on bit table (1 ms) +[ok]: Test loadfile are not available (1 ms) +[ok]: Test dofile are not available (1 ms) +[ok]: Test print are not available (1 ms) +[ignore]: large memory flag not provided +=== (scripting) Starting server on 127.0.0.1:21281 ok +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (429 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (256 ms) +[ok]: Timedout script does not cause a false dead client (233 ms) +[ok]: Timedout script link is still usable after Lua returns (259 ms) +[ok]: Timedout scripts and unblocked command (704 ms) +[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (237 ms) +[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (9 ms) +=== (scripting repl needs:debug external:skip) Starting server on 127.0.0.1:21283 ok +=== () Starting server on 127.0.0.1:21285 ok +[ok]: Before the replica connects we issue two EVAL commands (2 ms) +[ok]: Connect a replica to the master instance (699 ms) +[ok]: Replication of script multiple pushes to list with BLPOP (14 ms) +[ok]: Lua scripts using SELECT are replicated correctly (3 ms) +=== (scripting repl external:skip) Starting server on 127.0.0.1:21287 ok +=== () Starting server on 127.0.0.1:21289 ok +[ok]: Connect a replica to the master instance (107 ms) +[ok]: Redis.replicate_commands() can be issued anywhere now (7 ms) +[ok]: Redis.set_repl() can be issued before replicate_commands() now (1 ms) +[ok]: Redis.set_repl() don't accept invalid values (1 ms) +[ok]: Test selective replication of certain commands from Lua (3 ms) +[ok]: PRNG is seeded randomly for command replication (2 ms) +[ok]: Using side effects is not a problem with command replication (1 ms) +=== (scripting needs:debug) Starting server on 127.0.0.1:21291 ok +[ok]: test RESP2/2 big number protocol parsing (1 ms) +[ok]: test RESP2/2 malformed big number protocol parsing (1 ms) +[ok]: test RESP2/2 map protocol parsing (1 ms) +[ok]: test RESP2/2 set protocol parsing (0 ms) +[ok]: test RESP2/2 double protocol parsing (6 ms) +[ok]: test RESP2/2 null protocol parsing (1 ms) +[ok]: test RESP2/2 verbatim protocol parsing (1 ms) +[ok]: test RESP2/2 true protocol parsing (0 ms) +[ok]: test RESP2/2 false protocol parsing (1 ms) +[ok]: test RESP2/3 big number protocol parsing (1 ms) +[ok]: test RESP2/3 malformed big number protocol parsing (1 ms) +[ok]: test RESP2/3 map protocol parsing (1 ms) +[ok]: test RESP2/3 set protocol parsing (5 ms) +[ok]: test RESP2/3 double protocol parsing (1 ms) +[ok]: test RESP2/3 null protocol parsing (1 ms) +[ok]: test RESP2/3 verbatim protocol parsing (1 ms) +[ok]: test RESP2/3 true protocol parsing (1 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 (4 ms) +[ok]: test RESP3/2 set protocol parsing (1 ms) +[ok]: test RESP3/2 double protocol parsing (1 ms) +[ok]: test RESP3/2 null protocol parsing (1 ms) +[ok]: test RESP3/2 verbatim protocol parsing (5 ms) +[ok]: test RESP3/2 true protocol parsing (1 ms) +[ok]: test RESP3/2 false protocol parsing (3 ms) +[ok]: test RESP3/3 big number protocol parsing (1 ms) +[ok]: test RESP3/3 malformed big number protocol parsing (0 ms) +[ok]: test RESP3/3 map protocol parsing (1 ms) +[ok]: test RESP3/3 set protocol parsing (2 ms) +[ok]: test RESP3/3 double protocol parsing (1 ms) +[ok]: test RESP3/3 null protocol parsing (3 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 (11 ms) +[ok]: Script delete the expired key (8 ms) +[ok]: TIME command using cached time (11 ms) +[ok]: Script block the time in some expiration related commands (89 ms) +[ok]: RESTORE expired keys with expiration time (14 ms) +=== (scripting) Starting server on 127.0.0.1:21293 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 (1 ms) +[ok]: EVAL - Lua integer -> Redis protocol type conversion (4 ms) +[ok]: EVAL - Lua string -> Redis protocol type conversion (1 ms) +[ok]: EVAL - Lua true boolean -> Redis protocol type conversion (1 ms) +[ok]: EVAL - Lua false boolean -> Redis protocol type conversion (0 ms) +[ok]: EVAL - Lua status code reply -> Redis protocol type conversion (0 ms) +[ok]: EVAL - Lua error reply -> Redis protocol type conversion (4 ms) +[ok]: EVAL - Lua table -> Redis protocol type conversion (1 ms) +[ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (0 ms) +[ok]: EVAL - is Lua able to call Redis API? (1 ms) +[ok]: EVAL - Redis integer -> Lua type conversion (6 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 (6 ms) +[ok]: EVAL - Redis status reply -> Lua type conversion (1 ms) +[ok]: EVAL - Redis error reply -> Lua type conversion (0 ms) +[ok]: EVAL - Redis nil bulk reply -> Lua type conversion (0 ms) +[ok]: EVAL - Is the Lua client using the currently selected DB? (1 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 (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 (6 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 (6 ms) +[ok]: EVAL - Scripts do not block on XREAD with BLOCK option (1 ms) +[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (1 ms) +[ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (1 ms) +[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option -- non empty stream (1 ms) +[ok]: EVAL - Scripts can run non-deterministic commands (1 ms) +[ok]: EVAL - No arguments to redis.call/pcall is considered an error (0 ms) +[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (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 (6 ms) +[ok]: EVAL - JSON string decoding (4 ms) +[ok]: EVAL - JSON smoke test (0 ms) +[ok]: EVAL - cmsgpack can pack double? (1 ms) +[ok]: EVAL - cmsgpack can pack negative int64? (0 ms) +[ok]: EVAL - cmsgpack pack/unpack smoke test (698 ms) +[ok]: EVAL - cmsgpack can pack and unpack circular references? (1 ms) +[ok]: EVAL - Numerical sanity check from bitop (1 ms) +[ok]: EVAL - Verify minimal bitop functionality (1 ms) +[ok]: EVAL - Able to parse trailing comments (0 ms) +[ok]: EVAL_RO - Successful case (1 ms) +[ok]: EVAL_RO - Cannot run write commands (1 ms) +[ok]: redis.sha1hex() implementation (1 ms) +[ok]: Measures elapsed time os.clock() (1058 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* (1 ms) +[ok]: lua bit.tohex bug (1 ms) +[ok]: Test an example script DECR_IF_GT (2 ms) +[ok]: EVAL does not leak in the Lua stack (1831 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 (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 (299 ms) +[ok]: Script check unpack with massive arguments (9 ms) +[ok]: Script read key with expiration set (7 ms) +[ok]: Script del key with expiration set (1 ms) +[ok]: Script ACL check (2 ms) +[ok]: Binary code loading failed (0 ms) +[ok]: Try trick global protection 1 (0 ms) +[ok]: Try trick global protection 2 (0 ms) +[ok]: Try trick global protection 3 (1 ms) +[ok]: Try trick global protection 4 (0 ms) +[ok]: Try trick readonly table on valkey table (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]: Test dofile are not available (1 ms) +[ok]: Test print are not available (0 ms) +[ignore]: large memory flag not provided +=== (scripting) Starting server on 127.0.0.1:21295 ok +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (418 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (130 ms) +[ok]: Timedout script does not cause a false dead client (384 ms) +[ok]: Timedout script link is still usable after Lua returns (141 ms) +[ok]: Timedout scripts and unblocked command (514 ms) +[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (218 ms) +[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (9 ms) +=== (scripting repl needs:debug external:skip) Starting server on 127.0.0.1:21297 ok +=== () Starting server on 127.0.0.1:21299 ok +[ok]: Before the replica connects we issue two EVAL commands (8 ms) +[ok]: Connect a replica to the master instance (128 ms) +[ok]: Replication of script multiple pushes to list with BLPOP (21 ms) +[ok]: Lua scripts using SELECT are replicated correctly (3 ms) +=== (scripting repl external:skip) Starting server on 127.0.0.1:21301 ok +=== () Starting server on 127.0.0.1:21303 ok +[ok]: Connect a replica to the master instance (103 ms) +[ok]: Redis.replicate_commands() can be issued anywhere now (0 ms) +[ok]: Redis.set_repl() can be issued before replicate_commands() now (2 ms) +[ok]: Redis.set_repl() don't accept invalid values (0 ms) +[ok]: Test selective replication of certain commands from Lua (8 ms) +[ok]: PRNG is seeded randomly for command replication (0 ms) +[ok]: Using side effects is not a problem with command replication (2 ms) +=== (scripting needs:debug) Starting server on 127.0.0.1:21305 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 (6 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 (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 (0 ms) +[ok]: test RESP2/3 big number protocol parsing (0 ms) +[ok]: test RESP2/3 malformed big number protocol parsing (0 ms) +[ok]: test RESP2/3 map protocol parsing (1 ms) +[ok]: test RESP2/3 set protocol parsing (0 ms) +[ok]: test RESP2/3 double protocol parsing (1 ms) +[ok]: test RESP2/3 null protocol parsing (2 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 (3 ms) +[ok]: test RESP3/2 big number protocol parsing (3 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 (8 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 (1 ms) +[ok]: test RESP3/3 big number protocol parsing (0 ms) +[ok]: test RESP3/3 malformed big number protocol parsing (3 ms) +[ok]: test RESP3/3 map protocol parsing (1 ms) +[ok]: test RESP3/3 set protocol parsing (0 ms) +[ok]: test RESP3/3 double protocol parsing (1 ms) +[ok]: test RESP3/3 null protocol parsing (0 ms) +[ok]: test RESP3/3 verbatim protocol parsing (0 ms) +[ok]: test RESP3/3 true protocol parsing (5 ms) +[ok]: test RESP3/3 false protocol parsing (1 ms) +[ok]: test resp3 attribute protocol parsing (0 ms) +[ok]: Script block the time during execution (15 ms) +[ok]: Script delete the expired key (4 ms) +[ok]: TIME command using cached time (14 ms) +[ok]: Script block the time in some expiration related commands (85 ms) +[ok]: RESTORE expired keys with expiration time (14 ms) +=== (scripting) Starting server on 127.0.0.1:21307 ok +[ok]: Script - disallow write on OOM (5 ms) +[ok]: EVAL - Does Lua interpreter replies to our requests? (0 ms) +[ok]: EVAL - Return _G (0 ms) +[ok]: EVAL - Return table with a metatable that raise error (0 ms) +[ok]: EVAL - Return table with a metatable that call server (7 ms) +[ok]: EVAL - Lua integer -> 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 table -> Redis protocol type conversion (0 ms) +[ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (7 ms) +[ok]: EVAL - is Lua able to call Redis API? (0 ms) +[ok]: EVALSHA - Can we call a SHA1 if already defined? (1 ms) +[ok]: EVALSHA_RO - Can we call a SHA1 if already defined? (0 ms) +[ok]: EVALSHA - Can we call a SHA1 in uppercase? (0 ms) +[ok]: EVALSHA - Do we get an error on invalid SHA1? (1 ms) +[ok]: EVALSHA - Do we get an error on non defined SHA1? (0 ms) +[ok]: EVAL - Redis integer -> Lua type conversion (1 ms) +[ok]: EVAL - Lua number -> Redis integer conversion (0 ms) +[ok]: EVAL - Redis bulk -> Lua type conversion (2 ms) +[ok]: EVAL - Redis multi bulk -> Lua type conversion (1 ms) +[ok]: EVAL - Redis status reply -> Lua type conversion (6 ms) +[ok]: EVAL - Redis error reply -> Lua type conversion (1 ms) +[ok]: EVAL - Redis nil bulk reply -> Lua type conversion (1 ms) +[ok]: EVAL - Is the Lua client using the currently selected DB? (1 ms) +[ok]: EVAL - SELECT inside Lua should not affect the caller (0 ms) +[ok]: EVAL - Scripts do not block on blpop command (1 ms) +[ok]: EVAL - Scripts do not block on brpop command (1 ms) +[ok]: EVAL - Scripts do not block on brpoplpush command (1 ms) +[ok]: EVAL - Scripts do not block on blmove command (1 ms) +[ok]: EVAL - Scripts do not block on bzpopmin command (0 ms) +[ok]: EVAL - Scripts do not block on bzpopmax command (0 ms) +[ok]: EVAL - Scripts do not block on wait (0 ms) +[ok]: EVAL - Scripts do not block on waitaof (0 ms) +[ok]: EVAL - Scripts do not block on XREAD with BLOCK option (1 ms) +[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option (1 ms) +[ok]: EVAL - Scripts do not block on XREAD with BLOCK option -- non empty stream (1 ms) +[ok]: EVAL - Scripts do not block on XREADGROUP with BLOCK option -- non empty stream (1 ms) +[ok]: EVAL - Scripts can run non-deterministic commands (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) (0 ms) +[ignore]: EVAL - JSON string encoding a string larger than 2GB: large memory flag not provided +[ok]: EVAL - JSON numeric decoding (0 ms) +[ok]: EVAL - JSON string decoding (0 ms) +[ok]: EVAL - JSON smoke test (1 ms) +[ok]: EVAL - cmsgpack can pack double? (1 ms) +[ok]: EVAL - cmsgpack can pack negative int64? (0 ms) +[ok]: EVAL - cmsgpack pack/unpack smoke test (586 ms) +[ok]: EVAL - cmsgpack can pack and unpack circular references? (1 ms) +[ok]: EVAL - Numerical sanity check from bitop (1 ms) +[ok]: EVAL - Verify minimal bitop functionality (1 ms) +[ok]: EVAL - Able to parse trailing comments (0 ms) +[ok]: EVAL_RO - Successful case (0 ms) +[ok]: EVAL_RO - Cannot run write commands (0 ms) +[ok]: SCRIPTING FLUSH - is able to clear the scripts cache? (20 ms) +[ok]: EVAL - Test table unpack with invalid indexes (2 ms) +[ok]: Try trick readonly table on basic types metatable (1 ms) +[ok]: Dynamic reset of lua engine with insecure API config change (1 ms) +[ok]: SCRIPTING FLUSH ASYNC (22 ms) +[ok]: SCRIPT EXISTS - can detect already defined scripts? (0 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 (1 ms) +[ok]: SCRIPT SHOW - wrong sha1 length or invalid sha1 char return noscript error (1 ms) +[ok]: SCRIPT SHOW - script not exist return noscript error (1 ms) +[ok]: SORT is normally not alpha re-ordered for the scripting engine (1 ms) +[ok]: SORT BY output gets ordered for scripting (1 ms) +[ok]: SORT BY with GET gets ordered for scripting (1 ms) +[ok]: redis.sha1hex() implementation (0 ms) +[ok]: Measures elapsed time os.clock() (1133 ms) +[ok]: Prohibit dangerous lua methods in sandbox (1 ms) +[ok]: Verify execution of prohibit dangerous Lua methods will fail (3 ms) +[ok]: Globals protection reading an undeclared global variable (0 ms) +[ok]: Globals protection setting an undeclared global* (0 ms) +[ok]: lua bit.tohex bug (0 ms) +[ok]: Test an example script DECR_IF_GT (1 ms) +[ok]: random numbers are random now (0 ms) +[ok]: Scripting engine PRNG can be seeded correctly (0 ms) +[ok]: EVAL does not leak in the Lua stack (889 ms) +[ok]: SPOP: We can call scripts rewriting client->argv from Lua (121 ms) +[ok]: MGET: mget shouldn't be propagated in Lua (90 ms) +[ok]: EXPIRE: We can call scripts rewriting client->argv from Lua (104 ms) +=== (scripting) Starting server on 127.0.0.1:21309 ok +[ok]: INCRBYFLOAT: We can call scripts expanding client->argv from Lua (390 ms) +[ok]: Call Redis command with many args from Lua (issue #1764) (3 ms) +[ok]: Number conversion precision test (issue #1118) (1 ms) +[ok]: String containing number precision test (regression of issue #1118) (3 ms) +[ok]: Verify negative arg count is error instead of crash (issue #1842) (1 ms) +[ok]: Scripts can handle commands with incorrect arity (1 ms) +[ok]: Correct handling of reused argv (issue #1939) (1 ms) +[ok]: Functions in the Redis namespace are able to report errors (2 ms) +[ok]: CLUSTER RESET can not be invoke from within a script (1 ms) +[ok]: Script with RESP3 map (4 ms) +[ok]: Script return recursive object (181 ms) +[ok]: Script check unpack with massive arguments (5 ms) +[ok]: Script read key with expiration set (2 ms) +[ok]: Script del key with expiration set (1 ms) +[ok]: Script ACL check (2 ms) +[ok]: Binary code loading failed (1 ms) +[ok]: Try trick global protection 1 (0 ms) +[ok]: Try trick global protection 2 (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 (1 ms) +[ok]: Try trick readonly table on json table (1 ms) +[ok]: Try trick readonly table on cmsgpack table (0 ms) +[ok]: Try trick readonly table on bit table (0 ms) +[ok]: Test loadfile are not available (0 ms) +[ok]: Test dofile are not available (1 ms) +[ok]: Test print are not available (1 ms) +[ignore]: large memory flag not provided +=== (scripting) Starting server on 127.0.0.1:21311 ok +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (429 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (234 ms) +[ok]: Timedout script does not cause a false dead client (281 ms) +[ok]: Timedout script link is still usable after Lua returns (146 ms) +[ok]: Timedout scripts and unblocked command (485 ms) +[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (223 ms) +[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (12 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 (1 ms) +[ok]: Connect a replica to the master instance (106 ms) +[ok]: Now use EVALSHA against the master, with both SHAs (1 ms) +[ok]: 'x' should be '4' for EVALSHA being replicated by effects (0 ms) +[ok]: Replication of script multiple pushes to list with BLPOP (31 ms) +[ok]: EVALSHA replication when first call is readonly (2 ms) +[ok]: Lua scripts using SELECT are replicated correctly (1 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 (104 ms) +[ok]: Redis.replicate_commands() can be issued anywhere now (7 ms) +[ok]: Redis.set_repl() can be issued before replicate_commands() now (1 ms) +[ok]: Redis.set_repl() don't accept invalid values (1 ms) +[ok]: Test selective replication of certain commands from Lua (7 ms) +[ok]: PRNG is seeded randomly for command replication (1 ms) +[ok]: Using side effects is not a problem with command replication (1 ms) +=== (scripting external:skip) Starting server on 127.0.0.1:21321 ok +=== (scripting needs:debug external:skip) Starting server on 127.0.0.1:21323 ok +[ok]: Test scripting debug protocol parsing (8 ms) +[ok]: Test scripting debug lua stack overflow (22 ms) +[ok]: Test scripting debug lua server invocations (24 ms) +=== (scripting external:skip) Starting server on 127.0.0.1:21325 ok +[ok]: Lua scripts eviction does not generate many scripts (194 ms) +[ok]: Lua scripts eviction is plain LRU (94 ms) +[ok]: Lua scripts eviction does not affect script load (360 ms) +[ok]: Lua scripts promoted from eval to script load (187 ms) +=== (scripting needs:debug) Starting server on 127.0.0.1:21327 ok +[ok]: test RESP2/2 big number protocol parsing (0 ms) +[ok]: test RESP2/2 malformed big number protocol parsing (0 ms) +[ok]: test RESP2/2 map protocol parsing (0 ms) +[ok]: test RESP2/2 set protocol parsing (6 ms) +[ok]: test RESP2/2 double protocol parsing (1 ms) +[ok]: test RESP2/2 null protocol parsing (0 ms) +[ok]: test RESP2/2 verbatim protocol parsing (1 ms) +[ok]: test RESP2/2 true protocol parsing (0 ms) +[ok]: test RESP2/2 false protocol parsing (0 ms) +[ok]: test RESP2/3 big number protocol parsing (0 ms) +[ok]: test RESP2/3 malformed big number protocol parsing (0 ms) +[ok]: test RESP2/3 map protocol parsing (1 ms) +[ok]: test RESP2/3 set protocol parsing (0 ms) +[ok]: test RESP2/3 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 (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 (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 (1 ms) +[ok]: test RESP3/2 true protocol parsing (0 ms) +[ok]: test RESP3/2 false protocol parsing (1 ms) +[ok]: test RESP3/3 big number protocol parsing (0 ms) +[ok]: test RESP3/3 malformed big number protocol parsing (0 ms) +[ok]: test RESP3/3 map protocol parsing (1 ms) +[ok]: test RESP3/3 set protocol parsing (0 ms) +[ok]: test RESP3/3 double protocol parsing (0 ms) +[ok]: test RESP3/3 null protocol parsing (1 ms) +[ok]: test RESP3/3 verbatim protocol parsing (0 ms) +[ok]: test RESP3/3 true protocol parsing (0 ms) +[ok]: test RESP3/3 false protocol parsing (1 ms) +[ok]: test resp3 attribute protocol parsing (4 ms) +[ok]: Script block the time during execution (11 ms) +[ok]: Script delete the expired key (7 ms) +[ok]: TIME command using cached time (11 ms) +[ok]: Script block the time in some expiration related commands (83 ms) +[ok]: RESTORE expired keys with expiration time (11 ms) +=== (scripting) Starting server on 127.0.0.1:21329 ok +[ok]: Shebang support for lua engine (1 ms) +[ok]: Unknown shebang option (0 ms) +[ok]: Unknown shebang flag (7 ms) +[ok]: allow-oom shebang flag (3 ms) +[ok]: no-writes shebang flag (1 ms) +=== (external:skip) Starting server on 127.0.0.1:21331 ok +[ok]: no-writes shebang flag on replica (166 ms) +[ok]: not enough good replicas (6 ms) +=== (external:skip) Starting server on 127.0.0.1:21333 ok +[ok]: not enough good replicas state change during long script (1270 ms) +[ok]: allow-stale shebang flag (6 ms) +[ok]: reject script do not cause a Lua stack leak (12 ms) +=== (scripting) Starting server on 127.0.0.1:21335 ok +[ok]: Consistent eval error reporting (42 ms) +[ok]: LUA redis.error_reply API (7 ms) +[ok]: LUA redis.error_reply API with empty string (1 ms) +[ok]: LUA redis.status_reply API (1 ms) +[ok]: LUA test pcall (0 ms) +[ok]: LUA test pcall with error (4 ms) +[ok]: LUA test pcall with non string/integer arg (1 ms) +[ok]: LUA test trim string as expected (2 ms) +[ok]: EVAL - Scripts support NULL byte (1 ms) +[ok]: EVAL - explicit error() call handling (5 ms) +[23/129 done]: unit/scripting (43 seconds) +Testing unit/commandlog +=== (commandlog) Starting server on 127.0.0.1:21337 ok +[ok]: COMMANDLOG - check that it starts with an empty log (1 ms) +[ok]: COMMANDLOG - only logs commands exceeding the threshold (214 ms) +[ok]: COMMANDLOG - zero max length is correctly handled (47 ms) +[ok]: COMMANDLOG - max entries is correctly handled (41 ms) +[ok]: COMMANDLOG - GET optional argument to limit output len works (8 ms) +[ok]: COMMANDLOG - RESET subcommand works (2 ms) +[ok]: COMMANDLOG - logged entry sanity check (206 ms) +[ok]: COMMANDLOG slow - Certain commands are omitted that contain sensitive information (15 ms) +[ok]: COMMANDLOG slow - Some commands can redact sensitive fields (3 ms) +[ok]: COMMANDLOG slow - Rewritten commands are logged as their original command (38 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 (205 ms) +[ok]: COMMANDLOG slow - can clean older entries (202 ms) +[ok]: COMMANDLOG slow - can be disabled (407 ms) +[ok]: COMMANDLOG slow - count must be >= -1 (6 ms) +[ok]: COMMANDLOG slow - get all slow logs (3 ms) +[ok]: COMMANDLOG slow - blocking command is reported only after unblocked (37 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 (7 ms) +[24/129 done]: unit/commandlog (2 seconds) +Testing unit/acl +=== (acl external:skip) Starting server on 127.0.0.1:21339 ok +[ok]: Connections start with the default user (4 ms) +[ok]: It is possible to create new users (1 ms) +[ok]: Coverage: ACL USERS (1 ms) +[ok]: Usernames can not contain spaces or null characters (0 ms) +[ok]: New users start disabled (1 ms) +[ok]: Enabling the user allows the login (1 ms) +[ok]: Only the set of correct passwords work (1 ms) +[ok]: It is possible to remove passwords from the set of valid ones (1 ms) +[ok]: Test password hashes can be added (2 ms) +[ok]: Test password hashes validate input (0 ms) +[ok]: ACL GETUSER returns the password hash instead of the actual password (1 ms) +[ok]: Test hashed passwords removal (1 ms) +[ok]: By default users are not able to access any command (1 ms) +[ok]: By default users are not able to access any key (1 ms) +[ok]: It's possible to allow the access of a subset of keys (1 ms) +[ok]: By default, only default user is able to publish to any channel (1 ms) +[ok]: By default, only default user is not able to publish to any shard channel (1 ms) +[ok]: By default, only default user is able to subscribe to any channel (25 ms) +[ok]: By default, only default user is able to subscribe to any shard channel (21 ms) +[ok]: By default, only default user is able to subscribe to any pattern (24 ms) +[ok]: It's possible to allow publishing to a subset of channels (8 ms) +[ok]: It's possible to allow publishing to a subset of shard channels (1 ms) +[ok]: Validate subset of channels is prefixed with resetchannels flag (2 ms) +[ok]: In transaction queue publish/subscribe/psubscribe to unauthorized channel will fail (6 ms) +[ok]: It's possible to allow subscribing to a subset of channels (27 ms) +[ok]: It's possible to allow subscribing to a subset of shard channels (28 ms) +[ok]: It's possible to allow subscribing to a subset of channel patterns (27 ms) +[ok]: Subscribers are killed when revoked of channel permission (25 ms) +[ok]: Subscribers are killed when revoked of channel permission (20 ms) +[ok]: Subscribers are killed when revoked of pattern permission (25 ms) +[ok]: Subscribers are killed when revoked of allchannels permission (34 ms) +[ok]: Subscribers are pardoned if literal permissions are retained and/or gaining allchannels (31 ms) +[ok]: blocked command gets rejected when reprocessed after permission change (24 ms) +[ok]: Users can be configured to authenticate with any password (0 ms) +[ok]: ACLs can exclude single commands (6 ms) +[ok]: ACLs can include or exclude whole classes of commands (1 ms) +[ok]: ACLs can include single subcommands (6 ms) +[ok]: ACLs can exclude single subcommands, case 1 (8 ms) +[ok]: ACLs can exclude single subcommands, case 2 (2 ms) +[ok]: ACLs cannot include a subcommand with a specific arg (1 ms) +[ok]: ACLs cannot exclude or include a container commands with a specific arg (1 ms) +[ok]: ACLs cannot exclude or include a container command with two args (5 ms) +[ok]: ACLs including of a type includes also subcommands (1 ms) +[ok]: ACLs can block SELECT of all but a specific DB (2 ms) +[ok]: ACLs can block all DEBUG subcommands except one (9 ms) +[ok]: ACLs set can include subcommands, if already full command exists (7 ms) +[ok]: ACLs set can exclude subcommands, if already full command exists (8 ms) +[ok]: ACL SETUSER RESET reverting to default newly created user (2 ms) +[ok]: ACL GETUSER is able to translate back command permissions (14 ms) +[ok]: ACL GETUSER provides reasonable results (60 ms) +[ok]: ACL GETUSER provides correct results (21 ms) +[ok]: ACL CAT with illegal arguments (0 ms) +[ok]: ACL CAT without category - list all categories (1 ms) +[ok]: ACL CAT category - list all commands/subcommands that belong to category (5 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 (1 ms) +[ok]: ACL LOG aggregates similar errors together and assigns unique entry-id to new errors (19 ms) +[ok]: ACL LOG shows failed command executions at toplevel (3 ms) +[ok]: ACL LOG shows failed subcommand executions at toplevel (3 ms) +[ok]: ACL LOG is able to test similar events (6 ms) +[ok]: ACL LOG is able to log keys access violations and key name (7 ms) +[ok]: ACL LOG is able to log channel access violations and channel name (2 ms) +[ok]: ACL LOG RESET is able to flush the entries in the log (0 ms) +[ok]: ACL LOG can distinguish the transaction context (1) (2 ms) +[ok]: ACL LOG can distinguish the transaction context (2) (25 ms) +[ok]: ACL can log errors in the context of Lua scripting (6 ms) +[ok]: ACL LOG can accept a numerical argument to show less entries (5 ms) +[ok]: ACL LOG can log failed auth attempts (2 ms) +[ok]: ACLLOG - zero max length is correctly handled (10 ms) +[ok]: ACL LOG entries are limited to a maximum amount (9 ms) +[ok]: ACL LOG entries are still present on update of max len config (1 ms) +[ok]: When default user is off, new connections are not authenticated (22 ms) +[ok]: When default user has no command permission, hello command still works for other users (1 ms) +[ok]: When an authentication chain is used in the HELLO cmd, the last auth cmd has precedence (2 ms) +[ok]: When a setname chain is used in the HELLO cmd, the last setname cmd has precedence (2 ms) +[ok]: When authentication fails in the HELLO cmd, the client setname should not be applied (4 ms) +[ok]: ACL HELP should not have unexpected options (0 ms) +[ok]: Delete a user that the client doesn't use (7 ms) +[ok]: Delete a user that the client is using (2 ms) +[ok]: ACL GENPASS command failed test (18 ms) +[ok]: Default user can not be removed (2 ms) +[ok]: ACL load non-existing configured ACL file (0 ms) +[ok]: ACL-Metrics user AUTH failure (14 ms) +[ok]: ACL-Metrics invalid command accesses (11 ms) +[ok]: ACL-Metrics invalid key accesses (12 ms) +[ok]: ACL-Metrics invalid channels accesses (8 ms) +=== (external:skip) Starting server on 127.0.0.1:21341 ok +[ok]: default: load from include file, can access any channels (2 ms) +[ok]: default: with config acl-pubsub-default allchannels after reset, can access any channels (7 ms) +[ok]: default: with config acl-pubsub-default resetchannels after reset, can not access any channels (2 ms) +[ok]: Alice: can execute all command (1 ms) +[ok]: Bob: just execute @set and acl command (5 ms) +[ok]: ACL LOAD only disconnects affected clients (48 ms) +[ok]: ACL LOAD disconnects clients of deleted users (35 ms) +[ok]: ACL load and save (16 ms) +[ok]: ACL load and save with restricted channels (10 ms) +=== (external:skip) Starting server on 127.0.0.1:21343 ok +[ok]: Default user has access to all channels irrespective of flag (2 ms) +[ok]: Update acl-pubsub-default, existing users shouldn't get affected (2 ms) +[ok]: Single channel is valid (1 ms) +[ok]: Single channel is not valid with allchannels (1 ms) +=== (external:skip) Starting server on 127.0.0.1:21345 ok +[ok]: Only default user has access to all channels irrespective of flag (1 ms) +=== (external:skip) Starting server on 127.0.0.1:21347 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:21349 ok +[ok]: default: load from config file with all channels permissions (2 ms) +=== (external:skip) Starting server on 127.0.0.1:21351 ok +[ok]: Test loading an ACL file with duplicate users (4 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:21353 ok +[ok]: ACL from config file and config rewrite (211 ms) +=== () Starting server on 127.0.0.1:21355 ok +[ok]: ACL still denies individual renamed commands (1 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:21357 ok +[ok]: Test ACL LOAD works on primary (8 ms) +=== () Starting server on 127.0.0.1:21359 ok +[ok]: Test ACL LOAD works on replica (110 ms) +[25/129 done]: unit/acl (4 seconds) +Testing unit/geo +=== (geo) Starting server on 127.0.0.1:21361 ok +[ok]: GEO with wrong type src key (3 ms) +[ok]: GEO with non existing src key (2 ms) +[ok]: GEO BYLONLAT with empty search (1 ms) +[ok]: GEO BYMEMBER with non existing member (1 ms) +[ok]: GEOADD create (0 ms) +[ok]: GEOADD update (1 ms) +[ok]: GEOADD update with CH option (0 ms) +[ok]: GEOADD update with NX option (1 ms) +[ok]: GEOADD update with XX option (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 (1 ms) +[ok]: GEOADD invalid coordinates (0 ms) +[ok]: GEOADD multi add (0 ms) +[ok]: Check geoset values (1 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 (1 ms) +[ok]: GEOSEARCH BYRADIUS and BYBOX cannot exist at the same time (0 ms) +[ok]: GEOSEARCH BYRADIUS and BYBOX one must exist (0 ms) +[ok]: GEOSEARCH with STOREDIST option (1 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 (0 ms) +[ok]: GEORADIUS HUGE, issue #2767 (0 ms) +[ok]: GEORADIUSBYMEMBER simple (sorted) (0 ms) +[ok]: GEORADIUSBYMEMBER_RO simple (sorted) (1 ms) +[ok]: GEORADIUSBYMEMBER search areas contain satisfied points in oblique direction (2 ms) +[ok]: GEORADIUSBYMEMBER crossing pole search (0 ms) +[ok]: GEOSEARCH FROMMEMBER simple (sorted) (1 ms) +[ok]: GEOSEARCH vs GEORADIUS (1 ms) +[ok]: GEOSEARCH non square, long and narrow (1 ms) +[ok]: GEOSEARCH corner point test (1 ms) +[ok]: GEORADIUSBYMEMBER withdist (sorted) (0 ms) +[ok]: GEOHASH is able to return geohash strings (1 ms) +[ok]: GEOHASH with only key as argument (0 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 (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 (1 ms) +[ok]: GEORANGE STOREDIST option: COUNT ASC and DESC (1 ms) +[ok]: GEOSEARCH the box spans -180° or 180° (1 ms) +[ok]: GEOSEARCH with small distance (1 ms) +[ok]: GEOSEARCH fuzzy test - byradius (20247 ms) +[ok]: GEOSEARCH fuzzy test - bybox (13270 ms) +[ok]: GEOSEARCH box edges fuzzy test (72 ms) +[26/129 done]: unit/geo (34 seconds) +Testing unit/functions +=== (scripting) Starting server on 127.0.0.1:21363 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 - Create an already exiting library raise error (case insensitive) (0 ms) +[ok]: FUNCTION - Create a library with wrong name format (1 ms) +[ok]: FUNCTION - Create library with unexisting engine (0 ms) +[ok]: FUNCTION - Test uncompiled script (0 ms) +[ok]: FUNCTION - test replace argument (0 ms) +[ok]: FUNCTION - test function case insensitive (0 ms) +[ok]: FUNCTION - test replace argument with failure keeps old libraries (1 ms) +[ok]: FUNCTION - test function delete (0 ms) +[ok]: FUNCTION - test fcall bad arguments (1 ms) +[ok]: FUNCTION - test fcall bad number of keys arguments (0 ms) +[ok]: FUNCTION - test fcall negative number of keys (1 ms) +[ok]: FUNCTION - test delete on not exiting library (0 ms) +[ok]: FUNCTION - test function kill when function is not running (1 ms) +[ok]: FUNCTION - test wrong subcommand (0 ms) +[ok]: FUNCTION - test loading from rdb (480 ms) +[ok]: FUNCTION - test debug reload different options (889 ms) +[ok]: FUNCTION - test debug reload with nosave and noflush (112 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 (1 ms) +[ok]: FUNCTION - test function dump and restore with append argument (2 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 wrong number of arguments (1 ms) +[ok]: FUNCTION - test fcall_ro with write command (0 ms) +[ok]: FUNCTION - test fcall_ro with read only commands (0 ms) +[ok]: FUNCTION - test keys and argv (1 ms) +[ok]: FUNCTION - test command get keys on fcall (0 ms) +[ok]: FUNCTION - test command get keys on fcall_ro (1 ms) +[ok]: FUNCTION - test function kill (413 ms) +[ok]: FUNCTION - test script kill not working on function (412 ms) +[ok]: FUNCTION - test function kill not working on eval (412 ms) +[ok]: FUNCTION - test function flush (3 ms) +[ok]: FUNCTION - test function wrong argument (0 ms) +=== (scripting repl external:skip) Starting server on 127.0.0.1:21365 ok +=== () Starting server on 127.0.0.1:21367 ok +[ok]: Connect a replica to the master instance (103 ms) +[ok]: FUNCTION - creation is replicated to replica (1 ms) +[ok]: FUNCTION - call on replica (0 ms) +[ok]: FUNCTION - restore is replicated to replica (1 ms) +[ok]: FUNCTION - delete is replicated to replica (1 ms) +[ok]: FUNCTION - flush is replicated to replica (1 ms) +[ok]: Disconnecting the replica from master instance (104 ms) +[ok]: FUNCTION - test replication to replica on rdb phase (0 ms) +[ok]: FUNCTION - test replication to replica on rdb phase info command (1 ms) +[ok]: FUNCTION - create on read only replica (0 ms) +[ok]: FUNCTION - delete on read only replica (0 ms) +[ok]: FUNCTION - function effect is replicated to replica (2 ms) +[ok]: FUNCTION - modify key space of read only replica (0 ms) +=== () Starting server on 127.0.0.1:21369 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 (426 ms) +=== (scripting) Starting server on 127.0.0.1:21371 ok +[ok]: LIBRARIES - test shared function can access default globals (1 ms) +[ok]: LIBRARIES - usage and code sharing (1 ms) +[ok]: LIBRARIES - test registration failure revert the entire load (0 ms) +[ok]: LIBRARIES - test registration function name collision (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 no string name (0 ms) +[ok]: LIBRARIES - test registration with wrong name format (1 ms) +[ok]: LIBRARIES - test registration with empty name (0 ms) +[ok]: LIBRARIES - math.random from function load (0 ms) +[ok]: LIBRARIES - redis.call from function load (1 ms) +[ok]: LIBRARIES - redis.setresp from function load (0 ms) +[ok]: LIBRARIES - redis.set_repl from function load (1 ms) +[ok]: LIBRARIES - redis.acl_check_cmd from function load (0 ms) +[ok]: LIBRARIES - malicious access test (1 ms) +[ok]: LIBRARIES - delete removed all functions on library (1 ms) +[ok]: LIBRARIES - register function inside a function (0 ms) +[ok]: LIBRARIES - register library with no functions (0 ms) +[ok]: LIBRARIES - load timeout (502 ms) +[ok]: LIBRARIES - verify global protection on the load run (1 ms) +[ok]: LIBRARIES - named arguments (1 ms) +[ok]: LIBRARIES - named arguments, bad function name (0 ms) +[ok]: LIBRARIES - named arguments, bad callback type (1 ms) +[ok]: LIBRARIES - named arguments, bad description (0 ms) +[ok]: LIBRARIES - named arguments, unknown argument (1 ms) +[ok]: LIBRARIES - named arguments, missing function name (0 ms) +[ok]: LIBRARIES - named arguments, missing callback (0 ms) +[ok]: FUNCTION - test function restore with function name collision (4 ms) +[ok]: FUNCTION - test function list with code (1 ms) +[ok]: FUNCTION - test function list with pattern (1 ms) +[ok]: FUNCTION - test function list wrong argument (0 ms) +[ok]: FUNCTION - test function list with bad argument to library name (1 ms) +[ok]: FUNCTION - test function list withcode multiple times (0 ms) +[ok]: FUNCTION - test function list libraryname multiple times (1 ms) +[ok]: FUNCTION - verify OOM on function load and function restore (2 ms) +[ok]: FUNCTION - verify allow-omm allows running any command (1 ms) +=== (scripting) Starting server on 127.0.0.1:21373 ok +[ok]: FUNCTION - wrong flags type named arguments (0 ms) +[ok]: FUNCTION - wrong flag type (0 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 (1 ms) +[ok]: FUNCTION - allow stale (2 ms) +[ok]: FUNCTION - valkey version api (0 ms) +[ok]: FUNCTION - function stats (1 ms) +[ok]: FUNCTION - function stats reloaded correctly from rdb (8 ms) +[ok]: FUNCTION - function stats delete library (0 ms) +[ok]: FUNCTION - test function stats on loading failure (1 ms) +[ok]: FUNCTION - function stats cleaned after flush (1 ms) +[ok]: FUNCTION - function test empty engine (0 ms) +[ok]: FUNCTION - function test unknown metadata value (0 ms) +[ok]: FUNCTION - function test 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 (0 ms) +[27/129 done]: unit/functions (5 seconds) +Testing unit/memefficiency +=== (memefficiency external:skip) Starting server on 127.0.0.1:21375 ok +[ok]: Memory efficiency with values in range 32 (487 ms) +[ok]: Memory efficiency with values in range 64 (696 ms) +[ok]: Memory efficiency with values in range 128 (639 ms) +[ok]: Memory efficiency with values in range 1024 (722 ms) +[ok]: Memory efficiency with values in range 16384 (1470 ms) +=== (defrag external:skip standalone) Starting server on 127.0.0.1:21377 ok +=== (defrag external:skip standalone) Starting server on 127.0.0.1:21379 ok +Frag info: test start (Active Defrag main dictionary: standalone) + used: 2.30 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Frag info: after adding data + used: 61.07 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: 32.97 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Validating frag (1.00) > 1.4 + +===== Start of server log (pid 3791145) ===== + +[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 -288650:M 24 Oct 2025 09:10:23.797 # 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. -288650:M 24 Oct 2025 09:10:23.797 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo -288650:M 24 Oct 2025 09:10:23.797 * Valkey version=8.1.4, bits=64, commit=00000000, modified=0, pid=288650, just started -288650:M 24 Oct 2025 09:10:23.797 * Configuration loaded -288650:M 24 Oct 2025 09:10:23.798 * Increased maximum number of open files to 10032 (it was originally set to 1024). -288650:M 24 Oct 2025 09:10:23.798 * monotonic clock: POSIX clock_gettime -288650:M 24 Oct 2025 09:10:23.799 # Failed to write PID file: Permission denied +3791145:M 27 Nov 2026 18:03:31.360 # 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. +3791145:M 27 Nov 2026 18:03:31.360 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +3791145:M 27 Nov 2026 18:03:31.360 * Valkey version=8.1.4, bits=64, commit=00000000, modified=0, pid=3791145, just started +3791145:M 27 Nov 2026 18:03:31.360 * Configuration loaded +3791145:M 27 Nov 2026 18:03:31.360 * Increased maximum number of open files to 10032 (it was originally set to 1024). +3791145:M 27 Nov 2026 18:03:31.360 * monotonic clock: POSIX clock_gettime +3791145:M 27 Nov 2026 18:03:31.361 # Failed to write PID file: Permission denied .+^+. .+#########+. .+########+########+. Valkey 8.1.4 (00000000/0) 64 bit .+########+' '+########+. .########+' .+. '+########. Running in standalone mode - |####+' .+#######+. '+####| Port: 21112 - |###| .+###############+. |###| PID: 288650 + |####+' .+#######+. '+####| Port: 21380 + |###| .+###############+. |###| PID: 3791145 |###| |#####*'' ''*#####| |###| |###| |####' .-. '####| |###| |###| |###( (@@@) )###| |###| https://valkey.io @@ -819,68 +2692,605 @@ +#########+' '+v+' -288650:M 24 Oct 2025 09:10:23.808 * Server initialized -288650:M 24 Oct 2025 09:10:23.808 * Ready to accept connections tcp -288650:M 24 Oct 2025 09:10:23.808 * Ready to accept connections unix -288650:M 24 Oct 2025 09:10:23.808 * Ready to accept connections tls -288650:M 24 Oct 2025 09:10:23.892 - Accepted 127.0.0.1:40929 -288650:M 24 Oct 2025 09:10:23.921 - Client closed connection id=2 addr=127.0.0.1:40929 laddr=127.0.0.1:21111 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=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 -288650:M 24 Oct 2025 09:10:23.949 - Accepted 127.0.0.1:36977 -### Starting test CONFIG SET oom-score-adj works as expected in tests/unit/oom-score-adj.tcl -288650:S 24 Oct 2025 09:10:23.968 * Before turning into a replica, using my own primary parameters to synthesize a cached primary: I may be able to synchronize with the new primary with just a partial transfer. -288650:S 24 Oct 2025 09:10:23.968 * Connecting to PRIMARY localhost:1 -288650:S 24 Oct 2025 09:10:23.969 * PRIMARY <-> REPLICA sync started -288650:S 24 Oct 2025 09:10:23.969 * REPLICAOF localhost:1 enabled (user request from 'id=3 addr=127.0.0.1:36977 laddr=127.0.0.1:21111 fd=11 name= user=default lib-name= lib-ver=') -288650:S 24 Oct 2025 09:10:23.969 # Error condition on socket for SYNC: (null) -288650:M 24 Oct 2025 09:10:23.969 * Discarding previously cached primary state. -288650:M 24 Oct 2025 09:10:23.969 * Setting secondary replication ID to 0c0faff1f3b0f24b582fb79ce8fc2395e38891aa, valid up to offset: 1. New replication ID is 121f103a70f5098257f5e3765f32cc5681b38b1c -288650:M 24 Oct 2025 09:10:23.969 * PRIMARY MODE enabled (user request from 'id=3 addr=127.0.0.1:36977 laddr=127.0.0.1:21111 fd=11 name= user=default lib-name= lib-ver=') -288650:M 24 Oct 2025 09:10:23.970 * Background saving started by pid 288729 -288729:C 24 Oct 2025 09:10:24.975 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB -288729:C 24 Oct 2025 09:10:25.595 * DB saved on disk -288729:C 24 Oct 2025 09:10:25.596 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB -288650:M 24 Oct 2025 09:10:25.693 * Background saving terminated with success -288650:M 24 Oct 2025 09:10:25.781 - Client closed connection id=3 addr=127.0.0.1:36977 laddr=127.0.0.1:21111 fd=11 name= age=2 idle=2 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=bgsave user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=402 tot-net-out=68 tot-cmds=9 -288650:signal-handler (1761340225) Received SIGTERM scheduling shutdown... -288650:M 24 Oct 2025 09:10:25.874 * User requested shutdown... -288650:M 24 Oct 2025 09:10:25.877 * Removing the pid file. -288650:M 24 Oct 2025 09:10:25.877 * Removing the unix socket file. -288650:M 24 Oct 2025 09:10:25.879 # Valkey is now ready to exit, bye bye... -===== End of server log (pid 288650) ===== +3791145:M 27 Nov 2026 18:03:31.364 * Server initialized +3791145:M 27 Nov 2026 18:03:31.498 * Creating AOF base file appendonly.aof.1.base.rdb on server start +3791145:M 27 Nov 2026 18:03:31.503 * Creating AOF incr file appendonly.aof.1.incr.aof on server start +3791145:M 27 Nov 2026 18:03:31.503 * Ready to accept connections tcp +3791145:M 27 Nov 2026 18:03:31.503 * Ready to accept connections unix +3791145:M 27 Nov 2026 18:03:31.503 * Ready to accept connections tls +3791145:M 27 Nov 2026 18:03:31.506 - Accepted 127.0.0.1:44083 +3791145:M 27 Nov 2026 18:03:31.513 - Client closed connection id=2 addr=127.0.0.1:44083 laddr=127.0.0.1:21379 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 +3791145:M 27 Nov 2026 18:03:31.517 - Accepted 127.0.0.1:43243 +### Starting test Active Defrag main dictionary: standalone in tests/unit/memefficiency.tcl +3791145:M 27 Nov 2026 18:03:31.649 - Accepted 127.0.0.1:32799 +3791145:M 27 Nov 2026 18:03:36.536 - DB 9: 70538 keys (23513 volatile) in 114688 slots HT. +3791145:M 27 Nov 2026 18:03:42.324 - DB 9: 136342 keys (45448 volatile) in 229376 slots HT. +3791145:M 27 Nov 2026 18:03:47.370 - DB 9: 194000 keys (64667 volatile) in 229376 slots HT. +3791145:M 27 Nov 2026 18:03:52.407 - DB 9: 142500 keys (47500 volatile) in 229376 slots HT. +3791145:M 27 Nov 2026 18:03:56.567 - Client closed connection id=4 addr=127.0.0.1:32799 laddr=127.0.0.1:21379 fd=13 name= age=25 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=5 obl=0 oll=0 omem=0 tot-mem=22144 events=r cmd=client|reply user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=14058100 tot-net-out=2005 tot-cmds=367469 +===== End of server log (pid 3791145) ===== + + +===== Start of server stderr log (pid 3791145) ===== + + +===== End of server stderr log (pid 3791145) ===== + +=== (defrag external:skip standalone) Starting server on 127.0.0.1:21381 ok +Frag info: test start (Active Defrag eval scripts: standalone) + used: 2.30 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Frag info: after adding data + used: 76.14 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: 49.73 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Validating frag (1.00) > 1.4 + +===== Start of server log (pid 3792841) ===== + +[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 +3792841:M 27 Nov 2026 18:03:56.789 # 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. +3792841:M 27 Nov 2026 18:03:56.789 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +3792841:M 27 Nov 2026 18:03:56.789 * Valkey version=8.1.4, bits=64, commit=00000000, modified=0, pid=3792841, just started +3792841:M 27 Nov 2026 18:03:56.789 * Configuration loaded +3792841:M 27 Nov 2026 18:03:56.789 * Increased maximum number of open files to 10032 (it was originally set to 1024). +3792841:M 27 Nov 2026 18:03:56.789 * monotonic clock: POSIX clock_gettime +3792841:M 27 Nov 2026 18:03:56.790 # Failed to write PID file: Permission denied + .+^+. + .+#########+. + .+########+########+. Valkey 8.1.4 (00000000/0) 64 bit + .+########+' '+########+. + .########+' .+. '+########. Running in standalone mode + |####+' .+#######+. '+####| Port: 21382 + |###| .+###############+. |###| PID: 3792841 + |###| |#####*'' ''*#####| |###| + |###| |####' .-. '####| |###| + |###| |###( (@@@) )###| |###| https://valkey.io + |###| |####. '-' .####| |###| + |###| |#####*. .*#####| |###| + |###| '+#####| |#####+' |###| + |####+. +##| |#+' .+####| + '#######+ |##| .+########' + '+###| |##| .+########+' + '| |####+########+' + +#########+' + '+v+' + +3792841:M 27 Nov 2026 18:03:56.792 * Server initialized +3792841:M 27 Nov 2026 18:03:56.793 * Ready to accept connections tcp +3792841:M 27 Nov 2026 18:03:56.793 * Ready to accept connections unix +3792841:M 27 Nov 2026 18:03:56.793 * Ready to accept connections tls +3792841:M 27 Nov 2026 18:03:56.896 - Accepted 127.0.0.1:34675 +3792841:M 27 Nov 2026 18:03:56.903 - Client closed connection id=2 addr=127.0.0.1:34675 laddr=127.0.0.1:21381 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 +3792841:M 27 Nov 2026 18:03:56.906 - Accepted 127.0.0.1:37105 +### Starting test Active Defrag eval scripts: standalone in tests/unit/memefficiency.tcl +3792841:M 27 Nov 2026 18:03:57.038 - Accepted 127.0.0.1:46479 +3792841:M 27 Nov 2026 18:04:01.814 - DB 9: 50000 keys (0 volatile) in 57344 slots HT. +3792841:M 27 Nov 2026 18:04:04.290 - Client closed connection id=4 addr=127.0.0.1:46479 laddr=127.0.0.1:21381 fd=12 name= age=7 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=5 obl=0 oll=0 omem=0 tot-mem=22144 events=r cmd=client|reply user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=51184939 tot-net-out=505 tot-cmds=150202 +===== End of server log (pid 3792841) ===== + + +===== Start of server stderr log (pid 3792841) ===== + + +===== End of server stderr log (pid 3792841) ===== + +=== (defrag external:skip standalone) Starting server on 127.0.0.1:21383 ok +Frag info: test start (Active Defrag big hash: standalone) + used: 2.30 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Frag info: after adding data + used: 60.93 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: 32.40 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Validating frag (1.00) > 1.4 + +===== Start of server log (pid 3793202) ===== + +[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 +3793202:M 27 Nov 2026 18:04:04.470 # 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. +3793202:M 27 Nov 2026 18:04:04.470 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +3793202:M 27 Nov 2026 18:04:04.470 * Valkey version=8.1.4, bits=64, commit=00000000, modified=0, pid=3793202, just started +3793202:M 27 Nov 2026 18:04:04.470 * Configuration loaded +3793202:M 27 Nov 2026 18:04:04.471 * Increased maximum number of open files to 10032 (it was originally set to 1024). +3793202:M 27 Nov 2026 18:04:04.471 * monotonic clock: POSIX clock_gettime +3793202:M 27 Nov 2026 18:04:04.471 # Failed to write PID file: Permission denied + .+^+. + .+#########+. + .+########+########+. Valkey 8.1.4 (00000000/0) 64 bit + .+########+' '+########+. + .########+' .+. '+########. Running in standalone mode + |####+' .+#######+. '+####| Port: 21384 + |###| .+###############+. |###| PID: 3793202 + |###| |#####*'' ''*#####| |###| + |###| |####' .-. '####| |###| + |###| |###( (@@@) )###| |###| https://valkey.io + |###| |####. '-' .####| |###| + |###| |#####*. .*#####| |###| + |###| '+#####| |#####+' |###| + |####+. +##| |#+' .+####| + '#######+ |##| .+########' + '+###| |##| .+########+' + '| |####+########+' + +#########+' + '+v+' + +3793202:M 27 Nov 2026 18:04:04.474 * Server initialized +3793202:M 27 Nov 2026 18:04:04.474 * Ready to accept connections tcp +3793202:M 27 Nov 2026 18:04:04.474 * Ready to accept connections unix +3793202:M 27 Nov 2026 18:04:04.474 * Ready to accept connections tls +3793202:M 27 Nov 2026 18:04:04.578 - Accepted 127.0.0.1:38547 +3793202:M 27 Nov 2026 18:04:04.587 - Client closed connection id=2 addr=127.0.0.1:38547 laddr=127.0.0.1:21383 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 +3793202:M 27 Nov 2026 18:04:04.591 - Accepted 127.0.0.1:34299 +### Starting test Active Defrag big hash: standalone in tests/unit/memefficiency.tcl +3793202:M 27 Nov 2026 18:04:04.722 - Accepted 127.0.0.1:40847 +3793202:M 27 Nov 2026 18:04:09.504 - DB 9: 16 keys (0 volatile) in 28 slots HT. +3793202:M 27 Nov 2026 18:04:14.531 - DB 9: 17 keys (0 volatile) in 28 slots HT. +3793202:M 27 Nov 2026 18:04:19.559 - DB 9: 17 keys (0 volatile) in 28 slots HT. +3793202:M 27 Nov 2026 18:04:24.628 - DB 9: 17 keys (0 volatile) in 28 slots HT. +3793202:M 27 Nov 2026 18:04:27.718 - Client closed connection id=4 addr=127.0.0.1:40847 laddr=127.0.0.1:21383 fd=12 name= age=23 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=5 obl=0 oll=0 omem=0 tot-mem=22144 events=r cmd=client|reply user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=62025214 tot-net-out=2005 tot-cmds=300802 +===== End of server log (pid 3793202) ===== + + +===== Start of server stderr log (pid 3793202) ===== + + +===== End of server stderr log (pid 3793202) ===== + +=== (defrag external:skip standalone) Starting server on 127.0.0.1:21385 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 +Frag info: after adding data + used: 86.40 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.26 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Validating frag (1.00) > 1.4 + +===== Start of server log (pid 3794931) ===== + +[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) +### Starting server for test +3794931:M 27 Nov 2026 18:04:27.888 # 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. +3794931:M 27 Nov 2026 18:04:27.888 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +3794931:M 27 Nov 2026 18:04:27.888 * Valkey version=8.1.4, bits=64, commit=00000000, modified=0, pid=3794931, just started +3794931:M 27 Nov 2026 18:04:27.888 * Configuration loaded +3794931:M 27 Nov 2026 18:04:27.888 * Increased maximum number of open files to 10032 (it was originally set to 1024). +3794931:M 27 Nov 2026 18:04:27.888 * monotonic clock: POSIX clock_gettime +3794931:M 27 Nov 2026 18:04:27.889 # Failed to write PID file: Permission denied + .+^+. + .+#########+. + .+########+########+. Valkey 8.1.4 (00000000/0) 64 bit + .+########+' '+########+. + .########+' .+. '+########. Running in standalone mode + |####+' .+#######+. '+####| Port: 21386 + |###| .+###############+. |###| PID: 3794931 + |###| |#####*'' ''*#####| |###| + |###| |####' .-. '####| |###| + |###| |###( (@@@) )###| |###| https://valkey.io + |###| |####. '-' .####| |###| + |###| |#####*. .*#####| |###| + |###| '+#####| |#####+' |###| + |####+. +##| |#+' .+####| + '#######+ |##| .+########' + '+###| |##| .+########+' + '| |####+########+' + +#########+' + '+v+' + +3794931:M 27 Nov 2026 18:04:27.891 * Server initialized +3794931:M 27 Nov 2026 18:04:27.892 * Ready to accept connections tcp +3794931:M 27 Nov 2026 18:04:27.892 * Ready to accept connections unix +3794931:M 27 Nov 2026 18:04:27.892 * Ready to accept connections tls +3794931:M 27 Nov 2026 18:04:27.995 - Accepted 127.0.0.1:44559 +3794931:M 27 Nov 2026 18:04:28.002 - Client closed connection id=2 addr=127.0.0.1:44559 laddr=127.0.0.1:21385 fd=11 name= age=1 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 +3794931:M 27 Nov 2026 18:04:28.006 - Accepted 127.0.0.1:45233 +### Starting test Active Defrag big list: standalone in tests/unit/memefficiency.tcl +3794931:M 27 Nov 2026 18:04:28.138 - Accepted 127.0.0.1:35167 +3794931:M 27 Nov 2026 18:04:32.916 - DB 9: 16 keys (0 volatile) in 28 slots HT. +3794931:M 27 Nov 2026 18:04:37.947 - DB 9: 17 keys (0 volatile) in 28 slots HT. +3794931:M 27 Nov 2026 18:04:42.974 - DB 9: 17 keys (0 volatile) in 28 slots HT. +3794931:M 27 Nov 2026 18:04:48.006 - DB 9: 17 keys (0 volatile) in 28 slots HT. +3794931:M 27 Nov 2026 18:04:53.036 - DB 9: 17 keys (0 volatile) in 28 slots HT. +3794931:M 27 Nov 2026 18:04:55.375 - Client closed connection id=4 addr=127.0.0.1:35167 laddr=127.0.0.1:21385 fd=12 name= age=27 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=5 obl=0 oll=0 omem=0 tot-mem=22144 events=r cmd=client|reply user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=85723344 tot-net-out=2005 tot-cmds=400802 +===== End of server log (pid 3794931) ===== + + +===== Start of server stderr log (pid 3794931) ===== -===== Start of server stderr log (pid 288650) ===== +===== End of server stderr log (pid 3794931) ===== +=== (defrag external:skip standalone) Starting server on 127.0.0.1:21387 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.18 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.54 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Validating frag (1.00) > 1.4 -===== End of server stderr log (pid 288650) ===== +===== Start of server log (pid 3810777) ===== -[exception]: Executing test client: couldn't open "/proc/288729/oom_score_adj": no such file or directory. -couldn't open "/proc/288729/oom_score_adj": no such file or directory +[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) +### Starting server for test +3810777:M 27 Nov 2026 18:04:55.586 # 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. +3810777:M 27 Nov 2026 18:04:55.586 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +3810777:M 27 Nov 2026 18:04:55.586 * Valkey version=8.1.4, bits=64, commit=00000000, modified=0, pid=3810777, just started +3810777:M 27 Nov 2026 18:04:55.586 * Configuration loaded +3810777:M 27 Nov 2026 18:04:55.587 * Increased maximum number of open files to 10032 (it was originally set to 1024). +3810777:M 27 Nov 2026 18:04:55.587 * monotonic clock: POSIX clock_gettime +3810777:M 27 Nov 2026 18:04:55.587 # Failed to write PID file: Permission denied + .+^+. + .+#########+. + .+########+########+. Valkey 8.1.4 (00000000/0) 64 bit + .+########+' '+########+. + .########+' .+. '+########. Running in standalone mode + |####+' .+#######+. '+####| Port: 21388 + |###| .+###############+. |###| PID: 3810777 + |###| |#####*'' ''*#####| |###| + |###| |####' .-. '####| |###| + |###| |###( (@@@) )###| |###| https://valkey.io + |###| |####. '-' .####| |###| + |###| |#####*. .*#####| |###| + |###| '+#####| |#####+' |###| + |####+. +##| |#+' .+####| + '#######+ |##| .+########' + '+###| |##| .+########+' + '| |####+########+' + +#########+' + '+v+' + +3810777:M 27 Nov 2026 18:04:55.590 * Server initialized +3810777:M 27 Nov 2026 18:04:55.590 * Ready to accept connections tcp +3810777:M 27 Nov 2026 18:04:55.590 * Ready to accept connections unix +3810777:M 27 Nov 2026 18:04:55.590 * Ready to accept connections tls +3810777:M 27 Nov 2026 18:04:55.693 - Accepted 127.0.0.1:34699 +3810777:M 27 Nov 2026 18:04:55.700 - Client closed connection id=2 addr=127.0.0.1:34699 laddr=127.0.0.1:21387 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 +3810777:M 27 Nov 2026 18:04:55.704 - Accepted 127.0.0.1:35027 +### Starting test Active Defrag big set: standalone in tests/unit/memefficiency.tcl +3810777:M 27 Nov 2026 18:04:55.835 - Accepted 127.0.0.1:43295 +3810777:M 27 Nov 2026 18:05:00.616 - DB 9: 16 keys (0 volatile) in 28 slots HT. +3810777:M 27 Nov 2026 18:05:05.643 - DB 9: 17 keys (0 volatile) in 28 slots HT. +3810777:M 27 Nov 2026 18:05:10.684 - DB 9: 17 keys (0 volatile) in 28 slots HT. +3810777:M 27 Nov 2026 18:05:15.721 - DB 9: 17 keys (0 volatile) in 28 slots HT. +3810777:M 27 Nov 2026 18:05:20.755 - DB 9: 17 keys (0 volatile) in 28 slots HT. +3810777:M 27 Nov 2026 18:05:21.800 - Client closed connection id=4 addr=127.0.0.1:43295 laddr=127.0.0.1:21387 fd=12 name= age=26 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=5 obl=0 oll=0 omem=0 tot-mem=22144 events=r cmd=client|reply user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=100725214 tot-net-out=2005 tot-cmds=300802 +===== End of server log (pid 3810777) ===== + + +===== Start of server stderr log (pid 3810777) ===== + + +===== End of server stderr log (pid 3810777) ===== + +=== (defrag external:skip standalone) Starting server on 127.0.0.1:21389 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.29 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.64 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Validating frag (1.00) > 1.4 + +===== Start of server log (pid 3811242) ===== + +[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) +### Starting server for test +3811242:M 27 Nov 2026 18:05:21.992 # 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. +3811242:M 27 Nov 2026 18:05:21.993 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +3811242:M 27 Nov 2026 18:05:21.993 * Valkey version=8.1.4, bits=64, commit=00000000, modified=0, pid=3811242, just started +3811242:M 27 Nov 2026 18:05:21.993 * Configuration loaded +3811242:M 27 Nov 2026 18:05:21.993 * Increased maximum number of open files to 10032 (it was originally set to 1024). +3811242:M 27 Nov 2026 18:05:21.993 * monotonic clock: POSIX clock_gettime +3811242:M 27 Nov 2026 18:05:21.993 # Failed to write PID file: Permission denied + .+^+. + .+#########+. + .+########+########+. Valkey 8.1.4 (00000000/0) 64 bit + .+########+' '+########+. + .########+' .+. '+########. Running in standalone mode + |####+' .+#######+. '+####| Port: 21390 + |###| .+###############+. |###| PID: 3811242 + |###| |#####*'' ''*#####| |###| + |###| |####' .-. '####| |###| + |###| |###( (@@@) )###| |###| https://valkey.io + |###| |####. '-' .####| |###| + |###| |#####*. .*#####| |###| + |###| '+#####| |#####+' |###| + |####+. +##| |#+' .+####| + '#######+ |##| .+########' + '+###| |##| .+########+' + '| |####+########+' + +#########+' + '+v+' + +3811242:M 27 Nov 2026 18:05:21.996 * Server initialized +3811242:M 27 Nov 2026 18:05:21.996 * Ready to accept connections tcp +3811242:M 27 Nov 2026 18:05:21.996 * Ready to accept connections unix +3811242:M 27 Nov 2026 18:05:21.996 * Ready to accept connections tls +3811242:M 27 Nov 2026 18:05:22.100 - Accepted 127.0.0.1:39615 +3811242:M 27 Nov 2026 18:05:22.107 - Client closed connection id=2 addr=127.0.0.1:39615 laddr=127.0.0.1:21389 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 +3811242:M 27 Nov 2026 18:05:22.111 - Accepted 127.0.0.1:34527 +### Starting test Active Defrag big zset: standalone in tests/unit/memefficiency.tcl +3811242:M 27 Nov 2026 18:05:22.241 - Accepted 127.0.0.1:38191 +3811242:M 27 Nov 2026 18:05:27.022 - DB 9: 15 keys (0 volatile) in 28 slots HT. +3811242:M 27 Nov 2026 18:05:32.059 - DB 9: 16 keys (0 volatile) in 28 slots HT. +3811242:M 27 Nov 2026 18:05:37.087 - DB 9: 17 keys (0 volatile) in 28 slots HT. +3811242:M 27 Nov 2026 18:05:42.125 - DB 9: 17 keys (0 volatile) in 28 slots HT. +3811242:M 27 Nov 2026 18:05:47.163 - DB 9: 17 keys (0 volatile) in 28 slots HT. +3811242:M 27 Nov 2026 18:05:49.391 - Client closed connection id=4 addr=127.0.0.1:38191 laddr=127.0.0.1:21389 fd=12 name= age=27 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=5 obl=0 oll=0 omem=0 tot-mem=22144 events=r cmd=client|reply user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=90924908 tot-net-out=2005 tot-cmds=300802 +===== End of server log (pid 3811242) ===== + + +===== Start of server stderr log (pid 3811242) ===== + + +===== End of server stderr log (pid 3811242) ===== + +=== (defrag external:skip standalone) Starting server on 127.0.0.1:21391 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: 71.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: 37.65 MB + frag: 0.00 MB + frag ratio: 1.00 + hits: 0 + misses: 0 +Validating frag (1.00) > 1.4 + +===== Start of server log (pid 3811823) ===== + +[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 +3811823:M 27 Nov 2026 18:05:49.605 # 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. +3811823:M 27 Nov 2026 18:05:49.605 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +3811823:M 27 Nov 2026 18:05:49.605 * Valkey version=8.1.4, bits=64, commit=00000000, modified=0, pid=3811823, just started +3811823:M 27 Nov 2026 18:05:49.605 * Configuration loaded +3811823:M 27 Nov 2026 18:05:49.605 * Increased maximum number of open files to 10032 (it was originally set to 1024). +3811823:M 27 Nov 2026 18:05:49.605 * monotonic clock: POSIX clock_gettime +3811823:M 27 Nov 2026 18:05:49.606 # Failed to write PID file: Permission denied + .+^+. + .+#########+. + .+########+########+. Valkey 8.1.4 (00000000/0) 64 bit + .+########+' '+########+. + .########+' .+. '+########. Running in standalone mode + |####+' .+#######+. '+####| Port: 21392 + |###| .+###############+. |###| PID: 3811823 + |###| |#####*'' ''*#####| |###| + |###| |####' .-. '####| |###| + |###| |###( (@@@) )###| |###| https://valkey.io + |###| |####. '-' .####| |###| + |###| |#####*. .*#####| |###| + |###| '+#####| |#####+' |###| + |####+. +##| |#+' .+####| + '#######+ |##| .+########' + '+###| |##| .+########+' + '| |####+########+' + +#########+' + '+v+' + +3811823:M 27 Nov 2026 18:05:49.608 * Server initialized +3811823:M 27 Nov 2026 18:05:49.608 * Ready to accept connections tcp +3811823:M 27 Nov 2026 18:05:49.608 * Ready to accept connections unix +3811823:M 27 Nov 2026 18:05:49.608 * Ready to accept connections tls +3811823:M 27 Nov 2026 18:05:49.712 - Accepted 127.0.0.1:42067 +3811823:M 27 Nov 2026 18:05:49.719 - Client closed connection id=2 addr=127.0.0.1:42067 laddr=127.0.0.1:21391 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 +3811823:M 27 Nov 2026 18:05:49.723 - Accepted 127.0.0.1:44595 +### Starting test Active Defrag stream: standalone in tests/unit/memefficiency.tcl +3811823:M 27 Nov 2026 18:05:49.854 - Accepted 127.0.0.1:44653 +3811823:M 27 Nov 2026 18:05:54.637 - DB 9: 72957 keys (0 volatile) in 114688 slots HT. +3811823:M 27 Nov 2026 18:05:59.672 - DB 9: 144951 keys (0 volatile) in 229376 slots HT. +3811823:M 27 Nov 2026 18:06:04.702 - DB 9: 190000 keys (0 volatile) in 229376 slots HT. +3811823:M 27 Nov 2026 18:06:09.742 - DB 9: 137685 keys (0 volatile) in 229376 slots HT. +3811823:M 27 Nov 2026 18:06:13.354 - Client closed connection id=4 addr=127.0.0.1:44653 laddr=127.0.0.1:21391 fd=12 name= age=24 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=5 obl=0 oll=0 omem=0 tot-mem=22144 events=r cmd=client|reply user=default redir=-1 resp=2 lib-name= lib-ver= tot-net-in=36861794 tot-net-out=2005 tot-cmds=300802 +===== End of server log (pid 3811823) ===== + + +===== Start of server stderr log (pid 3811823) ===== + + +===== End of server stderr log (pid 3811823) ===== + +=== (defrag external:skip standalone) Starting server on 127.0.0.1:21393 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 3821420) ===== + +### Starting server for test +3821420:M 27 Nov 2026 18:06:13.601 # 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. +3821420:M 27 Nov 2026 18:06:13.602 * oO0OoO0OoO0Oo Valkey is starting oO0OoO0OoO0Oo +3821420:M 27 Nov 2026 18:06:13.602 * Valkey version=8.1.4, bits=64, commit=00000000, modified=0, pid=3821420, just started +3821420:M 27 Nov 2026 18:06:13.602 * Configuration loaded +3821420:M 27 Nov 2026 18:06:13.602 * Increased maximum number of open files to 10032 (it was originally set to 1024). +3821420:M 27 Nov 2026 18:06:13.602 * monotonic clock: POSIX clock_gettime +3821420:M 27 Nov 2026 18:06:13.602 # Failed to write PID file: Permission denied + .+^+. + .+#########+. + .+########+########+. Valkey 8.1.4 (00000000/0) 64 bit + .+########+' '+########+. + .########+' .+. '+########. Running in standalone mode + |####+' .+#######+. '+####| Port: 21394 + |###| .+###############+. |###| PID: 3821420 + |###| |#####*'' ''*#####| |###| + |###| |####' .-. '####| |###| + |###| |###( (@@@) )###| |###| https://valkey.io + |###| |####. '-' .####| |###| + |###| |#####*. .*#####| |###| + |###| '+#####| |#####+' |###| + |####+. +##| |#+' .+####| + '#######+ |##| .+########' + '+###| |##| .+########+' + '| |####+########+' + +#########+' + '+v+' + +3821420:M 27 Nov 2026 18:06:13.605 * Server initialized +3821420:M 27 Nov 2026 18:06:13.605 * Ready to accept connections tcp +3821420:M 27 Nov 2026 18:06:13.605 * Ready to accept connections unix +3821420:M 27 Nov 2026 18:06:13.605 * Ready to accept connections tls +3821420:M 27 Nov 2026 18:06:13.709 - Accepted 127.0.0.1:41361 +3821420:M 27 Nov 2026 18:06:13.716 - Client closed connection id=2 addr=127.0.0.1:41361 laddr=127.0.0.1:21393 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 +3821420:M 27 Nov 2026 18:06:13.720 - Accepted 127.0.0.1:35453 +### Starting test Active Defrag pubsub: standalone in tests/unit/memefficiency.tcl +3821420:M 27 Nov 2026 18:06:13.727 - Accepted 127.0.0.1:33725 +3821420:M 27 Nov 2026 18:06:55.856 - Client closed connection id=3 addr=127.0.0.1:35453 laddr=127.0.0.1:21393 fd=11 name= age=42 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=92481 tot-cmds=17 +3821420:signal-handler (1795752415) Received SIGTERM scheduling shutdown... +3821420:M 27 Nov 2026 18:06:55.886 * User requested shutdown... +3821420:M 27 Nov 2026 18:06:55.886 * Removing the pid file. +3821420:M 27 Nov 2026 18:06:55.886 * Removing the unix socket file. +3821420:M 27 Nov 2026 18:06:55.886 # Valkey is now ready to exit, bye bye... +===== End of server log (pid 3821420) ===== + + +===== Start of server stderr log (pid 3821420) ===== + + +===== End of server stderr log (pid 3821420) ===== + +[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 -"wait_for_condition 100 10 { - [get_oom_score_adj $child_pid] == [expr $base + 30] - } else { - fail "Set oom-sco..." - ("uplevel" body line 27) +"[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 {CONFIG SET oom-score-adj works as expected} { - set base [get_oom_score_adj] +"test $title { + set n 100000 + + set rd [valkey_deferring_client] + set chan [string repeat A 100] - # Enable oom-score-adj, check defaults - ..." - ("uplevel" body line 22) + # 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 {tags {"oom-score-adj external:skip"}} { - proc get_oom_score_adj {{pid ""}} { - if {$pid == ""} { - set pi..." - (file "tests/unit/oom-score-adj.tcl" line 4) +"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 566) + 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) @@ -911,255 +3321,251 @@ Starting valkey #18 at port 30036 Starting valkey #19 at port 30038 Testing unit: 03-failover-loop.tcl -09:10:29> (init) Restart killed instances: OK -09:10:29> Cluster nodes are reachable: OK -09:10:29> Cluster nodes hard reset: OK -09:10:30> Cluster Join and auto-discovery test: OK -09:10:31> Before slots allocation, all nodes report cluster failure: OK -09:10:32> Create a 5 nodes cluster: OK -09:10:36> Cluster is up: OK +18:07:01> (init) Restart killed instances: OK +18:07:01> Cluster nodes are reachable: OK +18:07:02> Cluster nodes hard reset: OK +18:07:02> Cluster Join and auto-discovery test: OK +18:07:04> Before slots allocation, all nodes report cluster failure: OK +18:07:04> Create a 5 nodes cluster: OK +18:07:09> Cluster is up: OK --- Iteration 19 --- -09:10:37> Cluster is writable before failover: OK -09:10:37> Terminating node #7: OK -09:10:37> Cluster should eventually be up again: OK -09:10:37> Cluster is writable again: OK -09:10:37> Restarting node #7: OK -09:10:38> Instance #7 is now a slave: OK -09:10:38> We can read back the value we set before: OK +18:07:09> Wait for slave of #1 to sync: OK +18:07:09> Cluster is writable before failover: OK +18:07:09> Terminating node #1: OK +18:07:10> Wait failover by #6 with old epoch 2: OK +18:07:16> Cluster should eventually be up again: OK +18:07:16> Cluster is writable again: OK +18:07:16> Restarting node #1: OK +18:07:16> Instance #1 is now a slave: OK +18:07:16> We can read back the value we set before: OK --- Iteration 18 --- -09:10:38> Wait for slave of #1 to sync: OK -09:10:38> Cluster is writable before failover: OK -09:10:38> Terminating node #1: OK -09:10:39> Wait failover by #6 with old epoch 2: OK -09:10:44> Cluster should eventually be up again: OK -09:10:44> Cluster is writable again: OK -09:10:45> Restarting node #1: OK -09:10:45> Instance #1 is now a slave: OK -09:10:45> We can read back the value we set before: OK +18:07:16> Cluster is writable before failover: OK +18:07:16> Terminating node #9: OK +18:07:16> Cluster should eventually be up again: OK +18:07:16> Cluster is writable again: OK +18:07:16> Restarting node #9: OK +18:07:16> Instance #9 is now a slave: OK +18:07:16> We can read back the value we set before: OK --- Iteration 17 --- -09:10:45> Cluster is writable before failover: OK -09:10:45> Terminating node #9: OK -09:10:46> Cluster should eventually be up again: OK -09:10:46> Cluster is writable again: OK -09:10:46> Restarting node #9: OK -09:10:46> Instance #9 is now a slave: OK -09:10:46> We can read back the value we set before: OK +18:07:17> Cluster is writable before failover: OK +18:07:17> Terminating node #5: OK +18:07:17> Cluster should eventually be up again: OK +18:07:17> Cluster is writable again: OK +18:07:17> Restarting node #5: OK +18:07:17> Instance #5 is now a slave: OK +18:07:17> We can read back the value we set before: OK --- Iteration 16 --- -09:10:46> Wait for slave of #4 to sync: OK -09:10:46> Cluster is writable before failover: OK -09:10:46> Terminating node #4: OK -09:10:47> Wait failover by #9 with old epoch 5: OK -09:10:53> Cluster should eventually be up again: OK -09:10:53> Cluster is writable again: OK -09:10:53> Restarting node #4: OK -09:10:53> Instance #4 is now a slave: OK -09:10:53> We can read back the value we set before: OK +18:07:17> Wait for slave of #2 to sync: OK +18:07:17> Cluster is writable before failover: OK +18:07:17> Terminating node #2: OK +18:07:17> Wait failover by #7 with old epoch 3: OK +18:07:23> Cluster should eventually be up again: OK +18:07:23> Cluster is writable again: OK +18:07:23> Restarting node #2: OK +18:07:23> Instance #2 is now a slave: OK +18:07:23> We can read back the value we set before: OK --- Iteration 15 --- -09:10:54> Cluster is writable before failover: OK -09:10:54> Terminating node #1: OK -09:10:54> Cluster should eventually be up again: OK -09:10:54> Cluster is writable again: OK -09:10:54> Restarting node #1: OK -09:10:55> Instance #1 is now a slave: OK -09:10:55> We can read back the value we set before: OK +18:07:23> Cluster is writable before failover: OK +18:07:23> Terminating node #5: OK +18:07:23> Cluster should eventually be up again: OK +18:07:23> Cluster is writable again: OK +18:07:23> Restarting node #5: OK +18:07:23> Instance #5 is now a slave: OK +18:07:23> We can read back the value we set before: OK --- Iteration 14 --- -09:10:55> Wait for slave of #9 to sync: OK -09:10:55> Cluster is writable before failover: OK -09:10:55> Terminating node #9: OK -09:10:57> Wait failover by #4 with old epoch 22: OK -09:11:03> Cluster should eventually be up again: OK -09:11:03> Cluster is writable again: OK -09:11:03> Restarting node #9: OK -09:11:04> Instance #9 is now a slave: OK -09:11:04> We can read back the value we set before: OK +18:07:23> Wait for slave of #7 to sync: OK +18:07:23> Cluster is writable before failover: OK +18:07:23> Terminating node #7: OK +18:07:24> Wait failover by #2 with old epoch 22: OK +18:07:29> Cluster should eventually be up again: OK +18:07:29> Cluster is writable again: OK +18:07:30> Restarting node #7: OK +18:07:31> Instance #7 is now a slave: OK +18:07:31> We can read back the value we set before: OK --- Iteration 13 --- -09:11:04> Cluster is writable before failover: OK -09:11:04> Terminating node #7: OK -09:11:05> Cluster should eventually be up again: OK -09:11:05> Cluster is writable again: OK -09:11:05> Restarting node #7: OK -09:11:06> Instance #7 is now a slave: OK -09:11:06> We can read back the value we set before: OK +18:07:31> Cluster is writable before failover: OK +18:07:31> Terminating node #8: OK +18:07:31> Cluster should eventually be up again: OK +18:07:31> Cluster is writable again: OK +18:07:31> Restarting node #8: OK +18:07:31> Instance #8 is now a slave: OK +18:07:31> We can read back the value we set before: OK --- Iteration 12 --- -09:11:06> Wait for slave of #2 to sync: OK -09:11:06> Cluster is writable before failover: OK -09:11:06> Terminating node #2: OK -09:11:07> Wait failover by #7 with old epoch 3: OK -09:11:12> Cluster should eventually be up again: OK -09:11:12> Cluster is writable again: OK -09:11:12> Restarting node #2: OK -09:11:13> Instance #2 is now a slave: OK -09:11:13> We can read back the value we set before: OK +18:07:32> Cluster is writable before failover: OK +18:07:32> Terminating node #7: OK +18:07:32> Cluster should eventually be up again: OK +18:07:32> Cluster is writable again: OK +18:07:32> Restarting node #7: OK +18:07:32> Instance #7 is now a slave: OK +18:07:32> We can read back the value we set before: OK --- Iteration 11 --- -09:11:15> Wait for slave of #4 to sync: OK -09:11:15> Cluster is writable before failover: OK -09:11:15> Terminating node #4: OK -09:11:17> Wait failover by #9 with old epoch 23: OK -09:11:22> Cluster should eventually be up again: OK -09:11:23> Cluster is writable again: OK -09:11:24> Restarting node #4: OK -09:11:24> Instance #4 is now a slave: OK -09:11:24> We can read back the value we set before: OK +18:07:32> Cluster is writable before failover: OK +18:07:33> Terminating node #8: OK +18:07:33> Cluster should eventually be up again: OK +18:07:33> Cluster is writable again: OK +18:07:33> Restarting node #8: OK +18:07:33> Instance #8 is now a slave: OK +18:07:33> We can read back the value we set before: OK --- Iteration 10 --- -09:11:25> Cluster is writable before failover: OK -09:11:25> Terminating node #1: OK -09:11:25> Cluster should eventually be up again: OK -09:11:25> Cluster is writable again: OK -09:11:25> Restarting node #1: OK -09:11:26> Instance #1 is now a slave: OK -09:11:26> We can read back the value we set before: OK +18:07:33> Cluster is writable before failover: OK +18:07:33> Terminating node #9: OK +18:07:34> Cluster should eventually be up again: OK +18:07:34> Cluster is writable again: OK +18:07:34> Restarting node #9: OK +18:07:34> Instance #9 is now a slave: OK +18:07:34> We can read back the value we set before: OK --- Iteration 9 --- -09:11:26> Wait for slave of #6 to sync: OK -09:11:26> Cluster is writable before failover: OK -09:11:26> Terminating node #6: OK -09:11:27> Wait failover by #1 with old epoch 21: OK -09:11:32> Cluster should eventually be up again: OK -09:11:32> Cluster is writable again: OK -09:11:33> Restarting node #6: OK -09:11:33> Instance #6 is now a slave: OK -09:11:33> We can read back the value we set before: OK +18:07:34> Cluster is writable before failover: OK +18:07:34> Terminating node #1: OK +18:07:35> Cluster should eventually be up again: OK +18:07:35> Cluster is writable again: OK +18:07:35> Restarting node #1: OK +18:07:35> Instance #1 is now a slave: OK +18:07:35> We can read back the value we set before: OK --- Iteration 8 --- -09:11:33> Wait for slave of #0 to sync: OK -09:11:33> Cluster is writable before failover: OK -09:11:34> Terminating node #0: OK -09:11:34> Wait failover by #5 with old epoch 1: OK -09:11:40> Cluster should eventually be up again: OK -09:11:40> Cluster is writable again: OK -09:11:40> Restarting node #0: OK -09:11:41> Instance #0 is now a slave: OK -09:11:41> We can read back the value we set before: OK +18:07:35> Cluster is writable before failover: OK +18:07:35> Terminating node #9: OK +18:07:35> Cluster should eventually be up again: OK +18:07:35> Cluster is writable again: OK +18:07:35> Restarting node #9: OK +18:07:36> Instance #9 is now a slave: OK +18:07:36> We can read back the value we set before: OK --- Iteration 7 --- -09:11:41> Wait for slave of #5 to sync: OK -09:11:41> Cluster is writable before failover: OK -09:11:41> Terminating node #5: OK -09:11:43> Wait failover by #0 with old epoch 27: OK -09:11:46> Cluster should eventually be up again: OK -09:11:46> Cluster is writable again: OK -09:11:47> Restarting node #5: OK -09:11:47> Instance #5 is now a slave: OK -09:11:47> We can read back the value we set before: OK +18:07:36> Wait for slave of #3 to sync: OK +18:07:36> Cluster is writable before failover: OK +18:07:36> Terminating node #3: OK +18:07:36> Wait failover by #8 with old epoch 4: OK +18:07:41> Cluster should eventually be up again: OK +18:07:41> Cluster is writable again: OK +18:07:42> Restarting node #3: OK +18:07:42> Instance #3 is now a slave: OK +18:07:42> We can read back the value we set before: OK --- Iteration 6 --- -09:11:47> Cluster is writable before failover: OK -09:11:48> Terminating node #5: OK -09:11:49> Cluster should eventually be up again: OK -09:11:49> Cluster is writable again: OK -09:11:49> Restarting node #5: OK -09:11:49> Instance #5 is now a slave: OK -09:11:49> We can read back the value we set before: OK +18:07:42> Wait for slave of #2 to sync: OK +18:07:42> Cluster is writable before failover: OK +18:07:42> Terminating node #2: OK +18:07:43> Wait failover by #7 with old epoch 23: OK +18:07:48> Cluster should eventually be up again: OK +18:07:48> Cluster is writable again: OK +18:07:48> Restarting node #2: OK +18:07:48> Instance #2 is now a slave: OK +18:07:48> We can read back the value we set before: OK --- Iteration 5 --- -09:11:49> Cluster is writable before failover: OK -09:11:50> Terminating node #6: OK -09:11:50> Cluster should eventually be up again: OK -09:11:50> Cluster is writable again: OK -09:11:50> Restarting node #6: OK -09:11:51> Instance #6 is now a slave: OK -09:11:51> We can read back the value we set before: OK +18:07:49> Wait for slave of #7 to sync: OK +18:07:49> Cluster is writable before failover: OK +18:07:49> Terminating node #7: OK +18:07:49> Wait failover by #2 with old epoch 25: OK +18:07:55> Cluster should eventually be up again: OK +18:07:55> Cluster is writable again: OK +18:07:55> Restarting node #7: OK +18:07:56> Instance #7 is now a slave: OK +18:07:56> We can read back the value we set before: OK --- Iteration 4 --- -09:11:51> Cluster is writable before failover: OK -09:11:51> Terminating node #8: OK -09:11:51> Cluster should eventually be up again: OK -09:11:51> Cluster is writable again: OK -09:11:51> Restarting node #8: OK -09:11:52> Instance #8 is now a slave: OK -09:11:52> We can read back the value we set before: OK +18:07:56> Cluster is writable before failover: OK +18:07:56> Terminating node #3: OK +18:07:56> Cluster should eventually be up again: OK +18:07:56> Cluster is writable again: OK +18:07:56> Restarting node #3: OK +18:07:56> Instance #3 is now a slave: OK +18:07:56> We can read back the value we set before: OK --- Iteration 3 --- -09:11:52> Wait for slave of #9 to sync: OK -09:11:52> Cluster is writable before failover: OK -09:11:53> Terminating node #9: OK -09:11:54> Wait failover by #4 with old epoch 25: OK -09:11:59> Cluster should eventually be up again: OK -09:11:59> Cluster is writable again: OK -09:12:00> Restarting node #9: OK -09:12:00> Instance #9 is now a slave: OK -09:12:00> We can read back the value we set before: OK +18:07:56> Wait for slave of #0 to sync: OK +18:07:56> Cluster is writable before failover: OK +18:07:56> Terminating node #0: OK +18:07:56> Wait failover by #5 with old epoch 1: OK +18:08:01> Cluster should eventually be up again: OK +18:08:01> Cluster is writable again: OK +18:08:02> Restarting node #0: OK +18:08:02> Instance #0 is now a slave: OK +18:08:02> We can read back the value we set before: OK --- Iteration 2 --- -09:12:00> Cluster is writable before failover: OK -09:12:01> Terminating node #8: OK -09:12:01> Cluster should eventually be up again: OK -09:12:01> Cluster is writable again: OK -09:12:01> Restarting node #8: OK -09:12:02> Instance #8 is now a slave: OK -09:12:02> We can read back the value we set before: OK +18:08:02> Wait for slave of #4 to sync: OK +18:08:02> Cluster is writable before failover: OK +18:08:02> Terminating node #4: OK +18:08:02> Wait failover by #9 with old epoch 5: OK +18:08:07> Cluster should eventually be up again: OK +18:08:07> Cluster is writable again: OK +18:08:07> Restarting node #4: OK +18:08:07> Instance #4 is now a slave: OK +18:08:07> We can read back the value we set before: OK --- Iteration 1 --- -09:12:02> Wait for slave of #4 to sync: OK -09:12:02> Cluster is writable before failover: OK -09:12:02> Terminating node #4: OK -09:12:04> Wait failover by #9 with old epoch 29: OK -09:12:10> Cluster should eventually be up again: OK -09:12:10> Cluster is writable again: OK -09:12:10> Restarting node #4: OK -09:12:11> Instance #4 is now a slave: OK -09:12:11> We can read back the value we set before: OK -09:12:11> Post condition: current_epoch >= my_epoch everywhere: OK +18:08:07> Cluster is writable before failover: OK +18:08:08> Terminating node #0: OK +18:08:08> Cluster should eventually be up again: OK +18:08:08> Cluster is writable again: OK +18:08:08> Restarting node #0: OK +18:08:08> Instance #0 is now a slave: OK +18:08:08> We can read back the value we set before: OK +18:08:08> Post condition: current_epoch >= my_epoch everywhere: OK Testing unit: 04-resharding.tcl -09:12:11> (init) Restart killed instances: OK -09:12:11> Cluster nodes are reachable: OK -09:12:11> Cluster nodes hard reset: OK -09:12:14> Cluster Join and auto-discovery test: OK -09:12:16> Before slots allocation, all nodes report cluster failure: OK -09:12:16> Create a 5 nodes cluster: OK -09:12:20> Cluster is up: OK -09:12:20> Enable AOF in all the instances: OK +18:08:08> (init) Restart killed instances: OK +18:08:08> Cluster nodes are reachable: OK +18:08:08> Cluster nodes hard reset: OK +18:08:09> Cluster Join and auto-discovery test: OK +18:08:20> Before slots allocation, all nodes report cluster failure: OK +18:08:20> Create a 5 nodes cluster: OK +18:08:24> Cluster is up: OK +18:08:24> Enable AOF in all the instances: OK Testing TLS cluster on start node 127.0.0.1:30000, plaintext port 30001 -09:12:21> Cluster consistency during live resharding: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...Starting resharding...W......................................................................................................................................W.........................................................................................................................................W...............................................................................................W.................................................................................................................................................W.......................................................W...................................................................................................W.........................................................................................................................................................W.............................................................................................................................................W..................W...Starting resharding...W................................................W........................................................................................................................W............................................................................W..................................................................................................................................................W..............................................................................................................W................................................................................................................................................W................................................................................................................................................................................................W............................................................................................................................................W.............W...Starting resharding...W...........................................................................W...........................................................................................................................................................................................W................................................................................................................................................................................................W............................................................................................................................W....................................................................................................................................................................W.............................................................................................................................................................................................................W...........................................................WWW...Starting resharding...W.....................................................................................................................W.....................................................................................................................................................................W..............................................................................................................................................................................................................W............................................................................................................................................................................................................W..................................................................................................................W.................................................................................................................................W..............................................WWW...Starting resharding...W.............................................W....................................................................................................................................................................W....................................................................................................................W.......................................................................................................................................................................................................W.....................................................................................................................................W.............................W.........................................................................................................................................................................................W..........................................................................................................................WW...Starting resharding...W.....................................................................................................................W.........................................................................................................................................W...........................................................................................................................................................................W...................................................................................................................................................................................W.......................................................................................................................................................................W.......................................................................................................................................................................W..................................................WWW...Starting resharding...W.............................................W............................................................................................................................................................................................W..................................................................................................................................W..........................................................................................................................W...............................................................................................................................................W..........................................................................................................................................................................................................................W..........................................................................................................................WWW...Starting resharding...W..........................................W.....................................................................................................................................W.....................................................................................................................................................W................................................................................................................................W.........................................................................................................................................................................W..................................................................................................................................................................................W.............................................................................................................................................W.........................................................WW...Starting resharding...W.....................................................................................................................................W........................................................................................................................................................................................................................W.......................................................................................................................................................................W...............................................................................................................................W.......................................................................................................................................................................................W.....................................................................................................................................................................................WWWW...Starting resharding...W..........................................W................................................................................................................................................................................W...........................................................................................................................W.....................................................................................................................................................................W......................................................................................................................................................................W................................................................................................................................W..............................................................................................................................................W........................................................WWOK -09:17:27> Verify 50000 keys for consistency with logical content: OK -09:18:18> Terminate and restart all the instances: OK -09:19:16> Cluster should eventually be up again: OK -09:19:18> Verify 50000 keys after the restart: OK -09:20:03> Disable AOF in all the instances: OK -09:20:03> Verify slaves consistency: OK -09:20:08> Dump sanitization was skipped for migrations: OK +18:08:24> Cluster consistency during live resharding: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...Starting resharding...W...........................................................................W..........................................................................................................................................W.......W................W................W........................................................................................................W....................................................................................W............................................................W...........................................................................................................W.........................................................................................................................................W.................................W................................................................................................................W...............................................................................WWWWWWW...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..................................................................................................................WW...Starting resharding...W.............................................................................................................................................W..........................................................................................................W.........................................................................................................................W.......................................................................W....................................................................................................................................W..........................................................................................................................................W................................................................................................................................................................W..........................................................................................................................WW...Starting resharding...W.............................................W..................................................................................................................................W...................................................................................................................W...............................................................................W..............................................................................................................................................................W........................................................................................................................................................W...........................................................................................................................................................W...........................................................................................................................................W.........W...Starting resharding...W.................................W...........................................................................................................................................W....................................................................................................................................W...................................................................................................................................................W............................................................................................................................................................W.........................................................................................................................................................................W.................................................................................................................................W..........................................................................................................WW...Starting resharding...W.................................W.............................................................................................................................................................W...........................................................................................................................W........................................................................................................................................................W..............................................................................................................................................W...........................................................................................................................................W................................................................................................................................W.................................................................................................................................WW...Starting resharding...W.................................W................................................................................................................................................................W...................................................................................................W.......................................................................................................................W.....................................................................................................................W...................................................................................................................................................W..............................................................................................................................................................W...................................................................................................................W..............................................WOK +18:10:35> Verify 50000 keys for consistency with logical content: OK +18:10:44> Terminate and restart all the instances: OK +18:10:49> Cluster should eventually be up again: OK +18:10:51> Verify 50000 keys after the restart: OK +18:10:59> Disable AOF in all the instances: OK +18:10:59> Verify slaves consistency: OK +18:11:00> Dump sanitization was skipped for migrations: OK Testing unit: 07-replica-migration.tcl -09:20:08> (init) Restart killed instances: OK -09:20:08> Cluster nodes are reachable: OK -09:20:08> Cluster nodes hard reset: OK -09:20:26> Cluster Join and auto-discovery test: OK -09:20:28> Before slots allocation, all nodes report cluster failure: OK -09:20:28> Create a 5 nodes cluster: OK -09:20:32> Cluster is up: OK -09:20:32> Each master should have two replicas attached: OK -09:20:32> Killing all the slaves of master #0 and #1: OK -09:20:38> Master #0 should have at least one replica: OK -09:20:44> Master #1 should have at least one replica: OK -09:20:44> Master #2 should have at least one replica: OK -09:20:44> Master #3 should have at least one replica: OK -09:20:44> Master #4 should have at least one replica: OK -09:20:44> (init) Restart killed instances: valkey/5 valkey/6 valkey/10 valkey/11 OK -09:20:46> Cluster nodes are reachable: OK -09:20:46> Cluster nodes hard reset: OK -09:20:49> Cluster Join and auto-discovery test: OK -09:20:51> Before slots allocation, all nodes report cluster failure: OK -09:20:51> Create a 5 nodes cluster: OK -09:20:55> Cluster is up: OK -09:20:55> Kill slave #7 of master #2. Only slave left is #12 now: OK -09:20:57> Killing master node #2, #12 should failover: OK -09:20:57> Wait for failover: OK -09:21:02> Cluster should eventually be up again: OK -09:21:03> Cluster is writable: OK -09:21:03> Instance 12 is now a master without slaves: OK -09:21:03> Master #12 should get at least one migrated replica: OK +18:11:00> (init) Restart killed instances: OK +18:11:00> Cluster nodes are reachable: OK +18:11:00> Cluster nodes hard reset: OK +18:11:00> Cluster Join and auto-discovery test: OK +18:11:03> Before slots allocation, all nodes report cluster failure: OK +18:11:03> Create a 5 nodes cluster: OK +18:11:07> Cluster is up: OK +18:11:07> Each master should have two replicas attached: OK +18:11:07> Killing all the slaves of master #0 and #1: OK +18:11:12> Master #0 should have at least one replica: OK +18:11:17> Master #1 should have at least one replica: OK +18:11:17> Master #2 should have at least one replica: OK +18:11:17> Master #3 should have at least one replica: OK +18:11:17> Master #4 should have at least one replica: OK +18:11:17> (init) Restart killed instances: valkey/5 valkey/6 valkey/10 valkey/11 OK +18:11:19> Cluster nodes are reachable: OK +18:11:19> Cluster nodes hard reset: OK +18:11:21> Cluster Join and auto-discovery test: OK +18:11:23> Before slots allocation, all nodes report cluster failure: OK +18:11:23> Create a 5 nodes cluster: OK +18:11:26> Cluster is up: OK +18:11:26> Kill slave #7 of master #2. Only slave left is #12 now: OK +18:11:26> Killing master node #2, #12 should failover: OK +18:11:27> Wait for failover: OK +18:11:33> Cluster should eventually be up again: OK +18:11:33> Cluster is writable: OK +18:11:33> Instance 12 is now a master without slaves: OK +18:11:33> Master #12 should get at least one migrated replica: OK Testing unit: 12-replica-migration-2.tcl -09:21:08> (init) Restart killed instances: valkey/2 valkey/7 OK -09:21:09> Cluster nodes are reachable: OK -09:21:09> Cluster nodes hard reset: OK -09:21:11> Cluster Join and auto-discovery test: OK -09:21:16> Before slots allocation, all nodes report cluster failure: OK -09:21:16> Create a 5 nodes cluster: OK -09:21:19> Cluster is up: OK -09:21:19> Each master should have at least two replicas attached: OK -09:21:19> Set allow-replica-migration yes: OK -09:21:19> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) +18:11:38> (init) Restart killed instances: valkey/2 valkey/7 OK +18:11:40> Cluster nodes are reachable: OK +18:11:40> Cluster nodes hard reset: OK +18:12:12> Cluster Join and auto-discovery test: OK +18:12:28> Before slots allocation, all nodes report cluster failure: OK +18:12:29> Create a 5 nodes cluster: OK +18:12:54> Cluster is up: OK +18:12:55> Each master should have at least two replicas attached: OK +18:12:55> Set allow-replica-migration yes: OK +18:12:55> 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: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:30002 +#################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30004 -##########################################################################################################################################################################################################################################################################################################################################################################*** clusterManagerMoveSlot: NOREPLICAS Not enough good replicas to write. +########################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################*** 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 @@ -1177,85 +3583,73 @@ invoked from within "source $test " Testing unit: 12.1-replica-migration-3.tcl -09:23:19> (init) Restart killed instances: OK -09:23:19> Cluster nodes are reachable: OK -09:23:19> Cluster nodes hard reset: OK -09:23:24> Cluster Join and auto-discovery test: OK -09:23:27> Before slots allocation, all nodes report cluster failure: OK -09:23:28> Create a 5 nodes cluster: OK -09:23:31> Cluster is up: OK -09:23:31> Each master should have at least two replicas attached: OK -09:23:31> Set allow-replica-migration no: OK -09:23:31> 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 -#######################*** clusterManagerMoveSlot: NOREPLICAS Not enough good replicas to write. -FAILED: caught an error in the test child process exited abnormally -child process exited abnormally +18:17:17> (init) Restart killed instances: OK +18:17:17> Cluster nodes are reachable: OK +18:17:18> Cluster nodes hard reset: OK +18:18:14> Cluster Join and auto-discovery test: OK +18:18:19> Before slots allocation, all nodes report cluster failure: OK +18:18:19> Create a 5 nodes cluster: FAILED: Cluster node 2 cluster_state:fail +(Jumping to next unit after error) +FAILED: caught an error in the test +assertion:Cluster node 2 cluster_state:fail 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) +"foreach_valkey_id id { + if {[instance_is_killed valkey $id]} continue + wait_for_condition 1000 50 { + [CI $id cluster_state] e..." + (procedure "assert_cluster_state" line 2) invoked from within -"uplevel 1 $code" - (procedure "test" line 6) +"assert_cluster_state ok" + (procedure "cluster_create_with_continuous_slots" 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.1-replica-migration-3.tcl" line 38) +"cluster_create_with_continuous_slots 5 15" + ("uplevel" body line 2) invoked from within -"source $test " +"uplevel 1 $code" Testing unit: 28-cluster-shards.tcl -09:25:08> (init) Restart killed instances: OK -09:25:08> Cluster nodes are reachable: OK -09:25:08> Cluster nodes hard reset: OK -09:25:13> Cluster Join and auto-discovery test: OK -09:25:17> Before slots allocation, all nodes report cluster failure: OK -09:25:17> Create a 8 nodes cluster with 4 shards: OK -09:25:17> Cluster should start ok: OK -09:25:21> Set cluster hostnames and verify they are propagated: OK -09:25:26> Verify information about the shards: OK -09:25:30> Verify no slot shard: OK -09:25:30> Kill a node and tell the replica to immediately takeover: OK -09:25:33> Verify health as fail for killed node: OK -09:25:35> Restarting primary node: OK -09:25:35> Instance #0 gets converted into a replica: OK -09:25:35> Test the replica reports a loading state while it's loading: OK -09:25:40> Regression test for a crash when calling SHARDS during handshake: OK -09:25:41> Cluster is up: OK -09:25:44> Shard ids are unique: OK -09:25:44> CLUSTER MYSHARDID reports same id for both primary and replica: OK -09:25:44> New replica receives primary's shard id: OK -09:25:44> CLUSTER MYSHARDID reports same shard id after shard restart: OK -09:25:48> CLUSTER MYSHARDID reports same shard id after cluster restart: OK +18:19:13> (init) Restart killed instances: OK +18:19:13> Cluster nodes are reachable: OK +18:19:13> Cluster nodes hard reset: OK +18:19:14> Cluster Join and auto-discovery test: OK +18:19:18> Before slots allocation, all nodes report cluster failure: OK +18:19:18> Create a 8 nodes cluster with 4 shards: OK +18:19:18> Cluster should start ok: OK +18:19:21> Set cluster hostnames and verify they are propagated: OK +18:19:23> Verify information about the shards: OK +18:19:24> Verify no slot shard: OK +18:19:24> Kill a node and tell the replica to immediately takeover: OK +18:19:25> Verify health as fail for killed node: OK +18:19:29> Restarting primary node: OK +18:19:29> Instance #0 gets converted into a replica: OK +18:19:29> Test the replica reports a loading state while it's loading: OK +18:19:32> Regression test for a crash when calling SHARDS during handshake: OK +18:19:32> Cluster is up: OK +18:19:35> Shard ids are unique: OK +18:19:35> CLUSTER MYSHARDID reports same id for both primary and replica: OK +18:19:35> New replica receives primary's shard id: OK +18:19:35> CLUSTER MYSHARDID reports same shard id after shard restart: OK +18:19:38> CLUSTER MYSHARDID reports same shard id after cluster restart: OK Cleaning up... -killing stale instance 350966 -killing stale instance 351249 -killing stale instance 352681 -killing stale instance 352891 -killing stale instance 353008 -killing stale instance 353101 -killing stale instance 353211 -killing stale instance 353287 -killing stale instance 353456 -killing stale instance 355149 -killing stale instance 363275 -killing stale instance 363350 -killing stale instance 400761 -killing stale instance 400982 -killing stale instance 401163 -killing stale instance 401581 -killing stale instance 401714 -killing stale instance 401773 -killing stale instance 401859 -killing stale instance 401942 +killing stale instance 3878806 +killing stale instance 3878820 +killing stale instance 3878853 +killing stale instance 3878863 +killing stale instance 3878874 +killing stale instance 3878885 +killing stale instance 3878895 +killing stale instance 3878906 +killing stale instance 3878917 +killing stale instance 3878928 +killing stale instance 3879179 +killing stale instance 3879185 +killing stale instance 3962078 +killing stale instance 3962126 +killing stale instance 3962157 +killing stale instance 3962171 +killing stale instance 3962210 +killing stale instance 3962236 +killing stale instance 3962350 +killing stale instance 3962459 WARNING 4 test(s) failed. ./runtest-sentinel || true Starting sentinel #0 at port 20000 @@ -1269,257 +3663,689 @@ Starting valkey #3 at port 30003 Starting valkey #4 at port 30004 Testing unit: 00-base.tcl -09:26:06> (start-init) Flush config and compare rewrite config file lines: OK -09:26:06> (init) Restart killed instances: OK -09:26:06> (init) Remove old primary entry from sentinels: OK -09:26:06> (init) Create a primary-replicas cluster of 5 instances: OK -09:26:06> (init) Sentinels can start monitoring a primary: OK -09:26:06> (init) Sentinels can talk with the primary: OK -09:26:06> (init) Sentinels are able to auto-discover other sentinels: OK -09:26:08> (init) Sentinels are able to auto-discover replicas: OK -09:26:08> Sentinel command flag infrastructure works correctly: OK -09:26:08> SENTINEL HELP output the sentinel subcommand help: OK -09:26:08> SENTINEL MYID return the sentinel instance ID: OK -09:26:08> SENTINEL INFO CACHE returns the cached info: OK -09:26:08> SENTINEL PENDING-SCRIPTS returns the information about pending scripts: OK -09:26:08> SENTINEL PRIMARIES returns a list of monitored primaries: OK -09:26:08> SENTINEL SENTINELS returns a list of sentinel instances: OK -09:26:08> SENTINEL SLAVES returns a list of the monitored replicas: OK -09:26:08> SENTINEL SIMULATE-FAILURE HELP list supported flags: OK -09:26:08> Basic failover works if the primary is down: OK -09:26:16> New primary 127.0.0.1:30004 role matches: OK -09:26:16> All the other slaves now point to the new primary: OK -09:26:16> The old primary eventually gets reconfigured as a slave: OK -09:26:27> ODOWN is not possible without N (quorum) Sentinels reports: OK -09:26:28> Failover is not possible without majority agreement: OK -09:26:31> Failover works if we configure for absolute agreement: OK -09:26:36> New primary 127.0.0.1:30001 role matches: OK -09:26:36> SENTINEL RESET can resets the primary: OK -09:26:36> SENTINEL IS-PRIMARY-DOWN-BY-ADDR checks if the primary is down: OK +18:19:57> (start-init) Flush config and compare rewrite config file lines: OK +18:19:58> (init) Restart killed instances: OK +18:19:58> (init) Remove old primary entry from sentinels: OK +18:19:58> (init) Create a primary-replicas cluster of 5 instances: OK +18:19:58> (init) Sentinels can start monitoring a primary: OK +18:19:59> (init) Sentinels can talk with the primary: OK +18:19:59> (init) Sentinels are able to auto-discover other sentinels: OK +18:20:00> (init) Sentinels are able to auto-discover replicas: OK +18:20:00> Sentinel command flag infrastructure works correctly: OK +18:20:00> SENTINEL HELP output the sentinel subcommand help: OK +18:20:00> SENTINEL MYID return the sentinel instance ID: OK +18:20:00> SENTINEL INFO CACHE returns the cached info: OK +18:20:00> SENTINEL PENDING-SCRIPTS returns the information about pending scripts: OK +18:20:00> SENTINEL PRIMARIES returns a list of monitored primaries: OK +18:20:00> SENTINEL SENTINELS returns a list of sentinel instances: OK +18:20:00> SENTINEL SLAVES returns a list of the monitored replicas: OK +18:20:00> SENTINEL SIMULATE-FAILURE HELP list supported flags: OK +18:20:00> Basic failover works if the primary is down: OK +18:20:05> New primary 127.0.0.1:30004 role matches: OK +18:20:05> All the other slaves now point to the new primary: OK +18:20:05> The old primary eventually gets reconfigured as a slave: OK +18:20:15> ODOWN is not possible without N (quorum) Sentinels reports: OK +18:20:16> Failover is not possible without majority agreement: OK +18:20:20> Failover works if we configure for absolute agreement: OK +18:20:24> New primary 127.0.0.1:30001 role matches: OK +18:20:24> SENTINEL RESET can resets the primary: OK +18:20:24> SENTINEL IS-PRIMARY-DOWN-BY-ADDR checks if the primary is down: OK Testing unit: 01-conf-update.tcl -09:26:36> (init) Restart killed instances: OK -09:26:36> (init) Remove old primary entry from sentinels: OK -09:26:36> (init) Create a primary-replicas cluster of 5 instances: OK -09:26:37> (init) Sentinels can start monitoring a primary: OK -09:26:37> (init) Sentinels can talk with the primary: OK -09:26:37> (init) Sentinels are able to auto-discover other sentinels: OK -09:26:39> (init) Sentinels are able to auto-discover replicas: OK -09:26:39> We can failover with Sentinel 1 crashed: OK -09:26:44> After Sentinel 1 is restarted, its config gets updated: OK -09:26:45> New primary 127.0.0.1:30001 role matches: OK -09:26:45> Update log level: OK +18:20:24> (init) Restart killed instances: OK +18:20:24> (init) Remove old primary entry from sentinels: OK +18:20:24> (init) Create a primary-replicas cluster of 5 instances: OK +18:20:24> (init) Sentinels can start monitoring a primary: OK +18:20:25> (init) Sentinels can talk with the primary: OK +18:20:25> (init) Sentinels are able to auto-discover other sentinels: OK +18:20:27> (init) Sentinels are able to auto-discover replicas: OK +18:20:27> We can failover with Sentinel 1 crashed: OK +18:20:36> After Sentinel 1 is restarted, its config gets updated: OK +18:20:39> New primary 127.0.0.1:30003 role matches: OK +18:20:39> Update log level: OK Testing unit: 02-replicas-reconf.tcl -09:26:45> (init) Restart killed instances: OK -09:26:45> (init) Remove old primary entry from sentinels: OK -09:26:45> (init) Create a primary-replicas cluster of 5 instances: OK -09:26:45> (init) Sentinels can start monitoring a primary: OK -09:26:45> (init) Sentinels can talk with the primary: OK -09:26:45> (init) Sentinels are able to auto-discover other sentinels: OK -09:26:50> (init) Sentinels are able to auto-discover replicas: OK -09:26:50> Check that slaves replicate from current primary: OK -09:26:50> Crash the primary and force a failover: OK -09:26:56> Check that slaves replicate from current primary: OK -09:26:56> Kill a slave instance: OK -09:26:57> Crash the primary and force a failover: OK -09:27:00> Check that slaves replicate from current primary: OK -09:27:01> Wait for failover to end: OK -09:27:01> Restart killed slave and test replication of slaves again...: OK -09:27:01> Check that slaves replicate from current primary: OK +18:20:44> (init) Restart killed instances: OK +18:20:44> (init) Remove old primary entry from sentinels: OK +18:20:44> (init) Create a primary-replicas cluster of 5 instances: OK +18:20:44> (init) Sentinels can start monitoring a primary: OK +18:20:45> (init) Sentinels can talk with the primary: OK +18:20:45> (init) Sentinels are able to auto-discover other sentinels: OK +18:20:47> (init) Sentinels are able to auto-discover replicas: OK +18:20:47> Check that slaves replicate from current primary: OK +18:20:47> Crash the primary and force a failover: OK +18:20:51> Check that slaves replicate from current primary: OK +18:21:02> Kill a slave instance: OK +18:21:02> Crash the primary and force a failover: OK +18:21:09> Check that slaves replicate from current primary: OK +18:21:11> Wait for failover to end: OK +18:21:11> Restart killed slave and test replication of slaves again...: OK +18:21:11> Check that slaves replicate from current primary: OK Testing unit: 03-runtime-reconf.tcl -09:27:13> (init) Restart killed instances: OK -09:27:13> (init) Remove old primary entry from sentinels: OK -09:27:13> (init) Create a primary-replicas cluster of 5 instances: OK -09:27:13> (init) Sentinels can start monitoring a primary: OK -09:27:14> (init) Sentinels can talk with the primary: OK -09:27:14> (init) Sentinels are able to auto-discover other sentinels: OK -09:27:14> (init) Sentinels are able to auto-discover replicas: OK -09:27:14> Sentinels (re)connection following SENTINEL SET myprimary auth-pass: OK -09:27:15> Sentinels (re)connection following primary ACL change: OK -09:27:19> Set parameters in normal case: OK -09:27:19> Set parameters in normal case with bad format: OK -09:27:19> Sentinel Set with other error situations: OK +18:21:21> (init) Restart killed instances: OK +18:21:21> (init) Remove old primary entry from sentinels: OK +18:21:21> (init) Create a primary-replicas cluster of 5 instances: OK +18:21:21> (init) Sentinels can start monitoring a primary: OK +18:21:22> (init) Sentinels can talk with the primary: OK +18:21:22> (init) Sentinels are able to auto-discover other sentinels: OK +18:21:22> (init) Sentinels are able to auto-discover replicas: OK +18:21:22> Sentinels (re)connection following SENTINEL SET myprimary auth-pass: OK +18:21:23> Sentinels (re)connection following primary ACL change: OK +18:21:26> Set parameters in normal case: OK +18:21:27> Set parameters in normal case with bad format: OK +18:21:27> Sentinel Set with other error situations: OK Testing unit: 04-slave-selection.tcl Testing unit: 05-manual.tcl -09:27:19> (init) Restart killed instances: OK -09:27:19> (init) Remove old primary entry from sentinels: OK -09:27:19> (init) Create a primary-replicas cluster of 5 instances: OK -09:27:19> (init) Sentinels can start monitoring a primary: OK -09:27:20> (init) Sentinels can talk with the primary: OK -09:27:20> (init) Sentinels are able to auto-discover other sentinels: OK -09:27:21> (init) Sentinels are able to auto-discover replicas: OK -09:27:22> Manual failover works: OK -09:27:23> New primary 127.0.0.1:30001 role matches: OK -09:27:23> All the other slaves now point to the new primary: OK -09:27:23> The old primary eventually gets reconfigured as a slave: OK -09:27:27> (init) Restart killed instances: OK -09:27:27> (init) Remove old primary entry from sentinels: OK -09:27:27> (init) Create a primary-replicas cluster of 5 instances: OK -09:27:27> (init) Sentinels can start monitoring a primary: OK -09:27:27> (init) Sentinels can talk with the primary: OK -09:27:27> (init) Sentinels are able to auto-discover other sentinels: OK -09:27:29> (init) Sentinels are able to auto-discover replicas: OK -09:27:29> SENTINEL SIMULATE-FAILURE crash-after-election works: OK -09:27:29> (init) Restart killed instances: OK -09:27:29> (init) Remove old primary entry from sentinels: OK -09:27:29> (init) Create a primary-replicas cluster of 5 instances: OK -09:27:29> (init) Sentinels can start monitoring a primary: OK -09:27:30> (init) Sentinels can talk with the primary: OK -09:27:30> (init) Sentinels are able to auto-discover other sentinels: OK -09:27:32> (init) Sentinels are able to auto-discover replicas: OK -09:27:32> SENTINEL SIMULATE-FAILURE crash-after-promotion works: OK +18:21:27> (init) Restart killed instances: OK +18:21:27> (init) Remove old primary entry from sentinels: OK +18:21:27> (init) Create a primary-replicas cluster of 5 instances: OK +18:21:27> (init) Sentinels can start monitoring a primary: OK +18:21:29> (init) Sentinels can talk with the primary: OK +18:21:29> (init) Sentinels are able to auto-discover other sentinels: OK +18:21:29> (init) Sentinels are able to auto-discover replicas: OK +18:21:29> Manual failover works: OK +18:21:30> New primary 127.0.0.1:30001 role matches: OK +18:21:30> All the other slaves now point to the new primary: OK +18:21:30> The old primary eventually gets reconfigured as a slave: OK +18:21:35> (init) Restart killed instances: OK +18:21:35> (init) Remove old primary entry from sentinels: OK +18:21:37> (init) Create a primary-replicas cluster of 5 instances: OK +18:21:37> (init) Sentinels can start monitoring a primary: OK +18:21:39> (init) Sentinels can talk with the primary: OK +18:21:39> (init) Sentinels are able to auto-discover other sentinels: OK +18:21:39> (init) Sentinels are able to auto-discover replicas: OK +18:21:39> SENTINEL SIMULATE-FAILURE crash-after-election works: OK +18:21:39> (init) Restart killed instances: OK +18:21:39> (init) Remove old primary entry from sentinels: OK +18:21:39> (init) Create a primary-replicas cluster of 5 instances: OK +18:21:40> (init) Sentinels can start monitoring a primary: OK +18:21:40> (init) Sentinels can talk with the primary: OK +18:21:40> (init) Sentinels are able to auto-discover other sentinels: OK +18:21:42> (init) Sentinels are able to auto-discover replicas: OK +18:21:42> SENTINEL SIMULATE-FAILURE crash-after-promotion works: OK Testing unit: 06-ckquorum.tcl -09:27:33> (init) Restart killed instances: OK -09:27:33> (init) Remove old primary entry from sentinels: OK -09:27:33> (init) Create a primary-replicas cluster of 5 instances: OK -09:27:33> (init) Sentinels can start monitoring a primary: OK -09:27:33> (init) Sentinels can talk with the primary: OK -09:27:33> (init) Sentinels are able to auto-discover other sentinels: OK -09:27:35> (init) Sentinels are able to auto-discover replicas: OK -09:27:35> CKQUORUM reports OK and the right amount of Sentinels: OK -09:27:35> CKQUORUM detects quorum cannot be reached: OK -09:27:35> CKQUORUM detects failover authorization cannot be reached: OK +18:21:43> (init) Restart killed instances: OK +18:21:43> (init) Remove old primary entry from sentinels: OK +18:21:43> (init) Create a primary-replicas cluster of 5 instances: OK +18:21:43> (init) Sentinels can start monitoring a primary: OK +18:21:43> (init) Sentinels can talk with the primary: OK +18:21:43> (init) Sentinels are able to auto-discover other sentinels: OK +18:21:45> (init) Sentinels are able to auto-discover replicas: OK +18:21:45> CKQUORUM reports OK and the right amount of Sentinels: OK +18:21:45> CKQUORUM detects quorum cannot be reached: OK +18:21:45> CKQUORUM detects failover authorization cannot be reached: OK Testing unit: 07-down-conditions.tcl -09:27:38> (init) Restart killed instances: OK -09:27:38> (init) Remove old primary entry from sentinels: OK -09:27:38> (init) Create a primary-replicas cluster of 5 instances: OK -09:27:38> (init) Sentinels can start monitoring a primary: OK -09:27:38> (init) Sentinels can talk with the primary: OK -09:27:38> (init) Sentinels are able to auto-discover other sentinels: OK -09:27:40> (init) Sentinels are able to auto-discover replicas: OK -09:27:40> Crash the majority of Sentinels to prevent failovers for this unit: OK -09:27:41> SDOWN is triggered by non-responding but not crashed instance: OK -09:27:44> SDOWN is triggered by crashed instance: OK -09:27:46> SDOWN is triggered by primaries advertising as slaves: OK -09:27:50> SDOWN is triggered by misconfigured instance replying with errors: OK -09:28:01> SDOWN is triggered if we rename PING to PONG: OK +18:21:47> (init) Restart killed instances: OK +18:21:47> (init) Remove old primary entry from sentinels: OK +18:21:48> (init) Create a primary-replicas cluster of 5 instances: OK +18:21:48> (init) Sentinels can start monitoring a primary: OK +18:21:48> (init) Sentinels can talk with the primary: OK +18:21:48> (init) Sentinels are able to auto-discover other sentinels: OK +18:21:50> (init) Sentinels are able to auto-discover replicas: OK +18:21:50> Crash the majority of Sentinels to prevent failovers for this unit: OK +18:21:50> SDOWN is triggered by non-responding but not crashed instance: OK +18:21:52> SDOWN is triggered by crashed instance: OK +18:21:55> SDOWN is triggered by primaries advertising as slaves: OK +18:22:00> SDOWN is triggered by misconfigured instance replying with errors: OK +18:22:10> SDOWN is triggered if we rename PING to PONG: OK Testing unit: 08-hostname-conf.tcl -09:28:03> (pre-init) Configure instances and sentinel for hostname use: sentinel/0 sentinel/1 sentinel/2 OK -09:28:03> (init) Restart killed instances: OK -09:28:03> (init) Remove old primary entry from sentinels: OK -09:28:03> (init) Create a primary-replicas cluster of 5 instances: OK -09:28:03> (init) Sentinels can start monitoring a primary: OK -09:28:04> (init) Sentinels can talk with the primary: OK -09:28:04> (init) Sentinels are able to auto-discover other sentinels: OK -09:28:05> (init) Sentinels are able to auto-discover replicas: OK -09:28:05> Sentinel announces hostnames: OK -09:28:05> (post-cleanup) Configure instances and sentinel for IPs: OK +18:22:13> (pre-init) Configure instances and sentinel for hostname use: sentinel/0 sentinel/1 sentinel/2 OK +18:22:13> (init) Restart killed instances: OK +18:22:13> (init) Remove old primary entry from sentinels: OK +18:22:13> (init) Create a primary-replicas cluster of 5 instances: OK +18:22:13> (init) Sentinels can start monitoring a primary: OK +18:22:13> (init) Sentinels can talk with the primary: OK +18:22:13> (init) Sentinels are able to auto-discover other sentinels: OK +18:22:15> (init) Sentinels are able to auto-discover replicas: OK +18:22:15> Sentinel announces hostnames: OK +18:22:15> (post-cleanup) Configure instances and sentinel for IPs: OK Testing unit: 09-acl-support.tcl -09:28:06> (init) Restart killed instances: OK -09:28:06> (init) Remove old primary entry from sentinels: OK -09:28:06> (init) Create a primary-replicas cluster of 5 instances: OK -09:28:06> (init) Sentinels can start monitoring a primary: OK -09:28:06> (init) Sentinels can talk with the primary: OK -09:28:06> (init) Sentinels are able to auto-discover other sentinels: OK -09:28:08> (init) Sentinels are able to auto-discover replicas: OK -09:28:08> (post-init) Set up ACL configuration: OK -09:28:08> SENTINEL CONFIG SET handles on-the-fly credentials reconfiguration: OK -09:28:10> (post-cleanup) Tear down ACL configuration: OK +18:22:15> (init) Restart killed instances: OK +18:22:15> (init) Remove old primary entry from sentinels: OK +18:22:15> (init) Create a primary-replicas cluster of 5 instances: OK +18:22:15> (init) Sentinels can start monitoring a primary: OK +18:22:16> (init) Sentinels can talk with the primary: OK +18:22:16> (init) Sentinels are able to auto-discover other sentinels: OK +18:22:17> (init) Sentinels are able to auto-discover replicas: OK +18:22:17> (post-init) Set up ACL configuration: OK +18:22:17> SENTINEL CONFIG SET handles on-the-fly credentials reconfiguration: OK +18:22:24> (post-cleanup) Tear down ACL configuration: OK Testing unit: 10-replica-priority.tcl -09:28:10> (init) Restart killed instances: OK -09:28:10> (init) Remove old primary entry from sentinels: OK -09:28:10> (init) Create a primary-replicas cluster of 5 instances: OK -09:28:10> (init) Sentinels can start monitoring a primary: OK -09:28:11> (init) Sentinels can talk with the primary: OK -09:28:11> (init) Sentinels are able to auto-discover other sentinels: OK -09:28:12> (init) Sentinels are able to auto-discover replicas: OK -09:28:12> Check acceptable replica-priority values: OK -09:28:12> Set replica-announced=yes on all replicas: OK -09:28:12> Check sentinel replies with 4 replicas: OK -09:28:12> Set replica-announced=no on 2 replicas: OK -09:28:13> Check sentinel replies with 2 replicas: OK -09:28:13> Set replica-announced=yes on all replicas: OK -09:28:13> Check sentinel replies with 4 replicas: OK +18:22:24> (init) Restart killed instances: OK +18:22:24> (init) Remove old primary entry from sentinels: OK +18:22:24> (init) Create a primary-replicas cluster of 5 instances: OK +18:22:24> (init) Sentinels can start monitoring a primary: OK +18:22:24> (init) Sentinels can talk with the primary: OK +18:22:24> (init) Sentinels are able to auto-discover other sentinels: OK +18:22:26> (init) Sentinels are able to auto-discover replicas: OK +18:22:26> Check acceptable replica-priority values: OK +18:22:26> Set replica-announced=yes on all replicas: OK +18:22:26> Check sentinel replies with 4 replicas: OK +18:22:26> Set replica-announced=no on 2 replicas: OK +18:22:26> Check sentinel replies with 2 replicas: OK +18:22:26> Set replica-announced=yes on all replicas: OK +18:22:26> Check sentinel replies with 4 replicas: OK Testing unit: 11-port-0.tcl -09:28:13> (init) Restart killed instances: OK -09:28:13> (init) Remove old primary entry from sentinels: OK -09:28:13> (init) Create a primary-replicas cluster of 5 instances: OK -09:28:13> (init) Sentinels can start monitoring a primary: OK -09:28:14> (init) Sentinels can talk with the primary: OK -09:28:14> (init) Sentinels are able to auto-discover other sentinels: OK -09:28:14> (init) Sentinels are able to auto-discover replicas: OK -09:28:14> Start/Stop sentinel on same port with a different runID should not change the total number of sentinels: OK +18:22:26> (init) Restart killed instances: OK +18:22:26> (init) Remove old primary entry from sentinels: OK +18:22:26> (init) Create a primary-replicas cluster of 5 instances: OK +18:22:26> (init) Sentinels can start monitoring a primary: OK +18:22:29> (init) Sentinels can talk with the primary: OK +18:22:29> (init) Sentinels are able to auto-discover other sentinels: OK +18:22:29> (init) Sentinels are able to auto-discover replicas: OK +18:22:29> 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 -09:28:15> (init) Restart killed instances: sentinel/4 OK -09:28:15> (init) Remove old primary entry from sentinels: OK -09:28:15> (init) Create a primary-replicas cluster of 5 instances: OK -09:28:15> (init) Sentinels can start monitoring a primary: OK -09:28:16> (init) Sentinels can talk with the primary: OK -09:28:16> (init) Sentinels are able to auto-discover other sentinels: OK -09:28:19> (init) Sentinels are able to auto-discover replicas: OK -09:28:19> Primary reboot in very short time: OK -09:28:28> New primary 127.0.0.1:30001 role matches: OK -09:28:28> All the other slaves now point to the new primary: OK -09:28:28> The old primary eventually gets reconfigured as a slave: OK +18:22:31> (init) Restart killed instances: sentinel/4 OK +18:22:31> (init) Remove old primary entry from sentinels: OK +18:22:31> (init) Create a primary-replicas cluster of 5 instances: OK +18:22:31> (init) Sentinels can start monitoring a primary: OK +18:22:31> (init) Sentinels can talk with the primary: OK +18:22:31> (init) Sentinels are able to auto-discover other sentinels: OK +18:22:33> (init) Sentinels are able to auto-discover replicas: OK +18:22:33> Primary reboot in very short time: OK +18:22:44> New primary 127.0.0.1:30001 role matches: OK +18:22:44> All the other slaves now point to the new primary: OK +18:22:44> The old primary eventually gets reconfigured as a slave: OK Testing unit: 13-info-command.tcl -09:28:41> (init) Restart killed instances: OK -09:28:41> (init) Remove old primary entry from sentinels: OK -09:28:41> (init) Create a primary-replicas cluster of 5 instances: OK -09:28:41> (init) Sentinels can start monitoring a primary: OK -09:28:42> (init) Sentinels can talk with the primary: OK -09:28:42> (init) Sentinels are able to auto-discover other sentinels: OK -09:28:43> (init) Sentinels are able to auto-discover replicas: OK -09:28:43> info command with at most one argument: OK -09:28:43> info command with one sub-section: OK -09:28:43> info command with multiple sub-sections: OK +18:22:51> (init) Restart killed instances: OK +18:22:51> (init) Remove old primary entry from sentinels: OK +18:22:51> (init) Create a primary-replicas cluster of 5 instances: OK +18:22:51> (init) Sentinels can start monitoring a primary: OK +18:22:51> (init) Sentinels can talk with the primary: OK +18:22:51> (init) Sentinels are able to auto-discover other sentinels: OK +18:22:53> (init) Sentinels are able to auto-discover replicas: OK +18:22:53> info command with at most one argument: OK +18:22:53> info command with one sub-section: OK +18:22:53> info command with multiple sub-sections: OK Testing unit: 14-debug-command.tcl -09:28:43> (init) Restart killed instances: OK -09:28:43> (init) Remove old primary entry from sentinels: OK -09:28:44> (init) Create a primary-replicas cluster of 5 instances: OK -09:28:44> (init) Sentinels can start monitoring a primary: OK -09:28:44> (init) Sentinels can talk with the primary: OK -09:28:44> (init) Sentinels are able to auto-discover other sentinels: OK -09:28:46> (init) Sentinels are able to auto-discover replicas: OK -09:28:46> Sentinel debug test with arguments and without argument: OK +18:22:53> (init) Restart killed instances: OK +18:22:53> (init) Remove old primary entry from sentinels: OK +18:22:53> (init) Create a primary-replicas cluster of 5 instances: OK +18:22:53> (init) Sentinels can start monitoring a primary: OK +18:22:53> (init) Sentinels can talk with the primary: OK +18:22:53> (init) Sentinels are able to auto-discover other sentinels: OK +18:22:55> (init) Sentinels are able to auto-discover replicas: OK +18:22:55> Sentinel debug test with arguments and without argument: OK Testing unit: 15-sentinel-deprecated-commands.tcl -09:28:46> (init) Restart killed instances: OK -09:28:46> (init) Remove old primary entry from sentinels: OK -09:28:46> (init) Create a primary-replicas cluster of 5 instances: OK -09:28:46> (init) Sentinels can start monitoring a primary: OK -09:28:46> (init) Sentinels can talk with the primary: OK -09:28:46> (init) Sentinels are able to auto-discover other sentinels: OK -09:28:48> (init) Sentinels are able to auto-discover replicas: OK -09:28:48> SENTINEL MASTERS returns a list of monitored masters (SENTINEL MASTERS as a deprecated command): OK -09:28:48> SENTINEL SLAVES returns a list of the monitored slaves (SENTINEL SLAVES as a deprecated command): OK -09:28:48> SENTINEL MASTER returns the information list of the monitored master (SENTINEL MASTER as a deprecated command): OK -09:28:48> SENTINEL IS-MASTER-DOWN-BY-ADDR checks if the primary is down (SENTINEL IS-MASTER-DOWN-BY-ADDR as a deprecated command): OK +18:22:55> (init) Restart killed instances: OK +18:22:55> (init) Remove old primary entry from sentinels: OK +18:22:55> (init) Create a primary-replicas cluster of 5 instances: OK +18:22:55> (init) Sentinels can start monitoring a primary: OK +18:22:58> (init) Sentinels can talk with the primary: OK +18:22:58> (init) Sentinels are able to auto-discover other sentinels: OK +18:22:58> (init) Sentinels are able to auto-discover replicas: OK +18:22:58> SENTINEL MASTERS returns a list of monitored masters (SENTINEL MASTERS as a deprecated command): OK +18:22:58> SENTINEL SLAVES returns a list of the monitored slaves (SENTINEL SLAVES as a deprecated command): OK +18:22:58> SENTINEL MASTER returns the information list of the monitored master (SENTINEL MASTER as a deprecated command): OK +18:22:58> 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 -09:28:48> (init) Restart killed instances: OK -09:28:48> (init) Remove old primary entry from sentinels: OK -09:28:48> (init) Create a primary-replicas cluster of 5 instances: OK -09:28:48> (init) Sentinels can start monitoring a primary: OK -09:28:48> (init) Sentinels can talk with the primary: OK -09:28:48> (init) Sentinels are able to auto-discover other sentinels: OK -09:28:52> (init) Sentinels are able to auto-discover replicas: OK -09:28:52> SENTINEL CONFIG SET and SENTINEL CONFIG GET handles multiple variables: OK -09:28:52> SENTINEL CONFIG GET for duplicate and unknown variables: OK -09:28:52> SENTINEL CONFIG GET for patterns: OK -09:28:52> SENTINEL CONFIG SET duplicate variables: OK -09:28:52> SENTINEL CONFIG SET, one option does not exist: OK -09:28:52> SENTINEL CONFIG SET, one option with wrong value: OK -09:28:52> SENTINEL CONFIG SET, wrong number of arguments: OK +18:22:58> (init) Restart killed instances: OK +18:22:58> (init) Remove old primary entry from sentinels: OK +18:22:58> (init) Create a primary-replicas cluster of 5 instances: OK +18:22:58> (init) Sentinels can start monitoring a primary: OK +18:22:59> (init) Sentinels can talk with the primary: OK +18:22:59> (init) Sentinels are able to auto-discover other sentinels: OK +18:23:02> (init) Sentinels are able to auto-discover replicas: OK +18:23:02> SENTINEL CONFIG SET and SENTINEL CONFIG GET handles multiple variables: OK +18:23:05> SENTINEL CONFIG GET for duplicate and unknown variables: OK +18:23:06> SENTINEL CONFIG GET for patterns: OK +18:23:06> SENTINEL CONFIG SET duplicate variables: OK +18:23:06> SENTINEL CONFIG SET, one option does not exist: OK +18:23:06> SENTINEL CONFIG SET, one option with wrong value: OK +18:23:06> SENTINEL CONFIG SET, wrong number of arguments: OK Cleaning up... -killing stale instance 403494 -killing stale instance 403508 -killing stale instance 413387 -killing stale instance 420229 -killing stale instance 421821 -killing stale instance 422612 -killing stale instance 423382 -killing stale instance 425966 -killing stale instance 425983 -killing stale instance 426003 -killing stale instance 427278 -killing stale instance 427409 -killing stale instance 427822 +killing stale instance 3963927 +killing stale instance 3963967 +killing stale instance 3967661 +killing stale instance 3975444 +killing stale instance 3977710 +killing stale instance 3979701 +killing stale instance 3981866 +killing stale instance 3985784 +killing stale instance 3985799 +killing stale instance 3985812 +killing stale instance 3988366 +killing stale instance 3988389 +killing stale instance 3989095 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/valkey.conf.288611.2' -removed 'tests/tmp/server.288611.1/dump.rdb' -removed 'tests/tmp/server.288611.1/stdout' -removed 'tests/tmp/server.288611.1/stderr' +removed 'tests/tmp/valkey.conf.3499696.18' +removed 'tests/tmp/server.3499696.141/stdout' +removed 'tests/tmp/server.3499696.141/stderr' +removed 'tests/tmp/server.3499696.1/stdout' +removed 'tests/tmp/server.3499696.1/stderr' +removed 'tests/tmp/server.3499696.260/stdout' +removed 'tests/tmp/server.3499696.260/stderr' +removed 'tests/tmp/valkey.conf.3499696.200' +removed 'tests/tmp/valkey.conf.3499696.208' +removed 'tests/tmp/valkey.conf.3499696.56' +removed 'tests/tmp/server.3499696.17/stdout' +removed 'tests/tmp/server.3499696.17/stderr' +removed 'tests/tmp/valkey.conf.3499696.204' +removed 'tests/tmp/server.3499696.45/stdout' +removed 'tests/tmp/server.3499696.45/stderr' +removed 'tests/tmp/server.3499696.3/stdout' +removed 'tests/tmp/server.3499696.3/stderr' +removed 'tests/tmp/valkey.conf.3499696.239' +removed 'tests/tmp/server.3499696.59/stdout' +removed 'tests/tmp/server.3499696.59/stderr' +removed 'tests/tmp/server.3499696.85/stdout' +removed 'tests/tmp/server.3499696.85/stderr' +removed 'tests/tmp/server.3499696.21/nodes.conf' +removed 'tests/tmp/server.3499696.21/stdout' +removed 'tests/tmp/server.3499696.21/stderr' +removed 'tests/tmp/valkey.conf.3499696.234' +removed 'tests/tmp/valkey.conf.3499696.98' +removed 'tests/tmp/valkey.conf.3499696.283' +removed 'tests/tmp/server.3499696.268/stdout' +removed 'tests/tmp/server.3499696.268/stderr' +removed 'tests/tmp/server.3499696.37/stdout' +removed 'tests/tmp/server.3499696.37/stderr' +removed 'tests/tmp/valkey.conf.3499696.176' +removed 'tests/tmp/server.3499696.73/stdout' +removed 'tests/tmp/server.3499696.73/stderr' +removed 'tests/tmp/server.3499696.39/stdout' +removed 'tests/tmp/server.3499696.39/stderr' +removed 'tests/tmp/server.3499696.47/stdout' +removed 'tests/tmp/server.3499696.47/stderr' +removed 'tests/tmp/server.3499696.25/stdout' +removed 'tests/tmp/server.3499696.25/stderr' +removed 'tests/tmp/valkey.conf.3499696.64' +removed 'tests/tmp/valkey.conf.3499696.44' +removed 'tests/tmp/server.3499696.7/stdout' +removed 'tests/tmp/server.3499696.7/stderr' +removed 'tests/tmp/server.3499696.203/stdout' +removed 'tests/tmp/server.3499696.203/stderr' +removed 'tests/tmp/valkey.conf.3499696.198' +removed 'tests/tmp/valkey.conf.3499696.210' +removed 'tests/tmp/server.3499696.91/stdout' +removed 'tests/tmp/server.3499696.91/stderr' +removed 'tests/tmp/server.3499696.33/stdout' +removed 'tests/tmp/server.3499696.33/stderr' +removed 'tests/tmp/server.3499696.129/stdout' +removed 'tests/tmp/server.3499696.129/somename' +removed 'tests/tmp/server.3499696.129/stderr' +removed 'tests/tmp/server.3499696.280/stdout' +removed 'tests/tmp/server.3499696.280/stderr' +removed 'tests/tmp/server.3499696.23/stdout' +removed 'tests/tmp/server.3499696.23/stderr' +removed 'tests/tmp/valkey.conf.3499696.38' +removed 'tests/tmp/valkey.conf.3499696.220' +removed 'tests/tmp/valkey.conf.3499696.192' +removed 'tests/tmp/server.3499696.183/stdout' +removed 'tests/tmp/server.3499696.183/stderr' +removed 'tests/tmp/server.3499696.266/stdout' +removed 'tests/tmp/server.3499696.266/stderr' +removed 'tests/tmp/valkey.conf.3499696.90' +removed 'tests/tmp/server.3499696.107/stdout' +removed 'tests/tmp/server.3499696.107/stderr' +removed 'tests/tmp/server.3499696.262/stdout' +removed 'tests/tmp/server.3499696.262/stderr' +removed 'tests/tmp/server.3499696.49/stdout' +removed 'tests/tmp/server.3499696.49/stderr' +removed 'tests/tmp/valkey.conf.3499696.152' +removed 'tests/tmp/valkey.conf.3499696.214' +removed 'tests/tmp/server.3499696.117/stdout' +removed 'tests/tmp/server.3499696.117/stderr' +removed 'tests/tmp/valkey.conf.3499696.126' +removed 'tests/tmp/server.3499696.213/stdout' +removed 'tests/tmp/server.3499696.213/stderr' +removed 'tests/tmp/valkey.conf.3499696.196' +removed 'tests/tmp/server.3499696.51/stdout' +removed 'tests/tmp/server.3499696.51/stderr' +removed 'tests/tmp/valkey.conf.3499696.26' +removed 'tests/tmp/valkey.conf.3499696.132' +removed 'tests/tmp/valkey.conf.3499696.6' +removed 'tests/tmp/server.3499696.9/nodes.conf' +removed 'tests/tmp/server.3499696.9/stdout' +removed 'tests/tmp/server.3499696.9/stderr' +removed 'tests/tmp/valkey.conf.3499696.281' +removed 'tests/tmp/server.3499696.105/stdout' +removed 'tests/tmp/server.3499696.105/stderr' +removed 'tests/tmp/server.3499696.81/stdout' +removed 'tests/tmp/server.3499696.81/stderr' +removed 'tests/tmp/valkey.conf.3499696.255' +removed 'tests/tmp/server.3499696.87/stdout' +removed 'tests/tmp/server.3499696.87/stderr' +removed 'tests/tmp/server.3499696.111/stdout' +removed 'tests/tmp/server.3499696.111/stderr' +removed 'tests/tmp/server.3499696.95/stdout' +removed 'tests/tmp/server.3499696.95/stderr' +removed 'tests/tmp/server.3499696.151/stdout' +removed 'tests/tmp/server.3499696.151/stderr' +removed 'tests/tmp/valkey.conf.3499696.62' +removed 'tests/tmp/valkey.conf.3499696.114' +removed 'tests/tmp/server.3499696.189/stdout' +removed 'tests/tmp/server.3499696.189/stderr' +removed 'tests/tmp/server.3499696.209/stdout' +removed 'tests/tmp/server.3499696.209/stderr' +removed 'tests/tmp/server.3499696.171/stdout' +removed 'tests/tmp/server.3499696.171/stderr' +removed 'tests/tmp/server.3499696.227/stdout' +removed 'tests/tmp/server.3499696.227/stderr' +removed 'tests/tmp/valkey.conf.3499696.285' +removed 'tests/tmp/valkey.conf.3499696.118' +removed 'tests/tmp/valkey.conf.3499696.202' +removed 'tests/tmp/valkey.conf.3499696.58' +removed 'tests/tmp/valkey.conf.3499696.40' +removed 'tests/tmp/valkey.conf.3499696.28' +removed 'tests/tmp/valkey.conf.3499696.154' +removed 'tests/tmp/valkey.conf.3499696.162' +removed 'tests/tmp/valkey.conf.3499696.158' +removed 'tests/tmp/server.3499696.167/stdout' +removed 'tests/tmp/server.3499696.167/stderr' +removed 'tests/tmp/server.3499696.282/stdout' +removed 'tests/tmp/server.3499696.282/stderr' +removed 'tests/tmp/valkey.conf.3499696.251' +removed 'tests/tmp/valkey.conf.3499696.178' +removed 'tests/tmp/valkey.conf.3499696.110' +removed 'tests/tmp/valkey.conf.3499696.20' +removed 'tests/tmp/valkey.conf.3499696.92' +removed 'tests/tmp/valkey.conf.3499696.150' +removed 'tests/tmp/server.3499696.13/stdout' +removed 'tests/tmp/server.3499696.13/stderr' +removed 'tests/tmp/valkey.conf.3499696.241' +removed 'tests/tmp/valkey.conf.3499696.224' +removed 'tests/tmp/valkey.conf.3499696.146' +removed 'tests/tmp/server.3499696.99/stdout' +removed 'tests/tmp/server.3499696.99/stderr' +removed 'tests/tmp/server.3499696.245/stdout' +removed 'tests/tmp/server.3499696.245/stderr' +removed 'tests/tmp/server.3499696.256/stdout' +removed 'tests/tmp/server.3499696.256/stderr' +removed 'tests/tmp/valkey.conf.3499696.138' +removed 'tests/tmp/valkey.conf.3499696.180' +removed 'tests/tmp/server.3499696.137/stdout' +removed 'tests/tmp/server.3499696.137/stderr' +removed 'tests/tmp/server.3499696.15/stdout' +removed 'tests/tmp/server.3499696.15/stderr' +removed 'tests/tmp/valkey.conf.3499696.76' +removed 'tests/tmp/server.3499696.109/stdout' +removed 'tests/tmp/server.3499696.109/stderr' +removed 'tests/tmp/valkey.conf.3499696.265' +removed 'tests/tmp/server.3499696.286/stdout' +removed 'tests/tmp/server.3499696.286/stderr' +removed 'tests/tmp/valkey.conf.3499696.74' +removed 'tests/tmp/duplicate.acl.3499696.242/stdout' +removed 'tests/tmp/duplicate.acl.3499696.242/default.conf' +removed 'tests/tmp/duplicate.acl.3499696.242/stderr' +removed 'tests/tmp/duplicate.acl.3499696.242/user.acl' +removed 'tests/tmp/server.3499696.179/stdout' +removed 'tests/tmp/server.3499696.179/stderr' +removed 'tests/tmp/valkey.conf.3499696.248' +removed 'tests/tmp/server.3499696.79/stdout' +removed 'tests/tmp/server.3499696.79/stderr' +removed 'tests/tmp/valkey.conf.3499696.46' +removed 'tests/tmp/server.3499696.5/stdout' +removed 'tests/tmp/server.3499696.5/stderr' +removed 'tests/tmp/server.3499696.155/stdout' +removed 'tests/tmp/server.3499696.155/stderr' +removed 'tests/tmp/valkey.conf.3499696.212' +removed 'tests/tmp/server.3499696.284/stdout' +removed 'tests/tmp/server.3499696.284/stderr' +removed 'tests/tmp/server.3499696.238/stdout' +removed 'tests/tmp/server.3499696.238/stderr' +removed 'tests/tmp/server.3499696.143/stdout' +removed 'tests/tmp/server.3499696.143/stderr' +removed 'tests/tmp/server.3499696.145/stdout' +removed 'tests/tmp/server.3499696.145/stderr' +removed 'tests/tmp/valkey.conf.3499696.271' +removed 'tests/tmp/server.3499696.67/stdout' +removed 'tests/tmp/server.3499696.67/stderr' +removed 'tests/tmp/server.3499696.57/stdout' +removed 'tests/tmp/server.3499696.57/stderr' +removed 'tests/tmp/valkey.conf.3499696.78' +removed 'tests/tmp/valkey.conf.3499696.259' +removed 'tests/tmp/valkey.conf.3499696.36' +removed 'tests/tmp/valkey.conf.3499696.160' +removed 'tests/tmp/server.3499696.65/stdout' +removed 'tests/tmp/server.3499696.65/stderr' +removed 'tests/tmp/server.3499696.89/stdout' +removed 'tests/tmp/server.3499696.89/stderr' +removed 'tests/tmp/server.3499696.199/stdout' +removed 'tests/tmp/server.3499696.199/stderr' +removed 'tests/tmp/valkey.conf.3499696.100' +removed 'tests/tmp/server.3499696.103/stdout' +removed 'tests/tmp/server.3499696.103/stderr' +removed 'tests/tmp/server.3499696.147/stdout' +removed 'tests/tmp/server.3499696.147/stderr' +removed 'tests/tmp/valkey.conf.3499696.228' +removed 'tests/tmp/server.3499696.207/stdout' +removed 'tests/tmp/server.3499696.207/stderr' +removed 'tests/tmp/server.3499696.101/stdout' +removed 'tests/tmp/server.3499696.101/stderr' +removed 'tests/tmp/valkey.conf.3499696.216' +removed 'tests/tmp/server.3499696.135/stdout' +removed 'tests/tmp/server.3499696.135/stderr' +removed 'tests/tmp/valkey.conf.3499696.84' +removed 'tests/tmp/valkey.conf.3499696.273' +removed 'tests/tmp/server.acl.3499696.249/stdout' +removed 'tests/tmp/server.acl.3499696.249/stderr' +removed 'tests/tmp/server.acl.3499696.249/user.acl' +removed 'tests/tmp/valkey.conf.3499696.267' +removed 'tests/tmp/server.3499696.187/stdout' +removed 'tests/tmp/server.3499696.187/stderr' +removed 'tests/tmp/valkey.conf.3499696.275' +removed 'tests/tmp/valkey.conf.3499696.22' +removed 'tests/tmp/server.3499696.276/stdout' +removed 'tests/tmp/server.3499696.276/stderr' +removed 'tests/tmp/server.3499696.177/stdout' +removed 'tests/tmp/server.3499696.177/stderr' +removed 'tests/tmp/valkey.conf.3499696.128' +removed 'tests/tmp/server.3499696.272/stdout' +removed 'tests/tmp/server.3499696.272/stderr' +removed 'tests/tmp/valkey.conf.3499696.182' +removed 'tests/tmp/valkey.conf.3499696.144' +removed 'tests/tmp/server.3499696.41/nodes.conf' +removed 'tests/tmp/server.3499696.41/stdout' +removed 'tests/tmp/server.3499696.41/stderr' +removed 'tests/tmp/valkey.conf.3499696.16' +removed 'tests/tmp/server.3499696.119/stdout' +removed 'tests/tmp/server.3499696.119/stderr' +removed 'tests/tmp/valkey.conf.3499696.287' +removed 'tests/tmp/server.3499696.61/stdout' +removed 'tests/tmp/server.3499696.61/stderr' +removed 'tests/tmp/valkey.conf.3499696.190' +removed 'tests/tmp/valkey.conf.3499696.32' +removed 'tests/tmp/server.3499696.191/stdout' +removed 'tests/tmp/server.3499696.191/stderr' +removed 'tests/tmp/valkey.conf.3499696.106' +removed 'tests/tmp/valkey.conf.3499696.130' +removed 'tests/tmp/valkey.conf.3499696.102' +removed 'tests/tmp/valkey.conf.3499696.194' +removed 'tests/tmp/valkey.conf.3499696.156' +removed 'tests/tmp/valkey.conf.3499696.108' +removed 'tests/tmp/valkey.conf.3499696.2' +removed 'tests/tmp/server.3499696.35/stdout' +removed 'tests/tmp/server.3499696.35/stderr' +removed 'tests/tmp/server.3499696.53/stdout' +removed 'tests/tmp/server.3499696.53/stderr' +removed 'tests/tmp/server.3499696.11/stdout' +removed 'tests/tmp/server.3499696.11/stderr' +removed 'tests/tmp/valkey.conf.3499696.136' +removed 'tests/tmp/server.3499696.274/stdout' +removed 'tests/tmp/server.3499696.274/stderr' +removed 'tests/tmp/valkey.conf.3499696.14' +removed 'tests/tmp/valkey.conf.3499696.4' +removed 'tests/tmp/server.3499696.71/stdout' +removed 'tests/tmp/server.3499696.71/stderr' +removed 'tests/tmp/valkey.conf.3499696.50' +removed 'tests/tmp/valkey.conf.3499696.122' +removed 'tests/tmp/valkey.conf.3499696.104' +removed 'tests/tmp/valkey.conf.3499696.42' +removed 'tests/tmp/valkey.conf.3499696.168' +removed 'tests/tmp/valkey.conf.3499696.88' +removed 'tests/tmp/server.3499696.113/stdout' +removed 'tests/tmp/server.3499696.113/stderr' +removed 'tests/tmp/server.3499696.221/stdout' +removed 'tests/tmp/server.3499696.221/stderr' +removed 'tests/tmp/server.3499696.211/stdout' +removed 'tests/tmp/server.3499696.211/stderr' +removed 'tests/tmp/valkey.conf.3499696.222' +removed 'tests/tmp/valkey.conf.3499696.140' +removed 'tests/tmp/server.3499696.185/stdout' +removed 'tests/tmp/server.3499696.185/stderr' +removed 'tests/tmp/server.acl.3499696.229/stdout' +removed 'tests/tmp/server.acl.3499696.229/stderr' +removed 'tests/tmp/server.acl.3499696.229/user.acl' +removed 'tests/tmp/valkey.conf.3499696.66' +removed 'tests/tmp/valkey.conf.3499696.124' +removed 'tests/tmp/server.3499696.169/stdout' +removed 'tests/tmp/server.3499696.169/stderr' +removed 'tests/tmp/valkey.conf.3499696.52' +removed 'tests/tmp/server.3499696.165/stdout' +removed 'tests/tmp/server.3499696.165/stderr' +removed 'tests/tmp/valkey.conf.3499696.218' +removed 'tests/tmp/valkey.conf.3499696.279' +removed 'tests/tmp/server.3499696.159/stdout' +removed 'tests/tmp/server.3499696.159/stderr' +removed 'tests/tmp/server.3499696.240/stdout' +removed 'tests/tmp/server.3499696.240/stderr' +removed 'tests/tmp/server.3499696.153/stdout' +removed 'tests/tmp/server.3499696.153/stderr' +removed 'tests/tmp/server.3499696.123/stdout' +removed 'tests/tmp/server.3499696.123/stderr' +removed 'tests/tmp/server.3499696.27/stdout' +removed 'tests/tmp/server.3499696.27/stderr' +removed 'tests/tmp/valkey.conf.3499696.30' +removed 'tests/tmp/server.3499696.121/stdout' +removed 'tests/tmp/server.3499696.121/stderr' +removed 'tests/tmp/valkey.conf.3499696.80' +removed 'tests/tmp/valkey.conf.3499696.112' +removed 'tests/tmp/valkey.conf.3499696.116' +removed 'tests/tmp/server.3499696.29/stdout' +removed 'tests/tmp/server.3499696.29/stderr' +removed 'tests/tmp/server.3499696.83/stdout' +removed 'tests/tmp/server.3499696.83/stderr' +removed 'tests/tmp/valkey.conf.3499696.244' +removed 'tests/tmp/valkey.conf.3499696.48' +removed 'tests/tmp/valkey.conf.3499696.34' +removed 'tests/tmp/valkey.conf.3499696.60' +removed 'tests/tmp/valkey.conf.3499696.188' +removed 'tests/tmp/valkey.conf.3499696.68' +removed 'tests/tmp/valkey.conf.3499696.120' +removed 'tests/tmp/server.3499696.127/stdout' +removed 'tests/tmp/server.3499696.127/stderr' +removed 'tests/tmp/valkey.conf.3499696.134' +removed 'tests/tmp/server.3499696.181/stdout' +removed 'tests/tmp/server.3499696.181/stderr' +removed 'tests/tmp/server.3499696.55/stdout' +removed 'tests/tmp/server.3499696.55/stderr' +removed 'tests/tmp/valkey.conf.3499696.269' +removed 'tests/tmp/server.3499696.125/stdout' +removed 'tests/tmp/server.3499696.125/stderr' +removed 'tests/tmp/valkey.conf.3499696.10' +removed 'tests/tmp/server.3499696.197/stdout' +removed 'tests/tmp/server.3499696.197/stderr' +removed 'tests/tmp/server.3499696.201/stdout' +removed 'tests/tmp/server.3499696.201/stderr' +removed 'tests/tmp/server.3499696.161/stdout' +removed 'tests/tmp/server.3499696.161/stderr' +removed 'tests/tmp/valkey.conf.3499696.257' +removed 'tests/tmp/valkey.conf.3499696.246' +removed 'tests/tmp/server.3499696.270/stdout' +removed 'tests/tmp/server.3499696.270/stderr' +removed 'tests/tmp/server.3499696.254/stdout' +removed 'tests/tmp/server.3499696.254/stderr' +removed 'tests/tmp/server.3499696.215/stdout' +removed 'tests/tmp/server.3499696.215/stderr' +removed 'tests/tmp/valkey.conf.3499696.96' +removed 'tests/tmp/valkey.conf.3499696.226' +removed 'tests/tmp/valkey.conf.3499696.263' +removed 'tests/tmp/valkey.conf.3499696.94' +removed 'tests/tmp/server.3499696.219/stdout' +removed 'tests/tmp/server.3499696.219/stderr' +removed 'tests/tmp/server.3499696.247/stdout' +removed 'tests/tmp/server.3499696.247/stderr' +removed 'tests/tmp/valkey.conf.3499696.174' +removed 'tests/tmp/server.3499696.163/stdout' +removed 'tests/tmp/server.3499696.163/stderr' +removed 'tests/tmp/valkey.conf.3499696.24' +removed 'tests/tmp/server.3499696.157/stdout' +removed 'tests/tmp/server.3499696.157/stderr' +removed 'tests/tmp/server.3499696.97/stdout' +removed 'tests/tmp/server.3499696.97/stderr' +removed 'tests/tmp/server.3499696.149/nodes.conf' +removed 'tests/tmp/server.3499696.149/stdout' +removed 'tests/tmp/server.3499696.149/stderr' +removed 'tests/tmp/valkey.conf.3499696.172' +removed 'tests/tmp/valkey.conf.3499696.166' +removed 'tests/tmp/server.3499696.264/stdout' +removed 'tests/tmp/server.3499696.264/stderr' +removed 'tests/tmp/valkey.conf.3499696.253' +removed 'tests/tmp/server.3499696.193/stdout' +removed 'tests/tmp/server.3499696.193/stderr' +removed 'tests/tmp/valkey.conf.3499696.277' +removed 'tests/tmp/valkey.conf.3499696.164' +removed 'tests/tmp/server.3499696.195/stdout' +removed 'tests/tmp/server.3499696.195/stderr' +removed 'tests/tmp/valkey.conf.3499696.206' +removed 'tests/tmp/valkey.conf.3499696.70' +removed 'tests/tmp/server.3499696.278/stdout' +removed 'tests/tmp/server.3499696.278/stderr' +removed 'tests/tmp/server.3499696.93/stdout' +removed 'tests/tmp/server.3499696.93/stderr' +removed 'tests/tmp/server.3499696.173/stdout' +removed 'tests/tmp/server.3499696.173/stderr' +removed 'tests/tmp/server.3499696.43/stdout' +removed 'tests/tmp/server.3499696.43/stderr' +removed 'tests/tmp/valkey.conf.3499696.148' +removed 'tests/tmp/server.3499696.131/stdout' +removed 'tests/tmp/server.3499696.131/stderr' +removed 'tests/tmp/server.3499696.75/nodes.conf' +removed 'tests/tmp/server.3499696.75/stdout' +removed 'tests/tmp/server.3499696.75/stderr' +removed 'tests/tmp/server.3499696.19/stdout' +removed 'tests/tmp/server.3499696.19/stderr' +removed 'tests/tmp/valkey.conf.3499696.184' +removed 'tests/tmp/valkey.conf.3499696.86' +removed 'tests/tmp/valkey.conf.3499696.237' +removed 'tests/tmp/server.3499696.139/stdout' +removed 'tests/tmp/server.3499696.139/stderr' +removed 'tests/tmp/server.3499696.205/stdout' +removed 'tests/tmp/server.3499696.205/stderr' +removed 'tests/tmp/server.3499696.225/stdout' +removed 'tests/tmp/server.3499696.225/stderr' +removed 'tests/tmp/server.3499696.63/stdout' +removed 'tests/tmp/server.3499696.63/stderr' +removed 'tests/tmp/valkey.conf.3499696.8' +removed 'tests/tmp/server.3499696.115/stdout' +removed 'tests/tmp/server.3499696.115/stderr' +removed 'tests/tmp/valkey.conf.3499696.12' +removed 'tests/tmp/valkey.conf.3499696.82' +removed 'tests/tmp/server.3499696.223/stdout' +removed 'tests/tmp/server.3499696.223/stderr' +removed 'tests/tmp/resetchannels.acl.3499696.235/stdout' +removed 'tests/tmp/resetchannels.acl.3499696.235/default.conf' +removed 'tests/tmp/resetchannels.acl.3499696.235/stderr' +removed 'tests/tmp/resetchannels.acl.3499696.235/nodefaultuser.acl' +removed 'tests/tmp/valkey.conf.3499696.170' +removed 'tests/tmp/server.3499696.31/stdout' +removed 'tests/tmp/server.3499696.31/stderr' +removed 'tests/tmp/server.3499696.217/stdout' +removed 'tests/tmp/server.3499696.217/stderr' +removed 'tests/tmp/valkey.conf.3499696.142' +removed 'tests/tmp/server.3499696.77/nodes.conf' +removed 'tests/tmp/server.3499696.77/stdout' +removed 'tests/tmp/server.3499696.77/stderr' +removed 'tests/tmp/valkey.conf.3499696.186' +removed 'tests/tmp/valkey.conf.3499696.54' +removed 'tests/tmp/server.3499696.175/stdout' +removed 'tests/tmp/server.3499696.175/stderr' +removed 'tests/tmp/valkey.conf.3499696.72' +removed 'tests/tmp/resetchannels.acl.3499696.232/stdout' +removed 'tests/tmp/resetchannels.acl.3499696.232/default.conf' +removed 'tests/tmp/resetchannels.acl.3499696.232/stderr' +removed 'tests/tmp/resetchannels.acl.3499696.232/nodefaultuser.acl' +removed 'tests/tmp/valkey.conf.3499696.261' +removed 'tests/tmp/valkey.conf.3499696.231' +removed 'tests/tmp/server.3499696.258/stdout' +removed 'tests/tmp/server.3499696.258/stderr' +removed 'tests/tmp/server.3499696.69/stdout' +removed 'tests/tmp/server.3499696.69/stderr' +removed 'tests/tmp/server.3499696.133/stdout' +removed 'tests/tmp/server.3499696.133/stderr' make[1]: Leaving directory '/build/reproducible-path/valkey-8.1.4+dfsg1' create-stamp debian/debhelper-build-stamp dh_prep @@ -1551,14 +4377,14 @@ 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-benchmark debian/valkey-tools/usr/bin/valkey-check-rdb debian/valkey-tools/usr/bin/valkey-cli 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-benchmark debian/valkey-tools/usr/bin/valkey-check-rdb debian/valkey-tools/usr/bin/valkey-cli 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 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) dh_installdeb dh_gencontrol dh_md5sums dh_builddeb -dpkg-deb: building package 'valkey-sentinel' in '../valkey-sentinel_8.1.4+dfsg1-1_amd64.deb'. dpkg-deb: building package 'valkey-server' in '../valkey-server_8.1.4+dfsg1-1_amd64.deb'. +dpkg-deb: building package 'valkey-sentinel' in '../valkey-sentinel_8.1.4+dfsg1-1_amd64.deb'. dpkg-deb: building package 'valkey-tools' in '../valkey-tools_8.1.4+dfsg1-1_amd64.deb'. dpkg-deb: building package 'valkey-tools-dbgsym' in '../valkey-tools-dbgsym_8.1.4+dfsg1-1_amd64.deb'. dpkg-genbuildinfo --build=binary -O../valkey_8.1.4+dfsg1-1_amd64.buildinfo @@ -1568,12 +4394,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/3363078/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/3363078/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/187764 and its subdirectories -I: Current time: Fri Oct 24 09:29:36 -12 2025 -I: pbuilder-time-stamp: 1761341376 +I: removing directory /srv/workspace/pbuilder/3363078 and its subdirectories +I: Current time: Fri Nov 27 18:23:20 +14 2026 +I: pbuilder-time-stamp: 1795753400