Diff of the two buildlogs: -- --- b1/build.log 2025-09-06 20:01:03.699269998 +0000 +++ b2/build.log 2025-09-06 22:53:07.979679672 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sat Sep 6 06:45:42 -12 2025 -I: pbuilder-time-stamp: 1757184342 +I: Current time: Sat Oct 10 16:25:45 +14 2026 +I: pbuilder-time-stamp: 1791599145 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bookworm-reproducible-base.tgz] I: copying local configuration @@ -16,7 +16,7 @@ I: copying [./redis_7.0.15.orig.tar.gz] I: copying [./redis_7.0.15-1~deb12u5.debian.tar.xz] I: Extracting source -gpgv: Signature made Mon Jul 28 09:08:47 2025 -12 +gpgv: Signature made Tue Jul 29 11:08:47 2025 +14 gpgv: using RSA key C2FE4BD271C139B86C533E461E953E27D4311E58 gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./redis_7.0.15-1~deb12u5.dsc: no acceptable signature found @@ -38,136 +38,168 @@ dpkg-source: info: applying 0007-CVE-2025-48367.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/1408063/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/3294034/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 Oct 10 16:36 /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/3294034/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/3294034/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='bookworm' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="15" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.15(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=bookworm + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='251ea68900614f41a60d84c2cedbc0f8' - 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='1408063' - PS1='# ' - PS2='> ' + INVOCATION_ID=1301e792eaae4a45b0756b70995e7e6d + 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=3294034 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.ulfriC0o/pbuilderrc_8YCJ --distribution bookworm --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.ulfriC0o/b1 --logfile b1/build.log redis_7.0.15-1~deb12u5.dsc' - SUDO_GID='111' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='106' - 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.ulfriC0o/pbuilderrc_jagh --distribution bookworm --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.ulfriC0o/b2 --logfile b2/build.log redis_7.0.15-1~deb12u5.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 ionos11-amd64 6.12.43+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.43-1 (2025-08-27) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.12.43+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.43-1 (2025-08-27) x86_64 GNU/Linux I: ls -l /bin total 5632 - -rwxr-xr-x 1 root root 1265648 Jun 6 02:38 bash - -rwxr-xr-x 3 root root 39224 Sep 18 2022 bunzip2 - -rwxr-xr-x 3 root root 39224 Sep 18 2022 bzcat - lrwxrwxrwx 1 root root 6 Sep 18 2022 bzcmp -> bzdiff - -rwxr-xr-x 1 root root 2225 Sep 18 2022 bzdiff - lrwxrwxrwx 1 root root 6 Sep 18 2022 bzegrep -> bzgrep - -rwxr-xr-x 1 root root 4893 Nov 27 2021 bzexe - lrwxrwxrwx 1 root root 6 Sep 18 2022 bzfgrep -> bzgrep - -rwxr-xr-x 1 root root 3775 Sep 18 2022 bzgrep - -rwxr-xr-x 3 root root 39224 Sep 18 2022 bzip2 - -rwxr-xr-x 1 root root 14568 Sep 18 2022 bzip2recover - lrwxrwxrwx 1 root root 6 Sep 18 2022 bzless -> bzmore - -rwxr-xr-x 1 root root 1297 Sep 18 2022 bzmore - -rwxr-xr-x 1 root root 44016 Sep 20 2022 cat - -rwxr-xr-x 1 root root 68656 Sep 20 2022 chgrp - -rwxr-xr-x 1 root root 64496 Sep 20 2022 chmod - -rwxr-xr-x 1 root root 72752 Sep 20 2022 chown - -rwxr-xr-x 1 root root 151152 Sep 20 2022 cp - -rwxr-xr-x 1 root root 125640 Jan 5 2023 dash - -rwxr-xr-x 1 root root 121904 Sep 20 2022 date - -rwxr-xr-x 1 root root 89240 Sep 20 2022 dd - -rwxr-xr-x 1 root root 102200 Sep 20 2022 df - -rwxr-xr-x 1 root root 151344 Sep 20 2022 dir - -rwxr-xr-x 1 root root 88656 Nov 21 2024 dmesg - lrwxrwxrwx 1 root root 8 Dec 19 2022 dnsdomainname -> hostname - lrwxrwxrwx 1 root root 8 Dec 19 2022 domainname -> hostname - -rwxr-xr-x 1 root root 43856 Sep 20 2022 echo - -rwxr-xr-x 1 root root 41 Jan 24 2023 egrep - -rwxr-xr-x 1 root root 35664 Sep 20 2022 false - -rwxr-xr-x 1 root root 41 Jan 24 2023 fgrep - -rwxr-xr-x 1 root root 85600 Nov 21 2024 findmnt - -rwsr-xr-x 1 root root 35128 Mar 22 2023 fusermount - -rwxr-xr-x 1 root root 203152 Jan 24 2023 grep - -rwxr-xr-x 2 root root 2346 Apr 9 2022 gunzip - -rwxr-xr-x 1 root root 6447 Apr 9 2022 gzexe - -rwxr-xr-x 1 root root 98136 Apr 9 2022 gzip - -rwxr-xr-x 1 root root 22680 Dec 19 2022 hostname - -rwxr-xr-x 1 root root 72824 Sep 20 2022 ln - -rwxr-xr-x 1 root root 53024 Apr 6 22:38 login - -rwxr-xr-x 1 root root 151344 Sep 20 2022 ls - -rwxr-xr-x 1 root root 207168 Nov 21 2024 lsblk - -rwxr-xr-x 1 root root 97552 Sep 20 2022 mkdir - -rwxr-xr-x 1 root root 72912 Sep 20 2022 mknod - -rwxr-xr-x 1 root root 43952 Sep 20 2022 mktemp - -rwxr-xr-x 1 root root 59712 Nov 21 2024 more - -rwsr-xr-x 1 root root 59704 Nov 21 2024 mount - -rwxr-xr-x 1 root root 18744 Nov 21 2024 mountpoint - -rwxr-xr-x 1 root root 142968 Sep 20 2022 mv - lrwxrwxrwx 1 root root 8 Dec 19 2022 nisdomainname -> hostname - lrwxrwxrwx 1 root root 14 Apr 2 2023 pidof -> /sbin/killall5 - -rwxr-xr-x 1 root root 43952 Sep 20 2022 pwd - lrwxrwxrwx 1 root root 4 Jun 6 02:38 rbash -> bash - -rwxr-xr-x 1 root root 52112 Sep 20 2022 readlink - -rwxr-xr-x 1 root root 72752 Sep 20 2022 rm - -rwxr-xr-x 1 root root 56240 Sep 20 2022 rmdir - -rwxr-xr-x 1 root root 27560 Jul 28 2023 run-parts - -rwxr-xr-x 1 root root 126424 Jan 5 2023 sed - lrwxrwxrwx 1 root root 4 Jan 5 2023 sh -> dash - -rwxr-xr-x 1 root root 43888 Sep 20 2022 sleep - -rwxr-xr-x 1 root root 85008 Sep 20 2022 stty - -rwsr-xr-x 1 root root 72000 Nov 21 2024 su - -rwxr-xr-x 1 root root 39824 Sep 20 2022 sync - -rwxr-xr-x 1 root root 531984 Jan 19 2024 tar - -rwxr-xr-x 1 root root 14520 Jul 28 2023 tempfile - -rwxr-xr-x 1 root root 109616 Sep 20 2022 touch - -rwxr-xr-x 1 root root 35664 Sep 20 2022 true - -rwxr-xr-x 1 root root 14568 Mar 22 2023 ulockmgr_server - -rwsr-xr-x 1 root root 35128 Nov 21 2024 umount - -rwxr-xr-x 1 root root 43888 Sep 20 2022 uname - -rwxr-xr-x 2 root root 2346 Apr 9 2022 uncompress - -rwxr-xr-x 1 root root 151344 Sep 20 2022 vdir - -rwxr-xr-x 1 root root 72024 Nov 21 2024 wdctl - lrwxrwxrwx 1 root root 8 Dec 19 2022 ypdomainname -> hostname - -rwxr-xr-x 1 root root 1984 Apr 9 2022 zcat - -rwxr-xr-x 1 root root 1678 Apr 9 2022 zcmp - -rwxr-xr-x 1 root root 6460 Apr 9 2022 zdiff - -rwxr-xr-x 1 root root 29 Apr 9 2022 zegrep - -rwxr-xr-x 1 root root 29 Apr 9 2022 zfgrep - -rwxr-xr-x 1 root root 2081 Apr 9 2022 zforce - -rwxr-xr-x 1 root root 8103 Apr 9 2022 zgrep - -rwxr-xr-x 1 root root 2206 Apr 9 2022 zless - -rwxr-xr-x 1 root root 1842 Apr 9 2022 zmore - -rwxr-xr-x 1 root root 4577 Apr 9 2022 znew -I: user script /srv/workspace/pbuilder/1408063/tmp/hooks/D02_print_environment finished + -rwxr-xr-x 1 root root 1265648 Jun 7 2025 bash + -rwxr-xr-x 3 root root 39224 Sep 19 2022 bunzip2 + -rwxr-xr-x 3 root root 39224 Sep 19 2022 bzcat + lrwxrwxrwx 1 root root 6 Sep 19 2022 bzcmp -> bzdiff + -rwxr-xr-x 1 root root 2225 Sep 19 2022 bzdiff + lrwxrwxrwx 1 root root 6 Sep 19 2022 bzegrep -> bzgrep + -rwxr-xr-x 1 root root 4893 Nov 28 2021 bzexe + lrwxrwxrwx 1 root root 6 Sep 19 2022 bzfgrep -> bzgrep + -rwxr-xr-x 1 root root 3775 Sep 19 2022 bzgrep + -rwxr-xr-x 3 root root 39224 Sep 19 2022 bzip2 + -rwxr-xr-x 1 root root 14568 Sep 19 2022 bzip2recover + lrwxrwxrwx 1 root root 6 Sep 19 2022 bzless -> bzmore + -rwxr-xr-x 1 root root 1297 Sep 19 2022 bzmore + -rwxr-xr-x 1 root root 44016 Sep 21 2022 cat + -rwxr-xr-x 1 root root 68656 Sep 21 2022 chgrp + -rwxr-xr-x 1 root root 64496 Sep 21 2022 chmod + -rwxr-xr-x 1 root root 72752 Sep 21 2022 chown + -rwxr-xr-x 1 root root 151152 Sep 21 2022 cp + -rwxr-xr-x 1 root root 125640 Jan 6 2023 dash + -rwxr-xr-x 1 root root 121904 Sep 21 2022 date + -rwxr-xr-x 1 root root 89240 Sep 21 2022 dd + -rwxr-xr-x 1 root root 102200 Sep 21 2022 df + -rwxr-xr-x 1 root root 151344 Sep 21 2022 dir + -rwxr-xr-x 1 root root 88656 Nov 22 2024 dmesg + lrwxrwxrwx 1 root root 8 Dec 20 2022 dnsdomainname -> hostname + lrwxrwxrwx 1 root root 8 Dec 20 2022 domainname -> hostname + -rwxr-xr-x 1 root root 43856 Sep 21 2022 echo + -rwxr-xr-x 1 root root 41 Jan 25 2023 egrep + -rwxr-xr-x 1 root root 35664 Sep 21 2022 false + -rwxr-xr-x 1 root root 41 Jan 25 2023 fgrep + -rwxr-xr-x 1 root root 85600 Nov 22 2024 findmnt + -rwsr-xr-x 1 root root 35128 Mar 23 2023 fusermount + -rwxr-xr-x 1 root root 203152 Jan 25 2023 grep + -rwxr-xr-x 2 root root 2346 Apr 10 2022 gunzip + -rwxr-xr-x 1 root root 6447 Apr 10 2022 gzexe + -rwxr-xr-x 1 root root 98136 Apr 10 2022 gzip + -rwxr-xr-x 1 root root 22680 Dec 20 2022 hostname + -rwxr-xr-x 1 root root 72824 Sep 21 2022 ln + -rwxr-xr-x 1 root root 53024 Apr 8 2025 login + -rwxr-xr-x 1 root root 151344 Sep 21 2022 ls + -rwxr-xr-x 1 root root 207168 Nov 22 2024 lsblk + -rwxr-xr-x 1 root root 97552 Sep 21 2022 mkdir + -rwxr-xr-x 1 root root 72912 Sep 21 2022 mknod + -rwxr-xr-x 1 root root 43952 Sep 21 2022 mktemp + -rwxr-xr-x 1 root root 59712 Nov 22 2024 more + -rwsr-xr-x 1 root root 59704 Nov 22 2024 mount + -rwxr-xr-x 1 root root 18744 Nov 22 2024 mountpoint + -rwxr-xr-x 1 root root 142968 Sep 21 2022 mv + lrwxrwxrwx 1 root root 8 Dec 20 2022 nisdomainname -> hostname + lrwxrwxrwx 1 root root 14 Apr 3 2023 pidof -> /sbin/killall5 + -rwxr-xr-x 1 root root 43952 Sep 21 2022 pwd + lrwxrwxrwx 1 root root 4 Jun 7 2025 rbash -> bash + -rwxr-xr-x 1 root root 52112 Sep 21 2022 readlink + -rwxr-xr-x 1 root root 72752 Sep 21 2022 rm + -rwxr-xr-x 1 root root 56240 Sep 21 2022 rmdir + -rwxr-xr-x 1 root root 27560 Jul 29 2023 run-parts + -rwxr-xr-x 1 root root 126424 Jan 6 2023 sed + lrwxrwxrwx 1 root root 9 Oct 10 16:36 sh -> /bin/bash + -rwxr-xr-x 1 root root 43888 Sep 21 2022 sleep + -rwxr-xr-x 1 root root 85008 Sep 21 2022 stty + -rwsr-xr-x 1 root root 72000 Nov 22 2024 su + -rwxr-xr-x 1 root root 39824 Sep 21 2022 sync + -rwxr-xr-x 1 root root 531984 Jan 20 2024 tar + -rwxr-xr-x 1 root root 14520 Jul 29 2023 tempfile + -rwxr-xr-x 1 root root 109616 Sep 21 2022 touch + -rwxr-xr-x 1 root root 35664 Sep 21 2022 true + -rwxr-xr-x 1 root root 14568 Mar 23 2023 ulockmgr_server + -rwsr-xr-x 1 root root 35128 Nov 22 2024 umount + -rwxr-xr-x 1 root root 43888 Sep 21 2022 uname + -rwxr-xr-x 2 root root 2346 Apr 10 2022 uncompress + -rwxr-xr-x 1 root root 151344 Sep 21 2022 vdir + -rwxr-xr-x 1 root root 72024 Nov 22 2024 wdctl + lrwxrwxrwx 1 root root 8 Dec 20 2022 ypdomainname -> hostname + -rwxr-xr-x 1 root root 1984 Apr 10 2022 zcat + -rwxr-xr-x 1 root root 1678 Apr 10 2022 zcmp + -rwxr-xr-x 1 root root 6460 Apr 10 2022 zdiff + -rwxr-xr-x 1 root root 29 Apr 10 2022 zegrep + -rwxr-xr-x 1 root root 29 Apr 10 2022 zfgrep + -rwxr-xr-x 1 root root 2081 Apr 10 2022 zforce + -rwxr-xr-x 1 root root 8103 Apr 10 2022 zgrep + -rwxr-xr-x 1 root root 2206 Apr 10 2022 zless + -rwxr-xr-x 1 root root 1842 Apr 10 2022 zmore + -rwxr-xr-x 1 root root 4577 Apr 10 2022 znew +I: user script /srv/workspace/pbuilder/3294034/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -289,7 +321,7 @@ Get: 58 http://deb.debian.org/debian bookworm/main amd64 tcl8.6 amd64 8.6.13+dfsg-2 [120 kB] Get: 59 http://deb.debian.org/debian bookworm/main amd64 tcl amd64 8.6.13 [4016 B] Get: 60 http://deb.debian.org/debian bookworm/main amd64 tcl-tls amd64 1.7.22-3+b1 [69.9 kB] -Fetched 27.1 MB in 0s (60.8 MB/s) +Fetched 27.1 MB in 1s (18.4 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libproc2-0:amd64. (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 ... 19552 files and directories currently installed.) @@ -544,7 +576,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/redis-7.0.15/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../redis_7.0.15-1~deb12u5_source.changes +I: user script /srv/workspace/pbuilder/3294034/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for bookworm +I: user script /srv/workspace/pbuilder/3294034/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/redis-7.0.15/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../redis_7.0.15-1~deb12u5_source.changes dpkg-buildpackage: info: source package redis dpkg-buildpackage: info: source version 5:7.0.15-1~deb12u5 dpkg-buildpackage: info: source distribution bookworm-security @@ -556,7 +592,7 @@ debian/rules override_dh_auto_clean make[1]: Entering directory '/build/reproducible-path/redis-7.0.15' dh_auto_clean - make -j40 distclean + make -j42 distclean make[2]: Entering directory '/build/reproducible-path/redis-7.0.15' cd src && make distclean make[3]: Entering directory '/build/reproducible-path/redis-7.0.15/src' @@ -593,7 +629,7 @@ debian/rules override_dh_auto_build make[1]: Entering directory '/build/reproducible-path/redis-7.0.15' 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/redis-7.0.15' cd src && make all make[3]: Entering directory '/build/reproducible-path/redis-7.0.15/src' @@ -641,37 +677,37 @@ MAKE hiredis cd hiredis && make static USE_SSL=1 MAKE linenoise -cd linenoise && make MAKE lua +cd linenoise && make cd lua/src && make all CFLAGS="-Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 " MYLDFLAGS="-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/redis-7.0.15/deps/hiredis' cd hdr_histogram && make +make[5]: Entering directory '/build/reproducible-path/redis-7.0.15/deps/hiredis' +make[5]: Entering directory '/build/reproducible-path/redis-7.0.15/deps/hdr_histogram' +cc -std=c99 -Wall -Os -g -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -Wdate-time -D_FORTIFY_SOURCE=2 -DHDR_MALLOC_INCLUDE=\"hdr_redis_malloc.h\" -c hdr_histogram.c +cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic alloc.c +cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic net.c +cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic hiredis.c +cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -W -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 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -W -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 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -W -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 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic sockcompat.c +cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic ssl.c make[5]: Entering directory '/build/reproducible-path/redis-7.0.15/deps/linenoise' cc -Wall -Os -g -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -Wdate-time -D_FORTIFY_SOURCE=2 -c linenoise.c make[5]: Entering directory '/build/reproducible-path/redis-7.0.15/deps/lua/src' cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lapi.o lapi.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lcode.o lcode.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldebug.o ldebug.c -make[5]: Entering directory '/build/reproducible-path/redis-7.0.15/deps/hdr_histogram' -cc -std=c99 -Wall -Os -g -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -Wdate-time -D_FORTIFY_SOURCE=2 -DHDR_MALLOC_INCLUDE=\"hdr_redis_malloc.h\" -c hdr_histogram.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldo.o ldo.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ldump.o ldump.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lfunc.o lfunc.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -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 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic alloc.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o llex.o llex.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -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 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic net.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lobject.o lobject.c -cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic hiredis.c -cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic sds.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lopcodes.o lopcodes.c -cc -std=c99 -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -W -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 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -W -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 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic sockcompat.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -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 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -DHIREDIS_TEST_SSL -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic ssl.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lstate.o lstate.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lstring.o lstring.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ltable.o ltable.c @@ -690,14 +726,14 @@ cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ltablib.o ltablib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lstrlib.o lstrlib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o loadlib.o loadlib.c -ldump.c: In function 'DumpString': -ldump.c:63:26: warning: the comparison will always evaluate as 'false' for the pointer operand in 's + 24' must not be NULL [-Waddress] - 63 | if (s==NULL || getstr(s)==NULL) - | ^~ cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o linit.o linit.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lua_cjson.o lua_cjson.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lua_struct.o lua_struct.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lua_cmsgpack.o lua_cmsgpack.c +ldump.c: In function 'DumpString': +ldump.c:63:26: warning: the comparison will always evaluate as 'false' for the pointer operand in 's + 24' must not be NULL [-Waddress] + 63 | if (s==NULL || getstr(s)==NULL) + | ^~ cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lua_bit.o lua_bit.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lua.o lua.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -g -O2 -ffile-prefix-map=/build/reproducible-path/redis-7.0.15=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -c -o luac.o luac.c @@ -833,336 +869,336 @@ Certificate request self-signature ok subject=O = Redis Test, CN = Generic-cert Generating DH parameters, 2048 bit long safe prime -..................................+..+........................+.................................................................................+...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................+....+...................................................................................................+........+..........................................+.........................+..............................+..........................................................................................................................................................................................................................................................................................................+...................................+...............................................................................+.........................................................................................................+..................................................+................................................................+..................................................................+..........................................................................+......................................................................................................................................................................+............................................................................................................................................+......................................................................................................................................................................................................+..........................................................................+................+...................................................................................+..............................................................+................................+.....................+..............................................................+....................................................................................................................................+...................................................................................................................................................................................+.......................................................................................................................................................................................................................................................................................................................................................................+........................+...................................................+........................................................................+...........................+.............+......................+...............................................................................................................+.............+.............................................................................................................................+....................+..................................................................................................................+.................................................+...........................................+..................................................................+.........+..................................................................................+......................................................+...................................................................................................................................................................................................................................................................................+..........+...............................................................................................................+.........................................................................................+.....................................................................................+.............................................................................................................................................................................................................................................................................................+.................................................+.........................................................................................................................................................................................................................................+.......................................+.....................................................................................+...........................................+........+...............................................................................+.........................................................................................................................+................................................................................................................................................................+.......................................................................................................................+................................................................+...................+...+..................................................+................................................................................................+..............................................+.............................................................................................................................................................................................................................................+..+....................................+.................................................................................................................................................................................................................................................+...................................................+.............................................................................+..........................................................+.......................................+...+............................................................................................................................................................+.............................................................................+................................................................................................+..........................................................................................................................................................+.............................+......................+..........................................................................................................................................................................................+.............................................................+.............................................................................................................+.......................+............................................+.............................................................+....+..................................................................+.........................................................................................................................................................+..........................................................................................................................................+.............................................................................................................................................................................................+................................................................................................................................................................................................................................................................................+...................................+.................................................................................................................................................................................................................................................................................................................................................................................................................+..................................................................................................................+...........................................................................................+......+.................................................................................................+.........................................+.....................+.....................................................................................................................................................................................................................................................................................................................+........................+...................+.........+..........................................+..................................................................+........................................+...............................................+..................................................................................+............................................................................................................................................................................................+..............+................................+..................................................................+.......................................................................+..............................................................................................................................................................+.....................................................................................................................................................+....................................................................................................+.............................................................+.........................................................................................................................................+......+..................................................................................................................................+.....................+.........................................................................................................................................................................................................................................................................................................................................+.....................................................+...................................................................................................................................................................................................................................+..................+.....................................................................................................................+...........+...............................................................................................................................................................................................................................................+..........................................+...............................................+........................................................................................................................................................................................................................................+.....................................................................................................................+......................................................................................................................................................................................................................................................+..........................................................................................................................................................................+........................................+..............................................+.................................................................................................................................................+.......+...........................................................................................................................................................................................................+.................................................................................................................................+.......................+.........................................................................+.......+......................................+................+................................+...............................................................................................................................................................................+......................................................................................+............................................................................................................................................................................................+......................+..............................................................................................................+............................+.................+.................................................+...................................+..+....................+..............................................................................+.......................................................................................................+.................................................................................................................................................................................................................................................................................................................................................................................................................+...............+.............................................................................................................................................................................................................................................................................+.................................+................................................................................................................................................+.........................................................................................................+............................................................................................................................................+.......................................................+.................................................................................................................+.............................+......+.................+.....................................................+........+...........................................................................................................................................................................................................................................+..+...................................................................................................................................................................................................................................................................................................................................................+...........................................................................................................................................+...............................................................................................................................................................................................................................................+.................................................................................................................................................................................+................................................................................+........................................................................................................................................................................................................................+.......................................................................................................+................................................................................................................................................................................................................................................................................................+...............................+.........................+....................................................................................................................................................................................................................................................................................................................................................................+..........................................................................................................................................................................................................................................................................................+...................................................................................................................................................................................................................................+..................................................................................................+.................+..................................................................................................................................................................+........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................+.....................................................+............................................................................................................................................................+..................................................................................................................................................................................................................+...............................................................................................................................................................................................................................................................................................................+..................................................................+.......................................................................................................................................................................+.............................................................................................................+....................................................................................................................................................................................................................+....................................................................................................................+..............................................+....................................................................................+.........................................................................................+......................................................................................................+.........................................................................................................................................................................................................................................................................................+................................................................+.........................+.......................................................................+..........................................................................................................+..............................................................................................+................+...............................................................+........+...........................................+........+.........................................................................................................................................................................................................................................................................................................................................................................................+.............................................................................................................................................+.............................................................................................................................+..............................................................................................................................+...........................................................................+............................+.....................................................................................................................................+............+............................................+...........+...........................................................................................................................................................................+................+..................................................+.......+...........+..........................+...................................................................................................................................................................................................................................................................................................................................................................................+...............................................................................................+........................................+.......................................................................+...........................................................................................................................................................................................+..........................................................................................................+..........................................+.......................................+.........................................................................................................................................................................................................................................................................................................................................................................+..........................................................+..........................................................+.................................+................+..................+...............................................................................................................................................................................+..........................................................................................................................+..............................................................................................................................................+...................+....................................................................................................+..................................................................................................................................................................................................................................................................................................................................+...........+...................................................+...................................................................................................+......................+..........................................................................+..................................................................................................................................+..................+.....................................+............+............................................................................................................................................................................................................................................+..........................................................+.........................................................................................................................+...........................................................................................+...........................................................+......................................................................................................................................................................................................................................................................................................................................................................................................................................+.............................................................................................................................+.............................+.................................................+..........................................................................................................................................+................................+.............+...........+..+.................................................+.....................................+......+...................................+......................................................................................................................................................+...................................................+..............................................................+.........................................................................................................................................................................................+..............+................................................+..........................................+............................................................................................................................................................................................+............................................+...............................................................................................................................................................................................+.................+..................................................+.....................................................+............+..............................................................................................................+................................................................+...........................................................................+................................................................................................+.+........................................................................................+.......................................................................................................................................................................................................................................................................................................................................................................................................................................+............................................................................+........+................................................................................................+.............................................................................................................................................+...............+.............................................................+............................................+...............................................................................................................+............................................................+....................................................................................................................................................................................................................................................................................................................................+............................................................................+..................................................................................................................+.............................................................................................................................................................................................................................+........+...............................................................+.....................................................................................++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++* +..+......................................................................+....+...................................................+..........................................................................................................................................................................................................+.+....................................................................................................................................+.................................................................................................................................................................................+...........................................................+..................................................................................................................................................................................................................+........................................+.......................................................................................................................................................................................................................+..+.........................................................................................................................................................................................................................................................+.............................................................................................................+...........................................+...............................................+..........+...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................+.........................................................................................................................................................................................................................+....................................+..............................+........................................................+...........................................................................................................................................................................................................................................+...........+..............................................................................................................................................+...........................................................................................................+.............................................................................................................+...................................................................................................................................................................+...............+................................................................+..........+............................................................................................................................................................................++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++*++* # Avoid race conditions in upstream testsuite ./runtest --clients 1 --verbose --dump-logs --tls || true Cleanup: may take some time... OK Starting test server at port 21079 -[ready]: 1415357 +[ready]: 3422707 Testing unit/printver === () Starting server 127.0.0.1:21111 ok Testing Redis version 7.0.15 (00000000) -[1/84 done]: unit/printver (0 seconds) +[1/84 done]: unit/printver (47 seconds) Testing unit/dump === (dump) Starting server 127.0.0.1:21112 ok -[ok]: DUMP / RESTORE are able to serialize / unserialize a simple key (9 ms) +[ok]: DUMP / RESTORE are able to serialize / unserialize a simple key (2 ms) [ok]: RESTORE can set an arbitrary expire to the materialized key (1 ms) [ok]: RESTORE can set an expire that overflows a 32 bit integer (1 ms) -[ok]: RESTORE can set an absolute expire (4 ms) +[ok]: RESTORE can set an absolute expire (1 ms) [ok]: RESTORE with ABSTTL in the past (1 ms) -[ok]: RESTORE can set LRU (6 ms) -[ok]: RESTORE can set LFU (2 ms) +[ok]: RESTORE can set LRU (2 ms) +[ok]: RESTORE can set LFU (1 ms) [ok]: RESTORE returns an error of the key already exists (0 ms) -[ok]: RESTORE can overwrite an existing key with REPLACE (10 ms) +[ok]: RESTORE can overwrite an existing key with REPLACE (1 ms) [ok]: RESTORE can detect a syntax error for unrecongized options (0 ms) [ok]: DUMP of non existing key returns nil (0 ms) === (repl) Starting server 127.0.0.1:21113 ok -[ok]: MIGRATE is caching connections (298 ms) -[ok]: MIGRATE cached connections are released after some time (15001 ms) +[ok]: MIGRATE is caching connections (63915 ms) +[ok]: MIGRATE cached connections are released after some time (15005 ms) === (repl) Starting server 127.0.0.1:21114 ok -[ok]: MIGRATE is able to migrate a key between two instances (278 ms) +[ok]: MIGRATE is able to migrate a key between two instances (4416 ms) === (repl) Starting server 127.0.0.1:21115 ok -[ok]: MIGRATE is able to copy a key between two instances (304 ms) +[ok]: MIGRATE is able to copy a key between two instances (428 ms) === (repl) Starting server 127.0.0.1:21116 ok -[ok]: MIGRATE will not overwrite existing keys, unless REPLACE is used (309 ms) +[ok]: MIGRATE will not overwrite existing keys, unless REPLACE is used (457 ms) === (repl) Starting server 127.0.0.1:21117 ok -[ok]: MIGRATE propagates TTL correctly (291 ms) +[ok]: MIGRATE propagates TTL correctly (8550 ms) === (repl) Starting server 127.0.0.1:21118 ok -[ok]: MIGRATE can correctly transfer large values (21480 ms) +[ok]: MIGRATE can correctly transfer large values (113835 ms) === (repl) Starting server 127.0.0.1:21119 ok -[ok]: MIGRATE can correctly transfer hashes (295 ms) +[ok]: MIGRATE can correctly transfer hashes (325 ms) === (repl) Starting server 127.0.0.1:21120 ok -[ok]: MIGRATE timeout actually works (807 ms) +[ok]: MIGRATE timeout actually works (922 ms) === (repl) Starting server 127.0.0.1:21121 ok -[ok]: MIGRATE can migrate multiple keys at once (297 ms) -[ok]: MIGRATE with multiple keys must have empty key arg (1 ms) +[ok]: MIGRATE can migrate multiple keys at once (340 ms) +[ok]: MIGRATE with multiple keys must have empty key arg (2 ms) === (repl) Starting server 127.0.0.1:21122 ok -[ok]: MIGRATE with multiple keys migrate just existing ones (305 ms) +[ok]: MIGRATE with multiple keys migrate just existing ones (440 ms) === (repl) Starting server 127.0.0.1:21123 ok -[ok]: MIGRATE with multiple keys: stress command rewriting (297 ms) +[ok]: MIGRATE with multiple keys: stress command rewriting (39110 ms) === (repl) Starting server 127.0.0.1:21124 ok -[ok]: MIGRATE with multiple keys: delete just ack keys (309 ms) +[ok]: MIGRATE with multiple keys: delete just ack keys (14885 ms) === (repl) Starting server 127.0.0.1:21125 ok -[ok]: MIGRATE AUTH: correct and wrong password cases (284 ms) -[2/84 done]: unit/dump (41 seconds) +[ok]: MIGRATE AUTH: correct and wrong password cases (341 ms) +[2/84 done]: unit/dump (283 seconds) Testing unit/auth === (auth external:skip) Starting server 127.0.0.1:21126 ok -[ok]: AUTH fails if there is no password configured server side (4 ms) -[ok]: Arity check for auth command (1 ms) +[ok]: AUTH fails if there is no password configured server side (2 ms) +[ok]: Arity check for auth command (0 ms) === (auth external:skip) Starting server 127.0.0.1:21127 ok -[ok]: AUTH fails when a wrong password is given (24 ms) -[ok]: Arbitrary command gives an error when AUTH is required (0 ms) +[ok]: AUTH fails when a wrong password is given (16 ms) +[ok]: Arbitrary command gives an error when AUTH is required (4 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 (50 ms) -[ok]: For unauthenticated clients output buffer is limited (3780 ms) +[ok]: For unauthenticated clients multibulk and bulk length are limited (55 ms) +[ok]: For unauthenticated clients output buffer is limited (4269 ms) === (auth_binary_password external:skip) Starting server 127.0.0.1:21128 ok -[ok]: AUTH fails when binary password is wrong (9 ms) +[ok]: AUTH fails when binary password is wrong (1 ms) [ok]: AUTH succeeds when binary password is correct (0 ms) === (masterauth) Starting server 127.0.0.1:21129 ok -[ok]: MASTERAUTH test with binary password (958 ms) -[3/84 done]: unit/auth (6 seconds) +[ok]: MASTERAUTH test with binary password (872 ms) +[3/84 done]: unit/auth (7 seconds) Testing unit/protocol === (protocol network) Starting server 127.0.0.1:21130 ok -[ok]: Handle an empty query (67 ms) -[ok]: Negative multibulk length (67 ms) -[ok]: Out of range multibulk length (32 ms) -[ok]: Wrong multibulk payload header (31 ms) -[ok]: Negative multibulk payload length (36 ms) -[ok]: Out of range multibulk payload length (30 ms) -[ok]: Non-number multibulk payload length (25 ms) -[ok]: Multi bulk request not followed by bulk arguments (22 ms) -[ok]: Generic wrong number of args (24 ms) -[ok]: Unbalanced number of quotes (26 ms) -[ok]: Protocol desync regression test #1 (196 ms) -[ok]: Protocol desync regression test #2 (137 ms) -[ok]: Protocol desync regression test #3 (193 ms) -[ok]: raw protocol response (1 ms) -[ok]: raw protocol response - deferred (1 ms) +[ok]: Handle an empty query (75 ms) +[ok]: Negative multibulk length (80 ms) +[ok]: Out of range multibulk length (53 ms) +[ok]: Wrong multibulk payload header (48 ms) +[ok]: Negative multibulk payload length (32 ms) +[ok]: Out of range multibulk payload length (43 ms) +[ok]: Non-number multibulk payload length (42 ms) +[ok]: Multi bulk request not followed by bulk arguments (42 ms) +[ok]: Generic wrong number of args (44 ms) +[ok]: Unbalanced number of quotes (40 ms) +[ok]: Protocol desync regression test #1 (296 ms) +[ok]: Protocol desync regression test #2 (284 ms) +[ok]: Protocol desync regression test #3 (189 ms) +[ok]: raw protocol response (0 ms) +[ok]: raw protocol response - deferred (0 ms) [ok]: raw protocol response - multiline (1 ms) [ok]: RESP3 attributes (2 ms) -[ok]: RESP3 attributes readraw (6 ms) -[ok]: RESP3 attributes on RESP2 (1 ms) -[ok]: test big number parsing (1 ms) +[ok]: RESP3 attributes readraw (1 ms) +[ok]: RESP3 attributes on RESP2 (0 ms) +[ok]: test big number parsing (0 ms) [ok]: test bool parsing (1 ms) -[ok]: test verbatim str parsing (5 ms) -[ok]: test large number of args (103 ms) -[ok]: test argument rewriting - issue 9598 (4 ms) +[ok]: test verbatim str parsing (0 ms) +[ok]: test large number of args (111 ms) +[ok]: test argument rewriting - issue 9598 (2 ms) === (regression) Starting server 127.0.0.1:21131 ok -[ok]: Regression for a crash with blocking ops and pipelining (32 ms) -[4/84 done]: unit/protocol (2 seconds) +[ok]: Regression for a crash with blocking ops and pipelining (11 ms) +[4/84 done]: unit/protocol (19 seconds) Testing unit/keyspace === (keyspace) Starting server 127.0.0.1:21132 ok -[ok]: DEL against a single item (4 ms) -[ok]: Vararg DEL (4 ms) +[ok]: DEL against a single item (7 ms) +[ok]: Vararg DEL (2 ms) [ok]: Untagged multi-key commands (1 ms) -[ok]: KEYS with pattern (6 ms) -[ok]: KEYS to get all keys (1 ms) -[ok]: DBSIZE (0 ms) +[ok]: KEYS with pattern (3 ms) +[ok]: KEYS to get all keys (0 ms) +[ok]: DBSIZE (5 ms) [ok]: DEL all keys (2 ms) -[ok]: DEL against expired key (1906 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 (0 ms) -[ok]: RENAME basic usage (1 ms) +[ok]: DEL against expired key (1104 ms) +[ok]: EXISTS (10 ms) +[ok]: Zero length value in key. SET/GET/EXISTS (9 ms) +[ok]: Commands pipelining (7 ms) +[ok]: Non existing command (1 ms) +[ok]: RENAME basic usage (7 ms) [ok]: RENAME source key should no longer exist (1 ms) -[ok]: RENAME against already existing key (1 ms) -[ok]: RENAMENX basic usage (1 ms) +[ok]: RENAME against already existing key (7 ms) +[ok]: RENAMENX basic usage (7 ms) [ok]: RENAMENX against already existing key (1 ms) -[ok]: RENAMENX against already existing key (2) (0 ms) -[ok]: RENAME against non existing source key (0 ms) -[ok]: RENAME where source and dest key are the same (existing) (0 ms) +[ok]: RENAMENX against already existing key (2) (1 ms) +[ok]: RENAME against non existing source key (1 ms) +[ok]: RENAME where source and dest key are the same (existing) (4 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) (0 ms) -[ok]: RENAME with volatile key, should move the TTL as well (2 ms) +[ok]: RENAME with volatile key, should move the TTL as well (5 ms) [ok]: RENAME with volatile key, should not inherit TTL of target key (2 ms) -[ok]: DEL all keys again (DB 0) (1 ms) -[ok]: DEL all keys again (DB 1) (1 ms) -[ok]: COPY basic usage for string (2 ms) -[ok]: COPY for string does not replace an existing key without REPLACE option (0 ms) +[ok]: DEL all keys again (DB 0) (5 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 (1 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 (3 ms) +[ok]: COPY for string ensures that copied data is independent of copying data (7 ms) [ok]: COPY for string does not copy data to no-integer DB (1 ms) [ok]: COPY can copy key expire metadata as well (1 ms) -[ok]: COPY does not create an expire if it does not exist (1 ms) -[ok]: COPY basic usage for list (2 ms) -[ok]: COPY basic usage for intset set (3 ms) -[ok]: COPY basic usage for hashtable set (2 ms) -[ok]: COPY basic usage for listpack sorted set (2 ms) -[ok]: COPY basic usage for skiplist sorted set (27 ms) -[ok]: COPY basic usage for listpack hash (2 ms) -[ok]: COPY basic usage for hashtable hash (25 ms) -[ok]: COPY basic usage for stream (217 ms) -[ok]: COPY basic usage for stream-cgroups (11 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 (2 ms) +[ok]: COPY does not create an expire if it does not exist (2 ms) +[ok]: COPY basic usage for list (27 ms) +[ok]: COPY basic usage for intset set (7 ms) +[ok]: COPY basic usage for hashtable set (9 ms) +[ok]: COPY basic usage for listpack sorted set (6 ms) +[ok]: COPY basic usage for skiplist sorted set (91 ms) +[ok]: COPY basic usage for listpack hash (10 ms) +[ok]: COPY basic usage for hashtable hash (58 ms) +[ok]: COPY basic usage for stream (948 ms) +[ok]: COPY basic usage for stream-cgroups (46 ms) +[ok]: MOVE basic usage (1 ms) +[ok]: MOVE against key existing in the target DB (7 ms) +[ok]: MOVE against non-integer DB (#1428) (1 ms) +[ok]: MOVE can move key expire metadata as well (8 ms) [ok]: MOVE does not create an expire if it does not exist (2 ms) -[ok]: SET/GET keys in different DBs (3 ms) +[ok]: SET/GET keys in different DBs (2 ms) [ok]: RANDOMKEY (18 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 (1 ms) -[ok]: Regression for pattern matching very long nested loops (96 ms) -[5/84 done]: unit/keyspace (2 seconds) +[ok]: Regression for pattern matching very long nested loops (89 ms) +[5/84 done]: unit/keyspace (6 seconds) Testing unit/scan === (scan network) Starting server 127.0.0.1:21133 ok -[ok]: SCAN basic (176 ms) -[ok]: SCAN COUNT (185 ms) -[ok]: SCAN MATCH (156 ms) -[ok]: SCAN TYPE (272 ms) +[ok]: SCAN basic (246 ms) +[ok]: SCAN COUNT (402 ms) +[ok]: SCAN MATCH (231 ms) +[ok]: SCAN TYPE (349 ms) [ok]: SSCAN with encoding intset (2 ms) -[ok]: SSCAN with encoding hashtable (3 ms) +[ok]: SSCAN with encoding hashtable (4 ms) [ok]: HSCAN with encoding listpack (2 ms) -[ok]: HSCAN with encoding hashtable (125 ms) -[ok]: ZSCAN with encoding listpack (3 ms) -[ok]: ZSCAN with encoding skiplist (144 ms) -[ok]: SCAN guarantees check under write load (59 ms) +[ok]: HSCAN with encoding hashtable (145 ms) +[ok]: ZSCAN with encoding listpack (11 ms) +[ok]: ZSCAN with encoding skiplist (136 ms) +[ok]: SCAN guarantees check under write load (134 ms) [ok]: SSCAN with integer encoded object (issue #1345) (1 ms) [ok]: SSCAN with PATTERN (0 ms) -[ok]: HSCAN with PATTERN (0 ms) +[ok]: HSCAN with PATTERN (1 ms) [ok]: ZSCAN with PATTERN (1 ms) -[ok]: ZSCAN scores: regression test for issue #2175 (98 ms) -[ok]: SCAN regression test for issue #4906 (18679 ms) -[6/84 done]: unit/scan (22 seconds) +[ok]: ZSCAN scores: regression test for issue #2175 (108 ms) +[ok]: SCAN regression test for issue #4906 (28535 ms) +[6/84 done]: unit/scan (37 seconds) Testing unit/info === (info external:skip) Starting server 127.0.0.1:21134 ok === () Starting server 127.0.0.1:21135 ok -[ok]: latencystats: disable/enable (8 ms) -[ok]: latencystats: configure percentiles (7 ms) -[ok]: latencystats: bad configure percentiles (8 ms) -[ok]: latencystats: blocking commands (29 ms) -[ok]: latencystats: subcommands (6 ms) -[ok]: latencystats: measure latency (59 ms) -[ok]: errorstats: failed call authentication error (3 ms) -[ok]: errorstats: failed call within MULTI/EXEC (8 ms) +[ok]: latencystats: disable/enable (7 ms) +[ok]: latencystats: configure percentiles (57 ms) +[ok]: latencystats: bad configure percentiles (104 ms) +[ok]: latencystats: blocking commands (65 ms) +[ok]: latencystats: subcommands (28 ms) +[ok]: latencystats: measure latency (123 ms) +[ok]: errorstats: failed call authentication error (5 ms) +[ok]: errorstats: failed call within MULTI/EXEC (6 ms) [ok]: errorstats: failed call within LUA (3 ms) -[ok]: errorstats: failed call NOSCRIPT error (5 ms) -[ok]: errorstats: failed call NOGROUP error (7 ms) +[ok]: errorstats: failed call NOSCRIPT error (2 ms) +[ok]: errorstats: failed call NOGROUP error (2 ms) [ok]: errorstats: rejected call unknown command (2 ms) -[ok]: errorstats: rejected call within MULTI/EXEC (8 ms) -[ok]: errorstats: rejected call due to wrong arity (2 ms) -[ok]: errorstats: rejected call by OOM error (11 ms) -[ok]: errorstats: rejected call by authorization error (6 ms) -[ok]: errorstats: blocking commands (35 ms) -[7/84 done]: unit/info (1 seconds) +[ok]: errorstats: rejected call within MULTI/EXEC (3 ms) +[ok]: errorstats: rejected call due to wrong arity (3 ms) +[ok]: errorstats: rejected call by OOM error (2 ms) +[ok]: errorstats: rejected call by authorization error (2 ms) +[ok]: errorstats: blocking commands (12 ms) +[7/84 done]: unit/info (31 seconds) Testing unit/info-command === (info and its relative command) Starting server 127.0.0.1:21136 ok -[ok]: info command with at most one sub command (9 ms) +[ok]: info command with at most one sub command (2 ms) [ok]: info command with one sub-section (1 ms) [ok]: info command with multiple sub-sections (1 ms) -[8/84 done]: unit/info-command (0 seconds) +[8/84 done]: unit/info-command (27 seconds) Testing unit/type/string === (string) Starting server 127.0.0.1:21137 ok -[ok]: SET and GET an item (3 ms) -[ok]: SET and GET an empty item (0 ms) -[ok]: Very big payload in GET/SET (137 ms) -[ok]: Very big payload random access (6304 ms) -[ok]: SET 10000 numeric keys and access all them in reverse order (3509 ms) +[ok]: SET and GET an item (1 ms) +[ok]: SET and GET an empty item (1 ms) +[ok]: Very big payload in GET/SET (97970 ms) +[ok]: Very big payload random access (257467 ms) +[ok]: SET 10000 numeric keys and access all them in reverse order (15427 ms) [ok]: DBSIZE should be 10000 now (0 ms) -[ok]: SETNX target key missing (0 ms) -[ok]: SETNX target key exists (1 ms) +[ok]: SETNX target key missing (1 ms) +[ok]: SETNX target key exists (0 ms) [ok]: SETNX against not-expired volatile key (1 ms) -[ok]: SETNX against expired volatile key (5850 ms) -[ok]: GETEX EX option (1 ms) -[ok]: GETEX PX option (1 ms) -[ok]: GETEX EXAT option (5 ms) -[ok]: GETEX PXAT option (1 ms) -[ok]: GETEX PERSIST option (2 ms) -[ok]: GETEX no option (0 ms) -[ok]: GETEX syntax errors (0 ms) -[ok]: GETEX no arguments (4 ms) -[ok]: GETDEL command (1 ms) -[ok]: GETDEL propagate as DEL command to replica (148 ms) -[ok]: GETEX without argument does not propagate to replica (100 ms) -[ok]: MGET (17 ms) -[ok]: MGET against non existing key (0 ms) -[ok]: MGET against non-string key (1 ms) -[ok]: GETSET (set new value) (0 ms) +[ok]: SETNX against expired volatile key (22630 ms) +[ok]: GETEX EX option (12 ms) +[ok]: GETEX PX option (7 ms) +[ok]: GETEX EXAT option (1 ms) +[ok]: GETEX PXAT option (7 ms) +[ok]: GETEX PERSIST option (1 ms) +[ok]: GETEX no option (6 ms) +[ok]: GETEX syntax errors (1 ms) +[ok]: GETEX no arguments (0 ms) +[ok]: GETDEL command (10 ms) +[ok]: GETDEL propagate as DEL command to replica (210 ms) +[ok]: GETEX without argument does not propagate to replica (194 ms) +[ok]: MGET (47 ms) +[ok]: MGET against non existing key (1 ms) +[ok]: MGET against non-string key (6 ms) +[ok]: GETSET (set new value) (13 ms) [ok]: GETSET (replace old value) (3 ms) -[ok]: MSET base case (0 ms) -[ok]: MSET/MSETNX wrong number of args (1 ms) -[ok]: MSETNX with already existent key (1 ms) -[ok]: MSETNX with not existing keys (5 ms) +[ok]: MSET base case (2 ms) +[ok]: MSET/MSETNX wrong number of args (0 ms) +[ok]: MSETNX with already existent key (13 ms) +[ok]: MSETNX with not existing keys (2 ms) [ok]: MSETNX with not existing keys - same key twice (1 ms) -[ok]: MSETNX with already existing keys - same key twice (0 ms) -[ok]: STRLEN against non-existing key (1 ms) -[ok]: STRLEN against integer-encoded value (0 ms) +[ok]: MSETNX with already existing keys - same key twice (3 ms) +[ok]: STRLEN against non-existing key (5 ms) +[ok]: STRLEN against integer-encoded value (1 ms) [ok]: STRLEN against plain string (1 ms) -[ok]: SETBIT against non-existing key (0 ms) +[ok]: SETBIT against non-existing key (26 ms) [ok]: SETBIT against string-encoded key (3 ms) -[ok]: SETBIT against integer-encoded key (2 ms) -[ok]: SETBIT against key with wrong type (1 ms) -[ok]: SETBIT with out of range bit offset (1 ms) -[ok]: SETBIT with non-bit argument (1 ms) -[ok]: SETBIT fuzzing (947 ms) -[ok]: GETBIT against non-existing key (1 ms) -[ok]: GETBIT against string-encoded key (1 ms) -[ok]: GETBIT against integer-encoded key (2 ms) -[ok]: SETRANGE against non-existing key (2 ms) -[ok]: SETRANGE against string-encoded key (2 ms) -[ok]: SETRANGE against integer-encoded key (4 ms) +[ok]: SETBIT against integer-encoded key (4 ms) +[ok]: SETBIT against key with wrong type (2 ms) +[ok]: SETBIT with out of range bit offset (6 ms) +[ok]: SETBIT with non-bit argument (3 ms) +[ok]: SETBIT fuzzing (4200 ms) +[ok]: GETBIT against non-existing key (10 ms) +[ok]: GETBIT against string-encoded key (8 ms) +[ok]: GETBIT against integer-encoded key (13 ms) +[ok]: SETRANGE against non-existing key (15 ms) +[ok]: SETRANGE against string-encoded key (10 ms) +[ok]: SETRANGE against integer-encoded key (17 ms) [ok]: SETRANGE against key with wrong type (1 ms) [ok]: SETRANGE with out of range offset (2 ms) -[ok]: GETRANGE against non-existing key (0 ms) +[ok]: GETRANGE against non-existing key (2 ms) [ok]: GETRANGE against string value (2 ms) -[ok]: GETRANGE against integer-encoded value (1 ms) -[ok]: GETRANGE fuzzing (1309 ms) -[ok]: trim on SET with big value (97 ms) -[ok]: Extended SET can detect syntax errors (1 ms) -[ok]: Extended SET NX option (1 ms) +[ok]: GETRANGE against integer-encoded value (2 ms) +[ok]: GETRANGE fuzzing (10005 ms) +[ok]: trim on SET with big value (75 ms) +[ok]: Extended SET can detect syntax errors (4 ms) +[ok]: Extended SET NX option (24 ms) [ok]: Extended SET XX option (1 ms) -[ok]: Extended SET GET option (1 ms) -[ok]: Extended SET GET option with no previous value (0 ms) -[ok]: Extended SET GET option with XX (3 ms) -[ok]: Extended SET GET option with XX and no previous value (0 ms) -[ok]: Extended SET GET option with NX (1 ms) +[ok]: Extended SET GET option (4 ms) +[ok]: Extended SET GET option with no previous value (1 ms) +[ok]: Extended SET GET option with XX (1 ms) +[ok]: Extended SET GET option with XX and no previous value (1 ms) +[ok]: Extended SET GET option with NX (12 ms) [ok]: Extended SET GET option with NX and previous value (1 ms) [ok]: Extended SET GET with incorrect type should result in wrong type error (1 ms) -[ok]: Extended SET EX option (4 ms) -[ok]: Extended SET PX option (0 ms) +[ok]: Extended SET EX option (14 ms) +[ok]: Extended SET PX option (16 ms) [ok]: Extended SET EXAT option (1 ms) -[ok]: Extended SET PXAT option (1 ms) -[ok]: Extended SET using multiple options at once (1 ms) -[ok]: GETRANGE with huge ranges, Github issue #1844 (4 ms) -[ok]: LCS basic (1 ms) +[ok]: Extended SET PXAT option (11 ms) +[ok]: Extended SET using multiple options at once (16 ms) +[ok]: GETRANGE with huge ranges, Github issue #1844 (8 ms) +[ok]: LCS basic (5 ms) [ok]: LCS len (1 ms) [ok]: LCS indexes (1 ms) [ok]: LCS indexes with match len (1 ms) -[ok]: LCS indexes with match len and minimum match len (7 ms) -[ok]: SETRANGE with huge offset (1 ms) -[9/84 done]: unit/type/string (19 seconds) +[ok]: LCS indexes with match len and minimum match len (0 ms) +[ok]: SETRANGE with huge offset (16 ms) +[9/84 done]: unit/type/string (412 seconds) Testing unit/type/incr === (incr) Starting server 127.0.0.1:21138 ok -[ok]: INCR against non existing key (0 ms) -[ok]: INCR against key created by incr itself (2 ms) -[ok]: INCR against key originally set with SET (1 ms) -[ok]: INCR over 32bit value (0 ms) +[ok]: INCR against non existing key (10 ms) +[ok]: INCR against key created by incr itself (0 ms) +[ok]: INCR against key originally set with SET (7 ms) +[ok]: INCR over 32bit value (6 ms) [ok]: INCRBY over 32bit value with over 32bit increment (1 ms) [ok]: INCR fails against key with spaces (left) (0 ms) -[ok]: INCR fails against key with spaces (right) (1 ms) -[ok]: INCR fails against key with spaces (both) (1 ms) +[ok]: INCR fails against key with spaces (right) (0 ms) +[ok]: INCR fails against key with spaces (both) (0 ms) [ok]: DECRBY negation overflow (3 ms) -[ok]: INCR fails against a key holding a list (5 ms) -[ok]: DECRBY over 32bit value with over 32bit increment, negative res (0 ms) -[ok]: INCR uses shared objects in the 0-9999 range (7 ms) +[ok]: INCR fails against a key holding a list (4 ms) +[ok]: DECRBY over 32bit value with over 32bit increment, negative res (2 ms) +[ok]: INCR uses shared objects in the 0-9999 range (5 ms) [ok]: INCR can modify objects in-place (2 ms) -[ok]: INCRBYFLOAT against non existing key (1 ms) +[ok]: INCRBYFLOAT against non existing key (2 ms) [ok]: INCRBYFLOAT against key originally set with SET (1 ms) -[ok]: INCRBYFLOAT over 32bit value (0 ms) +[ok]: INCRBYFLOAT over 32bit value (1 ms) [ok]: INCRBYFLOAT over 32bit value with over 32bit increment (1 ms) [ok]: INCRBYFLOAT fails against key with spaces (left) (1 ms) -[ok]: INCRBYFLOAT fails against key with spaces (right) (0 ms) -[ok]: INCRBYFLOAT fails against key with spaces (both) (2 ms) +[ok]: INCRBYFLOAT fails against key with spaces (right) (1 ms) +[ok]: INCRBYFLOAT fails against key with spaces (both) (1 ms) [ok]: INCRBYFLOAT fails against a key holding a list (1 ms) -[ok]: INCRBYFLOAT does not allow NaN or Infinity (1 ms) -[ok]: INCRBYFLOAT decrement (4 ms) +[ok]: INCRBYFLOAT does not allow NaN or Infinity (0 ms) +[ok]: INCRBYFLOAT decrement (0 ms) [ok]: string to double with null terminator (1 ms) -[ok]: No negative zero (7 ms) -[10/84 done]: unit/type/incr (4 seconds) +[ok]: No negative zero (1 ms) +[10/84 done]: unit/type/incr (1 seconds) Testing unit/type/list === () Starting server 127.0.0.1:21139 ok -[ok]: reg node check compression with insert and pop (4 ms) -[ok]: reg node check compression combined with trim (5 ms) -[ok]: reg node check compression with lset (1 ms) -[ok]: plain node check compression (11 ms) -[ok]: plain node check compression with ltrim (2 ms) -[ok]: plain node check compression using lset (5 ms) +[ok]: reg node check compression with insert and pop (9 ms) +[ok]: reg node check compression combined with trim (1 ms) +[ok]: reg node check compression with lset (5 ms) +[ok]: plain node check compression (10 ms) +[ok]: plain node check compression with ltrim (5 ms) +[ok]: plain node check compression using lset (7 ms) === () Starting server 127.0.0.1:21140 ok -[ok]: Test LPUSH and LPOP on plain nodes (296 ms) -[ok]: Test LINDEX and LINSERT on plain nodes (2 ms) -[ok]: Test LTRIM on plain nodes (5 ms) -[ok]: Test LREM on plain nodes (4 ms) -[ok]: Test LPOS on plain nodes (8 ms) -[ok]: Test LMOVE on plain nodes (3 ms) -[ok]: Test LSET with packed / plain combinations (182 ms) -[ok]: Test LSET with packed is split in the middle (3 ms) -[ok]: Test LSET with packed consist only one item (144 ms) +[ok]: Test LPUSH and LPOP on plain nodes (52 ms) +[ok]: Test LINDEX and LINSERT on plain nodes (15 ms) +[ok]: Test LTRIM on plain nodes (15 ms) +[ok]: Test LREM on plain nodes (8 ms) +[ok]: Test LPOS on plain nodes (9 ms) +[ok]: Test LMOVE on plain nodes (27 ms) +[ok]: Test LSET with packed / plain combinations (223 ms) +[ok]: Test LSET with packed is split in the middle (20 ms) +[ok]: Test LSET with packed consist only one item (203 ms) [ok]: Crash due to delete entry from a compress quicklist node (7 ms) -[ok]: Crash due to split quicklist node wrongly (1 ms) +[ok]: Crash due to split quicklist node wrongly (8 ms) === () Starting server 127.0.0.1:21141 ok [ignore]: Test LPUSH and LPOP on plain nodes over 4GB: large memory flag not provided [ignore]: Test LINDEX and LINSERT on plain nodes over 4GB: large memory flag not provided @@ -1171,1171 +1207,1169 @@ [ignore]: Test LSET on plain nodes over 4GB: large memory flag not provided [ignore]: Test LMOVE on plain nodes over 4GB: large memory flag not provided === (list) Starting server 127.0.0.1:21142 ok -[ok]: LPOS basic usage (8 ms) -[ok]: LPOS RANK (positive, negative and zero rank) option (1 ms) -[ok]: LPOS COUNT option (1 ms) +[ok]: LPOS basic usage (9 ms) +[ok]: LPOS RANK (positive, negative and zero rank) option (3 ms) +[ok]: LPOS COUNT option (12 ms) [ok]: LPOS COUNT + RANK option (1 ms) -[ok]: LPOS non existing key (4 ms) +[ok]: LPOS non existing key (6 ms) [ok]: LPOS no match (1 ms) -[ok]: LPOS MAXLEN (1 ms) -[ok]: LPOS when RANK is greater than matches (1 ms) -[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - ziplist (8 ms) -[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - regular list (8 ms) -[ok]: LPOP/RPOP with wrong number of arguments (1 ms) -[ok]: RPOP/LPOP with the optional count argument (5 ms) -[ok]: LPOP/RPOP with the count 0 returns an empty array in RESP3 (1 ms) +[ok]: LPOS MAXLEN (7 ms) +[ok]: LPOS when RANK is greater than matches (4 ms) +[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - ziplist (31 ms) +[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - regular list (24 ms) +[ok]: LPOP/RPOP with wrong number of arguments (10 ms) +[ok]: RPOP/LPOP with the optional count argument (14 ms) +[ok]: LPOP/RPOP with the count 0 returns an empty array in RESP3 (8 ms) [ok]: LPOP/RPOP against non existing key in RESP3 (1 ms) -[ok]: LPOP/RPOP with against non existing key in RESP3 (1 ms) +[ok]: LPOP/RPOP with against non existing key in RESP3 (13 ms) [ok]: LPOP/RPOP with the count 0 returns an empty array in RESP2 (1 ms) -[ok]: LPOP/RPOP against non existing key in RESP2 (1 ms) -[ok]: LPOP/RPOP with against non existing key in RESP2 (2 ms) -[ok]: Variadic RPUSH/LPUSH (5 ms) -[ok]: DEL a list (3 ms) -[ok]: BLPOP: single existing list - linkedlist (40 ms) -[ok]: BLPOP: multiple existing lists - linkedlist (34 ms) -[ok]: BLPOP: second list has an entry - linkedlist (30 ms) -[ok]: BLMPOP_LEFT: single existing list - linkedlist (34 ms) -[ok]: BLMPOP_LEFT: multiple existing lists - linkedlist (35 ms) -[ok]: BLMPOP_LEFT: second list has an entry - linkedlist (30 ms) -[ok]: BRPOPLPUSH - linkedlist (24 ms) -[ok]: BLMOVE left left - linkedlist (32 ms) -[ok]: BLMOVE left right - linkedlist (27 ms) -[ok]: BLMOVE right left - linkedlist (34 ms) -[ok]: BLMOVE right right - linkedlist (23 ms) -[ok]: BLPOP: single existing list - ziplist (38 ms) -[ok]: BLPOP: multiple existing lists - ziplist (43 ms) -[ok]: BLPOP: second list has an entry - ziplist (37 ms) -[ok]: BLMPOP_LEFT: single existing list - ziplist (21 ms) -[ok]: BLMPOP_LEFT: multiple existing lists - ziplist (22 ms) -[ok]: BLMPOP_LEFT: second list has an entry - ziplist (40 ms) -[ok]: BRPOPLPUSH - ziplist (34 ms) -[ok]: BLMOVE left left - ziplist (2067 ms) -[ok]: BLMOVE left right - ziplist (34 ms) -[ok]: BLMOVE right left - ziplist (33 ms) -[ok]: BLMOVE right right - ziplist (31 ms) -[ok]: BLPOP, LPUSH + DEL should not awake blocked client (126 ms) -[ok]: BLPOP, LPUSH + DEL + SET should not awake blocked client (134 ms) -[ok]: BLMPOP_LEFT, LPUSH + DEL should not awake blocked client (130 ms) -[ok]: BLMPOP_LEFT, LPUSH + DEL + SET should not awake blocked client (137 ms) -[ok]: BLPOP with same key multiple times should work (issue #801) (33 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BLPOP (131 ms) -[ok]: BLPOP with variadic LPUSH (28 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BLMPOP_LEFT (128 ms) -[ok]: BLMPOP_LEFT with variadic LPUSH (28 ms) -[ok]: BRPOPLPUSH with zero timeout should block indefinitely (28 ms) -[ok]: BLMOVE left left with zero timeout should block indefinitely (32 ms) -[ok]: BLMOVE left right with zero timeout should block indefinitely (28 ms) -[ok]: BLMOVE right left with zero timeout should block indefinitely (36 ms) -[ok]: BLMOVE right right with zero timeout should block indefinitely (35 ms) -[ok]: BLMOVE (left, left) with a client BLPOPing the target list (49 ms) -[ok]: BLMOVE (left, right) with a client BLPOPing the target list (51 ms) -[ok]: BLMOVE (right, left) with a client BLPOPing the target list (51 ms) -[ok]: BLMOVE (right, right) with a client BLPOPing the target list (43 ms) -[ok]: BRPOPLPUSH with wrong source type (21 ms) -[ok]: BRPOPLPUSH with wrong destination type (56 ms) -[ok]: BRPOPLPUSH maintains order of elements after failure (27 ms) -[ok]: BRPOPLPUSH with multiple blocked clients (50 ms) -[ok]: BLMPOP with multiple blocked clients (103 ms) -[ok]: Linked LMOVEs (61 ms) -[ok]: Circular BRPOPLPUSH (52 ms) -[ok]: Self-referential BRPOPLPUSH (29 ms) -[ok]: BRPOPLPUSH inside a transaction (11 ms) -[ok]: PUSH resulting from BRPOPLPUSH affect WATCH (51 ms) -[ok]: BRPOPLPUSH does not affect WATCH while still blocked (52 ms) -[ok]: BRPOPLPUSH timeout (1037 ms) -[ok]: SWAPDB awakes blocked client (44 ms) -[ok]: SWAPDB wants to wake blocked client, but the key already expired (223 ms) -[ok]: MULTI + LPUSH + EXPIRE + DEBUG SLEEP on blocked client, key already expired (296 ms) -[ok]: BLPOP when new key is moved into place (33 ms) -[ok]: BLPOP when result key is created by SORT..STORE (32 ms) -[ok]: BLMPOP_LEFT when new key is moved into place (28 ms) -[ok]: BLMPOP_LEFT when result key is created by SORT..STORE (27 ms) -[ok]: BLPOP: with single empty list argument (26 ms) -[ok]: BLPOP: with negative timeout (24 ms) -[ok]: BLPOP: with non-integer timeout (31 ms) -[ok]: BLPOP: with zero timeout should block indefinitely (1028 ms) -[ok]: BLPOP: with 0.001 timeout should not block indefinitely (50 ms) -[ok]: BLPOP: second argument is not a list (25 ms) -[ok]: BLPOP: timeout (3063 ms) -[ok]: BLPOP: arguments are empty (34 ms) -[ok]: BRPOP: with single empty list argument (30 ms) -[ok]: BRPOP: with negative timeout (28 ms) -[ok]: BRPOP: with non-integer timeout (20 ms) -[ok]: BRPOP: with zero timeout should block indefinitely (1020 ms) +[ok]: LPOP/RPOP against non existing key in RESP2 (7 ms) +[ok]: LPOP/RPOP with against non existing key in RESP2 (11 ms) +[ok]: Variadic RPUSH/LPUSH (1 ms) +[ok]: DEL a list (6 ms) +[ok]: BLPOP: single existing list - linkedlist (68 ms) +[ok]: BLPOP: multiple existing lists - linkedlist (75 ms) +[ok]: BLPOP: second list has an entry - linkedlist (69 ms) +[ok]: BLMPOP_LEFT: single existing list - linkedlist (80 ms) +[ok]: BLMPOP_LEFT: multiple existing lists - linkedlist (57 ms) +[ok]: BLMPOP_LEFT: second list has an entry - linkedlist (50 ms) +[ok]: BRPOPLPUSH - linkedlist (74 ms) +[ok]: BLMOVE left left - linkedlist (89 ms) +[ok]: BLMOVE left right - linkedlist (121 ms) +[ok]: BLMOVE right left - linkedlist (84 ms) +[ok]: BLMOVE right right - linkedlist (68 ms) +[ok]: BLPOP: single existing list - ziplist (64 ms) +[ok]: BLPOP: multiple existing lists - ziplist (42 ms) +[ok]: BLPOP: second list has an entry - ziplist (22 ms) +[ok]: BLMPOP_LEFT: single existing list - ziplist (20 ms) +[ok]: BLMPOP_LEFT: multiple existing lists - ziplist (40 ms) +[ok]: BLMPOP_LEFT: second list has an entry - ziplist (34 ms) +[ok]: BRPOPLPUSH - ziplist (38 ms) +[ok]: BLMOVE left left - ziplist (42 ms) +[ok]: BLMOVE left right - ziplist (37 ms) +[ok]: BLMOVE right left - ziplist (65 ms) +[ok]: BLMOVE right right - ziplist (65 ms) +[ok]: BLPOP, LPUSH + DEL should not awake blocked client (157 ms) +[ok]: BLPOP, LPUSH + DEL + SET should not awake blocked client (166 ms) +[ok]: BLMPOP_LEFT, LPUSH + DEL should not awake blocked client (208 ms) +[ok]: BLMPOP_LEFT, LPUSH + DEL + SET should not awake blocked client (184 ms) +[ok]: BLPOP with same key multiple times should work (issue #801) (120 ms) +[ok]: MULTI/EXEC is isolated from the point of view of BLPOP (163 ms) +[ok]: BLPOP with variadic LPUSH (80 ms) +[ok]: MULTI/EXEC is isolated from the point of view of BLMPOP_LEFT (2614 ms) +[ok]: BLMPOP_LEFT with variadic LPUSH (113 ms) +[ok]: BRPOPLPUSH with zero timeout should block indefinitely (102 ms) +[ok]: BLMOVE left left with zero timeout should block indefinitely (96 ms) +[ok]: BLMOVE left right with zero timeout should block indefinitely (72 ms) +[ok]: BLMOVE right left with zero timeout should block indefinitely (41 ms) +[ok]: BLMOVE right right with zero timeout should block indefinitely (51 ms) +[ok]: BLMOVE (left, left) with a client BLPOPing the target list (92 ms) +[ok]: BLMOVE (left, right) with a client BLPOPing the target list (94 ms) +[ok]: BLMOVE (right, left) with a client BLPOPing the target list (94 ms) +[ok]: BLMOVE (right, right) with a client BLPOPing the target list (120 ms) +[ok]: BRPOPLPUSH with wrong source type (55 ms) +[ok]: BRPOPLPUSH with wrong destination type (140 ms) +[ok]: BRPOPLPUSH maintains order of elements after failure (63 ms) +[ok]: BRPOPLPUSH with multiple blocked clients (130 ms) +[ok]: BLMPOP with multiple blocked clients (206 ms) +[ok]: Linked LMOVEs (141 ms) +[ok]: Circular BRPOPLPUSH (143 ms) +[ok]: Self-referential BRPOPLPUSH (56 ms) +[ok]: BRPOPLPUSH inside a transaction (23 ms) +[ok]: PUSH resulting from BRPOPLPUSH affect WATCH (212 ms) +[ok]: BRPOPLPUSH does not affect WATCH while still blocked (155 ms) +[ok]: BRPOPLPUSH timeout (1068 ms) +[ok]: SWAPDB awakes blocked client (76 ms) +[ok]: SWAPDB wants to wake blocked client, but the key already expired (264 ms) +[ok]: MULTI + LPUSH + EXPIRE + DEBUG SLEEP on blocked client, key already expired (430 ms) +[ok]: BLPOP when new key is moved into place (42 ms) +[ok]: BLPOP when result key is created by SORT..STORE (35 ms) +[ok]: BLMPOP_LEFT when new key is moved into place (41 ms) +[ok]: BLMPOP_LEFT when result key is created by SORT..STORE (29 ms) +[ok]: BLPOP: with single empty list argument (45 ms) +[ok]: BLPOP: with negative timeout (47 ms) +[ok]: BLPOP: with non-integer timeout (36 ms) +[ok]: BLPOP: with zero timeout should block indefinitely (1040 ms) +[ok]: BLPOP: with 0.001 timeout should not block indefinitely (76 ms) +[ok]: BLPOP: second argument is not a list (60 ms) +[ok]: BLPOP: timeout (2604 ms) +[ok]: BLPOP: arguments are empty (108 ms) +[ok]: BRPOP: with single empty list argument (75 ms) +[ok]: BRPOP: with negative timeout (56 ms) +[ok]: BRPOP: with non-integer timeout (48 ms) +[ok]: BRPOP: with zero timeout should block indefinitely (1046 ms) [ok]: BRPOP: with 0.001 timeout should not block indefinitely (54 ms) -[ok]: BRPOP: second argument is not a list (30 ms) -[ok]: BRPOP: timeout (1110 ms) -[ok]: BRPOP: arguments are empty (37 ms) -[ok]: BLMPOP_LEFT: with single empty list argument (28 ms) -[ok]: BLMPOP_LEFT: with negative timeout (28 ms) -[ok]: BLMPOP_LEFT: with non-integer timeout (28 ms) -[ok]: BLMPOP_LEFT: with zero timeout should block indefinitely (1032 ms) -[ok]: BLMPOP_LEFT: with 0.001 timeout should not block indefinitely (50 ms) -[ok]: BLMPOP_LEFT: second argument is not a list (33 ms) -[ok]: BLMPOP_LEFT: timeout (1084 ms) -[ok]: BLMPOP_LEFT: arguments are empty (1099 ms) -[ok]: BLMPOP_RIGHT: with single empty list argument (28 ms) -[ok]: BLMPOP_RIGHT: with negative timeout (22 ms) -[ok]: BLMPOP_RIGHT: with non-integer timeout (25 ms) -[ok]: BLMPOP_RIGHT: with zero timeout should block indefinitely (1031 ms) -[ok]: BLMPOP_RIGHT: with 0.001 timeout should not block indefinitely (53 ms) -[ok]: BLMPOP_RIGHT: second argument is not a list (27 ms) -[ok]: BLMPOP_RIGHT: timeout (1078 ms) -[ok]: BLMPOP_RIGHT: arguments are empty (34 ms) +[ok]: BRPOP: second argument is not a list (40 ms) +[ok]: BRPOP: timeout (1075 ms) +[ok]: BRPOP: arguments are empty (169 ms) +[ok]: BLMPOP_LEFT: with single empty list argument (77 ms) +[ok]: BLMPOP_LEFT: with negative timeout (69 ms) +[ok]: BLMPOP_LEFT: with non-integer timeout (67 ms) +[ok]: BLMPOP_LEFT: with zero timeout should block indefinitely (1075 ms) +[ok]: BLMPOP_LEFT: with 0.001 timeout should not block indefinitely (92 ms) +[ok]: BLMPOP_LEFT: second argument is not a list (56 ms) +[ok]: BLMPOP_LEFT: timeout (1162 ms) +[ok]: BLMPOP_LEFT: arguments are empty (61 ms) +[ok]: BLMPOP_RIGHT: with single empty list argument (58 ms) +[ok]: BLMPOP_RIGHT: with negative timeout (52 ms) +[ok]: BLMPOP_RIGHT: with non-integer timeout (75 ms) +[ok]: BLMPOP_RIGHT: with zero timeout should block indefinitely (1064 ms) +[ok]: BLMPOP_RIGHT: with 0.001 timeout should not block indefinitely (92 ms) +[ok]: BLMPOP_RIGHT: second argument is not a list (2027 ms) +[ok]: BLMPOP_RIGHT: timeout (1104 ms) +[ok]: BLMPOP_RIGHT: arguments are empty (82 ms) [ok]: BLPOP inside a transaction (1 ms) -[ok]: BLMPOP_LEFT inside a transaction (5 ms) -[ok]: BLMPOP propagate as pop with count command to replica (264 ms) -[ok]: LPUSHX, RPUSHX - generic (6 ms) -[ok]: LPUSHX, RPUSHX - linkedlist (6 ms) -[ok]: LINSERT - linkedlist (4 ms) -[ok]: LPUSHX, RPUSHX - ziplist (3 ms) -[ok]: LINSERT - ziplist (10 ms) -[ok]: LINSERT raise error on bad syntax (0 ms) -[ok]: LINDEX consistency test - quicklist (284 ms) -[ok]: LINDEX random access - quicklist (100 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (393 ms) -[ok]: LINDEX consistency test - quicklist (363 ms) -[ok]: LINDEX random access - quicklist (172 ms) -[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (349 ms) -[ok]: LLEN against non-list value error (1 ms) +[ok]: BLMPOP_LEFT inside a transaction (43 ms) +[ok]: BLMPOP propagate as pop with count command to replica (290 ms) +[ok]: LPUSHX, RPUSHX - generic (13 ms) +[ok]: LPUSHX, RPUSHX - linkedlist (9 ms) +[ok]: LINSERT - linkedlist (15 ms) +[ok]: LPUSHX, RPUSHX - ziplist (9 ms) +[ok]: LINSERT - ziplist (15 ms) +[ok]: LINSERT raise error on bad syntax (7 ms) +[ok]: LINDEX consistency test - quicklist (651 ms) +[ok]: LINDEX random access - quicklist (247 ms) +[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (589 ms) +[ok]: LINDEX consistency test - quicklist (905 ms) +[ok]: LINDEX random access - quicklist (518 ms) +[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist (1171 ms) +[ok]: LLEN against non-list value error (5 ms) [ok]: LLEN against non existing key (0 ms) -[ok]: LINDEX against non-list value error (1 ms) +[ok]: LINDEX against non-list value error (0 ms) [ok]: LINDEX against non existing key (0 ms) [ok]: LPUSH against non-list value error (1 ms) [ok]: RPUSH against non-list value error (0 ms) [ok]: RPOPLPUSH base case - linkedlist (3 ms) [ok]: LMOVE left left base case - linkedlist (2 ms) -[ok]: LMOVE left right base case - linkedlist (2 ms) -[ok]: LMOVE right left base case - linkedlist (2 ms) -[ok]: LMOVE right right base case - linkedlist (2 ms) -[ok]: RPOPLPUSH with the same list as src and dst - linkedlist (1 ms) +[ok]: LMOVE left right base case - linkedlist (3 ms) +[ok]: LMOVE right left base case - linkedlist (3 ms) +[ok]: LMOVE right right base case - linkedlist (3 ms) +[ok]: RPOPLPUSH with the same list as src and dst - linkedlist (2 ms) [ok]: LMOVE left left with the same list as src and dst - linkedlist (2 ms) [ok]: LMOVE left right with the same list as src and dst - linkedlist (2 ms) -[ok]: LMOVE right left with the same list as src and dst - linkedlist (2 ms) +[ok]: LMOVE right left with the same list as src and dst - linkedlist (1 ms) [ok]: LMOVE right right with the same list as src and dst - linkedlist (2 ms) [ok]: RPOPLPUSH with linkedlist source and existing target linkedlist (3 ms) -[ok]: LMOVE left left with linkedlist source and existing target linkedlist (2 ms) -[ok]: LMOVE left right with linkedlist source and existing target linkedlist (3 ms) -[ok]: LMOVE right left with linkedlist source and existing target linkedlist (3 ms) -[ok]: LMOVE right right with linkedlist source and existing target linkedlist (3 ms) -[ok]: RPOPLPUSH with linkedlist source and existing target ziplist (3 ms) -[ok]: LMOVE left left with linkedlist source and existing target ziplist (3 ms) -[ok]: LMOVE left right with linkedlist source and existing target ziplist (3 ms) -[ok]: LMOVE right left with linkedlist source and existing target ziplist (3 ms) -[ok]: LMOVE right right with linkedlist source and existing target ziplist (3 ms) -[ok]: RPOPLPUSH base case - ziplist (3 ms) -[ok]: LMOVE left left base case - ziplist (2 ms) -[ok]: LMOVE left right base case - ziplist (2 ms) -[ok]: LMOVE right left base case - ziplist (3 ms) -[ok]: LMOVE right right base case - ziplist (2 ms) -[ok]: RPOPLPUSH with the same list as src and dst - ziplist (1 ms) -[ok]: LMOVE left left with the same list as src and dst - ziplist (1 ms) -[ok]: LMOVE left right with the same list as src and dst - ziplist (1 ms) +[ok]: LMOVE left left with linkedlist source and existing target linkedlist (3 ms) +[ok]: LMOVE left right with linkedlist source and existing target linkedlist (14 ms) +[ok]: LMOVE right left with linkedlist source and existing target linkedlist (14 ms) +[ok]: LMOVE right right with linkedlist source and existing target linkedlist (24 ms) +[ok]: RPOPLPUSH with linkedlist source and existing target ziplist (11 ms) +[ok]: LMOVE left left with linkedlist source and existing target ziplist (12 ms) +[ok]: LMOVE left right with linkedlist source and existing target ziplist (11 ms) +[ok]: LMOVE right left with linkedlist source and existing target ziplist (11 ms) +[ok]: LMOVE right right with linkedlist source and existing target ziplist (11 ms) +[ok]: RPOPLPUSH base case - ziplist (6 ms) +[ok]: LMOVE left left base case - ziplist (14 ms) +[ok]: LMOVE left right base case - ziplist (10 ms) +[ok]: LMOVE right left base case - ziplist (18 ms) +[ok]: LMOVE right right base case - ziplist (4 ms) +[ok]: RPOPLPUSH with the same list as src and dst - ziplist (10 ms) +[ok]: LMOVE left left with the same list as src and dst - ziplist (3 ms) +[ok]: LMOVE left right with the same list as src and dst - ziplist (5 ms) [ok]: LMOVE right left with the same list as src and dst - ziplist (2 ms) [ok]: LMOVE right right with the same list as src and dst - ziplist (2 ms) -[ok]: RPOPLPUSH with ziplist source and existing target linkedlist (2 ms) +[ok]: RPOPLPUSH with ziplist source and existing target linkedlist (10 ms) [ok]: LMOVE left left with ziplist source and existing target linkedlist (3 ms) -[ok]: LMOVE left right with ziplist source and existing target linkedlist (3 ms) -[ok]: LMOVE right left with ziplist source and existing target linkedlist (3 ms) -[ok]: LMOVE right right with ziplist source and existing target linkedlist (3 ms) -[ok]: RPOPLPUSH with ziplist source and existing target ziplist (3 ms) -[ok]: LMOVE left left with ziplist source and existing target ziplist (3 ms) -[ok]: LMOVE left right with ziplist source and existing target ziplist (3 ms) -[ok]: LMOVE right left with ziplist source and existing target ziplist (2 ms) -[ok]: LMOVE right right with ziplist source and existing target ziplist (3 ms) +[ok]: LMOVE left right with ziplist source and existing target linkedlist (17 ms) +[ok]: LMOVE right left with ziplist source and existing target linkedlist (22 ms) +[ok]: LMOVE right right with ziplist source and existing target linkedlist (9 ms) +[ok]: RPOPLPUSH with ziplist source and existing target ziplist (4 ms) +[ok]: LMOVE left left with ziplist source and existing target ziplist (6 ms) +[ok]: LMOVE left right with ziplist source and existing target ziplist (13 ms) +[ok]: LMOVE right left with ziplist source and existing target ziplist (9 ms) +[ok]: LMOVE right right with ziplist source and existing target ziplist (4 ms) [ok]: RPOPLPUSH against non existing key (1 ms) -[ok]: RPOPLPUSH against non list src key (2 ms) +[ok]: RPOPLPUSH against non list src key (1 ms) [ok]: RPOPLPUSH against non list dst key (2 ms) -[ok]: RPOPLPUSH against non existing src key (1 ms) -[ok]: Basic LPOP/RPOP/LMPOP - linkedlist (4 ms) +[ok]: RPOPLPUSH against non existing src key (0 ms) +[ok]: Basic LPOP/RPOP/LMPOP - linkedlist (3 ms) [ok]: Basic LPOP/RPOP/LMPOP - ziplist (3 ms) -[ok]: LPOP/RPOP/LMPOP against empty list (2 ms) +[ok]: LPOP/RPOP/LMPOP against empty list (1 ms) [ok]: LPOP/RPOP/LMPOP NON-BLOCK or BLOCK against non list value (3 ms) -[ok]: Mass RPOP/LPOP - quicklist (159 ms) -[ok]: Mass RPOP/LPOP - quicklist (358 ms) +[ok]: Mass RPOP/LPOP - quicklist (89 ms) +[ok]: Mass RPOP/LPOP - quicklist (670 ms) [ok]: LMPOP with illegal argument (11 ms) -[ok]: LMPOP single existing list (16 ms) -[ok]: LMPOP multiple existing lists (18 ms) -[ok]: LMPOP propagate as pop with count command to replica (142 ms) +[ok]: LMPOP single existing list (43 ms) +[ok]: LMPOP multiple existing lists (36 ms) +[ok]: LMPOP propagate as pop with count command to replica (2049 ms) [ok]: LRANGE basics - linkedlist (3 ms) -[ok]: LRANGE inverted indexes - linkedlist (11 ms) -[ok]: LRANGE out of range indexes including the full list - linkedlist (1 ms) -[ok]: LRANGE out of range negative end index - linkedlist (1 ms) -[ok]: LRANGE basics - ziplist (4 ms) -[ok]: LRANGE inverted indexes - ziplist (7 ms) -[ok]: LRANGE out of range indexes including the full list - ziplist (3 ms) -[ok]: LRANGE out of range negative end index - ziplist (2 ms) +[ok]: LRANGE inverted indexes - linkedlist (5 ms) +[ok]: LRANGE out of range indexes including the full list - linkedlist (17 ms) +[ok]: LRANGE out of range negative end index - linkedlist (23 ms) +[ok]: LRANGE basics - ziplist (5 ms) +[ok]: LRANGE inverted indexes - ziplist (5 ms) +[ok]: LRANGE out of range indexes including the full list - ziplist (16 ms) +[ok]: LRANGE out of range negative end index - ziplist (19 ms) [ok]: LRANGE against non existing key (1 ms) -[ok]: LRANGE with start > end yields an empty array for backward compatibility (9 ms) -[ok]: LTRIM basics - linkedlist (39 ms) -[ok]: LTRIM out of range negative end index - linkedlist (12 ms) -[ok]: LTRIM basics - ziplist (36 ms) -[ok]: LTRIM out of range negative end index - ziplist (13 ms) -[ok]: LSET - linkedlist (2 ms) -[ok]: LSET out of range index - linkedlist (0 ms) -[ok]: LSET - ziplist (2 ms) -[ok]: LSET out of range index - ziplist (0 ms) -[ok]: LSET against non existing key (1 ms) -[ok]: LSET against non list value (4 ms) -[ok]: LREM remove all the occurrences - linkedlist (2 ms) +[ok]: LRANGE with start > end yields an empty array for backward compatibility (2 ms) +[ok]: LTRIM basics - linkedlist (116 ms) +[ok]: LTRIM out of range negative end index - linkedlist (24 ms) +[ok]: LTRIM basics - ziplist (114 ms) +[ok]: LTRIM out of range negative end index - ziplist (4 ms) +[ok]: LSET - linkedlist (10 ms) +[ok]: LSET out of range index - linkedlist (1 ms) +[ok]: LSET - ziplist (22 ms) +[ok]: LSET out of range index - ziplist (1 ms) +[ok]: LSET against non existing key (0 ms) +[ok]: LSET against non list value (1 ms) +[ok]: LREM remove all the occurrences - linkedlist (12 ms) [ok]: LREM remove the first occurrence - linkedlist (1 ms) -[ok]: LREM remove non existing element - linkedlist (1 ms) -[ok]: LREM starting from tail with negative count - linkedlist (9 ms) +[ok]: LREM remove non existing element - linkedlist (5 ms) +[ok]: LREM starting from tail with negative count - linkedlist (4 ms) [ok]: LREM starting from tail with negative count (2) - linkedlist (0 ms) -[ok]: LREM deleting objects that may be int encoded - linkedlist (6 ms) +[ok]: LREM deleting objects that may be int encoded - linkedlist (11 ms) [ok]: LREM remove all the occurrences - ziplist (9 ms) -[ok]: LREM remove the first occurrence - ziplist (1 ms) +[ok]: LREM remove the first occurrence - ziplist (0 ms) [ok]: LREM remove non existing element - ziplist (0 ms) -[ok]: LREM starting from tail with negative count - ziplist (15 ms) +[ok]: LREM starting from tail with negative count - ziplist (4 ms) [ok]: LREM starting from tail with negative count (2) - ziplist (1 ms) -[ok]: LREM deleting objects that may be int encoded - ziplist (2 ms) -[ok]: Regression for bug 593 - chaining BRPOPLPUSH with other blocking cmds (1639 ms) -[ok]: client unblock tests (36 ms) -[ok]: client unblock tests (26 ms) -[ok]: List ziplist of various encodings (99 ms) -[ok]: List ziplist of various encodings - sanitize dump (4 ms) -[11/84 done]: unit/type/list (27 seconds) +[ok]: LREM deleting objects that may be int encoded - ziplist (4 ms) +[ok]: Regression for bug 593 - chaining BRPOPLPUSH with other blocking cmds (1109 ms) +[ok]: client unblock tests (241 ms) +[ok]: client unblock tests (66 ms) +[ok]: List ziplist of various encodings (129 ms) +[ok]: List ziplist of various encodings - sanitize dump (18 ms) +[11/84 done]: unit/type/list (36 seconds) Testing unit/type/list-2 === (list) Starting server 127.0.0.1:21143 ok -[ok]: LTRIM stress testing - linkedlist (18037 ms) -[ok]: LTRIM stress testing - ziplist (13950 ms) -[12/84 done]: unit/type/list-2 (32 seconds) +[ok]: LTRIM stress testing - linkedlist (67564 ms) +[ok]: LTRIM stress testing - ziplist (56797 ms) +[12/84 done]: unit/type/list-2 (130 seconds) Testing unit/type/list-3 === (list ziplist) Starting server 127.0.0.1:21144 ok [ok]: Explicit regression for a list bug (1 ms) -[ok]: Regression for quicklist #3343 bug (134 ms) -[ok]: Check compression with recompress (88 ms) -[ok]: Crash due to wrongly recompress after lrem (220 ms) -[ok]: LINSERT correctly recompress full quicklistNode after inserting a element before it (45 ms) -[ok]: LINSERT correctly recompress full quicklistNode after inserting a element after it (44 ms) -[ok]: Stress tester for #3343-alike bugs comp: 2 (9133 ms) -[ok]: Stress tester for #3343-alike bugs comp: 1 (9170 ms) -[ok]: Stress tester for #3343-alike bugs comp: 0 (9484 ms) -[ok]: ziplist implementation: value encoding and backlink (10420 ms) -[ok]: ziplist implementation: encoding stress testing (14016 ms) -[13/84 done]: unit/type/list-3 (53 seconds) +[ok]: Regression for quicklist #3343 bug (3014 ms) +[ok]: Check compression with recompress (6118 ms) +[ok]: Crash due to wrongly recompress after lrem (2352 ms) +[ok]: LINSERT correctly recompress full quicklistNode after inserting a element before it (35400 ms) +[ok]: LINSERT correctly recompress full quicklistNode after inserting a element after it (45 ms) +[ok]: Stress tester for #3343-alike bugs comp: 2 (26419 ms) +[ok]: Stress tester for #3343-alike bugs comp: 1 (26060 ms) +[ok]: Stress tester for #3343-alike bugs comp: 0 (18815 ms) +[ok]: ziplist implementation: value encoding and backlink (13067 ms) +[ok]: ziplist implementation: encoding stress testing (59800 ms) +[13/84 done]: unit/type/list-3 (214 seconds) Testing unit/type/set === (set) Starting server 127.0.0.1:21145 ok -[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - regular set (3 ms) -[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - intset (2 ms) +[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - regular set (7 ms) +[ok]: SADD, SCARD, SISMEMBER, SMISMEMBER, SMEMBERS basics - intset (10 ms) [ok]: SMISMEMBER against non set (1 ms) -[ok]: SMISMEMBER non existing key (0 ms) -[ok]: SMISMEMBER requires one or more members (1 ms) +[ok]: SMISMEMBER non existing key (4 ms) +[ok]: SMISMEMBER requires one or more members (2 ms) [ok]: SADD against non set (1 ms) -[ok]: SADD a non-integer against an intset (1 ms) +[ok]: SADD a non-integer against an intset (6 ms) [ok]: SADD an integer larger than 64 bits (1 ms) -[ok]: SADD overflows the maximum allowed integers in an intset (73 ms) +[ok]: SADD overflows the maximum allowed integers in an intset (386 ms) [ok]: Variadic SADD (1 ms) -[ok]: Set encoding after DEBUG RELOAD (244 ms) -[ok]: SREM basics - regular set (2 ms) -[ok]: SREM basics - intset (1 ms) -[ok]: SREM with multiple arguments (1 ms) +[ok]: Set encoding after DEBUG RELOAD (1042 ms) +[ok]: SREM basics - regular set (10 ms) +[ok]: SREM basics - intset (2 ms) +[ok]: SREM with multiple arguments (10 ms) [ok]: SREM variadic version with more args needed to destroy the key (1 ms) -[ok]: SINTERCARD with illegal arguments (2 ms) -[ok]: SINTERCARD against non-set should throw error (1 ms) -[ok]: SINTERCARD against non-existing key (1 ms) -[ok]: Generated sets must be encoded as hashtable (0 ms) +[ok]: SINTERCARD with illegal arguments (12 ms) +[ok]: SINTERCARD against non-set should throw error (5 ms) +[ok]: SINTERCARD against non-existing key (0 ms) +[ok]: Generated sets must be encoded as hashtable (5 ms) [ok]: SINTER with two sets - hashtable (0 ms) -[ok]: SINTERCARD with two sets - hashtable (1 ms) +[ok]: SINTERCARD with two sets - hashtable (5 ms) [ok]: SINTERSTORE with two sets - hashtable (1 ms) -[ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - hashtable (6 ms) -[ok]: SUNION with two sets - hashtable (5 ms) -[ok]: SUNIONSTORE with two sets - hashtable (5 ms) +[ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - hashtable (19 ms) +[ok]: SUNION with two sets - hashtable (28 ms) +[ok]: SUNIONSTORE with two sets - hashtable (31 ms) [ok]: SINTER against three sets - hashtable (1 ms) -[ok]: SINTERCARD against three sets - hashtable (0 ms) -[ok]: SINTERSTORE with three sets - hashtable (0 ms) -[ok]: SUNION with non existing keys - hashtable (6 ms) +[ok]: SINTERCARD against three sets - hashtable (1 ms) +[ok]: SINTERSTORE with three sets - hashtable (1 ms) +[ok]: SUNION with non existing keys - hashtable (39 ms) [ok]: SDIFF with two sets - hashtable (0 ms) -[ok]: SDIFF with three sets - hashtable (0 ms) -[ok]: SDIFFSTORE with three sets - hashtable (1 ms) -[ok]: SINTER/SUNION/SDIFF with three same sets - hashtable (4 ms) -[ok]: Generated sets must be encoded as intset (1 ms) +[ok]: SDIFF with three sets - hashtable (11 ms) +[ok]: SDIFFSTORE with three sets - hashtable (8 ms) +[ok]: SINTER/SUNION/SDIFF with three same sets - hashtable (28 ms) +[ok]: Generated sets must be encoded as intset (12 ms) [ok]: SINTER with two sets - intset (0 ms) [ok]: SINTERCARD with two sets - intset (1 ms) [ok]: SINTERSTORE with two sets - intset (1 ms) -[ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - intset (5 ms) -[ok]: SUNION with two sets - intset (5 ms) -[ok]: SUNIONSTORE with two sets - intset (6 ms) -[ok]: SINTER against three sets - intset (0 ms) -[ok]: SINTERCARD against three sets - intset (1 ms) +[ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - intset (20 ms) +[ok]: SUNION with two sets - intset (49 ms) +[ok]: SUNIONSTORE with two sets - intset (63 ms) +[ok]: SINTER against three sets - intset (11 ms) +[ok]: SINTERCARD against three sets - intset (4 ms) [ok]: SINTERSTORE with three sets - intset (0 ms) -[ok]: SUNION with non existing keys - intset (5 ms) -[ok]: SDIFF with two sets - intset (0 ms) -[ok]: SDIFF with three sets - intset (1 ms) -[ok]: SDIFFSTORE with three sets - intset (0 ms) -[ok]: SINTER/SUNION/SDIFF with three same sets - intset (5 ms) -[ok]: SDIFF with first set empty (0 ms) -[ok]: SDIFF with same set two times (1 ms) -[ok]: SDIFF fuzzing (7592 ms) -[ok]: SDIFF against non-set should throw error (1 ms) +[ok]: SUNION with non existing keys - intset (47 ms) +[ok]: SDIFF with two sets - intset (7 ms) +[ok]: SDIFF with three sets - intset (12 ms) +[ok]: SDIFFSTORE with three sets - intset (12 ms) +[ok]: SINTER/SUNION/SDIFF with three same sets - intset (40 ms) +[ok]: SDIFF with first set empty (24 ms) +[ok]: SDIFF with same set two times (8 ms) +[ok]: SDIFF fuzzing (20471 ms) +[ok]: SDIFF against non-set should throw error (9 ms) [ok]: SDIFF should handle non existing key as empty (1 ms) -[ok]: SDIFFSTORE against non-set should throw error (3 ms) -[ok]: SDIFFSTORE should handle non existing key as empty (2 ms) -[ok]: SINTER against non-set should throw error (1 ms) -[ok]: SINTER should handle non existing key as empty (0 ms) -[ok]: SINTER with same integer elements but different encoding (1 ms) -[ok]: SINTERSTORE against non-set should throw error (2 ms) -[ok]: SINTERSTORE against non existing keys should delete dstkey (2 ms) -[ok]: SUNION against non-set should throw error (2 ms) +[ok]: SDIFFSTORE against non-set should throw error (7 ms) +[ok]: SDIFFSTORE should handle non existing key as empty (7 ms) +[ok]: SINTER against non-set should throw error (2 ms) +[ok]: SINTER should handle non existing key as empty (1 ms) +[ok]: SINTER with same integer elements but different encoding (6 ms) +[ok]: SINTERSTORE against non-set should throw error (7 ms) +[ok]: SINTERSTORE against non existing keys should delete dstkey (7 ms) +[ok]: SUNION against non-set should throw error (4 ms) [ok]: SUNION should handle non existing key as empty (1 ms) -[ok]: SUNIONSTORE against non-set should throw error (2 ms) -[ok]: SUNIONSTORE should handle non existing key as empty (3 ms) -[ok]: SUNIONSTORE against non existing keys should delete dstkey (0 ms) -[ok]: SPOP basics - hashtable (1 ms) -[ok]: SPOP with =1 - hashtable (1 ms) -[ok]: SRANDMEMBER - hashtable (14 ms) -[ok]: SPOP basics - intset (2 ms) -[ok]: SPOP with =1 - intset (1 ms) -[ok]: SRANDMEMBER - intset (15 ms) -[ok]: SPOP with (6 ms) -[ok]: SPOP with (6 ms) -[ok]: SPOP using integers, testing Knuth's and Floyd's algorithm (5 ms) -[ok]: SPOP using integers with Knuth's algorithm (0 ms) -[ok]: SPOP new implementation: code path #1 (4 ms) -[ok]: SPOP new implementation: code path #2 (4 ms) -[ok]: SPOP new implementation: code path #3 (3 ms) -[ok]: SRANDMEMBER count of 0 is handled correctly (1 ms) +[ok]: SUNIONSTORE against non-set should throw error (3 ms) +[ok]: SUNIONSTORE should handle non existing key as empty (12 ms) +[ok]: SUNIONSTORE against non existing keys should delete dstkey (1 ms) +[ok]: SPOP basics - hashtable (3 ms) +[ok]: SPOP with =1 - hashtable (7 ms) +[ok]: SRANDMEMBER - hashtable (71 ms) +[ok]: SPOP basics - intset (6 ms) +[ok]: SPOP with =1 - intset (3 ms) +[ok]: SRANDMEMBER - intset (62 ms) +[ok]: SPOP with (22 ms) +[ok]: SPOP with (28 ms) +[ok]: SPOP using integers, testing Knuth's and Floyd's algorithm (23 ms) +[ok]: SPOP using integers with Knuth's algorithm (1 ms) +[ok]: SPOP new implementation: code path #1 (25 ms) +[ok]: SPOP new implementation: code path #2 (11 ms) +[ok]: SPOP new implementation: code path #3 (14 ms) +[ok]: SRANDMEMBER count of 0 is handled correctly (5 ms) [ok]: SRANDMEMBER with against non existing key (0 ms) -[ok]: SRANDMEMBER count overflow (0 ms) -[ok]: SRANDMEMBER count of 0 is handled correctly - emptyarray (1 ms) +[ok]: SRANDMEMBER count overflow (1 ms) +[ok]: SRANDMEMBER count of 0 is handled correctly - emptyarray (0 ms) [ok]: SRANDMEMBER with against non existing key - emptyarray (0 ms) -[ok]: SRANDMEMBER with - hashtable (26 ms) -[ok]: SRANDMEMBER with - intset (28 ms) -[ok]: SRANDMEMBER histogram distribution - hashtable (131 ms) -[ok]: SRANDMEMBER histogram distribution - intset (130 ms) +[ok]: SRANDMEMBER with - hashtable (163 ms) +[ok]: SRANDMEMBER with - intset (110 ms) +[ok]: SRANDMEMBER histogram distribution - hashtable (649 ms) +[ok]: SRANDMEMBER histogram distribution - intset (785 ms) -Waiting for background save to finish... Waiting for background save to finish... Hash table 0 stats (main hash table): table size: 512 number of elements: 499 different slots: 3 - max chain length: 202 + max chain length: 184 avg chain length (counted): 166.33 avg chain length (computed): 166.33 Chain length distribution: 0: 509 (99.41%) -Waiting for background save to finish... -Waiting for background save to finish... [ok]: SRANDMEMBER with a dict containing long chain (23420 ms) -[ok]: SMOVE basics - from regular set to intset (5 ms) -[ok]: SMOVE basics - from intset to regular set (3 ms) -[ok]: SMOVE non existing key (2 ms) -[ok]: SMOVE non existing src set (3 ms) -[ok]: SMOVE from regular set to non existing destination set (3 ms) -[ok]: SMOVE from intset to non existing destination set (2 ms) -[ok]: SMOVE wrong src key type (1 ms) -[ok]: SMOVE wrong dst key type (0 ms) -[ok]: SMOVE with identical source and destination (1 ms) -[ok]: SMOVE only notify dstset when the addition is successful (14 ms) -[ok]: intsets implementation stress testing (5563 ms) +Waiting for background save to finish... [ok]: SRANDMEMBER with a dict containing long chain (168782 ms) +[ok]: SMOVE basics - from regular set to intset (38 ms) +[ok]: SMOVE basics - from intset to regular set (22 ms) +[ok]: SMOVE non existing key (23 ms) +[ok]: SMOVE non existing src set (12 ms) +[ok]: SMOVE from regular set to non existing destination set (12 ms) +[ok]: SMOVE from intset to non existing destination set (19 ms) +[ok]: SMOVE wrong src key type (7 ms) +[ok]: SMOVE wrong dst key type (4 ms) +[ok]: SMOVE with identical source and destination (4 ms) +[ok]: SMOVE only notify dstset when the addition is successful (49 ms) +[ok]: intsets implementation stress testing (13220 ms) === () Starting server 127.0.0.1:21146 ok [ignore]: SADD, SCARD, SISMEMBER - large data: large memory flag not provided -[14/84 done]: unit/type/set (38 seconds) +[14/84 done]: unit/type/set (209 seconds) Testing unit/type/zset === (zset) Starting server 127.0.0.1:21147 ok [ok]: Check encoding - listpack (1 ms) -[ok]: ZSET basic ZADD and score update - listpack (1 ms) -[ok]: ZSET element can't be set to NaN with ZADD - listpack (0 ms) -[ok]: ZSET element can't be set to NaN with ZINCRBY - listpack (0 ms) -[ok]: ZADD with options syntax error with incomplete pair - listpack (0 ms) -[ok]: ZADD XX option without key - listpack (0 ms) +[ok]: ZSET basic ZADD and score update - listpack (5 ms) +[ok]: ZSET element can't be set to NaN with ZADD - listpack (1 ms) +[ok]: ZSET element can't be set to NaN with ZINCRBY - listpack (1 ms) +[ok]: ZADD with options syntax error with incomplete pair - listpack (1 ms) +[ok]: ZADD XX option without key - listpack (1 ms) [ok]: ZADD XX existing key - listpack (1 ms) [ok]: ZADD XX returns the number of elements actually added - listpack (1 ms) -[ok]: ZADD XX updates existing elements score - listpack (1 ms) -[ok]: ZADD GT updates existing elements when new scores are greater - listpack (1 ms) +[ok]: ZADD XX updates existing elements score - listpack (8 ms) +[ok]: ZADD GT updates existing elements when new scores are greater - listpack (3 ms) [ok]: ZADD LT updates existing elements when new scores are lower - listpack (2 ms) -[ok]: ZADD GT XX updates existing elements when new scores are greater and skips new elements - listpack (1 ms) -[ok]: ZADD LT XX updates existing elements when new scores are lower and skips new elements - listpack (1 ms) -[ok]: ZADD XX and NX are not compatible - listpack (1 ms) -[ok]: ZADD NX with non existing key - listpack (1 ms) -[ok]: ZADD NX only add new elements without updating old ones - listpack (1 ms) +[ok]: ZADD GT XX updates existing elements when new scores are greater and skips new elements - listpack (12 ms) +[ok]: ZADD LT XX updates existing elements when new scores are lower and skips new elements - listpack (2 ms) +[ok]: ZADD XX and NX are not compatible - listpack (5 ms) +[ok]: ZADD NX with non existing key - listpack (3 ms) +[ok]: ZADD NX only add new elements without updating old ones - listpack (3 ms) [ok]: ZADD GT and NX are not compatible - listpack (1 ms) -[ok]: ZADD LT and NX are not compatible - listpack (0 ms) +[ok]: ZADD LT and NX are not compatible - listpack (4 ms) [ok]: ZADD LT and GT are not compatible - listpack (0 ms) -[ok]: ZADD INCR LT/GT replies with nill if score not updated - listpack (1 ms) -[ok]: ZADD INCR LT/GT with inf - listpack (3 ms) +[ok]: ZADD INCR LT/GT replies with nill if score not updated - listpack (3 ms) +[ok]: ZADD INCR LT/GT with inf - listpack (16 ms) [ok]: ZADD INCR works like ZINCRBY - listpack (1 ms) -[ok]: ZADD INCR works with a single score-elemenet pair - listpack (1 ms) -[ok]: ZADD CH option changes return value to all changed elements - listpack (0 ms) -[ok]: ZINCRBY calls leading to NaN result in error - listpack (0 ms) +[ok]: ZADD INCR works with a single score-elemenet pair - listpack (2 ms) +[ok]: ZADD CH option changes return value to all changed elements - listpack (4 ms) +[ok]: ZINCRBY calls leading to NaN result in error - listpack (11 ms) [ok]: ZADD - Variadic version base case - $encoding (1 ms) -[ok]: ZADD - Return value is the number of actually added items - $encoding (0 ms) -[ok]: ZADD - Variadic version does not add nothing on single parsing err - $encoding (0 ms) +[ok]: ZADD - Return value is the number of actually added items - $encoding (1 ms) +[ok]: ZADD - Variadic version does not add nothing on single parsing err - $encoding (1 ms) [ok]: ZADD - Variadic version will raise error on missing arg - $encoding (1 ms) -[ok]: ZINCRBY does not work variadic even if shares ZADD implementation - $encoding (0 ms) -[ok]: ZCARD basics - listpack (1 ms) -[ok]: ZREM removes key after last element is removed - listpack (2 ms) -[ok]: ZREM variadic version - listpack (1 ms) -[ok]: ZREM variadic version -- remove elements after key deletion - listpack (1 ms) -[ok]: ZRANGE basics - listpack (4 ms) -[ok]: ZREVRANGE basics - listpack (4 ms) -[ok]: ZRANK/ZREVRANK basics - listpack (2 ms) -[ok]: ZRANK - after deletion - listpack (0 ms) -[ok]: ZINCRBY - can create a new sorted set - listpack (1 ms) -[ok]: ZINCRBY - increment and decrement - listpack (2 ms) -[ok]: ZINCRBY return value - listpack (1 ms) -[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - listpack (8 ms) +[ok]: ZINCRBY does not work variadic even if shares ZADD implementation - $encoding (1 ms) +[ok]: ZCARD basics - listpack (4 ms) +[ok]: ZREM removes key after last element is removed - listpack (8 ms) +[ok]: ZREM variadic version - listpack (5 ms) +[ok]: ZREM variadic version -- remove elements after key deletion - listpack (4 ms) +[ok]: ZRANGE basics - listpack (15 ms) +[ok]: ZREVRANGE basics - listpack (10 ms) +[ok]: ZRANK/ZREVRANK basics - listpack (6 ms) +[ok]: ZRANK - after deletion - listpack (1 ms) +[ok]: ZINCRBY - can create a new sorted set - listpack (6 ms) +[ok]: ZINCRBY - increment and decrement - listpack (3 ms) +[ok]: ZINCRBY return value - listpack (5 ms) +[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - listpack (34 ms) [ok]: ZRANGEBYSCORE with WITHSCORES - listpack (2 ms) -[ok]: ZRANGEBYSCORE with LIMIT - listpack (3 ms) -[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - listpack (2 ms) +[ok]: ZRANGEBYSCORE with LIMIT - listpack (20 ms) +[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - listpack (3 ms) [ok]: ZRANGEBYSCORE with non-value min or max - listpack (0 ms) -[ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - listpack (5 ms) -[ok]: ZLEXCOUNT advanced - listpack (3 ms) -[ok]: ZRANGEBYSLEX with LIMIT - listpack (3 ms) -[ok]: ZRANGEBYLEX with invalid lex range specifiers - listpack (1 ms) -[ok]: ZREMRANGEBYSCORE basics - listpack (19 ms) +[ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - listpack (22 ms) +[ok]: ZLEXCOUNT advanced - listpack (14 ms) +[ok]: ZRANGEBYSLEX with LIMIT - listpack (9 ms) +[ok]: ZRANGEBYLEX with invalid lex range specifiers - listpack (7 ms) +[ok]: ZREMRANGEBYSCORE basics - listpack (66 ms) [ok]: ZREMRANGEBYSCORE with non-value min or max - listpack (1 ms) -[ok]: ZREMRANGEBYRANK basics - listpack (9 ms) -[ok]: ZUNIONSTORE against non-existing key doesn't set destination - listpack (1 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF against non-existing key - listpack (1 ms) -[ok]: ZUNIONSTORE with empty set - listpack (1 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - listpack (2 ms) -[ok]: ZUNIONSTORE basics - listpack (1 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - listpack (2 ms) -[ok]: ZUNIONSTORE with weights - listpack (0 ms) -[ok]: ZUNION with weights - listpack (1 ms) -[ok]: ZUNIONSTORE with a regular set and weights - listpack (1 ms) +[ok]: ZREMRANGEBYRANK basics - listpack (36 ms) +[ok]: ZUNIONSTORE against non-existing key doesn't set destination - listpack (6 ms) +[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF against non-existing key - listpack (2 ms) +[ok]: ZUNIONSTORE with empty set - listpack (2 ms) +[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - listpack (8 ms) +[ok]: ZUNIONSTORE basics - listpack (8 ms) +[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - listpack (3 ms) +[ok]: ZUNIONSTORE with weights - listpack (1 ms) +[ok]: ZUNION with weights - listpack (7 ms) +[ok]: ZUNIONSTORE with a regular set and weights - listpack (2 ms) [ok]: ZUNIONSTORE with AGGREGATE MIN - listpack (1 ms) [ok]: ZUNION/ZINTER with AGGREGATE MIN - listpack (1 ms) -[ok]: ZUNIONSTORE with AGGREGATE MAX - listpack (0 ms) +[ok]: ZUNIONSTORE with AGGREGATE MAX - listpack (1 ms) [ok]: ZUNION/ZINTER with AGGREGATE MAX - listpack (1 ms) -[ok]: ZINTERSTORE basics - listpack (0 ms) +[ok]: ZINTERSTORE basics - listpack (1 ms) [ok]: ZINTER basics - listpack (0 ms) -[ok]: ZINTERCARD with illegal arguments (1 ms) -[ok]: ZINTERCARD basics - listpack (1 ms) -[ok]: ZINTER RESP3 - listpack (1 ms) -[ok]: ZINTERSTORE with weights - listpack (0 ms) -[ok]: ZINTER with weights - listpack (0 ms) -[ok]: ZINTERSTORE with a regular set and weights - listpack (1 ms) +[ok]: ZINTERCARD with illegal arguments (2 ms) +[ok]: ZINTERCARD basics - listpack (10 ms) +[ok]: ZINTER RESP3 - listpack (2 ms) +[ok]: ZINTERSTORE with weights - listpack (10 ms) +[ok]: ZINTER with weights - listpack (1 ms) +[ok]: ZINTERSTORE with a regular set and weights - listpack (9 ms) [ok]: ZINTERSTORE with AGGREGATE MIN - listpack (1 ms) -[ok]: ZINTERSTORE with AGGREGATE MAX - listpack (0 ms) -[ok]: ZUNIONSTORE with +inf/-inf scores - listpack (3 ms) +[ok]: ZINTERSTORE with AGGREGATE MAX - listpack (4 ms) +[ok]: ZUNIONSTORE with +inf/-inf scores - listpack (18 ms) [ok]: ZUNIONSTORE with NaN weights - listpack (1 ms) -[ok]: ZINTERSTORE with +inf/-inf scores - listpack (3 ms) -[ok]: ZINTERSTORE with NaN weights - listpack (1 ms) -[ok]: ZDIFFSTORE basics - listpack (0 ms) +[ok]: ZINTERSTORE with +inf/-inf scores - listpack (2 ms) +[ok]: ZINTERSTORE with NaN weights - listpack (5 ms) +[ok]: ZDIFFSTORE basics - listpack (11 ms) [ok]: ZDIFF basics - listpack (0 ms) [ok]: ZDIFFSTORE with a regular set - listpack (1 ms) -[ok]: ZDIFF subtracting set from itself - listpack (1 ms) -[ok]: ZDIFF algorithm 1 - listpack (1 ms) -[ok]: ZDIFF algorithm 2 - listpack (2 ms) -[ok]: ZDIFF fuzzing - listpack (5329 ms) +[ok]: ZDIFF subtracting set from itself - listpack (5 ms) +[ok]: ZDIFF algorithm 1 - listpack (2 ms) +[ok]: ZDIFF algorithm 2 - listpack (17 ms) +[ok]: ZDIFF fuzzing - listpack (21551 ms) [ok]: ZPOPMIN with the count 0 returns an empty array (1 ms) -[ok]: ZPOPMIN with negative count (1 ms) -[ok]: ZPOPMAX with the count 0 returns an empty array (0 ms) -[ok]: ZPOPMAX with negative count (1 ms) -[ok]: Basic ZPOPMIN/ZPOPMAX with a single key - listpack (2 ms) -[ok]: ZPOPMIN/ZPOPMAX with count - listpack (1 ms) -[ok]: Basic ZMPOP_MIN/ZMPOP_MAX with a single key - listpack (1 ms) -[ok]: ZMPOP_MIN/ZMPOP_MAX with count - listpack (1 ms) -[ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - listpack (9 ms) -[ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - listpack (9 ms) -[ok]: BZPOPMIN/BZPOPMAX second sorted set has members - listpack (9 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - listpack (9 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - listpack (10 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - listpack (9 ms) -[ok]: Basic ZPOPMIN/ZPOPMAX - listpack RESP3 (1 ms) -[ok]: ZPOPMIN/ZPOPMAX with count - listpack RESP3 (2 ms) -[ok]: Basic ZMPOP_MIN/ZMPOP_MAX - listpack RESP3 (2 ms) -[ok]: ZMPOP_MIN/ZMPOP_MAX with count - listpack RESP3 (1 ms) -[ok]: BZPOPMIN/BZPOPMAX - listpack RESP3 (15 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX - listpack RESP3 (17 ms) -[ok]: Check encoding - skiplist (0 ms) +[ok]: ZPOPMIN with negative count (2 ms) +[ok]: ZPOPMAX with the count 0 returns an empty array (8 ms) +[ok]: ZPOPMAX with negative count (2 ms) +[ok]: Basic ZPOPMIN/ZPOPMAX with a single key - listpack (9 ms) +[ok]: ZPOPMIN/ZPOPMAX with count - listpack (2 ms) +[ok]: Basic ZMPOP_MIN/ZMPOP_MAX with a single key - listpack (10 ms) +[ok]: ZMPOP_MIN/ZMPOP_MAX with count - listpack (2 ms) +[ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - listpack (35 ms) +[ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - listpack (42 ms) +[ok]: BZPOPMIN/BZPOPMAX second sorted set has members - listpack (45 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - listpack (38 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - listpack (42 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - listpack (49 ms) +[ok]: Basic ZPOPMIN/ZPOPMAX - listpack RESP3 (8 ms) +[ok]: ZPOPMIN/ZPOPMAX with count - listpack RESP3 (6 ms) +[ok]: Basic ZMPOP_MIN/ZMPOP_MAX - listpack RESP3 (9 ms) +[ok]: ZMPOP_MIN/ZMPOP_MAX with count - listpack RESP3 (3 ms) +[ok]: BZPOPMIN/BZPOPMAX - listpack RESP3 (38 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX - listpack RESP3 (47 ms) +[ok]: Check encoding - skiplist (1 ms) [ok]: ZSET basic ZADD and score update - skiplist (2 ms) -[ok]: ZSET element can't be set to NaN with ZADD - skiplist (0 ms) -[ok]: ZSET element can't be set to NaN with ZINCRBY - skiplist (0 ms) -[ok]: ZADD with options syntax error with incomplete pair - skiplist (1 ms) -[ok]: ZADD XX option without key - skiplist (0 ms) -[ok]: ZADD XX existing key - skiplist (1 ms) +[ok]: ZSET element can't be set to NaN with ZADD - skiplist (7 ms) +[ok]: ZSET element can't be set to NaN with ZINCRBY - skiplist (1 ms) +[ok]: ZADD with options syntax error with incomplete pair - skiplist (0 ms) +[ok]: ZADD XX option without key - skiplist (1 ms) +[ok]: ZADD XX existing key - skiplist (2 ms) [ok]: ZADD XX returns the number of elements actually added - skiplist (1 ms) -[ok]: ZADD XX updates existing elements score - skiplist (0 ms) -[ok]: ZADD GT updates existing elements when new scores are greater - skiplist (1 ms) -[ok]: ZADD LT updates existing elements when new scores are lower - skiplist (1 ms) -[ok]: ZADD GT XX updates existing elements when new scores are greater and skips new elements - skiplist (1 ms) -[ok]: ZADD LT XX updates existing elements when new scores are lower and skips new elements - skiplist (1 ms) -[ok]: ZADD XX and NX are not compatible - skiplist (0 ms) +[ok]: ZADD XX updates existing elements score - skiplist (7 ms) +[ok]: ZADD GT updates existing elements when new scores are greater - skiplist (2 ms) +[ok]: ZADD LT updates existing elements when new scores are lower - skiplist (5 ms) +[ok]: ZADD GT XX updates existing elements when new scores are greater and skips new elements - skiplist (6 ms) +[ok]: ZADD LT XX updates existing elements when new scores are lower and skips new elements - skiplist (3 ms) +[ok]: ZADD XX and NX are not compatible - skiplist (5 ms) [ok]: ZADD NX with non existing key - skiplist (1 ms) -[ok]: ZADD NX only add new elements without updating old ones - skiplist (1 ms) -[ok]: ZADD GT and NX are not compatible - skiplist (0 ms) +[ok]: ZADD NX only add new elements without updating old ones - skiplist (6 ms) +[ok]: ZADD GT and NX are not compatible - skiplist (1 ms) [ok]: ZADD LT and NX are not compatible - skiplist (1 ms) [ok]: ZADD LT and GT are not compatible - skiplist (0 ms) [ok]: ZADD INCR LT/GT replies with nill if score not updated - skiplist (1 ms) -[ok]: ZADD INCR LT/GT with inf - skiplist (2 ms) -[ok]: ZADD INCR works like ZINCRBY - skiplist (0 ms) -[ok]: ZADD INCR works with a single score-elemenet pair - skiplist (0 ms) +[ok]: ZADD INCR LT/GT with inf - skiplist (5 ms) +[ok]: ZADD INCR works like ZINCRBY - skiplist (1 ms) +[ok]: ZADD INCR works with a single score-elemenet pair - skiplist (1 ms) [ok]: ZADD CH option changes return value to all changed elements - skiplist (1 ms) [ok]: ZINCRBY calls leading to NaN result in error - skiplist (0 ms) -[ok]: ZADD - Variadic version base case - $encoding (0 ms) +[ok]: ZADD - Variadic version base case - $encoding (1 ms) [ok]: ZADD - Return value is the number of actually added items - $encoding (1 ms) -[ok]: ZADD - Variadic version does not add nothing on single parsing err - $encoding (0 ms) -[ok]: ZADD - Variadic version will raise error on missing arg - $encoding (1 ms) +[ok]: ZADD - Variadic version does not add nothing on single parsing err - $encoding (1 ms) +[ok]: ZADD - Variadic version will raise error on missing arg - $encoding (0 ms) [ok]: ZINCRBY does not work variadic even if shares ZADD implementation - $encoding (0 ms) [ok]: ZCARD basics - skiplist (1 ms) -[ok]: ZREM removes key after last element is removed - skiplist (1 ms) +[ok]: ZREM removes key after last element is removed - skiplist (2 ms) [ok]: ZREM variadic version - skiplist (1 ms) [ok]: ZREM variadic version -- remove elements after key deletion - skiplist (1 ms) -[ok]: ZRANGE basics - skiplist (3 ms) -[ok]: ZREVRANGE basics - skiplist (2 ms) -[ok]: ZRANK/ZREVRANK basics - skiplist (1 ms) +[ok]: ZRANGE basics - skiplist (17 ms) +[ok]: ZREVRANGE basics - skiplist (14 ms) +[ok]: ZRANK/ZREVRANK basics - skiplist (9 ms) [ok]: ZRANK - after deletion - skiplist (0 ms) -[ok]: ZINCRBY - can create a new sorted set - skiplist (1 ms) -[ok]: ZINCRBY - increment and decrement - skiplist (1 ms) -[ok]: ZINCRBY return value - skiplist (1 ms) -[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - skiplist (9 ms) -[ok]: ZRANGEBYSCORE with WITHSCORES - skiplist (1 ms) -[ok]: ZRANGEBYSCORE with LIMIT - skiplist (2 ms) -[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - skiplist (2 ms) -[ok]: ZRANGEBYSCORE with non-value min or max - skiplist (0 ms) -[ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - skiplist (4 ms) -[ok]: ZLEXCOUNT advanced - skiplist (3 ms) -[ok]: ZRANGEBYSLEX with LIMIT - skiplist (3 ms) -[ok]: ZRANGEBYLEX with invalid lex range specifiers - skiplist (1 ms) -[ok]: ZREMRANGEBYSCORE basics - skiplist (12 ms) -[ok]: ZREMRANGEBYSCORE with non-value min or max - skiplist (0 ms) -[ok]: ZREMRANGEBYRANK basics - skiplist (6 ms) -[ok]: ZUNIONSTORE against non-existing key doesn't set destination - skiplist (0 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF against non-existing key - skiplist (1 ms) +[ok]: ZINCRBY - can create a new sorted set - skiplist (4 ms) +[ok]: ZINCRBY - increment and decrement - skiplist (8 ms) +[ok]: ZINCRBY return value - skiplist (0 ms) +[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics - skiplist (30 ms) +[ok]: ZRANGEBYSCORE with WITHSCORES - skiplist (7 ms) +[ok]: ZRANGEBYSCORE with LIMIT - skiplist (8 ms) +[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES - skiplist (7 ms) +[ok]: ZRANGEBYSCORE with non-value min or max - skiplist (3 ms) +[ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics - skiplist (18 ms) +[ok]: ZLEXCOUNT advanced - skiplist (14 ms) +[ok]: ZRANGEBYSLEX with LIMIT - skiplist (10 ms) +[ok]: ZRANGEBYLEX with invalid lex range specifiers - skiplist (4 ms) +[ok]: ZREMRANGEBYSCORE basics - skiplist (77 ms) +[ok]: ZREMRANGEBYSCORE with non-value min or max - skiplist (1 ms) +[ok]: ZREMRANGEBYRANK basics - skiplist (36 ms) +[ok]: ZUNIONSTORE against non-existing key doesn't set destination - skiplist (1 ms) +[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF against non-existing key - skiplist (6 ms) [ok]: ZUNIONSTORE with empty set - skiplist (1 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - skiplist (1 ms) -[ok]: ZUNIONSTORE basics - skiplist (1 ms) -[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - skiplist (1 ms) -[ok]: ZUNIONSTORE with weights - skiplist (1 ms) -[ok]: ZUNION with weights - skiplist (0 ms) -[ok]: ZUNIONSTORE with a regular set and weights - skiplist (1 ms) +[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with empty set - skiplist (9 ms) +[ok]: ZUNIONSTORE basics - skiplist (8 ms) +[ok]: ZUNION/ZINTER/ZINTERCARD/ZDIFF with integer members - skiplist (4 ms) +[ok]: ZUNIONSTORE with weights - skiplist (4 ms) +[ok]: ZUNION with weights - skiplist (8 ms) +[ok]: ZUNIONSTORE with a regular set and weights - skiplist (2 ms) [ok]: ZUNIONSTORE with AGGREGATE MIN - skiplist (0 ms) [ok]: ZUNION/ZINTER with AGGREGATE MIN - skiplist (1 ms) -[ok]: ZUNIONSTORE with AGGREGATE MAX - skiplist (0 ms) +[ok]: ZUNIONSTORE with AGGREGATE MAX - skiplist (1 ms) [ok]: ZUNION/ZINTER with AGGREGATE MAX - skiplist (1 ms) -[ok]: ZINTERSTORE basics - skiplist (0 ms) +[ok]: ZINTERSTORE basics - skiplist (1 ms) [ok]: ZINTER basics - skiplist (0 ms) -[ok]: ZINTERCARD with illegal arguments (0 ms) -[ok]: ZINTERCARD basics - skiplist (1 ms) -[ok]: ZINTER RESP3 - skiplist (0 ms) +[ok]: ZINTERCARD with illegal arguments (2 ms) +[ok]: ZINTERCARD basics - skiplist (5 ms) +[ok]: ZINTER RESP3 - skiplist (8 ms) [ok]: ZINTERSTORE with weights - skiplist (1 ms) [ok]: ZINTER with weights - skiplist (0 ms) [ok]: ZINTERSTORE with a regular set and weights - skiplist (1 ms) [ok]: ZINTERSTORE with AGGREGATE MIN - skiplist (0 ms) -[ok]: ZINTERSTORE with AGGREGATE MAX - skiplist (1 ms) -[ok]: ZUNIONSTORE with +inf/-inf scores - skiplist (1 ms) -[ok]: ZUNIONSTORE with NaN weights - skiplist (0 ms) -[ok]: ZINTERSTORE with +inf/-inf scores - skiplist (2 ms) -[ok]: ZINTERSTORE with NaN weights - skiplist (0 ms) -[ok]: ZDIFFSTORE basics - skiplist (0 ms) -[ok]: ZDIFF basics - skiplist (0 ms) -[ok]: ZDIFFSTORE with a regular set - skiplist (1 ms) +[ok]: ZINTERSTORE with AGGREGATE MAX - skiplist (4 ms) +[ok]: ZUNIONSTORE with +inf/-inf scores - skiplist (10 ms) +[ok]: ZUNIONSTORE with NaN weights - skiplist (6 ms) +[ok]: ZINTERSTORE with +inf/-inf scores - skiplist (9 ms) +[ok]: ZINTERSTORE with NaN weights - skiplist (6 ms) +[ok]: ZDIFFSTORE basics - skiplist (1 ms) +[ok]: ZDIFF basics - skiplist (2 ms) +[ok]: ZDIFFSTORE with a regular set - skiplist (4 ms) [ok]: ZDIFF subtracting set from itself - skiplist (0 ms) -[ok]: ZDIFF algorithm 1 - skiplist (1 ms) -[ok]: ZDIFF algorithm 2 - skiplist (1 ms) -[ok]: ZDIFF fuzzing - skiplist (4086 ms) -[ok]: ZPOPMIN with the count 0 returns an empty array (0 ms) -[ok]: ZPOPMIN with negative count (0 ms) +[ok]: ZDIFF algorithm 1 - skiplist (11 ms) +[ok]: ZDIFF algorithm 2 - skiplist (3 ms) +[ok]: ZDIFF fuzzing - skiplist (9800 ms) +[ok]: ZPOPMIN with the count 0 returns an empty array (1 ms) +[ok]: ZPOPMIN with negative count (2 ms) [ok]: ZPOPMAX with the count 0 returns an empty array (1 ms) [ok]: ZPOPMAX with negative count (1 ms) -[ok]: Basic ZPOPMIN/ZPOPMAX with a single key - skiplist (1 ms) -[ok]: ZPOPMIN/ZPOPMAX with count - skiplist (1 ms) -[ok]: Basic ZMPOP_MIN/ZMPOP_MAX with a single key - skiplist (2 ms) -[ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist (1 ms) -[ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - skiplist (10 ms) -[ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - skiplist (9 ms) -[ok]: BZPOPMIN/BZPOPMAX second sorted set has members - skiplist (9 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - skiplist (9 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - skiplist (9 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - skiplist (8 ms) -[ok]: Basic ZPOPMIN/ZPOPMAX - skiplist RESP3 (1 ms) -[ok]: ZPOPMIN/ZPOPMAX with count - skiplist RESP3 (1 ms) -[ok]: Basic ZMPOP_MIN/ZMPOP_MAX - skiplist RESP3 (1 ms) -[ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist RESP3 (2 ms) -[ok]: BZPOPMIN/BZPOPMAX - skiplist RESP3 (9 ms) -[ok]: BZMPOP_MIN/BZMPOP_MAX - skiplist RESP3 (10 ms) -[ok]: ZPOP/ZMPOP against wrong type (2 ms) -[ok]: ZMPOP with illegal argument (2 ms) -[ok]: ZMPOP propagate as pop with count command to replica (34 ms) -[ok]: ZPOPMIN/ZPOPMAX readraw in RESP3 (8 ms) -[ok]: BZPOPMIN/BZPOPMAX readraw in RESP3 (173 ms) -[ok]: ZMPOP readraw in RESP3 (6 ms) -[ok]: BZMPOP readraw in RESP3 (194 ms) +[ok]: Basic ZPOPMIN/ZPOPMAX with a single key - skiplist (7 ms) +[ok]: ZPOPMIN/ZPOPMAX with count - skiplist (3 ms) +[ok]: Basic ZMPOP_MIN/ZMPOP_MAX with a single key - skiplist (9 ms) +[ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist (21 ms) +[ok]: BZPOPMIN/BZPOPMAX with a single existing sorted set - skiplist (66 ms) +[ok]: BZPOPMIN/BZPOPMAX with multiple existing sorted sets - skiplist (47 ms) +[ok]: BZPOPMIN/BZPOPMAX second sorted set has members - skiplist (28 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX with a single existing sorted set - skiplist (41 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX with multiple existing sorted sets - skiplist (41 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX second sorted set has members - skiplist (46 ms) +[ok]: Basic ZPOPMIN/ZPOPMAX - skiplist RESP3 (3 ms) +[ok]: ZPOPMIN/ZPOPMAX with count - skiplist RESP3 (2 ms) +[ok]: Basic ZMPOP_MIN/ZMPOP_MAX - skiplist RESP3 (7 ms) +[ok]: ZMPOP_MIN/ZMPOP_MAX with count - skiplist RESP3 (5 ms) +[ok]: BZPOPMIN/BZPOPMAX - skiplist RESP3 (53 ms) +[ok]: BZMPOP_MIN/BZMPOP_MAX - skiplist RESP3 (51 ms) +[ok]: ZPOP/ZMPOP against wrong type (14 ms) +[ok]: ZMPOP with illegal argument (23 ms) +[ok]: ZMPOP propagate as pop with count command to replica (140 ms) +[ok]: ZPOPMIN/ZPOPMAX readraw in RESP3 (13 ms) +[ok]: BZPOPMIN/BZPOPMAX readraw in RESP3 (219 ms) +[ok]: ZMPOP readraw in RESP3 (12 ms) +[ok]: BZMPOP readraw in RESP3 (192 ms) [ok]: ZPOPMIN/ZPOPMAX readraw in RESP2 (2 ms) -[ok]: BZPOPMIN/BZPOPMAX readraw in RESP2 (181 ms) -[ok]: ZMPOP readraw in RESP2 (2 ms) -[ok]: BZMPOP readraw in RESP2 (198 ms) -[ok]: ZINTERSTORE regression with two sets, intset+hashtable (0 ms) -[ok]: ZUNIONSTORE regression, should not create NaN in scores (0 ms) -[ok]: ZINTERSTORE #516 regression, mixed sets and ziplist zsets (1 ms) -[ok]: ZUNIONSTORE result is sorted (123 ms) +[ok]: BZPOPMIN/BZPOPMAX readraw in RESP2 (194 ms) +[ok]: ZMPOP readraw in RESP2 (9 ms) +[ok]: BZMPOP readraw in RESP2 (187 ms) +[ok]: ZINTERSTORE regression with two sets, intset+hashtable (1 ms) +[ok]: ZUNIONSTORE regression, should not create NaN in scores (1 ms) +[ok]: ZINTERSTORE #516 regression, mixed sets and ziplist zsets (5 ms) +[ok]: ZUNIONSTORE result is sorted (184 ms) [ok]: ZUNIONSTORE/ZINTERSTORE/ZDIFFSTORE error if using WITHSCORES (1 ms) [ok]: ZMSCORE retrieve (1 ms) -[ok]: ZMSCORE retrieve from empty set (0 ms) -[ok]: ZMSCORE retrieve with missing member (0 ms) -[ok]: ZMSCORE retrieve single member (1 ms) +[ok]: ZMSCORE retrieve from empty set (1 ms) +[ok]: ZMSCORE retrieve with missing member (1 ms) +[ok]: ZMSCORE retrieve single member (0 ms) [ok]: ZMSCORE retrieve requires one or more members (1 ms) -[ok]: ZSET commands don't accept the empty strings as valid score (0 ms) +[ok]: ZSET commands don't accept the empty strings as valid score (1 ms) [ok]: zunionInterDiffGenericCommand at least 1 input key (2 ms) -[ok]: ZSCORE - listpack (45 ms) -[ok]: ZMSCORE - listpack (46 ms) -[ok]: ZSCORE after a DEBUG RELOAD - listpack (51 ms) -[ok]: ZSET sorting stresser - listpack (58 ms) -[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 128 element sorted set - listpack (3646 ms) -[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (185 ms) -[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (244 ms) -[ok]: ZSETs skiplist implementation backlink consistency test - listpack (46 ms) -[ok]: ZSETs ZRANK augmented skip list stress testing - listpack (1710 ms) -[ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (11 ms) -[ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (11 ms) -[ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (10 ms) -[ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (11 ms) -[ok]: BZPOPMIN with same key multiple times should work (11 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (10 ms) -[ok]: BZPOPMIN with variadic ZADD (10 ms) -[ok]: BZPOPMIN with zero timeout should block indefinitely (1012 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (11 ms) -[ok]: BZMPOP_MIN with variadic ZADD (10 ms) -[ok]: BZMPOP_MIN with zero timeout should block indefinitely (1011 ms) -[ok]: ZSCORE - skiplist (34 ms) -[ok]: ZMSCORE - skiplist (36 ms) -[ok]: ZSCORE after a DEBUG RELOAD - skiplist (42 ms) -[ok]: ZSET sorting stresser - skiplist (154 ms) -[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 100 element sorted set - skiplist (3848 ms) -[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (155 ms) -[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (242 ms) -[ok]: ZSETs skiplist implementation backlink consistency test - skiplist (35 ms) -[ok]: ZSETs ZRANK augmented skip list stress testing - skiplist (1514 ms) -[ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (12 ms) -[ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (10 ms) -[ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (10 ms) -[ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (10 ms) -[ok]: BZPOPMIN with same key multiple times should work (11 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (10 ms) -[ok]: BZPOPMIN with variadic ZADD (10 ms) -[ok]: BZPOPMIN with zero timeout should block indefinitely (1013 ms) -[ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (120 ms) -[ok]: BZMPOP_MIN with variadic ZADD (14 ms) -[ok]: BZMPOP_MIN with zero timeout should block indefinitely (1012 ms) -[ok]: BZPOP/BZMPOP against wrong type (1 ms) -[ok]: BZMPOP with illegal argument (3 ms) -[ok]: BZMPOP with multiple blocked clients (38 ms) -[ok]: BZMPOP propagate as pop with count command to replica (225 ms) -[ok]: BZMPOP should not blocks on non key arguments - #10762 (20 ms) -[ok]: ZSET skiplist order consistency when elements are moved (1908 ms) -[ok]: ZRANGESTORE basic (8 ms) -[ok]: ZRANGESTORE RESP3 (1 ms) -[ok]: ZRANGESTORE range (0 ms) +[ok]: ZSCORE - listpack (50 ms) +[ok]: ZMSCORE - listpack (53 ms) +[ok]: ZSCORE after a DEBUG RELOAD - listpack (99 ms) +[ok]: ZSET sorting stresser - listpack (73 ms) +[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 128 element sorted set - listpack (15810 ms) +[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (1072 ms) +[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - listpack (1679 ms) +[ok]: ZSETs skiplist implementation backlink consistency test - listpack (211 ms) +[ok]: ZSETs ZRANK augmented skip list stress testing - listpack (6201 ms) +[ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (156 ms) +[ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (75 ms) +[ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (59 ms) +[ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (70 ms) +[ok]: BZPOPMIN with same key multiple times should work (80 ms) +[ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (53 ms) +[ok]: BZPOPMIN with variadic ZADD (47 ms) +[ok]: BZPOPMIN with zero timeout should block indefinitely (1051 ms) +[ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (63 ms) +[ok]: BZMPOP_MIN with variadic ZADD (49 ms) +[ok]: BZMPOP_MIN with zero timeout should block indefinitely (1055 ms) +[ok]: ZSCORE - skiplist (157 ms) +[ok]: ZMSCORE - skiplist (123 ms) +[ok]: ZSCORE after a DEBUG RELOAD - skiplist (128 ms) +[ok]: ZSET sorting stresser - skiplist (137 ms) +[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 100 element sorted set - skiplist (16250 ms) +[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (669 ms) +[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist (645 ms) +[ok]: ZSETs skiplist implementation backlink consistency test - skiplist (51 ms) +[ok]: ZSETs ZRANK augmented skip list stress testing - skiplist (2912 ms) +[ok]: BZPOPMIN, ZADD + DEL should not awake blocked client (43 ms) +[ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client (37 ms) +[ok]: BZMPOP_MIN, ZADD + DEL should not awake blocked client (44 ms) +[ok]: BZMPOP_MIN, ZADD + DEL + SET should not awake blocked client (151 ms) +[ok]: BZPOPMIN with same key multiple times should work (172 ms) +[ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN (58 ms) +[ok]: BZPOPMIN with variadic ZADD (43 ms) +[ok]: BZPOPMIN with zero timeout should block indefinitely (1143 ms) +[ok]: MULTI/EXEC is isolated from the point of view of BZMPOP_MIN (73 ms) +[ok]: BZMPOP_MIN with variadic ZADD (66 ms) +[ok]: BZMPOP_MIN with zero timeout should block indefinitely (1067 ms) +[ok]: BZPOP/BZMPOP against wrong type (12 ms) +[ok]: BZMPOP with illegal argument (12 ms) +[ok]: BZMPOP with multiple blocked clients (238 ms) +[ok]: BZMPOP propagate as pop with count command to replica (241 ms) +[ok]: BZMPOP should not blocks on non key arguments - #10762 (89 ms) +[ok]: ZSET skiplist order consistency when elements are moved (4731 ms) +[ok]: ZRANGESTORE basic (19 ms) +[ok]: ZRANGESTORE RESP3 (8 ms) +[ok]: ZRANGESTORE range (1 ms) [ok]: ZRANGESTORE BYLEX (1 ms) -[ok]: ZRANGESTORE BYSCORE (1 ms) -[ok]: ZRANGESTORE BYSCORE LIMIT (0 ms) +[ok]: ZRANGESTORE BYSCORE (0 ms) +[ok]: ZRANGESTORE BYSCORE LIMIT (1 ms) [ok]: ZRANGESTORE BYSCORE REV LIMIT (1 ms) -[ok]: ZRANGE BYSCORE REV LIMIT (0 ms) +[ok]: ZRANGE BYSCORE REV LIMIT (1 ms) [ok]: ZRANGESTORE - src key missing (0 ms) [ok]: ZRANGESTORE - src key wrong type (0 ms) [ok]: ZRANGESTORE - empty range (1 ms) -[ok]: ZRANGESTORE BYLEX - empty range (0 ms) +[ok]: ZRANGESTORE BYLEX - empty range (5 ms) [ok]: ZRANGESTORE BYSCORE - empty range (1 ms) -[ok]: ZRANGE BYLEX (0 ms) +[ok]: ZRANGE BYLEX (1 ms) [ok]: ZRANGESTORE invalid syntax (1 ms) -[ok]: ZRANGESTORE with zset-max-listpack-entries 0 #10767 case (1 ms) -[ok]: ZRANGESTORE with zset-max-listpack-entries 1 dst key should use skiplist encoding (1 ms) -[ok]: ZRANGE invalid syntax (1 ms) -[ok]: ZRANDMEMBER - listpack (15 ms) -[ok]: ZRANDMEMBER - skiplist (15 ms) -[ok]: ZRANDMEMBER with RESP3 (1 ms) -[ok]: ZRANDMEMBER count of 0 is handled correctly (0 ms) -[ok]: ZRANDMEMBER with against non existing key (1 ms) +[ok]: ZRANGESTORE with zset-max-listpack-entries 0 #10767 case (2 ms) +[ok]: ZRANGESTORE with zset-max-listpack-entries 1 dst key should use skiplist encoding (5 ms) +[ok]: ZRANGE invalid syntax (4 ms) +[ok]: ZRANDMEMBER - listpack (46 ms) +[ok]: ZRANDMEMBER - skiplist (16 ms) +[ok]: ZRANDMEMBER with RESP3 (2 ms) +[ok]: ZRANDMEMBER count of 0 is handled correctly (1 ms) +[ok]: ZRANDMEMBER with against non existing key (0 ms) [ok]: ZRANDMEMBER count overflow (1 ms) [ok]: ZRANDMEMBER count of 0 is handled correctly - emptyarray (0 ms) [ok]: ZRANDMEMBER with against non existing key - emptyarray (0 ms) -[ok]: ZRANDMEMBER with - skiplist (369 ms) -[ok]: ZRANDMEMBER with - listpack (367 ms) +[ok]: ZRANDMEMBER with - skiplist (1300 ms) +[ok]: ZRANDMEMBER with - listpack (920 ms) [ok]: zset score double range (1 ms) -[15/84 done]: unit/type/zset (31 seconds) +[15/84 done]: unit/type/zset (95 seconds) Testing unit/type/hash === (hash) Starting server 127.0.0.1:21148 ok -[ok]: HSET/HLEN - Small hash creation (1 ms) +[ok]: HSET/HLEN - Small hash creation (6 ms) [ok]: Is the small hash encoded with a listpack? (0 ms) -[ok]: HRANDFIELD - listpack (14 ms) -[ok]: HRANDFIELD - hashtable (15 ms) +[ok]: HRANDFIELD - listpack (37 ms) +[ok]: HRANDFIELD - hashtable (42 ms) [ok]: HRANDFIELD with RESP3 (1 ms) [ok]: HRANDFIELD count of 0 is handled correctly (0 ms) [ok]: HRANDFIELD count overflow (1 ms) [ok]: HRANDFIELD with against non existing key (0 ms) -[ok]: HRANDFIELD count of 0 is handled correctly - emptyarray (0 ms) +[ok]: HRANDFIELD count of 0 is handled correctly - emptyarray (5 ms) [ok]: HRANDFIELD with against non existing key - emptyarray (0 ms) -[ok]: HRANDFIELD with - hashtable (182 ms) -[ok]: HRANDFIELD with - listpack (178 ms) -[ok]: HSET/HLEN - Big hash creation (194 ms) -[ok]: Is the big hash encoded with an hash table? (1 ms) -[ok]: HGET against the small hash (1 ms) -[ok]: HGET against the big hash (156 ms) -[ok]: HGET against non existing key (1 ms) -[ok]: HSET in update and insert mode (1 ms) +[ok]: HRANDFIELD with - hashtable (1070 ms) +[ok]: HRANDFIELD with - listpack (977 ms) +[ok]: HSET/HLEN - Big hash creation (744 ms) +[ok]: Is the big hash encoded with an hash table? (0 ms) +[ok]: HGET against the small hash (2 ms) +[ok]: HGET against the big hash (1155 ms) +[ok]: HGET against non existing key (0 ms) +[ok]: HSET in update and insert mode (5 ms) [ok]: HSETNX target key missing - small hash (1 ms) -[ok]: HSETNX target key exists - small hash (0 ms) +[ok]: HSETNX target key exists - small hash (1 ms) [ok]: HSETNX target key missing - big hash (1 ms) -[ok]: HSETNX target key exists - big hash (0 ms) +[ok]: HSETNX target key exists - big hash (17 ms) [ok]: HSET/HMSET wrong number of args (1 ms) -[ok]: HMSET - small hash (0 ms) -[ok]: HMSET - big hash (50 ms) -[ok]: HMGET against non existing key and fields (1 ms) -[ok]: HMGET against wrong type (0 ms) -[ok]: HMGET - small hash (1 ms) -[ok]: HMGET - big hash (53 ms) +[ok]: HMSET - small hash (1 ms) +[ok]: HMSET - big hash (86 ms) +[ok]: HMGET against non existing key and fields (2 ms) +[ok]: HMGET against wrong type (7 ms) +[ok]: HMGET - small hash (0 ms) +[ok]: HMGET - big hash (78 ms) [ok]: HKEYS - small hash (1 ms) -[ok]: HKEYS - big hash (9 ms) -[ok]: HVALS - small hash (0 ms) -[ok]: HVALS - big hash (2 ms) -[ok]: HGETALL - small hash (0 ms) -[ok]: HGETALL - big hash (22 ms) -[ok]: HDEL and return value (2 ms) -[ok]: HDEL - more than a single value (1 ms) -[ok]: HDEL - hash becomes empty before deleting all specified fields (1 ms) -[ok]: HEXISTS (1 ms) -[ok]: Is a ziplist encoded Hash promoted on big payload? (0 ms) +[ok]: HKEYS - big hash (33 ms) +[ok]: HVALS - small hash (1 ms) +[ok]: HVALS - big hash (3 ms) +[ok]: HGETALL - small hash (2 ms) +[ok]: HGETALL - big hash (88 ms) +[ok]: HDEL and return value (3 ms) +[ok]: HDEL - more than a single value (2 ms) +[ok]: HDEL - hash becomes empty before deleting all specified fields (4 ms) +[ok]: HEXISTS (5 ms) +[ok]: Is a ziplist encoded Hash promoted on big payload? (1 ms) [ok]: HINCRBY against non existing database key (1 ms) -[ok]: HINCRBY against non existing hash key (1 ms) +[ok]: HINCRBY against non existing hash key (2 ms) [ok]: HINCRBY against hash key created by hincrby itself (1 ms) -[ok]: HINCRBY against hash key originally set with HSET (0 ms) -[ok]: HINCRBY over 32bit value (1 ms) +[ok]: HINCRBY against hash key originally set with HSET (1 ms) +[ok]: HINCRBY over 32bit value (3 ms) [ok]: HINCRBY over 32bit value with over 32bit increment (1 ms) -[ok]: HINCRBY fails against hash value with spaces (left) (1 ms) -[ok]: HINCRBY fails against hash value with spaces (right) (1 ms) -[ok]: HINCRBY can detect overflows (0 ms) -[ok]: HINCRBYFLOAT against non existing database key (1 ms) -[ok]: HINCRBYFLOAT against non existing hash key (1 ms) +[ok]: HINCRBY fails against hash value with spaces (left) (5 ms) +[ok]: HINCRBY fails against hash value with spaces (right) (9 ms) +[ok]: HINCRBY can detect overflows (11 ms) +[ok]: HINCRBYFLOAT against non existing database key (8 ms) +[ok]: HINCRBYFLOAT against non existing hash key (14 ms) [ok]: HINCRBYFLOAT against hash key created by hincrby itself (1 ms) [ok]: HINCRBYFLOAT against hash key originally set with HSET (1 ms) -[ok]: HINCRBYFLOAT over 32bit value (0 ms) -[ok]: HINCRBYFLOAT over 32bit value with over 32bit increment (1 ms) -[ok]: HINCRBYFLOAT fails against hash value with spaces (left) (1 ms) +[ok]: HINCRBYFLOAT over 32bit value (1 ms) +[ok]: HINCRBYFLOAT over 32bit value with over 32bit increment (4 ms) +[ok]: HINCRBYFLOAT fails against hash value with spaces (left) (7 ms) [ok]: HINCRBYFLOAT fails against hash value with spaces (right) (1 ms) -[ok]: HINCRBYFLOAT fails against hash value that contains a null-terminator in the middle (0 ms) -[ok]: HSTRLEN against the small hash (1 ms) -[ok]: HSTRLEN against the big hash (150 ms) -[ok]: HSTRLEN against non existing field (0 ms) -[ok]: HSTRLEN corner cases (4 ms) -[ok]: HINCRBYFLOAT over hash-max-listpack-value encoded with a listpack (4 ms) -[ok]: Hash ziplist regression test for large keys (0 ms) -[ok]: Hash fuzzing #1 - 10 fields (42 ms) -[ok]: Hash fuzzing #2 - 10 fields (36 ms) -[ok]: Hash fuzzing #1 - 512 fields (1393 ms) -[ok]: Hash fuzzing #2 - 512 fields (921 ms) -[ok]: Stress test the hash ziplist -> hashtable encoding conversion (1166 ms) -[ok]: Test HINCRBYFLOAT for correct float representation (issue #2846) (0 ms) -[ok]: Hash ziplist of various encodings (90 ms) +[ok]: HINCRBYFLOAT fails against hash value that contains a null-terminator in the middle (4 ms) +[ok]: HSTRLEN against the small hash (2 ms) +[ok]: HSTRLEN against the big hash (867 ms) +[ok]: HSTRLEN against non existing field (12 ms) +[ok]: HSTRLEN corner cases (24 ms) +[ok]: HINCRBYFLOAT over hash-max-listpack-value encoded with a listpack (14 ms) +[ok]: Hash ziplist regression test for large keys (1 ms) +[ok]: Hash fuzzing #1 - 10 fields (275 ms) +[ok]: Hash fuzzing #2 - 10 fields (194 ms) +[ok]: Hash fuzzing #1 - 512 fields (6160 ms) +[ok]: Hash fuzzing #2 - 512 fields (15503 ms) +[ok]: Stress test the hash ziplist -> hashtable encoding conversion (1252 ms) +[ok]: Test HINCRBYFLOAT for correct float representation (issue #2846) (1 ms) +[ok]: Hash ziplist of various encodings (91 ms) [ok]: Hash ziplist of various encodings - sanitize dump (2 ms) [ok]: HINCRBYFLOAT does not allow NaN or Infinity (0 ms) -[16/84 done]: unit/type/hash (5 seconds) +[16/84 done]: unit/type/hash (56 seconds) Testing unit/type/stream === (stream) Starting server 127.0.0.1:21149 ok [ok]: XADD wrong number of args (1 ms) [ok]: XADD can add entries into a stream that XRANGE can fetch (1 ms) [ok]: XADD IDs are incremental (1 ms) [ok]: XADD IDs are incremental when ms is the same as well (1 ms) -[ok]: XADD IDs correctly report an error when overflowing (1 ms) -[ok]: XADD auto-generated sequence is incremented for last ID (0 ms) -[ok]: XADD auto-generated sequence is zero for future timestamp ID (0 ms) -[ok]: XADD auto-generated sequence can't be smaller than last ID (1 ms) -[ok]: XADD auto-generated sequence can't overflow (0 ms) +[ok]: XADD IDs correctly report an error when overflowing (0 ms) +[ok]: XADD auto-generated sequence is incremented for last ID (1 ms) +[ok]: XADD auto-generated sequence is zero for future timestamp ID (1 ms) +[ok]: XADD auto-generated sequence can't be smaller than last ID (0 ms) +[ok]: XADD auto-generated sequence can't overflow (1 ms) [ok]: XADD 0-* should succeed (0 ms) -[ok]: XADD with MAXLEN option (178 ms) -[ok]: XADD with MAXLEN option and the '=' argument (180 ms) -[ok]: XADD with MAXLEN option and the '~' argument (165 ms) -[ok]: XADD with NOMKSTREAM option (1 ms) -[ok]: XADD with MINID option (137 ms) -[ok]: XTRIM with MINID option (1 ms) -[ok]: XTRIM with MINID option, big delta from master record (0 ms) -[ok]: XADD mass insertion and XLEN (2295 ms) +[ok]: XADD with MAXLEN option (187 ms) +[ok]: XADD with MAXLEN option and the '=' argument (186 ms) +[ok]: XADD with MAXLEN option and the '~' argument (7830 ms) +[ok]: XADD with NOMKSTREAM option (2117 ms) +[ok]: XADD with MINID option (191 ms) +[ok]: XTRIM with MINID option (26443 ms) +[ok]: XTRIM with MINID option, big delta from master record (2 ms) +[ok]: XADD mass insertion and XLEN (80822 ms) [ok]: XADD with ID 0-0 (1 ms) [ok]: XADD with LIMIT delete entries no more than limit (1 ms) [ok]: XRANGE COUNT works as expected (1 ms) -[ok]: XREVRANGE COUNT works as expected (0 ms) -[ok]: XRANGE can be used to iterate the whole stream (279 ms) -[ok]: XREVRANGE returns the reverse of XRANGE (1326 ms) -[ok]: XRANGE exclusive ranges (5 ms) +[ok]: XREVRANGE COUNT works as expected (1 ms) +[ok]: XRANGE can be used to iterate the whole stream (368 ms) +[ok]: XREVRANGE returns the reverse of XRANGE (1574 ms) +[ok]: XRANGE exclusive ranges (4 ms) [ok]: XREAD with non empty stream (0 ms) -[ok]: Non blocking XREAD with empty streams (1 ms) -[ok]: XREAD with non empty second stream (1659 ms) -[ok]: Blocking XREAD waiting new data (10 ms) -[ok]: Blocking XREAD waiting old data (9 ms) -[ok]: Blocking XREAD will not reply with an empty array (46 ms) -[ok]: Blocking XREAD for stream that ran dry (issue #5299) (102 ms) -[ok]: XREAD: XADD + DEL should not awake client (11 ms) -[ok]: XREAD: XADD + DEL + LPUSH should not awake client (10 ms) -[ok]: XREAD with same stream name multiple times should work (9 ms) -[ok]: XREAD + multiple XADD inside transaction (10 ms) -[ok]: XDEL basic test (1 ms) -[ok]: XDEL fuzz test (2282 ms) -[ok]: XRANGE fuzzing (13609 ms) -[ok]: XREVRANGE regression test for issue #5006 (2 ms) +[ok]: Non blocking XREAD with empty streams (0 ms) +[ok]: XREAD with non empty second stream (15149 ms) +[ok]: Blocking XREAD waiting new data (86 ms) +[ok]: Blocking XREAD waiting old data (43 ms) +[ok]: Blocking XREAD will not reply with an empty array (171 ms) +[ok]: Blocking XREAD for stream that ran dry (issue #5299) (115 ms) +[ok]: XREAD: XADD + DEL should not awake client (57 ms) +[ok]: XREAD: XADD + DEL + LPUSH should not awake client (61 ms) +[ok]: XREAD with same stream name multiple times should work (70 ms) +[ok]: XREAD + multiple XADD inside transaction (76 ms) +[ok]: XDEL basic test (26 ms) +[ok]: XDEL fuzz test (13829 ms) +[ok]: XRANGE fuzzing (30045 ms) +[ok]: XREVRANGE regression test for issue #5006 (902 ms) [ok]: XREAD streamID edge (no-blocking) (1 ms) -[ok]: XREAD streamID edge (blocking) (11 ms) +[ok]: XREAD streamID edge (blocking) (2784 ms) [ok]: XADD streamID edge (1 ms) -[ok]: XTRIM with MAXLEN option basic test (187 ms) -[ok]: XADD with LIMIT consecutive calls (20 ms) -[ok]: XTRIM with ~ is limited (21 ms) -[ok]: XTRIM without ~ is not limited (22 ms) -[ok]: XTRIM without ~ and with LIMIT (21 ms) +[ok]: XTRIM with MAXLEN option basic test (1828 ms) +[ok]: XADD with LIMIT consecutive calls (17 ms) +[ok]: XTRIM with ~ is limited (19 ms) +[ok]: XTRIM without ~ is not limited (18 ms) +[ok]: XTRIM without ~ and with LIMIT (17 ms) [ok]: XTRIM with LIMIT delete entries no more than limit (2 ms) === (stream needs:debug) Starting server 127.0.0.1:21150 ok -[ok]: XADD with MAXLEN > xlen can propagate correctly (18 ms) +[ok]: XADD with MAXLEN > xlen can propagate correctly (104 ms) === (stream needs:debug) Starting server 127.0.0.1:21151 ok -[ok]: XADD with MINID > lastid can propagate correctly (18 ms) +[ok]: XADD with MINID > lastid can propagate correctly (3857 ms) === (stream needs:debug) Starting server 127.0.0.1:21152 ok -[ok]: XADD with ~ MAXLEN can propagate correctly (19 ms) +[ok]: XADD with ~ MAXLEN can propagate correctly (18 ms) === (stream needs:debug) Starting server 127.0.0.1:21153 ok -[ok]: XADD with ~ MAXLEN and LIMIT can propagate correctly (23 ms) +[ok]: XADD with ~ MAXLEN and LIMIT can propagate correctly (19 ms) === (stream needs:debug) Starting server 127.0.0.1:21154 ok -[ok]: XADD with ~ MINID can propagate correctly (18 ms) +[ok]: XADD with ~ MINID can propagate correctly (300 ms) === (stream needs:debug) Starting server 127.0.0.1:21155 ok -[ok]: XADD with ~ MINID and LIMIT can propagate correctly (18 ms) +[ok]: XADD with ~ MINID and LIMIT can propagate correctly (167 ms) === (stream needs:debug) Starting server 127.0.0.1:21156 ok -[ok]: XTRIM with ~ MAXLEN can propagate correctly (18 ms) +[ok]: XTRIM with ~ MAXLEN can propagate correctly (187 ms) === (stream xsetid) Starting server 127.0.0.1:21157 ok -[ok]: XADD can CREATE an empty stream (1 ms) -[ok]: XSETID can set a specific ID (1 ms) -[ok]: XSETID cannot SETID with smaller ID (0 ms) -[ok]: XSETID cannot SETID on non-existent key (1 ms) -[ok]: XSETID cannot run with an offset but without a maximal tombstone (0 ms) -[ok]: XSETID cannot run with a maximal tombstone but without an offset (0 ms) -[ok]: XSETID errors on negstive offset (0 ms) -[ok]: XSETID cannot set the maximal tombstone with larger ID (1 ms) -[ok]: XSETID cannot set the offset to less than the length (0 ms) +[ok]: XADD can CREATE an empty stream (23 ms) +[ok]: XSETID can set a specific ID (6 ms) +[ok]: XSETID cannot SETID with smaller ID (19 ms) +[ok]: XSETID cannot SETID on non-existent key (7 ms) +[ok]: XSETID cannot run with an offset but without a maximal tombstone (16 ms) +[ok]: XSETID cannot run with a maximal tombstone but without an offset (1 ms) +[ok]: XSETID errors on negstive offset (1 ms) +[ok]: XSETID cannot set the maximal tombstone with larger ID (15 ms) +[ok]: XSETID cannot set the offset to less than the length (8 ms) === (stream offset) Starting server 127.0.0.1:21158 ok -[ok]: XADD advances the entries-added counter and sets the recorded-first-entry-id (2 ms) -[ok]: XDEL/TRIM are reflected by recorded first entry (3 ms) -[ok]: Maxmimum XDEL ID behaves correctly (2 ms) +[ok]: XADD advances the entries-added counter and sets the recorded-first-entry-id (21 ms) +[ok]: XDEL/TRIM are reflected by recorded first entry (32 ms) +[ok]: Maxmimum XDEL ID behaves correctly (16 ms) === (stream needs:debug) Starting server 127.0.0.1:21159 ok -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Empty stream can be rewrite into AOF correctly (119 ms) +Waiting for background AOF rewrite to finish... [ok]: Empty stream can be rewrite into AOF correctly (393 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Stream can be rewrite into AOF correctly after XDEL lastid (237 ms) +Waiting for background AOF rewrite to finish... [ok]: Stream can be rewrite into AOF correctly after XDEL lastid (436 ms) === (stream) Starting server 127.0.0.1:21160 ok -[ok]: XGROUP HELP should not have unexpected options (0 ms) -[ok]: XINFO HELP should not have unexpected options (0 ms) -[17/84 done]: unit/type/stream (26 seconds) +[ok]: XGROUP HELP should not have unexpected options (8 ms) +[ok]: XINFO HELP should not have unexpected options (8 ms) +[17/84 done]: unit/type/stream (920 seconds) Testing unit/type/stream-cgroups === (stream) Starting server 127.0.0.1:21161 ok -[ok]: XGROUP CREATE: creation and duplicate group name detection (1 ms) -[ok]: XGROUP CREATE: automatic stream creation fails without MKSTREAM (0 ms) +[ok]: XGROUP CREATE: creation and duplicate group name detection (4 ms) +[ok]: XGROUP CREATE: automatic stream creation fails without MKSTREAM (1 ms) [ok]: XGROUP CREATE: automatic stream creation works with MKSTREAM (0 ms) [ok]: XREADGROUP will return only new elements (1 ms) -[ok]: XREADGROUP can read the history of the elements we own (1 ms) -[ok]: XPENDING is able to return pending items (1 ms) -[ok]: XPENDING can return single consumer items (0 ms) -[ok]: XPENDING only group (1 ms) -[ok]: XPENDING with IDLE (21 ms) -[ok]: XPENDING with exclusive range intervals works as expected (1 ms) -[ok]: XACK is able to remove items from the consumer/group PEL (1 ms) +[ok]: XREADGROUP can read the history of the elements we own (9 ms) +[ok]: XPENDING is able to return pending items (4 ms) +[ok]: XPENDING can return single consumer items (1 ms) +[ok]: XPENDING only group (4 ms) +[ok]: XPENDING with IDLE (24 ms) +[ok]: XPENDING with exclusive range intervals works as expected (6 ms) +[ok]: XACK is able to remove items from the consumer/group PEL (8 ms) [ok]: XACK can't remove the same item multiple times (0 ms) [ok]: XACK is able to accept multiple arguments (1 ms) -[ok]: XACK should fail if got at least one invalid ID (1 ms) -[ok]: PEL NACK reassignment after XGROUP SETID event (2 ms) -[ok]: XREADGROUP will not report data on empty history. Bug #5577 (2 ms) +[ok]: XACK should fail if got at least one invalid ID (2 ms) +[ok]: PEL NACK reassignment after XGROUP SETID event (6 ms) +[ok]: XREADGROUP will not report data on empty history. Bug #5577 (7 ms) [ok]: XREADGROUP history reporting of deleted entries. Bug #5570 (2 ms) -[ok]: Blocking XREADGROUP will not reply with an empty array (36 ms) -[ok]: Blocking XREADGROUP: key deleted (9 ms) -[ok]: Blocking XREADGROUP: key type changed with SET (10 ms) -[ok]: Blocking XREADGROUP: key type changed with transaction (10 ms) -[ok]: Blocking XREADGROUP: flushed DB (14 ms) -[ok]: Blocking XREADGROUP: swapped DB, key doesn't exist (10 ms) -[ok]: Blocking XREADGROUP: swapped DB, key is not a stream (10 ms) -[ok]: Blocking XREAD: key deleted (10 ms) -[ok]: Blocking XREAD: key type changed with SET (9 ms) -[ok]: Blocking XREADGROUP for stream that ran dry (issue #5299) (127 ms) -[ok]: Blocking XREADGROUP will ignore BLOCK if ID is not > (32 ms) -[ok]: XGROUP DESTROY should unblock XREADGROUP with -NOGROUP (22 ms) -[ok]: RENAME can unblock XREADGROUP with data (18 ms) -[ok]: RENAME can unblock XREADGROUP with -NOGROUP (17 ms) -[ok]: XCLAIM can claim PEL items from another consumer (618 ms) -[ok]: XCLAIM without JUSTID increments delivery count (406 ms) -[ok]: XCLAIM same consumer (203 ms) -[ok]: XAUTOCLAIM can claim PEL items from another consumer (608 ms) -[ok]: XAUTOCLAIM as an iterator (205 ms) -[ok]: XAUTOCLAIM COUNT must be > 0 (1 ms) -[ok]: XCLAIM with XDEL (4 ms) -[ok]: XCLAIM with trimming (5 ms) -[ok]: XAUTOCLAIM with XDEL (2 ms) -[ok]: XAUTOCLAIM with XDEL and count (3 ms) +[ok]: Blocking XREADGROUP will not reply with an empty array (74 ms) +[ok]: Blocking XREADGROUP: key deleted (38 ms) +[ok]: Blocking XREADGROUP: key type changed with SET (57 ms) +[ok]: Blocking XREADGROUP: key type changed with transaction (89 ms) +[ok]: Blocking XREADGROUP: flushed DB (82 ms) +[ok]: Blocking XREADGROUP: swapped DB, key doesn't exist (120 ms) +[ok]: Blocking XREADGROUP: swapped DB, key is not a stream (69 ms) +[ok]: Blocking XREAD: key deleted (56 ms) +[ok]: Blocking XREAD: key type changed with SET (71 ms) +[ok]: Blocking XREADGROUP for stream that ran dry (issue #5299) (231 ms) +[ok]: Blocking XREADGROUP will ignore BLOCK if ID is not > (122 ms) +[ok]: XGROUP DESTROY should unblock XREADGROUP with -NOGROUP (323 ms) +[ok]: RENAME can unblock XREADGROUP with data (74 ms) +[ok]: RENAME can unblock XREADGROUP with -NOGROUP (77 ms) +[ok]: XCLAIM can claim PEL items from another consumer (670 ms) +[ok]: XCLAIM without JUSTID increments delivery count (407 ms) +[ok]: XCLAIM same consumer (233 ms) +[ok]: XAUTOCLAIM can claim PEL items from another consumer (633 ms) +[ok]: XAUTOCLAIM as an iterator (264 ms) +[ok]: XAUTOCLAIM COUNT must be > 0 (4 ms) +[ok]: XCLAIM with XDEL (20 ms) +[ok]: XCLAIM with trimming (20 ms) +[ok]: XAUTOCLAIM with XDEL (3 ms) +[ok]: XAUTOCLAIM with XDEL and count (50 ms) [ok]: XAUTOCLAIM with out of range count (1 ms) -[ok]: XCLAIM with trimming (3 ms) -[ok]: XINFO FULL output (7 ms) -[ok]: XGROUP CREATECONSUMER: create consumer if does not exist (4 ms) -[ok]: XGROUP CREATECONSUMER: group must exist (1 ms) +[ok]: XCLAIM with trimming (2 ms) +[ok]: XINFO FULL output (93 ms) +[ok]: XGROUP CREATECONSUMER: create consumer if does not exist (55 ms) +[ok]: XGROUP CREATECONSUMER: group must exist (3 ms) === (stream needs:debug) Starting server 127.0.0.1:21162 ok -[ok]: XREADGROUP with NOACK creates consumer (35 ms) +[ok]: XREADGROUP with NOACK creates consumer (153 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Consumer without PEL is present in AOF after AOFRW (1422 ms) -[ok]: Consumer group read counter and lag in empty streams (4 ms) -[ok]: Consumer group read counter and lag sanity (6 ms) -[ok]: Consumer group lag with XDELs (8 ms) -[ok]: Loading from legacy (Redis <= v6.2.x, rdb_ver < 10) persistence (2 ms) +Waiting for background AOF rewrite to finish... [ok]: Consumer without PEL is present in AOF after AOFRW (207 ms) +[ok]: Consumer group read counter and lag in empty streams (3 ms) +[ok]: Consumer group read counter and lag sanity (57 ms) +[ok]: Consumer group lag with XDELs (187 ms) +[ok]: Loading from legacy (Redis <= v6.2.x, rdb_ver < 10) persistence (24 ms) === (external:skip) Starting server 127.0.0.1:21163 ok -[ok]: Consumer group last ID propagation to slave (NOACK=0) (107 ms) -[ok]: Consumer group last ID propagation to slave (NOACK=1) (108 ms) +[ok]: Consumer group last ID propagation to slave (NOACK=0) (342 ms) +[ok]: Consumer group last ID propagation to slave (NOACK=1) (300 ms) === (external:skip) Starting server 127.0.0.1:21164 ok -[ok]: Replication tests of XCLAIM with deleted entries (autclaim=0) (106 ms) -[ok]: Replication tests of XCLAIM with deleted entries (autclaim=1) (5 ms) +[ok]: Replication tests of XCLAIM with deleted entries (autclaim=0) (252 ms) +[ok]: Replication tests of XCLAIM with deleted entries (autclaim=1) (127 ms) === (stream needs:debug) Starting server 127.0.0.1:21165 ok Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Empty stream with no lastid can be rewrite into AOF correctly (211 ms) -[18/84 done]: unit/type/stream-cgroups (6 seconds) +Waiting for background AOF rewrite to finish... [ok]: Empty stream with no lastid can be rewrite into AOF correctly (125 ms) +[18/84 done]: unit/type/stream-cgroups (9 seconds) Testing unit/sort === (sort) Starting server 127.0.0.1:21166 ok [ok]: Old Ziplist: SORT BY key (0 ms) [ok]: Old Ziplist: SORT BY key with limit (0 ms) [ok]: Old Ziplist: SORT BY hash field (0 ms) -[ok]: Old Linked list: SORT BY key (9 ms) -[ok]: Old Linked list: SORT BY key with limit (0 ms) -[ok]: Old Linked list: SORT BY hash field (8 ms) -[ok]: Old Big Linked list: SORT BY key (413 ms) -[ok]: Old Big Linked list: SORT BY key with limit (5 ms) -[ok]: Old Big Linked list: SORT BY hash field (465 ms) -[ok]: Intset: SORT BY key (0 ms) +[ok]: Old Linked list: SORT BY key (42 ms) +[ok]: Old Linked list: SORT BY key with limit (1 ms) +[ok]: Old Linked list: SORT BY hash field (56 ms) +[ok]: Old Big Linked list: SORT BY key (2316 ms) +[ok]: Old Big Linked list: SORT BY key with limit (44 ms) +[ok]: Old Big Linked list: SORT BY hash field (1987 ms) +[ok]: Intset: SORT BY key (4 ms) [ok]: Intset: SORT BY key with limit (1 ms) [ok]: Intset: SORT BY hash field (0 ms) -[ok]: Hash table: SORT BY key (9 ms) -[ok]: Hash table: SORT BY key with limit (1 ms) -[ok]: Hash table: SORT BY hash field (9 ms) -[ok]: Big Hash table: SORT BY key (517 ms) -[ok]: Big Hash table: SORT BY key with limit (8 ms) -[ok]: Big Hash table: SORT BY hash field (425 ms) -[ok]: SORT GET # (0 ms) +[ok]: Hash table: SORT BY key (40 ms) +[ok]: Hash table: SORT BY key with limit (10 ms) +[ok]: Hash table: SORT BY hash field (60 ms) +[ok]: Big Hash table: SORT BY key (1126 ms) +[ok]: Big Hash table: SORT BY key with limit (14 ms) +[ok]: Big Hash table: SORT BY hash field (1865 ms) +[ok]: SORT GET # (1 ms) [ok]: SORT GET (1 ms) [ok]: SORT GET (key and hash) with sanity check (6 ms) [ok]: SORT BY key STORE (1 ms) [ok]: SORT BY hash field STORE (1 ms) -[ok]: SORT extracts STORE correctly (0 ms) -[ok]: SORT_RO get keys (1 ms) +[ok]: SORT extracts STORE correctly (1 ms) +[ok]: SORT_RO get keys (0 ms) [ok]: SORT extracts multiple STORE correctly (0 ms) -[ok]: SORT DESC (1 ms) +[ok]: SORT DESC (0 ms) [ok]: SORT ALPHA against integer encoded strings (1 ms) [ok]: SORT sorted set (2 ms) [ok]: SORT sorted set BY nosort should retain ordering (2 ms) [ok]: SORT sorted set BY nosort + LIMIT (2 ms) -[ok]: SORT sorted set BY nosort works as expected from scripts (2 ms) +[ok]: SORT sorted set BY nosort works as expected from scripts (1 ms) [ok]: SORT sorted set: +inf and -inf handling (2 ms) -[ok]: SORT regression for issue #19, sorting floats (7 ms) +[ok]: SORT regression for issue #19, sorting floats (12 ms) [ok]: SORT with STORE returns zero if result is empty (github issue 224) (1 ms) [ok]: SORT with STORE does not create empty lists (github issue 224) (1 ms) -[ok]: SORT with STORE removes key if result is empty (github issue 227) (1 ms) +[ok]: SORT with STORE removes key if result is empty (github issue 227) (0 ms) [ok]: SORT with BY and STORE should still order output (1 ms) -[ok]: SORT will complain with numerical sorting and bad doubles (1) (1 ms) +[ok]: SORT will complain with numerical sorting and bad doubles (1) (0 ms) [ok]: SORT will complain with numerical sorting and bad doubles (2) (1 ms) [ok]: SORT BY sub-sorts lexicographically if score is the same (1 ms) -[ok]: SORT GET with pattern ending with just -> does not get hash field (1 ms) +[ok]: SORT GET with pattern ending with just -> does not get hash field (0 ms) [ok]: SORT by nosort retains native order for lists (0 ms) -[ok]: SORT by nosort plus store retains native order for lists (0 ms) -[ok]: SORT by nosort with limit returns based on original list order (0 ms) +[ok]: SORT by nosort plus store retains native order for lists (1 ms) +[ok]: SORT by nosort with limit returns based on original list order (1 ms) [ok]: SORT_RO - Successful case (1 ms) [ok]: SORT_RO - Cannot run with STORE arg (0 ms) - Average time to sort: 0.33000000000000002 milliseconds [ok]: SORT speed, 100 element list BY key, 100 times (33 ms) + Average time to sort: 0.90000000000000002 milliseconds [ok]: SORT speed, 100 element list BY key, 100 times (177 ms) - Average time to sort: 0.35999999999999999 milliseconds [ok]: SORT speed, 100 element list BY hash field, 100 times (36 ms) + Average time to sort: 1.04 milliseconds [ok]: SORT speed, 100 element list BY hash field, 100 times (104 ms) - Average time to sort: 0.28999999999999998 milliseconds [ok]: SORT speed, 100 element list directly, 100 times (29 ms) + Average time to sort: 0.75 milliseconds [ok]: SORT speed, 100 element list directly, 100 times (76 ms) - Average time to sort: 0.27000000000000002 milliseconds [ok]: SORT speed, 100 element list BY , 100 times (27 ms) -[ok]: SETRANGE with huge offset (1 ms) -[19/84 done]: unit/sort (12 seconds) + Average time to sort: 0.78000000000000003 milliseconds [ok]: SORT speed, 100 element list BY , 100 times (79 ms) +[ok]: SETRANGE with huge offset (208 ms) +[19/84 done]: unit/sort (62 seconds) Testing unit/expire === (expire) Starting server 127.0.0.1:21167 ok [ok]: EXPIRE - set timeouts multiple times (1 ms) [ok]: EXPIRE - It should be still possible to read 'x' (0 ms) -[ok]: EXPIRE - After 2.1 seconds the key should no longer be here (2102 ms) -[ok]: EXPIRE - write on expire should work (1 ms) -[ok]: EXPIREAT - Check for EXPIRE alike behavior (1 ms) -[ok]: SETEX - Set + Expire combo operation. Check for TTL (1 ms) -[ok]: SETEX - Check value (0 ms) -[ok]: SETEX - Overwrite old key (0 ms) -[ok]: SETEX - Wait for the key to expire (1101 ms) +[ok]: EXPIRE - After 2.1 seconds the key should no longer be here (2105 ms) +[ok]: EXPIRE - write on expire should work (12 ms) +[ok]: EXPIREAT - Check for EXPIRE alike behavior (4 ms) +[ok]: SETEX - Set + Expire combo operation. Check for TTL (6 ms) +[ok]: SETEX - Check value (7 ms) +[ok]: SETEX - Overwrite old key (5 ms) +[ok]: SETEX - Wait for the key to expire (1102 ms) [ok]: SETEX - Wrong time parameter (1 ms) -[ok]: PERSIST can undo an EXPIRE (1 ms) +[ok]: PERSIST can undo an EXPIRE (6 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 (2005 ms) +[ok]: EXPIRE precision is now the millisecond (2007 ms) PSETEX sub-second expire test attempts: 0 -[ok]: PSETEX can set sub-second expires (102 ms) +[ok]: PSETEX can set sub-second expires (105 ms) PEXPIRE sub-second expire test attempts: 0 -[ok]: PEXPIRE can set sub-second expires (102 ms) +[ok]: PEXPIRE can set sub-second expires (118 ms) PEXPIREAT sub-second expire test attempts: 0 -[ok]: PEXPIREAT can set sub-second expires (203 ms) -[ok]: TTL returns time to live in seconds (1 ms) +[ok]: PEXPIREAT can set sub-second expires (219 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 (1 ms) -[ok]: TTL / PTTL / EXPIRETIME / PEXPIRETIME return -2 if key does not exit (1 ms) -[ok]: EXPIRETIME returns absolute expiration time in seconds (0 ms) +[ok]: TTL / PTTL / EXPIRETIME / PEXPIRETIME return -2 if key does not exit (4 ms) +[ok]: EXPIRETIME returns absolute expiration time in seconds (10 ms) [ok]: PEXPIRETIME returns absolute expiration time in milliseconds (1 ms) -[ok]: Redis should actively expire keys incrementally (608 ms) -[ok]: Redis should lazy expire keys (1005 ms) -[ok]: EXPIRE should not resurrect keys (issue #1026) (1004 ms) +[ok]: Redis should actively expire keys incrementally (522 ms) +[ok]: Redis should lazy expire keys (1014 ms) +[ok]: EXPIRE should not resurrect keys (issue #1026) (1015 ms) [ok]: 5 keys in, 5 keys out (2 ms) -[ok]: EXPIRE with empty string as TTL should report an error (0 ms) +[ok]: EXPIRE with empty string as TTL should report an error (1 ms) [ok]: SET with EX with big integer should report an error (0 ms) -[ok]: SET with EX with smallest integer should report an error (0 ms) -[ok]: GETEX with big integer should report an error (0 ms) -[ok]: GETEX with smallest integer should report an error (0 ms) -[ok]: EXPIRE with big integer overflows when converted to milliseconds (1 ms) -[ok]: PEXPIRE with big integer overflow when basetime is added (1 ms) +[ok]: SET with EX with smallest integer should report an error (4 ms) +[ok]: GETEX with big integer should report an error (4 ms) +[ok]: GETEX with smallest integer should report an error (1 ms) +[ok]: EXPIRE with big integer overflows when converted to milliseconds (11 ms) +[ok]: PEXPIRE with big integer overflow when basetime is added (0 ms) [ok]: EXPIRE with big negative integer (1 ms) -[ok]: PEXPIREAT with big integer works (0 ms) -[ok]: PEXPIREAT with big negative integer works (1 ms) +[ok]: PEXPIREAT with big integer works (2 ms) +[ok]: PEXPIREAT with big negative integer works (4 ms) === (external:skip) Starting server 127.0.0.1:21168 ok -[ok]: All time-to-live(TTL) in commands are propagated as absolute timestamp in milliseconds in AOF (2068 ms) -[ok]: All TTL in commands are propagated as absolute timestamp in replication stream (56 ms) +[ok]: All time-to-live(TTL) in commands are propagated as absolute timestamp in milliseconds in AOF (2251 ms) +[ok]: All TTL in commands are propagated as absolute timestamp in replication stream (76 ms) === (needs:repl external:skip) Starting server 127.0.0.1:21169 ok -[ok]: First server should have role slave after REPLICAOF (1 ms) -[ok]: For all replicated TTL-related commands, absolute expire times are identical on primary and replica (18 ms) +[ok]: First server should have role slave after REPLICAOF (92 ms) +[ok]: For all replicated TTL-related commands, absolute expire times are identical on primary and replica (64 ms) -Waiting for background AOF rewrite to finish... [ok]: expired key which is created in writeable replicas should be deleted by active expiry (263 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: expired key which is created in writeable replicas should be deleted by active expiry (407 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 (2006 ms) -[ok]: GETEX use of PERSIST option should remove TTL (1 ms) -[ok]: GETEX use of PERSIST option should remove TTL after loadaof (2005 ms) -[ok]: GETEX propagate as to replica as PERSIST, DEL, or nothing (66 ms) -[ok]: EXPIRE with NX option on a key with ttl (0 ms) -[ok]: EXPIRE with NX option on a key without ttl (1 ms) -[ok]: EXPIRE with XX option on a key with ttl (0 ms) -[ok]: EXPIRE with XX option on a key without ttl (0 ms) -[ok]: EXPIRE with GT option on a key with lower ttl (0 ms) -[ok]: EXPIRE with GT option on a key with higher ttl (0 ms) -[ok]: EXPIRE with GT option on a key without ttl (0 ms) -[ok]: EXPIRE with LT option on a key with higher ttl (0 ms) -[ok]: EXPIRE with LT option on a key with lower ttl (0 ms) -[ok]: EXPIRE with LT option on a key without ttl (1 ms) +[ok]: SET - use KEEPTTL option, TTL should not be removed after loadaof (2018 ms) +[ok]: GETEX use of PERSIST option should remove TTL (0 ms) +[ok]: GETEX use of PERSIST option should remove TTL after loadaof (2015 ms) +[ok]: GETEX propagate as to replica as PERSIST, DEL, or nothing (267 ms) +[ok]: EXPIRE with NX option on a key with ttl (15 ms) +[ok]: EXPIRE with NX option on a key without ttl (5 ms) +[ok]: EXPIRE with XX option on a key with ttl (1 ms) +[ok]: EXPIRE with XX option on a key without ttl (10 ms) +[ok]: EXPIRE with GT option on a key with lower ttl (4 ms) +[ok]: EXPIRE with GT option on a key with higher ttl (1 ms) +[ok]: EXPIRE with GT option on a key without ttl (1 ms) +[ok]: EXPIRE with LT option on a key with higher ttl (5 ms) +[ok]: EXPIRE with LT option on a key with lower ttl (1 ms) +[ok]: EXPIRE with LT option on a key without ttl (15 ms) [ok]: EXPIRE with LT and XX option on a key with ttl (0 ms) -[ok]: EXPIRE with LT and XX option on a key without ttl (1 ms) +[ok]: EXPIRE with LT and XX option on a key without ttl (3 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 conflicting options: NX LT (0 ms) +[ok]: EXPIRE with conflicting options: NX XX (4 ms) +[ok]: EXPIRE with unsupported options (0 ms) [ok]: EXPIRE with unsupported options (0 ms) -[ok]: EXPIRE with unsupported options (1 ms) -[ok]: EXPIRE with negative expiry (0 ms) +[ok]: EXPIRE with negative expiry (6 ms) [ok]: EXPIRE with negative expiry on a non-valitale key (1 ms) -[ok]: EXPIRE with non-existed key (0 ms) -[ok]: SCAN: Lazy-expire should not be wrapped in MULTI/EXEC (92 ms) -[ok]: RANDOMKEY: Lazy-expire should not be wrapped in MULTI/EXEC (101 ms) -[20/84 done]: unit/expire (15 seconds) +[ok]: EXPIRE with non-existed key (5 ms) +[ok]: SCAN: Lazy-expire should not be wrapped in MULTI/EXEC (101 ms) +[ok]: RANDOMKEY: Lazy-expire should not be wrapped in MULTI/EXEC (104 ms) +[20/84 done]: unit/expire (17 seconds) Testing unit/other === (other) Starting server 127.0.0.1:21170 ok -[ok]: SAVE - make sure there are all the types as values (15 ms) -[ok]: FUZZ stresser with data model binary (616 ms) -[ok]: FUZZ stresser with data model alpha (586 ms) -[ok]: FUZZ stresser with data model compr (667 ms) +[ok]: SAVE - make sure there are all the types as values (37 ms) +[ok]: FUZZ stresser with data model binary (2379 ms) +[ok]: FUZZ stresser with data model alpha (2519 ms) +[ok]: FUZZ stresser with data model compr (3865 ms) === (external:skip) Starting server 127.0.0.1:21171 ok -[ok]: FLUSHALL should not reset the dirty counter if we disable save (1 ms) -[ok]: FLUSHALL should reset the dirty counter to 0 if we enable save (9 ms) +[ok]: FLUSHALL should not reset the dirty counter if we disable save (2 ms) +[ok]: FLUSHALL should reset the dirty counter to 0 if we enable save (14 ms) -Waiting for background save to finish... [ok]: BGSAVE (65 ms) -[ok]: SELECT an out of range DB (1 ms) -[ok]: Check consistency of different data types after a reload (1148 ms) - -Waiting for background AOF rewrite to finish... [ok]: Same dataset digest if saving/reloading as AOF? (271 ms) +Waiting for background save to finish... [ok]: BGSAVE (80 ms) +[ok]: SELECT an out of range DB (0 ms) +[ok]: Check consistency of different data types after a reload (4616 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: EXPIRES after a reload (snapshot + append only file rewrite) (113 ms) +Waiting for background AOF rewrite to finish... [ok]: Same dataset digest if saving/reloading as AOF? (2548 ms) + +Waiting for background AOF rewrite to finish... [ok]: EXPIRES after a reload (snapshot + append only file rewrite) (70 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: EXPIRES after AOF reload (without rewrite) (2112 ms) -[ok]: PIPELINING stresser (also a regression for the old epoll bug) (585 ms) +Waiting for background AOF rewrite to finish... [ok]: EXPIRES after AOF reload (without rewrite) (2132 ms) +[ok]: PIPELINING stresser (also a regression for the old epoll bug) (2534 ms) [ok]: APPEND basics (1 ms) -[ok]: APPEND basics, integer encoded values (1 ms) -[ok]: APPEND fuzzing (290 ms) -[ok]: FLUSHDB (37 ms) +[ok]: APPEND basics, integer encoded values (6 ms) +[ok]: APPEND fuzzing (1294 ms) +[ok]: FLUSHDB (155 ms) [ok]: Perform a final SAVE to leave a clean DB on disk (6 ms) [ok]: RESET clears client state (1 ms) -[ok]: RESET clears MONITOR state (9 ms) -[ok]: RESET clears and discards MULTI state (1 ms) -[ok]: RESET clears Pub/Sub state (1 ms) -[ok]: RESET clears authenticated state (0 ms) -[ok]: Subcommand syntax error crash (issue #10070) (0 ms) +[ok]: RESET clears MONITOR state (92 ms) +[ok]: RESET clears and discards MULTI state (5 ms) +[ok]: RESET clears Pub/Sub state (11 ms) +[ok]: RESET clears authenticated state (1 ms) +[ok]: Subcommand syntax error crash (issue #10070) (3 ms) === (other external:skip) Starting server 127.0.0.1:21172 ok -Waiting for background save to finish... [ok]: Don't rehash if redis has child process (521 ms) +Waiting for background save to finish... +Waiting for background save to finish... [ok]: Don't rehash if redis has child process (1556 ms) === (other external:skip) Starting server 127.0.0.1:21173 ok -[ok]: Process title set as expected (4 ms) -[21/84 done]: unit/other (9 seconds) +[ok]: Process title set as expected (9 ms) +[21/84 done]: unit/other (26 seconds) Testing unit/multi === (multi) Starting server 127.0.0.1:21174 ok -[ok]: MULTI / EXEC basics (1 ms) -[ok]: DISCARD (1 ms) +[ok]: MULTI / EXEC basics (3 ms) +[ok]: DISCARD (2 ms) [ok]: Nested MULTI are not allowed (1 ms) -[ok]: MULTI where commands alter argc/argv (1 ms) -[ok]: WATCH inside MULTI is not allowed (0 ms) -[ok]: EXEC fails if there are errors while queueing commands #1 (1 ms) -[ok]: EXEC fails if there are errors while queueing commands #2 (11 ms) +[ok]: MULTI where commands alter argc/argv (2 ms) +[ok]: WATCH inside MULTI is not allowed (1 ms) +[ok]: EXEC fails if there are errors while queueing commands #1 (2 ms) +[ok]: EXEC fails if there are errors while queueing commands #2 (21 ms) [ok]: If EXEC aborts, the client MULTI state is cleared (2 ms) -[ok]: EXEC works on WATCHed key not modified (0 ms) -[ok]: EXEC fail on WATCHed key modified (1 key of 1 watched) (1 ms) +[ok]: EXEC works on WATCHed key not modified (1 ms) +[ok]: EXEC fail on WATCHed key modified (1 key of 1 watched) (2 ms) [ok]: EXEC fail on WATCHed key modified (1 key of 5 watched) (1 ms) -[ok]: EXEC fail on WATCHed key modified by SORT with STORE even if the result is empty (1 ms) +[ok]: EXEC fail on WATCHed key modified by SORT with STORE even if the result is empty (2 ms) EXEC fail on lazy expired WATCHed key attempts: 0 -[ok]: EXEC fail on lazy expired WATCHed key (104 ms) -[ok]: WATCH stale keys should not fail EXEC (3 ms) -[ok]: Delete WATCHed stale keys should not fail EXEC (4 ms) -[ok]: FLUSHDB while watching stale keys should not fail EXEC (4 ms) -[ok]: After successful EXEC key is no longer watched (1 ms) -[ok]: After failed EXEC key is no longer watched (2 ms) -[ok]: It is possible to UNWATCH (1 ms) -[ok]: UNWATCH when there is nothing watched works as expected (1 ms) -[ok]: FLUSHALL is able to touch the watched keys (5 ms) -[ok]: FLUSHALL does not touch non affected keys (5 ms) -[ok]: FLUSHDB is able to touch the watched keys (0 ms) -[ok]: FLUSHDB does not touch non affected keys (0 ms) -[ok]: SWAPDB is able to touch the watched keys that exist (5 ms) -[ok]: SWAPDB is able to touch the watched keys that do not exist (5 ms) -[ok]: SWAPDB does not touch watched stale keys (9 ms) -[ok]: SWAPDB does not touch non-existing key replaced with stale key (7 ms) -[ok]: SWAPDB does not touch stale key replaced with another stale key (7 ms) -[ok]: WATCH is able to remember the DB a key belongs to (2 ms) -[ok]: WATCH will consider touched keys target of EXPIRE (1 ms) -[ok]: WATCH will consider touched expired keys (1128 ms) -[ok]: DISCARD should clear the WATCH dirty flag on the client (1 ms) -[ok]: DISCARD should UNWATCH all the keys (2 ms) -[ok]: MULTI / EXEC is not propagated (single write command) (62 ms) -[ok]: MULTI / EXEC is propagated correctly (multiple commands) (102 ms) -[ok]: MULTI / EXEC is propagated correctly (multiple commands with SELECT) (101 ms) -[ok]: MULTI / EXEC is propagated correctly (empty transaction) (100 ms) -[ok]: MULTI / EXEC is propagated correctly (read-only commands) (102 ms) -[ok]: MULTI / EXEC is propagated correctly (write command, no effect) (101 ms) -[ok]: MULTI / EXEC with REPLICAOF (102 ms) -[ok]: DISCARD should not fail during OOM (10 ms) -[ok]: MULTI and script timeout (423 ms) -[ok]: EXEC and script timeout (423 ms) -[ok]: MULTI-EXEC body and script timeout (422 ms) -[ok]: just EXEC and script timeout (423 ms) -[ok]: exec with write commands and state change (10 ms) -[ok]: exec with read commands and stale replica state change (11 ms) -[ok]: EXEC with only read commands should not be rejected when OOM (10 ms) -[ok]: EXEC with at least one use-memory command should fail (10 ms) -[ok]: Blocking commands ignores the timeout (2 ms) -[ok]: MULTI propagation of PUBLISH (58 ms) -[ok]: MULTI propagation of SCRIPT LOAD (102 ms) -[ok]: MULTI propagation of EVAL (101 ms) -[ok]: MULTI propagation of SCRIPT FLUSH (102 ms) -[ok]: MULTI propagation of XREADGROUP (102 ms) -[ok]: MULTI with SAVE (1 ms) -[ok]: MULTI with SHUTDOWN (1 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: MULTI with BGREWRITEAOF (207 ms) - -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: MULTI with config set appendonly (214 ms) -[ok]: MULTI with config error (2 ms) -[ok]: Flushall while watching several keys by one client (9 ms) +[ok]: EXEC fail on lazy expired WATCHed key (107 ms) +[ok]: WATCH stale keys should not fail EXEC (6 ms) +[ok]: Delete WATCHed stale keys should not fail EXEC (8 ms) +[ok]: FLUSHDB while watching stale keys should not fail EXEC (9 ms) +[ok]: After successful EXEC key is no longer watched (8 ms) +[ok]: After failed EXEC key is no longer watched (7 ms) +[ok]: It is possible to UNWATCH (2 ms) +[ok]: UNWATCH when there is nothing watched works as expected (0 ms) +[ok]: FLUSHALL is able to touch the watched keys (6 ms) +[ok]: FLUSHALL does not touch non affected keys (7 ms) +[ok]: FLUSHDB is able to touch the watched keys (1 ms) +[ok]: FLUSHDB does not touch non affected keys (2 ms) +[ok]: SWAPDB is able to touch the watched keys that exist (40 ms) +[ok]: SWAPDB is able to touch the watched keys that do not exist (20 ms) +[ok]: SWAPDB does not touch watched stale keys (12 ms) +[ok]: SWAPDB does not touch non-existing key replaced with stale key (28 ms) +[ok]: SWAPDB does not touch stale key replaced with another stale key (11 ms) +[ok]: WATCH is able to remember the DB a key belongs to (15 ms) +[ok]: WATCH will consider touched keys target of EXPIRE (2 ms) +[ok]: WATCH will consider touched expired keys (1106 ms) +[ok]: DISCARD should clear the WATCH dirty flag on the client (12 ms) +[ok]: DISCARD should UNWATCH all the keys (1 ms) +[ok]: MULTI / EXEC is not propagated (single write command) (59 ms) +[ok]: MULTI / EXEC is propagated correctly (multiple commands) (107 ms) +[ok]: MULTI / EXEC is propagated correctly (multiple commands with SELECT) (114 ms) +[ok]: MULTI / EXEC is propagated correctly (empty transaction) (198 ms) +[ok]: MULTI / EXEC is propagated correctly (read-only commands) (115 ms) +[ok]: MULTI / EXEC is propagated correctly (write command, no effect) (96 ms) +[ok]: MULTI / EXEC with REPLICAOF (112 ms) +[ok]: DISCARD should not fail during OOM (56 ms) +[ok]: MULTI and script timeout (508 ms) +[ok]: EXEC and script timeout (478 ms) +[ok]: MULTI-EXEC body and script timeout (531 ms) +[ok]: just EXEC and script timeout (532 ms) +[ok]: exec with write commands and state change (58 ms) +[ok]: exec with read commands and stale replica state change (74 ms) +[ok]: EXEC with only read commands should not be rejected when OOM (44 ms) +[ok]: EXEC with at least one use-memory command should fail (38 ms) +[ok]: Blocking commands ignores the timeout (9 ms) +[ok]: MULTI propagation of PUBLISH (111 ms) +[ok]: MULTI propagation of SCRIPT LOAD (104 ms) +[ok]: MULTI propagation of EVAL (106 ms) +[ok]: MULTI propagation of SCRIPT FLUSH (103 ms) +[ok]: MULTI propagation of XREADGROUP (103 ms) +[ok]: MULTI with SAVE (9 ms) +[ok]: MULTI with SHUTDOWN (11 ms) + +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: MULTI with BGREWRITEAOF (217 ms) + +Waiting for background AOF rewrite to finish... [ok]: MULTI with config set appendonly (217 ms) +[ok]: MULTI with config error (1 ms) +[ok]: Flushall while watching several keys by one client (14 ms) === (external:skip) Starting server 127.0.0.1:21175 ok -[ok]: MULTI with FLUSHALL and AOF (94 ms) -[22/84 done]: unit/multi (5 seconds) +[ok]: MULTI with FLUSHALL and AOF (20 ms) +[22/84 done]: unit/multi (8 seconds) Testing unit/quit === (quit) Starting server 127.0.0.1:21176 ok -[ok]: QUIT returns OK (10 ms) -[ok]: Pipelined commands after QUIT must not be executed (18 ms) -[ok]: Pipelined commands after QUIT that exceed read buffer size (19 ms) +[ok]: QUIT returns OK (42 ms) +[ok]: Pipelined commands after QUIT must not be executed (98 ms) +[ok]: Pipelined commands after QUIT that exceed read buffer size (104 ms) [23/84 done]: unit/quit (0 seconds) Testing unit/aofrw === (aofrw external:skip) Starting server 127.0.0.1:21177 ok @@ -2345,8 +2379,7 @@ Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite during write load: RDB preamble=yes (8535 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite during write load: RDB preamble=yes (8118 ms) Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... @@ -2359,1053 +2392,1343 @@ Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite during write load: RDB preamble=no (17347 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite during write load: RDB preamble=no (12633 ms) === (aofrw external:skip) Starting server 127.0.0.1:21178 ok -Waiting for background AOF rewrite to finish... [ok]: Turning off AOF kills the background writing child if any (78 ms) - -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, string data (400 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: Turning off AOF kills the background writing child if any (1098 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, int data (428 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, string data (2985 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with intset encoding, string data (126 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of list with quicklist encoding, int data (467 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, string data (1336 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with intset encoding, string data (129 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 (115 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, string data (1054 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 (341 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 (792 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with listpack encoding, string data (118 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of set with hashtable encoding, int data (1017 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, string data (405 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with listpack encoding, string data (145 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 (124 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 (651 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, int data (301 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with listpack encoding, int data (74 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, string data (120 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of hash with hashtable encoding, int data (631 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, string data (407 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, string data (205 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 (119 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, string data (765 ms) + +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with listpack encoding, int data (70 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 (354 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite of zset with skiplist encoding, int data (2590 ms) -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite functions (61 ms) -[ok]: BGREWRITEAOF is delayed if BGSAVE is in progress (356 ms) -[ok]: BGREWRITEAOF is refused if already in progress (132 ms) -[24/84 done]: unit/aofrw (33 seconds) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite functions (106 ms) +[ok]: BGREWRITEAOF is delayed if BGSAVE is in progress (621 ms) +[ok]: BGREWRITEAOF is refused if already in progress (482 ms) +[24/84 done]: unit/aofrw (37 seconds) Testing unit/acl === (acl external:skip) Starting server 127.0.0.1:21179 ok -[ok]: Connections start with the default user (1 ms) +[ok]: Connections start with the default user (12 ms) [ok]: It is possible to create new users (0 ms) [ok]: Usernames can not contain spaces or null characters (0 ms) -[ok]: New users start disabled (0 ms) -[ok]: Enabling the user allows the login (5 ms) -[ok]: Only the set of correct passwords work (4 ms) +[ok]: New users start disabled (15 ms) +[ok]: Enabling the user allows the login (20 ms) +[ok]: Only the set of correct passwords work (2 ms) [ok]: It is possible to remove passwords from the set of valid ones (0 ms) -[ok]: Test password hashes can be added (0 ms) -[ok]: Test password hashes validate input (1 ms) +[ok]: Test password hashes can be added (1 ms) +[ok]: Test password hashes validate input (16 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 (7 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 (2 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 (30 ms) -[ok]: By default, only default user is able to subscribe to any shard channel (27 ms) -[ok]: By default, only default user is able to subscribe to any pattern (27 ms) -[ok]: It's possible to allow publishing to a subset of channels (1 ms) -[ok]: It's possible to allow publishing to a subset of shard channels (3 ms) -[ok]: Validate subset of channels is prefixed with resetchannels flag (11 ms) -[ok]: In transaction queue publish/subscribe/psubscribe to unauthorized channel will fail (2 ms) -[ok]: It's possible to allow subscribing to a subset of channels (30 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 (32 ms) -[ok]: Subscribers are killed when revoked of channel permission (32 ms) -[ok]: Subscribers are killed when revoked of channel permission (27 ms) -[ok]: Subscribers are killed when revoked of pattern permission (30 ms) -[ok]: Subscribers are killed when revoked of allchannels permission (25 ms) -[ok]: Subscribers are pardoned if literal permissions are retained and/or gaining allchannels (34 ms) -[ok]: Users can be configured to authenticate with any password (0 ms) -[ok]: ACLs can exclude single commands (0 ms) -[ok]: ACLs can include or exclude whole classes of commands (12 ms) -[ok]: ACLs can include single subcommands (2 ms) -[ok]: ACLs can exclude single subcommands, case 1 (2 ms) +[ok]: Test hashed passwords removal (23 ms) +[ok]: By default users are not able to access any command (4 ms) +[ok]: By default users are not able to access any key (12 ms) +[ok]: It's possible to allow the access of a subset of keys (15 ms) +[ok]: By default, only default user is able to publish to any channel (27 ms) +[ok]: By default, only default user is not able to publish to any shard channel (16 ms) +[ok]: By default, only default user is able to subscribe to any channel (65 ms) +[ok]: By default, only default user is able to subscribe to any shard channel (72 ms) +[ok]: By default, only default user is able to subscribe to any pattern (79 ms) +[ok]: It's possible to allow publishing to a subset of channels (2 ms) +[ok]: It's possible to allow publishing to a subset of shard channels (5 ms) +[ok]: Validate subset of channels is prefixed with resetchannels flag (12 ms) +[ok]: In transaction queue publish/subscribe/psubscribe to unauthorized channel will fail (13 ms) +[ok]: It's possible to allow subscribing to a subset of channels (76 ms) +[ok]: It's possible to allow subscribing to a subset of shard channels (45 ms) +[ok]: It's possible to allow subscribing to a subset of channel patterns (155 ms) +[ok]: Subscribers are killed when revoked of channel permission (215 ms) +[ok]: Subscribers are killed when revoked of channel permission (67 ms) +[ok]: Subscribers are killed when revoked of pattern permission (37 ms) +[ok]: Subscribers are killed when revoked of allchannels permission (40 ms) +[ok]: Subscribers are pardoned if literal permissions are retained and/or gaining allchannels (69 ms) +[ok]: Users can be configured to authenticate with any password (1 ms) +[ok]: ACLs can exclude single commands (1 ms) +[ok]: ACLs can include or exclude whole classes of commands (5 ms) +[ok]: ACLs can include single subcommands (3 ms) +[ok]: ACLs can exclude single subcommands, case 1 (7 ms) [ok]: ACLs can exclude single subcommands, case 2 (2 ms) [ok]: ACLs cannot include a subcommand with a specific arg (1 ms) [ok]: ACLs cannot exclude or include a container commands with a specific arg (1 ms) [ok]: ACLs cannot exclude or include a container command with two args (1 ms) -[ok]: ACLs including of a type includes also subcommands (6 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 (5 ms) -[ok]: ACLs set can include subcommands, if already full command exists (6 ms) -[ok]: ACLs set can exclude subcommands, if already full command exists (17 ms) +[ok]: ACLs can block all DEBUG subcommands except one (6 ms) +[ok]: ACLs set can include subcommands, if already full command exists (4 ms) +[ok]: ACLs set can exclude subcommands, if already full command exists (6 ms) [ok]: ACL GETUSER is able to translate back command permissions (2 ms) -[ok]: ACL GETUSER provides reasonable results (94 ms) -[ok]: ACL CAT with illegal arguments (2 ms) +[ok]: ACL GETUSER provides reasonable results (46 ms) +[ok]: ACL CAT with illegal arguments (1 ms) [ok]: ACL CAT without category - list all categories (1 ms) -[ok]: ACL CAT category - list all commands/subcommands that belong to category (6 ms) -[ok]: ACL requires explicit permission for scripting for EVAL_RO, EVALSHA_RO and FCALL_RO (2 ms) -[ok]: ACL #5998 regression: memory leaks adding / removing subcommands (1 ms) -[ok]: ACL LOG shows failed command executions at toplevel (3 ms) -[ok]: ACL LOG shows failed subcommand executions at toplevel (6 ms) -[ok]: ACL LOG is able to test similar events (3 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 CAT category - list all commands/subcommands that belong to category (2 ms) +[ok]: ACL requires explicit permission for scripting for EVAL_RO, EVALSHA_RO and FCALL_RO (1 ms) +[ok]: ACL #5998 regression: memory leaks adding / removing subcommands (0 ms) +[ok]: ACL LOG shows failed command executions at toplevel (2 ms) +[ok]: ACL LOG shows failed subcommand executions at toplevel (2 ms) +[ok]: ACL LOG is able to test similar events (2 ms) +[ok]: ACL LOG is able to log keys access violations and key name (1 ms) +[ok]: ACL LOG is able to log channel access violations and channel name (1 ms) [ok]: ACL LOG RESET is able to flush the entries in the log (1 ms) -[ok]: ACL LOG can distinguish the transaction context (1) (5 ms) -[ok]: ACL LOG can distinguish the transaction context (2) (31 ms) -[ok]: ACL can log errors in the context of Lua scripting (2 ms) -[ok]: ACL LOG can accept a numerical argument to show less entries (8 ms) -[ok]: ACL LOG can log failed auth attempts (1 ms) -[ok]: ACL LOG entries are limited to a maximum amount (17 ms) -[ok]: When default user is off, new connections are not authenticated (32 ms) -[ok]: When default user has no command permission, hello command still works for other users (1 ms) +[ok]: ACL LOG can distinguish the transaction context (1) (2 ms) +[ok]: ACL LOG can distinguish the transaction context (2) (121 ms) +[ok]: ACL can log errors in the context of Lua scripting (8 ms) +[ok]: ACL LOG can accept a numerical argument to show less entries (13 ms) +[ok]: ACL LOG can log failed auth attempts (10 ms) +[ok]: ACL LOG entries are limited to a maximum amount (29 ms) +[ok]: When default user is off, new connections are not authenticated (58 ms) +[ok]: When default user has no command permission, hello command still works for other users (12 ms) [ok]: ACL HELP should not have unexpected options (0 ms) -[ok]: Delete a user that the client doesn't use (0 ms) -[ok]: Delete a user that the client is using (2 ms) -[ok]: ACL GENPASS command failed test (28 ms) +[ok]: Delete a user that the client doesn't use (2 ms) +[ok]: Delete a user that the client is using (1 ms) +[ok]: ACL GENPASS command failed test (55 ms) [ok]: Default user can not be removed (0 ms) -[ok]: ACL load non-existing configured ACL file (3 ms) +[ok]: ACL load non-existing configured ACL file (1 ms) === (external:skip) Starting server 127.0.0.1:21180 ok -[ok]: default: load from include file, can access any channels (4 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 (6 ms) -[ok]: Alice: can execute all command (1 ms) +[ok]: default: load from include file, can access any channels (3 ms) +[ok]: default: with config acl-pubsub-default allchannels after reset, can access any channels (6 ms) +[ok]: default: with config acl-pubsub-default resetchannels after reset, can not access any channels (1 ms) +[ok]: Alice: can execute all command (4 ms) [ok]: Bob: just execute @set and acl command (1 ms) -[ok]: ACL load and save (29 ms) -[ok]: ACL load and save with restricted channels (34 ms) +[ok]: ACL load and save (44 ms) +[ok]: ACL load and save with restricted channels (54 ms) === (external:skip) Starting server 127.0.0.1:21181 ok -[ok]: Default user has access to all channels irrespective of flag (4 ms) -[ok]: Update acl-pubsub-default, existing users shouldn't get affected (7 ms) -[ok]: Single channel is valid (3 ms) -[ok]: Single channel is not valid with allchannels (1 ms) +[ok]: Default user has access to all channels irrespective of flag (5 ms) +[ok]: Update acl-pubsub-default, existing users shouldn't get affected (8 ms) +[ok]: Single channel is valid (1 ms) +[ok]: Single channel is not valid with allchannels (6 ms) === (external:skip) Starting server 127.0.0.1:21182 ok [ok]: Only default user has access to all channels irrespective of flag (2 ms) === (external:skip) Starting server 127.0.0.1:21183 ok -[ok]: default: load from config file, without channel permission default user can't access any channels (1 ms) +[ok]: default: load from config file, without channel permission default user can't access any channels (0 ms) === (external:skip) Starting server 127.0.0.1:21184 ok -[ok]: default: load from config file with all channels permissions (9 ms) +[ok]: default: load from config file with all channels permissions (5 ms) === (external:skip) Starting server 127.0.0.1:21185 ok -[ok]: Test loading an ACL file with duplicate users (27 ms) -[ok]: Test loading an ACL file with duplicate default user (21 ms) -[ok]: Test loading duplicate users in config on startup (72 ms) +[ok]: Test loading an ACL file with duplicate users (2541 ms) +[ok]: Test loading an ACL file with duplicate default user (104 ms) +[ok]: Test loading duplicate users in config on startup (102 ms) === (acl external:skip) Starting server 127.0.0.1:21186 ok -[ok]: ACL from config file and config rewrite (271 ms) -[25/84 done]: unit/acl (7 seconds) +[ok]: ACL from config file and config rewrite (432 ms) +[25/84 done]: unit/acl (9 seconds) Testing unit/acl-v2 === (acl external:skip) Starting server 127.0.0.1:21187 ok -[ok]: Test basic multiple selectors (11 ms) -[ok]: Test ACL selectors by default have no permissions (2 ms) -[ok]: Test deleting selectors (4 ms) -[ok]: Test selector syntax error reports the error in the selector context (3 ms) -[ok]: Test flexible selector definition (13 ms) -[ok]: Test separate read permission (7 ms) +[ok]: Test basic multiple selectors (4 ms) +[ok]: Test ACL selectors by default have no permissions (5 ms) +[ok]: Test deleting selectors (7 ms) +[ok]: Test selector syntax error reports the error in the selector context (1 ms) +[ok]: Test flexible selector definition (22 ms) +[ok]: Test separate read permission (2 ms) [ok]: Test separate write permission (1 ms) [ok]: Test separate read and write permissions (2 ms) -[ok]: Validate read and write permissions format - empty permission (4 ms) -[ok]: Validate read and write permissions format - empty selector (4 ms) -[ok]: Validate read and write permissions format - empty pattern (5 ms) +[ok]: Validate read and write permissions format - empty permission (1 ms) +[ok]: Validate read and write permissions format - empty selector (1 ms) +[ok]: Validate read and write permissions format - empty pattern (1 ms) [ok]: Validate read and write permissions format - no pattern (1 ms) -[ok]: Test separate read and write permissions on different selectors are not additive (6 ms) +[ok]: Test separate read and write permissions on different selectors are not additive (2 ms) [ok]: Test SET with separate read permission (2 ms) -[ok]: Test SET with separate write permission (11 ms) +[ok]: Test SET with separate write permission (2 ms) [ok]: Test SET with read and write permissions (3 ms) -[ok]: Test BITFIELD with separate read permission (2 ms) -[ok]: Test BITFIELD with separate write permission (5 ms) -[ok]: Test BITFIELD with read and write permissions (8 ms) -[ok]: Test ACL log correctly identifies the relevant item when selectors are used (6 ms) -[ok]: Test ACL GETUSER response information (2 ms) -[ok]: Test ACL list idempotency (16 ms) +[ok]: Test BITFIELD with separate read permission (17 ms) +[ok]: Test BITFIELD with separate write permission (2 ms) +[ok]: Test BITFIELD with read and write permissions (5 ms) +[ok]: Test ACL log correctly identifies the relevant item when selectors are used (9 ms) +[ok]: Test ACL GETUSER response information (10 ms) +[ok]: Test ACL list idempotency (34 ms) [ok]: Test R+W is the same as all permissions (1 ms) -[ok]: Test basic dry run functionality (1 ms) -[ok]: Test various commands for command permissions (0 ms) -[ok]: Test various odd commands for key permissions (7 ms) +[ok]: Test basic dry run functionality (2 ms) +[ok]: Test various commands for command permissions (4 ms) +[ok]: Test various odd commands for key permissions (34 ms) [ok]: Existence test commands are not marked as access (2 ms) -[ok]: Intersection cardinaltiy commands are access commands (2 ms) -[ok]: Test general keyspace commands require some type of permission to execute (3 ms) -[ok]: Cardinality commands require some type of permission to execute (6 ms) -[ok]: Test sharded channel permissions (1 ms) -[ok]: Test sort with ACL permissions (4 ms) -[ok]: Test DRYRUN with wrong number of arguments (2 ms) +[ok]: Intersection cardinaltiy commands are access commands (16 ms) +[ok]: Test general keyspace commands require some type of permission to execute (17 ms) +[ok]: Cardinality commands require some type of permission to execute (24 ms) +[ok]: Test sharded channel permissions (10 ms) +[ok]: Test sort with ACL permissions (22 ms) +[ok]: Test DRYRUN with wrong number of arguments (9 ms) === (external:skip) Starting server 127.0.0.1:21188 ok -[ok]: Test behavior of loading ACLs (3 ms) -[26/84 done]: unit/acl-v2 (0 seconds) +[ok]: Test behavior of loading ACLs (8 ms) +[26/84 done]: unit/acl-v2 (2 seconds) Testing unit/latency-monitor === (latency-monitor needs:latency) Starting server 127.0.0.1:21189 ok -[ok]: LATENCY HISTOGRAM with empty histogram (0 ms) +[ok]: LATENCY HISTOGRAM with empty histogram (2 ms) [ok]: LATENCY HISTOGRAM all commands (1 ms) [ok]: LATENCY HISTOGRAM sub commands (6 ms) -[ok]: LATENCY HISTOGRAM with a subset of commands (2 ms) -[ok]: LATENCY HISTOGRAM command (2 ms) -[ok]: LATENCY HISTOGRAM with wrong command name skips the invalid one (5 ms) -[ok]: Test latency events logging (3628 ms) -[ok]: LATENCY HISTORY output is ok (2 ms) +[ok]: LATENCY HISTOGRAM with a subset of commands (7 ms) +[ok]: LATENCY HISTOGRAM command (1 ms) +[ok]: LATENCY HISTOGRAM with wrong command name skips the invalid one (7 ms) +[ok]: Test latency events logging (5054 ms) +[ok]: LATENCY HISTORY output is ok (0 ms) [ok]: LATENCY LATEST output is ok (1 ms) -[ok]: LATENCY of expire events are correctly collected (12386 ms) -[ok]: LATENCY HISTORY / RESET with wrong event name is fine (1 ms) -[ok]: LATENCY DOCTOR produces some output (3 ms) -[ok]: LATENCY RESET is able to reset events (1 ms) +[ok]: LATENCY of expire events are correctly collected (19235 ms) +[ok]: LATENCY HISTORY / RESET with wrong event name is fine (11 ms) +[ok]: LATENCY DOCTOR produces some output (4 ms) +[ok]: LATENCY RESET is able to reset events (6 ms) [ok]: LATENCY HELP should not have unexpected options (0 ms) -[27/84 done]: unit/latency-monitor (17 seconds) +[27/84 done]: unit/latency-monitor (25 seconds) Testing integration/block-repl === (repl external:skip) Starting server 127.0.0.1:21190 ok === () Starting server 127.0.0.1:21191 ok -[ok]: First server should have role slave after SLAVEOF (1006 ms) -[ok]: Test replication with blocking lists and sorted sets operations (25939 ms) -[28/84 done]: integration/block-repl (28 seconds) +[ok]: First server should have role slave after SLAVEOF (1010 ms) +[ok]: Test replication with blocking lists and sorted sets operations (25054 ms) +[28/84 done]: integration/block-repl (27 seconds) Testing integration/replication === (repl network external:skip) Starting server 127.0.0.1:21192 ok === () Starting server 127.0.0.1:21193 ok -[ok]: Slave enters handshake (1003 ms) -[ok]: Slave is able to detect timeout during handshake (1 ms) +[ok]: Slave enters handshake (1018 ms) +[ok]: Slave is able to detect timeout during handshake (21 ms) === (repl external:skip) Starting server 127.0.0.1:21194 ok === () Starting server 127.0.0.1:21195 ok -[ok]: Set instance A as slave of B (104 ms) -[ok]: INCRBYFLOAT replication, should not remove expire (13 ms) -[ok]: GETSET replication (3 ms) -[ok]: BRPOPLPUSH replication, when blocking against empty list (30 ms) -[ok]: BRPOPLPUSH replication, list exists (2029 ms) -[ok]: BLMOVE (left, left) replication, when blocking against empty list (32 ms) -[ok]: BLMOVE (left, left) replication, list exists (1037 ms) -[ok]: BLMOVE (left, right) replication, when blocking against empty list (28 ms) -[ok]: BLMOVE (left, right) replication, list exists (1036 ms) -[ok]: BLMOVE (right, left) replication, when blocking against empty list (30 ms) -[ok]: BLMOVE (right, left) replication, list exists (1036 ms) -[ok]: BLMOVE (right, right) replication, when blocking against empty list (36 ms) -[ok]: BLMOVE (right, right) replication, list exists (1025 ms) -[ok]: BLPOP followed by role change, issue #2473 (243 ms) +[ok]: Set instance A as slave of B (106 ms) +[ok]: INCRBYFLOAT replication, should not remove expire (293 ms) +[ok]: GETSET replication (13 ms) +[ok]: BRPOPLPUSH replication, when blocking against empty list (106 ms) +[ok]: BRPOPLPUSH replication, list exists (1184 ms) +[ok]: BLMOVE (left, left) replication, when blocking against empty list (96 ms) +[ok]: BLMOVE (left, left) replication, list exists (1127 ms) +[ok]: BLMOVE (left, right) replication, when blocking against empty list (144 ms) +[ok]: BLMOVE (left, right) replication, list exists (1108 ms) +[ok]: BLMOVE (right, left) replication, when blocking against empty list (162 ms) +[ok]: BLMOVE (right, left) replication, list exists (1253 ms) +[ok]: BLMOVE (right, right) replication, when blocking against empty list (57 ms) +[ok]: BLMOVE (right, right) replication, list exists (1114 ms) +[ok]: BLPOP followed by role change, issue #2473 (11852 ms) === (repl external:skip) Starting server 127.0.0.1:21196 ok === () Starting server 127.0.0.1:21197 ok -[ok]: Second server should have role master at first (1 ms) -[ok]: SLAVEOF should start with link status "down" (1 ms) -[ok]: The role should immediately be changed to "replica" (13 ms) +[ok]: Second server should have role master at first (5 ms) +[ok]: SLAVEOF should start with link status "down" (2 ms) +[ok]: The role should immediately be changed to "replica" (0 ms) [ok]: Sync should have transferred keys from master (0 ms) -[ok]: The link status should be up (1 ms) -[ok]: SET on the master should immediately propagate (1 ms) -[ok]: FLUSHDB / FLUSHALL should replicate (279 ms) +[ok]: The link status should be up (0 ms) +[ok]: SET on the master should immediately propagate (7132 ms) + +===== Start of server log (pid 3620122) ===== + +[err]: FLUSHDB / FLUSHALL should replicate in tests/integration/replication.tcl +Expected 'ping' to match 'set key value' (context: type source line 860 file /build/reproducible-path/redis-7.0.15/tests/test_helper.tcl cmd {assert_match [lindex $patterns $j] [read_from_replication_stream $s]} proc ::assert_replication_stream level 1) +### Starting server for test +3620122:C 10 Oct 2026 17:48:40.633 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo +3620122:C 10 Oct 2026 17:48:40.633 # Redis version=7.0.15, bits=64, commit=00000000, modified=0, pid=3620122, just started +3620122:C 10 Oct 2026 17:48:40.633 # Configuration loaded +3620122:M 10 Oct 2026 17:48:40.658 * Increased maximum number of open files to 10032 (it was originally set to 1024). +3620122:M 10 Oct 2026 17:48:40.658 * monotonic clock: POSIX clock_gettime + _._ + _.-``__ ''-._ + _.-`` `. `_. ''-._ Redis 7.0.15 (00000000/0) 64 bit + .-`` .-```. ```\/ _.,_ ''-._ + ( ' , .-` | `, ) Running in standalone mode + |`-._`-...-` __...-.``-._|'` _.-'| Port: 21197 + | `-._ `._ / _.-' | PID: 3620122 + `-._ `-._ `-./ _.-' _.-' + |`-._`-._ `-.__.-' _.-'_.-'| + | `-._`-._ _.-'_.-' | https://redis.io + `-._ `-._`-.__.-'_.-' _.-' + |`-._`-._ `-.__.-' _.-'_.-'| + | `-._`-._ _.-'_.-' | + `-._ `-._`-.__.-'_.-' _.-' + `-._ `-.__.-' _.-' + `-._ _.-' + `-.__.-' + +3620122:M 10 Oct 2026 17:48:40.660 # Server initialized +3620122:M 10 Oct 2026 17:48:40.660 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can 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. +3620122:M 10 Oct 2026 17:48:40.661 * Ready to accept connections +3620122:M 10 Oct 2026 17:48:40.661 * The server is now ready to accept connections at /build/reproducible-path/redis-7.0.15/tests/tmp/server.3422707.178/socket +3620122:M 10 Oct 2026 17:48:40.722 - Accepted 127.0.0.1:40537 +3620122:M 10 Oct 2026 17:48:40.765 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +3620122:M 10 Oct 2026 17:48:40.791 - Accepted 127.0.0.1:43097 +### Starting test Second server should have role master at first in tests/integration/replication.tcl +### Starting test SLAVEOF should start with link status "down" in tests/integration/replication.tcl +3620122:S 10 Oct 2026 17:48:43.617 * Before turning into a replica, using my own master parameters to synthesize a cached master: I may be able to synchronize with the new master with just a partial transfer. +3620122:S 10 Oct 2026 17:48:43.617 * Connecting to MASTER 127.0.0.1:21196 +3620122:S 10 Oct 2026 17:48:43.617 * MASTER <-> REPLICA sync started +3620122:S 10 Oct 2026 17:48:43.617 * REPLICAOF 127.0.0.1:21196 enabled (user request from 'id=4 addr=127.0.0.1:43097 laddr=127.0.0.1:21197 fd=8 name= age=3 idle=0 flags=x db=9 sub=0 psub=0 ssub=0 multi=2 qbuf=14 qbuf-free=20460 argv-mem=4 multi-mem=76 rbs=16384 rbp=5006 obl=4 oll=0 omem=0 tot-mem=37784 events=r cmd=exec user=default redir=-1 resp=2') +### Starting test The role should immediately be changed to "replica" in tests/integration/replication.tcl +3620122:S 10 Oct 2026 17:48:43.622 * Non blocking connect for SYNC fired the event. +3620122:S 10 Oct 2026 17:48:43.623 * Master replied to PING, replication can continue... +3620122:S 10 Oct 2026 17:48:43.624 * Trying a partial resynchronization (request 3d4ec3aa6678441c2fc06f025b5b1075e6f446d1:1). +3620122:S 10 Oct 2026 17:48:43.624 * Full resync from master: dcb520da589e400bf8f3d46dced300f2bf666a41:0 +3620122:S 10 Oct 2026 17:48:51.098 * MASTER <-> REPLICA sync: receiving streamed RDB from master with EOF to disk +3620122:S 10 Oct 2026 17:48:51.098 * Discarding previously cached master state. +3620122:S 10 Oct 2026 17:48:51.098 * MASTER <-> REPLICA sync: Flushing old data +3620122:S 10 Oct 2026 17:48:51.098 * MASTER <-> REPLICA sync: Loading DB in memory +3620122:S 10 Oct 2026 17:49:06.692 * Loading RDB produced by version 7.0.15 +3620122:S 10 Oct 2026 17:49:06.692 * RDB age 23 seconds +3620122:S 10 Oct 2026 17:49:06.692 * RDB memory usage when created 0.97 Mb +3620122:S 10 Oct 2026 17:49:06.692 * Done loading RDB, keys loaded: 1, keys expired: 0. +3620122:S 10 Oct 2026 17:49:06.692 * MASTER <-> REPLICA sync: Finished with success +### Starting test Sync should have transferred keys from master in tests/integration/replication.tcl +### Starting test The link status should be up in tests/integration/replication.tcl +### Starting test SET on the master should immediately propagate in tests/integration/replication.tcl +3620122:S 10 Oct 2026 17:49:07.762 - DB 9: 1 keys (0 volatile) in 4 slots HT. +3620122:S 10 Oct 2026 17:49:16.241 - DB 9: 1 keys (0 volatile) in 4 slots HT. +### Starting test FLUSHDB / FLUSHALL should replicate in tests/integration/replication.tcl +3620122:S 10 Oct 2026 17:49:32.567 - Accepted 127.0.0.1:45751 +3620122:S 10 Oct 2026 17:49:32.580 * Replica 127.0.0.1: asks for synchronization +3620122:S 10 Oct 2026 17:49:32.580 * Starting BGSAVE for SYNC with target: disk +3620122:S 10 Oct 2026 17:49:36.760 * Background saving started by pid 3621688 +3620122:S 10 Oct 2026 17:49:41.695 - DB 9: 1 keys (0 volatile) in 4 slots HT. +3621688:C 10 Oct 2026 17:49:42.685 - Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB +3620122:S 10 Oct 2026 17:49:51.563 - DB 9: 1 keys (0 volatile) in 4 slots HT. +3621688:C 10 Oct 2026 17:50:04.439 * DB saved on disk +3621688:C 10 Oct 2026 17:50:05.164 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 1 MB +3620122:S 10 Oct 2026 17:50:05.170 * Background saving terminated with success +3620122:S 10 Oct 2026 17:50:05.170 * Synchronization with replica 127.0.0.1: succeeded +3620122:S 10 Oct 2026 17:50:05.203 * DB saved on disk +3620122:S 10 Oct 2026 17:50:05.232 * DB saved on disk +### Starting test ROLE in master reports master with a slave in tests/integration/replication.tcl +### Starting test ROLE in slave reports slave in connected state in tests/integration/replication.tcl +3620122:S 10 Oct 2026 17:50:05.249 * DB saved on disk +3620122:S 10 Oct 2026 17:50:05.267 * DB saved on disk +===== End of server log (pid 3620122) ===== + + +===== Start of server stderr log (pid 3620122) ===== + + +===== End of server stderr log (pid 3620122) ===== + [ok]: ROLE in master reports master with a slave (0 ms) -[ok]: ROLE in slave reports slave in connected state (1 ms) +[ok]: ROLE in slave reports slave in connected state (22 ms) +Waiting for process 3620122 to exit... +Waiting for process 3620122 to exit... +Waiting for process 3620122 to exit... + +===== Start of server log (pid 3619899) ===== + +### Starting server for test +3619899:C 10 Oct 2026 17:48:40.297 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo +3619899:C 10 Oct 2026 17:48:40.297 # Redis version=7.0.15, bits=64, commit=00000000, modified=0, pid=3619899, just started +3619899:C 10 Oct 2026 17:48:40.297 # Configuration loaded +3619899:M 10 Oct 2026 17:48:40.305 * Increased maximum number of open files to 10032 (it was originally set to 1024). +3619899:M 10 Oct 2026 17:48:40.305 * monotonic clock: POSIX clock_gettime + _._ + _.-``__ ''-._ + _.-`` `. `_. ''-._ Redis 7.0.15 (00000000/0) 64 bit + .-`` .-```. ```\/ _.,_ ''-._ + ( ' , .-` | `, ) Running in standalone mode + |`-._`-...-` __...-.``-._|'` _.-'| Port: 21196 + | `-._ `._ / _.-' | PID: 3619899 + `-._ `-._ `-./ _.-' _.-' + |`-._`-._ `-.__.-' _.-'_.-'| + | `-._`-._ _.-'_.-' | https://redis.io + `-._ `-._`-.__.-'_.-' _.-' + |`-._`-._ `-.__.-' _.-'_.-'| + | `-._`-._ _.-'_.-' | + `-._ `-._`-.__.-'_.-' _.-' + `-._ `-.__.-' _.-' + `-._ _.-' + `-.__.-' + +3619899:M 10 Oct 2026 17:48:40.306 # Server initialized +3619899:M 10 Oct 2026 17:48:40.306 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can 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. +3619899:M 10 Oct 2026 17:48:40.307 * Ready to accept connections +3619899:M 10 Oct 2026 17:48:40.307 * The server is now ready to accept connections at /build/reproducible-path/redis-7.0.15/tests/tmp/server.3422707.176/socket +3619899:M 10 Oct 2026 17:48:40.430 - Accepted 127.0.0.1:37705 +3619899:M 10 Oct 2026 17:48:40.460 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +3619899:M 10 Oct 2026 17:48:40.495 - Accepted 127.0.0.1:37591 +### Starting test Second server should have role master at first in tests/integration/replication.tcl +### Starting test SLAVEOF should start with link status "down" in tests/integration/replication.tcl +3619899:M 10 Oct 2026 17:48:43.617 - Accepted 127.0.0.1:35172 +### Starting test The role should immediately be changed to "replica" in tests/integration/replication.tcl +3619899:M 10 Oct 2026 17:48:43.624 * Replica 127.0.0.1:21197 asks for synchronization +3619899:M 10 Oct 2026 17:48:43.624 * Partial resynchronization not accepted: Replication ID mismatch (Replica asked for '3d4ec3aa6678441c2fc06f025b5b1075e6f446d1', my replication IDs are 'c1c10844d96cdda233e70d5ca74f1a4fb24c084d' and '0000000000000000000000000000000000000000') +3619899:M 10 Oct 2026 17:48:43.624 * Replication backlog created, my new replication IDs are 'dcb520da589e400bf8f3d46dced300f2bf666a41' and '0000000000000000000000000000000000000000' +3619899:M 10 Oct 2026 17:48:43.624 * Starting BGSAVE for SYNC with target: replicas sockets +3619899:M 10 Oct 2026 17:48:43.624 * Background RDB transfer started by pid 3621287 +3621287:C 10 Oct 2026 17:48:43.626 - Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +3621287:C 10 Oct 2026 17:48:43.626 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +3619899:M 10 Oct 2026 17:48:47.303 # Diskless rdb transfer, done reading from pipe, 1 replicas still up. +3619899:M 10 Oct 2026 17:48:57.687 * Background RDB transfer terminated with success +3619899:M 10 Oct 2026 17:49:05.842 * Streamed RDB transfer with replica 127.0.0.1:21197 succeeded (socket). Waiting for REPLCONF ACK from slave to enable streaming +3619899:M 10 Oct 2026 17:49:05.843 * Synchronization with replica 127.0.0.1:21197 succeeded +### Starting test Sync should have transferred keys from master in tests/integration/replication.tcl +### Starting test The link status should be up in tests/integration/replication.tcl +### Starting test SET on the master should immediately propagate in tests/integration/replication.tcl +### Starting test FLUSHDB / FLUSHALL should replicate in tests/integration/replication.tcl +3619899:M 10 Oct 2026 17:49:37.599 - DB 9: 1 keys (0 volatile) in 4 slots HT. +3619899:M 10 Oct 2026 17:49:50.017 - DB 9: 1 keys (0 volatile) in 4 slots HT. +3619899:M 10 Oct 2026 17:50:05.191 * DB saved on disk +3619899:M 10 Oct 2026 17:50:05.220 * DB saved on disk +3619899:M 10 Oct 2026 17:50:05.233 * DB saved on disk +3619899:M 10 Oct 2026 17:50:05.246 * DB saved on disk +### Starting test ROLE in master reports master with a slave in tests/integration/replication.tcl +### Starting test ROLE in slave reports slave in connected state in tests/integration/replication.tcl +3619899:M 10 Oct 2026 17:50:15.419 - Reading from client: error:0A000126:SSL routines::unexpected eof while reading +3619899:M 10 Oct 2026 17:50:15.419 # Connection with replica client id #5 lost. +===== End of server log (pid 3619899) ===== + + +===== Start of server stderr log (pid 3619899) ===== + + +===== End of server stderr log (pid 3619899) ===== + === (repl external:skip) Starting server 127.0.0.1:21198 ok === () Starting server 127.0.0.1:21199 ok === () Starting server 127.0.0.1:21200 ok === () Starting server 127.0.0.1:21201 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=disabled (14280 ms) +[ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=disabled (186480 ms) === (repl external:skip) Starting server 127.0.0.1:21202 ok === () Starting server 127.0.0.1:21203 ok === () Starting server 127.0.0.1:21204 ok === () Starting server 127.0.0.1:21205 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=swapdb (8041 ms) +[ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=swapdb (10579 ms) === (repl external:skip) Starting server 127.0.0.1:21206 ok === () Starting server 127.0.0.1:21207 ok === () Starting server 127.0.0.1:21208 ok === () Starting server 127.0.0.1:21209 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=disabled (9000 ms) +[ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=disabled (13204 ms) === (repl external:skip) Starting server 127.0.0.1:21210 ok === () Starting server 127.0.0.1:21211 ok === () Starting server 127.0.0.1:21212 ok === () Starting server 127.0.0.1:21213 ok -[ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=swapdb (13848 ms) +[ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=swapdb (83987 ms) === (repl external:skip) Starting server 127.0.0.1:21214 ok === () Starting server 127.0.0.1:21215 ok -[ok]: Master stream is correctly processed while the replica has a script in -BUSY state (33966 ms) +[ok]: Master stream is correctly processed while the replica has a script in -BUSY state (105904 ms) === (repl external:skip) Starting server 127.0.0.1:21216 ok === () Starting server 127.0.0.1:21217 ok [ok]: Diskless load swapdb (different replid): new database is exposed after swapping (1 ms) === (repl external:skip) Starting server 127.0.0.1:21218 ok === () Starting server 127.0.0.1:21219 ok -[ok]: Diskless load swapdb (different replid): replica enter loading (255 ms) -[ok]: Diskless load swapdb (different replid): old database is exposed after replication fails (0 ms) +[ok]: Diskless load swapdb (different replid): replica enter loading (570 ms) +[ok]: Diskless load swapdb (different replid): old database is exposed after replication fails (26 ms) === (repl external:skip) Starting server 127.0.0.1:21220 ok === () Starting server 127.0.0.1:21221 ok -[ok]: Diskless load swapdb (async_loading): new database is exposed after swapping (1 ms) +[ok]: Diskless load swapdb (async_loading): new database is exposed after swapping (2 ms) === (repl external:skip) Starting server 127.0.0.1:21222 ok === () Starting server 127.0.0.1:21223 ok -[ok]: Diskless load swapdb (async_loading): replica enter async_loading (501 ms) -[ok]: Diskless load swapdb (async_loading): old database is exposed while async replication is in progress (238 ms) -[ok]: Busy script during async loading (932 ms) -[ok]: Blocked commands and configs during async-loading (0 ms) -[ok]: Diskless load swapdb (async_loading): old database is exposed after async replication fails (1 ms) -Waiting for process 1580009 to exit... -Waiting for process 1580009 to exit... -Waiting for process 1580009 to exit... +[ok]: Diskless load swapdb (async_loading): replica enter async_loading (535 ms) +[ok]: Diskless load swapdb (async_loading): old database is exposed while async replication is in progress (1071 ms) +[ok]: Busy script during async loading (1378 ms) +[ok]: Blocked commands and configs during async-loading (587 ms) +[ok]: Diskless load swapdb (async_loading): old database is exposed after async replication fails (7 ms) +Waiting for process 3694094 to exit... +Waiting for process 3694094 to exit... +Waiting for process 3694094 to exit... === (repl) Starting server 127.0.0.1:21224 ok === () Starting server 127.0.0.1:21225 ok -filling took 7722 ms (TODO: use pipeline) -{1581214:S 06 Sep 2025 06:59:16.618 # Internal error in RDB reading offset 4040775, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 46 -{1581214:S 06 Sep 2025 06:59:16.702 # Internal error in RDB reading offset 4040775, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 61 -{1581214:S 06 Sep 2025 06:59:16.759 # Internal error in RDB reading offset 1756522, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 76 -{1581214:S 06 Sep 2025 06:59:16.822 # Internal error in RDB reading offset 1756522, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 91 -{1581214:S 06 Sep 2025 06:59:18.724 # Internal error in RDB reading offset 8300996, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 106 -{1581214:S 06 Sep 2025 06:59:18.786 # Internal error in RDB reading offset 1756522, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 121 -{1581214:S 06 Sep 2025 06:59:18.883 # Internal error in RDB reading offset 1756522, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 136 -{1581214:S 06 Sep 2025 06:59:19.003 # Internal error in RDB reading offset 8300996, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 151 -{1581214:S 06 Sep 2025 06:59:19.061 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 166 -{1581214:S 06 Sep 2025 06:59:19.123 # Internal error in RDB reading offset 1756522, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 181 -{1581214:S 06 Sep 2025 06:59:19.211 # Internal error in RDB reading offset 5420992, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 196 -{1581214:S 06 Sep 2025 06:59:19.303 # Internal error in RDB reading offset 5420992, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 211 -{1581214:S 06 Sep 2025 06:59:19.376 # Internal error in RDB reading offset 4040775, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 226 -{1581214:S 06 Sep 2025 06:59:19.465 # Internal error in RDB reading offset 5420992, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 241 -{1581214:S 06 Sep 2025 06:59:19.578 # Internal error in RDB reading offset 9931552, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 256 -{1581214:S 06 Sep 2025 06:59:19.656 # Internal error in RDB reading offset 4040775, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 271 -{1581214:S 06 Sep 2025 06:59:19.708 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 286 -{1581214:S 06 Sep 2025 06:59:19.795 # Internal error in RDB reading offset 5420992, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 301 -{1581214:S 06 Sep 2025 06:59:19.864 # Internal error in RDB reading offset 4040775, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 316 -{1581214:S 06 Sep 2025 06:59:19.948 # Internal error in RDB reading offset 5420992, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 331 -{1581214:S 06 Sep 2025 06:59:20.009 # Internal error in RDB reading offset 4040775, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 346 -{1581214:S 06 Sep 2025 06:59:20.085 # Internal error in RDB reading offset 4040775, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 361 -{1581214:S 06 Sep 2025 06:59:20.160 # Internal error in RDB reading offset 4040775, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 376 -{1581214:S 06 Sep 2025 06:59:20.221 # Internal error in RDB reading offset 1756522, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 391 -{1581214:S 06 Sep 2025 06:59:20.276 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 406 -{1581214:S 06 Sep 2025 06:59:20.316 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 421 -{1581214:S 06 Sep 2025 06:59:20.379 # Internal error in RDB reading offset 1756522, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 436 -{1581214:S 06 Sep 2025 06:59:20.437 # Internal error in RDB reading offset 4040775, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 451 -{1581214:S 06 Sep 2025 06:59:21.053 * MASTER <-> REPLICA sync: Finished with success} 469 -{1581214:S 06 Sep 2025 06:59:21.656 # Internal error in RDB reading offset 1772937, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 495 -{1581214:S 06 Sep 2025 06:59:21.733 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 510 -{1581214:S 06 Sep 2025 06:59:21.798 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 525 -{1581214:S 06 Sep 2025 06:59:21.860 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 540 -{1581214:S 06 Sep 2025 06:59:21.919 # Internal error in RDB reading offset 1772937, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 555 -{1581214:S 06 Sep 2025 06:59:21.984 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 570 -{1581214:S 06 Sep 2025 06:59:22.040 # Internal error in RDB reading offset 1772937, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 585 -{1581214:S 06 Sep 2025 06:59:22.105 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 600 -{1581214:S 06 Sep 2025 06:59:22.148 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 615 -{1581214:S 06 Sep 2025 06:59:22.233 # Internal error in RDB reading offset 8276219, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 630 -{1581214:S 06 Sep 2025 06:59:22.311 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 645 -{1581214:S 06 Sep 2025 06:59:22.383 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 660 -{1581214:S 06 Sep 2025 06:59:22.463 # Internal error in RDB reading offset 5437407, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 675 -{1581214:S 06 Sep 2025 06:59:22.551 # Internal error in RDB reading offset 5437407, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 690 -{1581214:S 06 Sep 2025 06:59:22.614 # Internal error in RDB reading offset 1772937, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 705 -{1581214:S 06 Sep 2025 06:59:22.675 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 720 -{1581214:S 06 Sep 2025 06:59:22.760 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 735 -{1581214:S 06 Sep 2025 06:59:22.832 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 750 -{1581214:S 06 Sep 2025 06:59:22.893 # Internal error in RDB reading offset 1772937, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 765 -{1581214:S 06 Sep 2025 06:59:22.935 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 780 -{1581214:S 06 Sep 2025 06:59:22.961 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 795 -{1581214:S 06 Sep 2025 06:59:23.028 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 810 -{1581214:S 06 Sep 2025 06:59:23.077 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 825 -{1581214:S 06 Sep 2025 06:59:23.113 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 840 -{1581214:S 06 Sep 2025 06:59:23.161 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 855 -{1581214:S 06 Sep 2025 06:59:23.213 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 870 -{1581214:S 06 Sep 2025 06:59:23.283 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 885 -{1581214:S 06 Sep 2025 06:59:23.348 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 900 -{1581214:S 06 Sep 2025 06:59:23.380 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 915 -{1581214:S 06 Sep 2025 06:59:23.458 # Internal error in RDB reading offset 5437407, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 930 -{1581214:S 06 Sep 2025 06:59:23.501 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 945 -{1581214:S 06 Sep 2025 06:59:23.552 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 960 -{1581214:S 06 Sep 2025 06:59:23.645 # Internal error in RDB reading offset 5437407, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 975 -{1581214:S 06 Sep 2025 06:59:23.688 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 990 -{1581214:S 06 Sep 2025 06:59:23.771 # Internal error in RDB reading offset 5437407, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1005 -{1581214:S 06 Sep 2025 06:59:23.876 # Internal error in RDB reading offset 8276219, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1020 -{1581214:S 06 Sep 2025 06:59:23.935 # Internal error in RDB reading offset 1772937, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1035 -{1581214:S 06 Sep 2025 06:59:23.996 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1050 -{1581214:S 06 Sep 2025 06:59:24.076 # Internal error in RDB reading offset 1772937, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1065 -{1581214:S 06 Sep 2025 06:59:24.132 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1080 -{1581214:S 06 Sep 2025 06:59:24.217 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1095 -{1581214:S 06 Sep 2025 06:59:24.305 # Internal error in RDB reading offset 5437407, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1110 -{1581214:S 06 Sep 2025 06:59:24.361 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1125 -{1581214:S 06 Sep 2025 06:59:24.407 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1140 -{1581214:S 06 Sep 2025 06:59:24.484 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1155 -{1581214:S 06 Sep 2025 06:59:26.014 # Internal error in RDB reading offset 1772937, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1170 -{1581214:S 06 Sep 2025 06:59:26.097 # Internal error in RDB reading offset 8276219, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1185 -{1581214:S 06 Sep 2025 06:59:26.173 # Internal error in RDB reading offset 5437407, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1200 -{1581214:S 06 Sep 2025 06:59:26.236 # Internal error in RDB reading offset 1772937, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1215 -{1581214:S 06 Sep 2025 06:59:26.279 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1230 -{1581214:S 06 Sep 2025 06:59:26.351 # Internal error in RDB reading offset 5437407, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1245 -{1581214:S 06 Sep 2025 06:59:26.428 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1260 -{1581214:S 06 Sep 2025 06:59:26.484 # Internal error in RDB reading offset 1772937, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1275 -{1581214:S 06 Sep 2025 06:59:26.556 # Internal error in RDB reading offset 1772937, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1290 -{1581214:S 06 Sep 2025 06:59:26.630 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1305 -{1581214:S 06 Sep 2025 06:59:26.673 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1320 -{1581214:S 06 Sep 2025 06:59:26.716 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1335 -{1581214:S 06 Sep 2025 06:59:26.788 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1350 -{1581214:S 06 Sep 2025 06:59:26.850 # Internal error in RDB reading offset 5437407, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1365 -{1581214:S 06 Sep 2025 06:59:26.933 # Internal error in RDB reading offset 5437407, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1380 -{1581214:S 06 Sep 2025 06:59:27.011 # Internal error in RDB reading offset 5437407, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1395 -{1581214:S 06 Sep 2025 06:59:27.056 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1410 -{1581214:S 06 Sep 2025 06:59:27.138 # Internal error in RDB reading offset 5437407, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1425 -{1581214:S 06 Sep 2025 06:59:27.194 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1440 -{1581214:S 06 Sep 2025 06:59:27.289 # Internal error in RDB reading offset 5437407, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1455 -{1581214:S 06 Sep 2025 06:59:27.787 * MASTER <-> REPLICA sync: Finished with success} 1473 -{1581214:S 06 Sep 2025 06:59:28.375 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1499 -{1581214:S 06 Sep 2025 06:59:28.445 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1514 -{1581214:S 06 Sep 2025 06:59:28.537 # Internal error in RDB reading offset 5437407, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1529 -{1581214:S 06 Sep 2025 06:59:28.576 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1544 -{1581214:S 06 Sep 2025 06:59:28.653 # Internal error in RDB reading offset 4057190, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1559 -test took 12150 ms -[ok]: diskless loading short read (22200 ms) +filling took 132849 ms (TODO: use pipeline) +{3694971:S 10 Oct 2026 18:02:57.443 # Internal error in RDB reading offset 1661691, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 46 +{3694971:S 10 Oct 2026 18:02:58.610 * MASTER <-> REPLICA sync: Finished with success} 64 +{3694971:S 10 Oct 2026 18:03:01.399 # Internal error in RDB reading offset 6045052, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 90 +{3694971:S 10 Oct 2026 18:03:01.490 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 105 +{3694971:S 10 Oct 2026 18:03:01.569 # Internal error in RDB reading offset 6045052, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 120 +{3694971:S 10 Oct 2026 18:03:01.662 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 135 +{3694971:S 10 Oct 2026 18:03:01.750 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 150 +{3694971:S 10 Oct 2026 18:03:01.825 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 165 +{3694971:S 10 Oct 2026 18:03:01.956 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 180 +{3694971:S 10 Oct 2026 18:03:02.026 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 195 +{3694971:S 10 Oct 2026 18:03:02.097 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 210 +{3694971:S 10 Oct 2026 18:03:02.144 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 225 +{3694971:S 10 Oct 2026 18:03:02.218 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 240 +{3694971:S 10 Oct 2026 18:03:02.308 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 255 +{3694971:S 10 Oct 2026 18:03:02.383 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 270 +{3694971:S 10 Oct 2026 18:03:02.435 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 285 +{3694971:S 10 Oct 2026 18:03:02.520 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 300 +{3694971:S 10 Oct 2026 18:03:02.675 # Internal error in RDB reading offset 6045052, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 315 +{3694971:S 10 Oct 2026 18:03:02.770 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 330 +{3694971:S 10 Oct 2026 18:03:02.885 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 345 +{3694971:S 10 Oct 2026 18:03:03.012 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 360 +{3694971:S 10 Oct 2026 18:03:03.109 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 375 +{3694971:S 10 Oct 2026 18:03:03.216 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 390 +{3694971:S 10 Oct 2026 18:03:03.349 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 405 +{3694971:S 10 Oct 2026 18:03:03.430 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 420 +{3694971:S 10 Oct 2026 18:03:03.510 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 435 +{3694971:S 10 Oct 2026 18:03:03.622 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 450 +{3694971:S 10 Oct 2026 18:03:03.672 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 465 +{3694971:S 10 Oct 2026 18:03:03.785 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 480 +{3694971:S 10 Oct 2026 18:03:03.882 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 495 +{3694971:S 10 Oct 2026 18:03:03.998 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 510 +{3694971:S 10 Oct 2026 18:03:04.126 # Internal error in RDB reading offset 6045052, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 525 +{3694971:S 10 Oct 2026 18:03:04.235 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 540 +{3694971:S 10 Oct 2026 18:03:04.324 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 555 +{3694971:S 10 Oct 2026 18:03:04.426 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 571 +{3694971:S 10 Oct 2026 18:03:04.526 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 586 +{3694971:S 10 Oct 2026 18:03:04.595 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 601 +{3694971:S 10 Oct 2026 18:03:04.688 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 616 +{3694971:S 10 Oct 2026 18:03:04.782 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 631 +{3694971:S 10 Oct 2026 18:03:04.890 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 646 +{3694971:S 10 Oct 2026 18:03:05.010 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 661 +{3694971:S 10 Oct 2026 18:03:05.888 * MASTER <-> REPLICA sync: Finished with success} 679 +{3694971:S 10 Oct 2026 18:03:06.513 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 705 +{3694971:S 10 Oct 2026 18:03:06.591 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 720 +{3694971:S 10 Oct 2026 18:03:06.679 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 735 +{3694971:S 10 Oct 2026 18:03:06.799 # Internal error in RDB reading offset 6045052, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 750 +{3694971:S 10 Oct 2026 18:03:06.875 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 765 +{3694971:S 10 Oct 2026 18:03:06.963 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 780 +{3694971:S 10 Oct 2026 18:03:07.042 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 795 +{3694971:S 10 Oct 2026 18:03:07.138 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 810 +{3694971:S 10 Oct 2026 18:03:07.238 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 825 +{3694971:S 10 Oct 2026 18:03:07.330 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 840 +{3694971:S 10 Oct 2026 18:03:07.407 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 855 +{3694971:S 10 Oct 2026 18:03:07.510 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 870 +{3694971:S 10 Oct 2026 18:03:07.590 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 885 +{3694971:S 10 Oct 2026 18:03:07.674 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 900 +{3694971:S 10 Oct 2026 18:03:07.786 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 915 +{3694971:S 10 Oct 2026 18:03:07.879 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 930 +{3694971:S 10 Oct 2026 18:03:07.998 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 945 +{3694971:S 10 Oct 2026 18:03:08.074 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 960 +{3694971:S 10 Oct 2026 18:03:10.720 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 975 +{3694971:S 10 Oct 2026 18:03:11.240 # Internal error in RDB reading offset 24679164, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 990 +{3694971:S 10 Oct 2026 18:03:11.331 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1005 +{3694971:S 10 Oct 2026 18:03:11.439 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1020 +{3694971:S 10 Oct 2026 18:03:11.522 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1035 +{3694971:S 10 Oct 2026 18:03:11.642 # Internal error in RDB reading offset 9901251, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1050 +{3694971:S 10 Oct 2026 18:03:12.640 * MASTER <-> REPLICA sync: Finished with success} 1068 +{3694971:S 10 Oct 2026 18:03:13.258 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1094 +{3694971:S 10 Oct 2026 18:03:13.345 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1109 +{3694971:S 10 Oct 2026 18:03:13.453 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1124 +{3694971:S 10 Oct 2026 18:03:13.534 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1139 +{3694971:S 10 Oct 2026 18:03:13.579 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1154 +{3694971:S 10 Oct 2026 18:03:13.650 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1169 +{3694971:S 10 Oct 2026 18:03:13.706 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1184 +{3694971:S 10 Oct 2026 18:03:13.810 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1199 +{3694971:S 10 Oct 2026 18:03:13.863 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1214 +{3694971:S 10 Oct 2026 18:03:13.919 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1229 +{3694971:S 10 Oct 2026 18:03:13.985 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1244 +{3694971:S 10 Oct 2026 18:03:14.070 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1259 +{3694971:S 10 Oct 2026 18:03:14.154 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1274 +{3694971:S 10 Oct 2026 18:03:14.232 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1289 +{3694971:S 10 Oct 2026 18:03:14.334 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1304 +{3694971:S 10 Oct 2026 18:03:14.423 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1319 +{3694971:S 10 Oct 2026 18:03:14.506 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1334 +{3694971:S 10 Oct 2026 18:03:14.583 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1349 +{3694971:S 10 Oct 2026 18:03:14.702 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1364 +{3694971:S 10 Oct 2026 18:03:14.786 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1379 +{3694971:S 10 Oct 2026 18:03:14.886 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1394 +{3694971:S 10 Oct 2026 18:03:14.978 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1409 +{3694971:S 10 Oct 2026 18:03:15.070 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1424 +{3694971:S 10 Oct 2026 18:03:15.122 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1439 +{3694971:S 10 Oct 2026 18:03:15.199 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1454 +{3694971:S 10 Oct 2026 18:03:15.282 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1469 +{3694971:S 10 Oct 2026 18:03:15.387 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1484 +{3694971:S 10 Oct 2026 18:03:15.480 # Internal error in RDB reading offset 4043788, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1499 +{3694971:S 10 Oct 2026 18:03:15.550 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1514 +{3694971:S 10 Oct 2026 18:03:15.646 # Internal error in RDB reading offset 1661694, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1529 +{3694971:S 10 Oct 2026 18:03:15.714 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1544 +{3694971:S 10 Oct 2026 18:03:15.818 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1559 +{3694971:S 10 Oct 2026 18:03:15.887 # Internal error in RDB reading offset 0, function at rdb.c:3241 -> Unexpected EOF reading RDB file. Failure loading rdb format from socket, assuming connection error, resuming operation.} 1574 +test took 18535 ms +Waiting for process 3694999 to exit... +[ok]: diskless loading short read (159390 ms) === (repl external:skip) Starting server 127.0.0.1:21226 ok === () Starting server 127.0.0.1:21227 ok === () Starting server 127.0.0.1:21228 ok -[ok]: diskless no replicas drop during rdb pipe (20715 ms) +[ok]: diskless no replicas drop during rdb pipe (34189 ms) === () Starting server 127.0.0.1:21229 ok === () Starting server 127.0.0.1:21230 ok -[ok]: diskless slow replicas drop during rdb pipe (15554 ms) +[ok]: diskless slow replicas drop during rdb pipe (19949 ms) === () Starting server 127.0.0.1:21231 ok === () Starting server 127.0.0.1:21232 ok -[ok]: diskless fast replicas drop during rdb pipe (20310 ms) +[ok]: diskless fast replicas drop during rdb pipe (16521 ms) === () Starting server 127.0.0.1:21233 ok === () Starting server 127.0.0.1:21234 ok -[ok]: diskless all replicas drop during rdb pipe (1465 ms) +[ok]: diskless all replicas drop during rdb pipe (3110 ms) === () Starting server 127.0.0.1:21235 ok === () Starting server 127.0.0.1:21236 ok -[ok]: diskless timeout replicas drop during rdb pipe (14556 ms) -Waiting for process 1583655 to exit... +Waiting for process 3705881 to exit... +[ok]: diskless timeout replicas drop during rdb pipe (46897 ms) +Waiting for process 3701319 to exit... +Waiting for process 3701319 to exit... +Waiting for process 3701319 to exit... +Waiting for process 3701319 to exit... +Waiting for process 3701319 to exit... +Waiting for process 3701319 to exit... +Waiting for process 3701319 to exit... +Waiting for process 3701319 to exit... +Waiting for process 3701319 to exit... +Forcing process 3701319 to crash... +Waiting for process 3701319 to exit... === (repl) Starting server 127.0.0.1:21237 ok === () Starting server 127.0.0.1:21238 ok -Waiting for process 1593249 to exit... -[ok]: diskless replication child being killed is collected (5883 ms) +Waiting for process 3713356 to exit... +Waiting for process 3713356 to exit... +Waiting for process 3713356 to exit... +Waiting for process 3713356 to exit... +Waiting for process 3713356 to exit... +Waiting for process 3713356 to exit... +Waiting for process 3713356 to exit... +Waiting for process 3713356 to exit... +Waiting for process 3713356 to exit... +Forcing process 3713356 to crash... +[ok]: diskless replication child being killed is collected (33896 ms) === (repl) Starting server 127.0.0.1:21239 ok === () Starting server 127.0.0.1:21240 ok -[ok]: replication child dies when parent is killed - diskless: yes (1620 ms) +[ok]: replication child dies when parent is killed - diskless: yes (10069 ms) === (repl) Starting server 127.0.0.1:21241 ok === () Starting server 127.0.0.1:21242 ok -[ok]: replication child dies when parent is killed - diskless: no (1930 ms) +[ok]: replication child dies when parent is killed - diskless: no (2892 ms) === (repl) Starting server 127.0.0.1:21243 ok === () Starting server 127.0.0.1:21244 ok -[ok]: diskless replication read pipe cleanup (5259 ms) +[ok]: diskless replication read pipe cleanup (6904 ms) === (repl) Starting server 127.0.0.1:21245 ok === () Starting server 127.0.0.1:21246 ok === () Starting server 127.0.0.1:21247 ok -[ok]: replicaof right after disconnection (2183 ms) +[ok]: replicaof right after disconnection (10469 ms) === (repl) Starting server 127.0.0.1:21248 ok === () Starting server 127.0.0.1:21249 ok === () Starting server 127.0.0.1:21250 ok -[ok]: Kill rdb child process if its dumping RDB is not useful (1552 ms) +[ok]: Kill rdb child process if its dumping RDB is not useful (7027 ms) === (repl external:skip) Starting server 127.0.0.1:21251 ok === () Starting server 127.0.0.1:21252 ok === () Starting server 127.0.0.1:21253 ok === () Starting server 127.0.0.1:21254 ok -[ok]: Don't disconnect with replicas before loading transferred RDB when full sync (7 ms) -[ok]: Discard cache master before loading transferred RDB when full sync (113 ms) +[ok]: Don't disconnect with replicas before loading transferred RDB when full sync (125 ms) +[ok]: Discard cache master before loading transferred RDB when full sync (351 ms) === (repl) Starting server 127.0.0.1:21255 ok === () Starting server 127.0.0.1:21256 ok -[ok]: replica can handle EINTR if use diskless load (991 ms) +[ok]: replica can handle EINTR if use diskless load (5060 ms) === (repl external:skip) Starting server 127.0.0.1:21257 ok -SYNC _addReplyToBufferOrList: REDIS0010ú redis-ver7.0.15ú -redis-bitsÀ@úctimeÂô„¼húused-memÂLúrepl-stream-dbÀúrepl-id(29aaacb36757cc270c2c38ed542c627964423cc8ú repl-offsetÀúaof-baseÀÿQïÄáúC5ù -[ok]: replica do not write the reply to the replication link - SYNC (_addReplyToBufferOrList) (81 ms) +SYNC _addReplyToBufferOrList: I/O error reading reply + +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - SYNC (_addReplyToBufferOrList) (1953 ms) SYNC addReplyDeferredLen: I/O error reading reply -Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - SYNC (addReplyDeferredLen) (138 ms) +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - SYNC (addReplyDeferredLen) (1183 ms) PSYNC _addReplyToBufferOrList: I/O error reading reply Waiting for background save to finish... -Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - PSYNC (_addReplyToBufferOrList) (183 ms) +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - PSYNC (_addReplyToBufferOrList) (1488 ms) PSYNC addReplyDeferredLen: I/O error reading reply Waiting for background save to finish... Waiting for background save to finish... -Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - PSYNC (addReplyDeferredLen) (211 ms) -[ok]: PSYNC with wrong offset should throw error (10 ms) -[29/84 done]: integration/replication (252 seconds) +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... [ok]: replica do not write the reply to the replication link - PSYNC (addReplyDeferredLen) (3160 ms) +[ok]: PSYNC with wrong offset should throw error (18 ms) +[29/84 done]: integration/replication (1221 seconds) Testing integration/replication-2 === (repl external:skip) Starting server 127.0.0.1:21258 ok === () Starting server 127.0.0.1:21259 ok -[ok]: First server should have role slave after SLAVEOF (113 ms) -[ok]: If min-slaves-to-write is honored, write is accepted (8 ms) -[ok]: No write if min-slaves-to-write is < attached slaves (1 ms) -[ok]: If min-slaves-to-write is honored, write is accepted (again) (2 ms) -[ok]: No write if min-slaves-max-lag is > of the slave lag (3787 ms) -[ok]: min-slaves-to-write is ignored by slaves (7 ms) -[ok]: MASTER and SLAVE dataset should be identical after complex ops (22249 ms) -[30/84 done]: integration/replication-2 (28 seconds) +[ok]: First server should have role slave after SLAVEOF (1094 ms) +[ok]: If min-slaves-to-write is honored, write is accepted (2 ms) +[ok]: No write if min-slaves-to-write is < attached slaves (3 ms) +[ok]: If min-slaves-to-write is honored, write is accepted (again) (3 ms) +[ok]: No write if min-slaves-max-lag is > of the slave lag (4220 ms) +[ok]: min-slaves-to-write is ignored by slaves (6 ms) +[ok]: MASTER and SLAVE dataset should be identical after complex ops (49829 ms) +[30/84 done]: integration/replication-2 (73 seconds) Testing integration/replication-3 === (repl external:skip) Starting server 127.0.0.1:21260 ok === () Starting server 127.0.0.1:21261 ok -[ok]: First server should have role slave after SLAVEOF (108 ms) -[ok]: MASTER and SLAVE consistency with expire (15091 ms) -[ok]: Master can replicate command longer than client-query-buffer-limit on replica (109 ms) -[ok]: Slave is able to evict keys created in writable slaves (6010 ms) -[ok]: Writable replica doesn't return expired keys (111 ms) -[ok]: PFCOUNT updates cache on readonly replica (3 ms) -[ok]: PFCOUNT doesn't use expired key on readonly replica (113 ms) -[31/84 done]: integration/replication-3 (23 seconds) +[ok]: First server should have role slave after SLAVEOF (2508 ms) +[ok]: MASTER and SLAVE consistency with expire (20877 ms) +[ok]: Master can replicate command longer than client-query-buffer-limit on replica (17135 ms) +[ok]: Slave is able to evict keys created in writable slaves (6006 ms) +[ok]: Writable replica doesn't return expired keys (2247 ms) +[ok]: PFCOUNT updates cache on readonly replica (4 ms) +[ok]: PFCOUNT doesn't use expired key on readonly replica (104 ms) +[31/84 done]: integration/replication-3 (64 seconds) Testing integration/replication-4 === (repl network external:skip) Starting server 127.0.0.1:21262 ok === () Starting server 127.0.0.1:21263 ok -[ok]: First server should have role slave after SLAVEOF (1009 ms) -[ok]: Test replication with parallel clients writing in different DBs (5083 ms) +[ok]: First server should have role slave after SLAVEOF (1387 ms) +[ok]: Test replication with parallel clients writing in different DBs (5761 ms) === (repl external:skip) Starting server 127.0.0.1:21264 ok === () Starting server 127.0.0.1:21265 ok -[ok]: First server should have role slave after SLAVEOF (110 ms) -[ok]: With min-slaves-to-write (1,3): master should be writable (2 ms) -[ok]: With min-slaves-to-write (2,3): master should not be writable (1 ms) +[ok]: First server should have role slave after SLAVEOF (107 ms) +[ok]: With min-slaves-to-write (1,3): master should be writable (12 ms) +[ok]: With min-slaves-to-write (2,3): master should not be writable (12 ms) [ok]: With min-slaves-to-write function without no-write flag (1 ms) [ok]: With not enough good slaves, read in Lua script is still accepted (1 ms) -[ok]: With min-slaves-to-write: master not writable with lagged slave (2572 ms) +[ok]: With min-slaves-to-write: master not writable with lagged slave (5028 ms) === (repl external:skip) Starting server 127.0.0.1:21266 ok === () Starting server 127.0.0.1:21267 ok -[ok]: First server should have role slave after SLAVEOF (121 ms) +[ok]: First server should have role slave after SLAVEOF (1603 ms) Replication of an expired key does not delete the expired key test attempts: 0 -[ok]: Replication of an expired key does not delete the expired key (2352 ms) +[ok]: Replication of an expired key does not delete the expired key (880 ms) === (repl external:skip) Starting server 127.0.0.1:21268 ok === () Starting server 127.0.0.1:21269 ok -[ok]: First server should have role slave after SLAVEOF (2 ms) -[ok]: Replication: commands with many arguments (issue #1221) (41240 ms) -[ok]: Replication of SPOP command -- alsoPropagate() API (1383 ms) +[ok]: First server should have role slave after SLAVEOF (15 ms) +[ok]: Replication: commands with many arguments (issue #1221) (65586 ms) +[ok]: Replication of SPOP command -- alsoPropagate() API (1861 ms) +Waiting for process 3747179 to exit... === (repl external:skip) Starting server 127.0.0.1:21270 ok === () Starting server 127.0.0.1:21271 ok -[ok]: First server should have role slave after SLAVEOF (104 ms) -[ok]: Data divergence can happen under default conditions (778 ms) -[ok]: Data divergence is allowed on writable replicas (13 ms) -[32/84 done]: integration/replication-4 (61 seconds) +[ok]: First server should have role slave after SLAVEOF (1207 ms) +[ok]: Data divergence can happen under default conditions (38 ms) +[ok]: Data divergence is allowed on writable replicas (19 ms) +[32/84 done]: integration/replication-4 (114 seconds) Testing integration/replication-psync === (repl) Starting server 127.0.0.1:21272 ok === () Starting server 127.0.0.1:21273 ok -[ok]: Slave should be able to synchronize with the master (105 ms) -[ok]: Detect write load to master (3577 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, disabled, reconnect: 0) (51 ms) +[ok]: Slave should be able to synchronize with the master (3196 ms) +[ok]: Detect write load to master (3 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, disabled, reconnect: 0) (268 ms) === (repl) Starting server 127.0.0.1:21274 ok === () Starting server 127.0.0.1:21275 ok -[ok]: Slave should be able to synchronize with the master (103 ms) -[ok]: Detect write load to master (1012 ms) -[ok]: Test replication partial resync: ok psync (diskless: no, disabled, reconnect: 1) (7177 ms) +[ok]: Slave should be able to synchronize with the master (1750 ms) +[ok]: Detect write load to master (8 ms) +[ok]: Test replication partial resync: ok psync (diskless: no, disabled, reconnect: 1) (7688 ms) === (repl) Starting server 127.0.0.1:21276 ok === () Starting server 127.0.0.1:21277 ok -[ok]: Slave should be able to synchronize with the master (114 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: no backlog (diskless: no, disabled, reconnect: 1) (9841 ms) +[ok]: Slave should be able to synchronize with the master (2849 ms) +[ok]: Detect write load to master (4 ms) +[ok]: Test replication partial resync: no backlog (diskless: no, disabled, reconnect: 1) (16448 ms) === (repl) Starting server 127.0.0.1:21278 ok === () Starting server 127.0.0.1:21279 ok -[ok]: Slave should be able to synchronize with the master (104 ms) -[ok]: Detect write load to master (1006 ms) -[ok]: Test replication partial resync: ok after delay (diskless: no, disabled, reconnect: 1) (9903 ms) -Waiting for process 1605366 to exit... +[ok]: Slave should be able to synchronize with the master (2346 ms) +[ok]: Detect write load to master (1 ms) +[ok]: Test replication partial resync: ok after delay (diskless: no, disabled, reconnect: 1) (11104 ms) === (repl) Starting server 127.0.0.1:21280 ok === () Starting server 127.0.0.1:21281 ok -[ok]: Slave should be able to synchronize with the master (104 ms) -[ok]: Detect write load to master (1007 ms) -[ok]: Test replication partial resync: backlog expired (diskless: no, disabled, reconnect: 1) (13104 ms) +[ok]: Slave should be able to synchronize with the master (4822 ms) +[ok]: Detect write load to master (0 ms) +[ok]: Test replication partial resync: backlog expired (diskless: no, disabled, reconnect: 1) (12961 ms) === (repl) Starting server 127.0.0.1:21282 ok === () Starting server 127.0.0.1:21283 ok -[ok]: Slave should be able to synchronize with the master (740 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, swapdb, reconnect: 0) (47 ms) +[ok]: Slave should be able to synchronize with the master (2765 ms) +[ok]: Detect write load to master (0 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, swapdb, reconnect: 0) (263 ms) === (repl) Starting server 127.0.0.1:21284 ok === () Starting server 127.0.0.1:21285 ok -[ok]: Slave should be able to synchronize with the master (121 ms) -[ok]: Detect write load to master (3796 ms) -[ok]: Test replication partial resync: ok psync (diskless: no, swapdb, reconnect: 1) (8292 ms) +[ok]: Slave should be able to synchronize with the master (825 ms) +[ok]: Detect write load to master (0 ms) +[ok]: Test replication partial resync: ok psync (diskless: no, swapdb, reconnect: 1) (7099 ms) === (repl) Starting server 127.0.0.1:21286 ok === () Starting server 127.0.0.1:21287 ok -[ok]: Slave should be able to synchronize with the master (112 ms) -[ok]: Detect write load to master (1008 ms) -[ok]: Test replication partial resync: no backlog (diskless: no, swapdb, reconnect: 1) (11381 ms) +[ok]: Slave should be able to synchronize with the master (784 ms) +[ok]: Detect write load to master (1005 ms) +[ok]: Test replication partial resync: no backlog (diskless: no, swapdb, reconnect: 1) (10589 ms) === (repl) Starting server 127.0.0.1:21288 ok === () Starting server 127.0.0.1:21289 ok -[ok]: Slave should be able to synchronize with the master (616 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: ok after delay (diskless: no, swapdb, reconnect: 1) (11408 ms) +[ok]: Slave should be able to synchronize with the master (452 ms) +[ok]: Detect write load to master (2615 ms) +[ok]: Test replication partial resync: ok after delay (diskless: no, swapdb, reconnect: 1) (10404 ms) === (repl) Starting server 127.0.0.1:21290 ok === () Starting server 127.0.0.1:21291 ok -[ok]: Slave should be able to synchronize with the master (103 ms) -[ok]: Detect write load to master (1004 ms) -[ok]: Test replication partial resync: backlog expired (diskless: no, swapdb, reconnect: 1) (10128 ms) +[ok]: Slave should be able to synchronize with the master (213 ms) +[ok]: Detect write load to master (2011 ms) +[ok]: Test replication partial resync: backlog expired (diskless: no, swapdb, reconnect: 1) (10389 ms) === (repl) Starting server 127.0.0.1:21292 ok === () Starting server 127.0.0.1:21293 ok -[ok]: Slave should be able to synchronize with the master (1437 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, reconnect: 0) (58 ms) +[ok]: Slave should be able to synchronize with the master (531 ms) +[ok]: Detect write load to master (1006 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, disabled, reconnect: 0) (52 ms) === (repl) Starting server 127.0.0.1:21294 ok === () Starting server 127.0.0.1:21295 ok -[ok]: Slave should be able to synchronize with the master (1637 ms) +[ok]: Slave should be able to synchronize with the master (3579 ms) [ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: ok psync (diskless: yes, disabled, reconnect: 1) (9818 ms) +[ok]: Test replication partial resync: ok psync (diskless: yes, disabled, reconnect: 1) (6303 ms) === (repl) Starting server 127.0.0.1:21296 ok === () Starting server 127.0.0.1:21297 ok -[ok]: Slave should be able to synchronize with the master (722 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: no backlog (diskless: yes, disabled, reconnect: 1) (8789 ms) +[ok]: Slave should be able to synchronize with the master (1646 ms) +[ok]: Detect write load to master (8 ms) +[ok]: Test replication partial resync: no backlog (diskless: yes, disabled, reconnect: 1) (8181 ms) === (repl) Starting server 127.0.0.1:21298 ok === () Starting server 127.0.0.1:21299 ok -[ok]: Slave should be able to synchronize with the master (631 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: ok after delay (diskless: yes, disabled, reconnect: 1) (10701 ms) +[ok]: Slave should be able to synchronize with the master (1486 ms) +[ok]: Detect write load to master (11 ms) +[ok]: Test replication partial resync: ok after delay (diskless: yes, disabled, reconnect: 1) (9884 ms) === (repl) Starting server 127.0.0.1:21300 ok === () Starting server 127.0.0.1:21301 ok -[ok]: Slave should be able to synchronize with the master (1659 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: backlog expired (diskless: yes, disabled, reconnect: 1) (9369 ms) +[ok]: Slave should be able to synchronize with the master (1444 ms) +[ok]: Detect write load to master (0 ms) +[ok]: Test replication partial resync: backlog expired (diskless: yes, disabled, reconnect: 1) (11473 ms) === (repl) Starting server 127.0.0.1:21302 ok === () Starting server 127.0.0.1:21303 ok -[ok]: Slave should be able to synchronize with the master (1638 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, reconnect: 0) (61 ms) +[ok]: Slave should be able to synchronize with the master (2553 ms) +[ok]: Detect write load to master (1012 ms) +[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, swapdb, reconnect: 0) (64 ms) === (repl) Starting server 127.0.0.1:21304 ok === () Starting server 127.0.0.1:21305 ok -[ok]: Slave should be able to synchronize with the master (637 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: ok psync (diskless: yes, swapdb, reconnect: 1) (8596 ms) +[ok]: Slave should be able to synchronize with the master (1584 ms) +[ok]: Detect write load to master (4 ms) +[ok]: Test replication partial resync: ok psync (diskless: yes, swapdb, reconnect: 1) (6349 ms) === (repl) Starting server 127.0.0.1:21306 ok === () Starting server 127.0.0.1:21307 ok -[ok]: Slave should be able to synchronize with the master (626 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: no backlog (diskless: yes, swapdb, reconnect: 1) (7731 ms) +[ok]: Slave should be able to synchronize with the master (1572 ms) +[ok]: Detect write load to master (3 ms) +[ok]: Test replication partial resync: no backlog (diskless: yes, swapdb, reconnect: 1) (9060 ms) === (repl) Starting server 127.0.0.1:21308 ok === () Starting server 127.0.0.1:21309 ok -[ok]: Slave should be able to synchronize with the master (619 ms) -[ok]: Detect write load to master (1 ms) -[ok]: Test replication partial resync: ok after delay (diskless: yes, swapdb, reconnect: 1) (10144 ms) +[ok]: Slave should be able to synchronize with the master (2338 ms) +[ok]: Detect write load to master (1034 ms) +[ok]: Test replication partial resync: ok after delay (diskless: yes, swapdb, reconnect: 1) (9227 ms) === (repl) Starting server 127.0.0.1:21310 ok === () Starting server 127.0.0.1:21311 ok -[ok]: Slave should be able to synchronize with the master (1645 ms) -[ok]: Detect write load to master (0 ms) -[ok]: Test replication partial resync: backlog expired (diskless: yes, swapdb, reconnect: 1) (11623 ms) -[33/84 done]: integration/replication-psync (213 seconds) +[ok]: Slave should be able to synchronize with the master (1566 ms) +[ok]: Detect write load to master (1 ms) +[ok]: Test replication partial resync: backlog expired (diskless: yes, swapdb, reconnect: 1) (11285 ms) +[33/84 done]: integration/replication-psync (273 seconds) Testing integration/replication-buffer === (repl external:skip) Starting server 127.0.0.1:21312 ok === () Starting server 127.0.0.1:21313 ok === () Starting server 127.0.0.1:21314 ok === () Starting server 127.0.0.1:21315 ok -[ok]: All replicas share one global replication buffer (231 ms) -[ok]: Replication buffer will become smaller when no replica uses (9 ms) +[ok]: All replicas share one global replication buffer (400 ms) +[ok]: Replication buffer will become smaller when no replica uses (12 ms) === (repl external:skip) Starting server 127.0.0.1:21316 ok === () Starting server 127.0.0.1:21317 ok === () Starting server 127.0.0.1:21318 ok -[ok]: Replication backlog size can outgrow the backlog limit config (3886 ms) -[ok]: Replica could use replication buffer (beyond backlog config) for partial resynchronization (6263 ms) -[ok]: Replication backlog memory will become smaller if disconnecting with replica (345 ms) +[ok]: Replication backlog size can outgrow the backlog limit config (7781 ms) +[ok]: Replica could use replication buffer (beyond backlog config) for partial resynchronization (9464 ms) +[ok]: Replication backlog memory will become smaller if disconnecting with replica (415 ms) === (repl external:skip) Starting server 127.0.0.1:21319 ok === () Starting server 127.0.0.1:21320 ok -[ok]: Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size (6556 ms) +[ok]: Partial resynchronization is successful even client-output-buffer-limit is less than repl-backlog-size (7813 ms) === (repl external:skip) Starting server 127.0.0.1:21321 ok === () Starting server 127.0.0.1:21322 ok -[ok]: The update of replBufBlock's repl_offset is ok - Regression test for #11666 (32 ms) -[ok]: Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending (1257 ms) -[34/84 done]: integration/replication-buffer (26 seconds) +[ok]: The update of replBufBlock's repl_offset is ok - Regression test for #11666 (191 ms) +[ok]: Replica client-output-buffer size is limited to backlog_limit/16 when no replication data is pending (1537 ms) +[34/84 done]: integration/replication-buffer (36 seconds) Testing integration/shutdown === () Starting server 127.0.0.1:21323 ok === () Starting server 127.0.0.1:21324 ok -[ok]: Shutting down master waits for replica to catch up (sigterm) (4935 ms) +[ok]: Shutting down master waits for replica to catch up (sigterm) (3343 ms) === () Starting server 127.0.0.1:21325 ok === () Starting server 127.0.0.1:21326 ok -[ok]: Shutting down master waits for replica to catch up (shutdown) (5948 ms) +[ok]: Shutting down master waits for replica to catch up (shutdown) (5649 ms) === () Starting server 127.0.0.1:21327 ok === () Starting server 127.0.0.1:21328 ok -[ok]: Shutting down master waits for replica timeout (3061 ms) +[ok]: Shutting down master waits for replica timeout (3868 ms) === () Starting server 127.0.0.1:21329 ok === () Starting server 127.0.0.1:21330 ok -[ok]: Shutting down master waits for replica then fails (3115 ms) +[ok]: Shutting down master waits for replica then fails (3766 ms) === () Starting server 127.0.0.1:21331 ok === () Starting server 127.0.0.1:21332 ok -[ok]: Shutting down master waits for replica then aborted (940 ms) +[ok]: Shutting down master waits for replica then aborted (1204 ms) [35/84 done]: integration/shutdown (18 seconds) Testing integration/aof === () Starting server 127.0.0.1:21333 -[ok]: Unfinished MULTI: Server should start if load-truncated is yes (4 ms) +[ok]: Unfinished MULTI: Server should start if load-truncated is yes (10 ms) === () Starting server 127.0.0.1:21334 -[ok]: Short read: Server should start if load-truncated is yes (6 ms) -[ok]: Truncated AOF loaded: we expect foo to be equal to 5 (58 ms) -[ok]: Append a new command after loading an incomplete AOF (2 ms) +[ok]: Short read: Server should start if load-truncated is yes (16 ms) +[ok]: Truncated AOF loaded: we expect foo to be equal to 5 (44 ms) +[ok]: Append a new command after loading an incomplete AOF (1 ms) === () Starting server 127.0.0.1:21335 -[ok]: Short read + command: Server should start (7 ms) -[ok]: Truncated AOF loaded: we expect foo to be equal to 6 now (32 ms) +[ok]: Short read + command: Server should start (11 ms) +[ok]: Truncated AOF loaded: we expect foo to be equal to 6 now (51 ms) === () Starting server 127.0.0.1:21336 -[ok]: Bad format: Server should have logged an error (7 ms) +[ok]: Bad format: Server should have logged an error (8 ms) === () Starting server 127.0.0.1:21337 -[ok]: Unfinished MULTI: Server should have logged an error (7 ms) +[ok]: Unfinished MULTI: Server should have logged an error (12 ms) === () Starting server 127.0.0.1:21338 [ok]: Short read: Server should have logged an error (9 ms) -[ok]: Short read: Utility should confirm the AOF is not valid (37 ms) -[ok]: Short read: Utility should show the abnormal line num in AOF (41 ms) -[ok]: Short read: Utility should be able to fix the AOF (38 ms) +[ok]: Short read: Utility should confirm the AOF is not valid (55 ms) +[ok]: Short read: Utility should show the abnormal line num in AOF (29 ms) +[ok]: Short read: Utility should be able to fix the AOF (20 ms) === () Starting server 127.0.0.1:21339 -[ok]: Fixed AOF: Server should have been started (13 ms) -[ok]: Fixed AOF: Keyspace should contain values that were parseable (32 ms) +[ok]: Fixed AOF: Server should have been started (12 ms) +[ok]: Fixed AOF: Keyspace should contain values that were parseable (35 ms) === () Starting server 127.0.0.1:21340 -[ok]: AOF+SPOP: Server should have been started (8 ms) -[ok]: AOF+SPOP: Set should have 1 member (24 ms) +[ok]: AOF+SPOP: Server should have been started (13 ms) +[ok]: AOF+SPOP: Set should have 1 member (42 ms) === () Starting server 127.0.0.1:21341 -[ok]: AOF+SPOP: Server should have been started (5 ms) -[ok]: AOF+SPOP: Set should have 1 member (23 ms) +[ok]: AOF+SPOP: Server should have been started (13 ms) +[ok]: AOF+SPOP: Set should have 1 member (20 ms) === () Starting server 127.0.0.1:21342 -[ok]: AOF+EXPIRE: Server should have been started (9 ms) -[ok]: AOF+EXPIRE: List should be empty (24 ms) +[ok]: AOF+EXPIRE: Server should have been started (12 ms) +[ok]: AOF+EXPIRE: List should be empty (40 ms) === () Starting server 127.0.0.1:21343 ok -[ok]: Redis should not try to convert DEL into EXPIREAT for EXPIRE -1 (5 ms) +[ok]: Redis should not try to convert DEL into EXPIREAT for EXPIRE -1 (1 ms) === () Starting server 127.0.0.1:21344 ok -[ok]: AOF fsync always barrier issue (8280 ms) +[ok]: AOF fsync always barrier issue (10851 ms) === () Starting server 127.0.0.1:21345 ok -[ok]: GETEX should not append to AOF (8 ms) +[ok]: GETEX should not append to AOF (9 ms) === () Starting server 127.0.0.1:21346 -[ok]: Unknown command: Server should have logged an error (9 ms) +[ok]: Unknown command: Server should have logged an error (19 ms) === () Starting server 127.0.0.1:21347 -[ok]: AOF+LMPOP/BLMPOP: pop elements from the list (152 ms) +[ok]: AOF+LMPOP/BLMPOP: pop elements from the list (189 ms) === () Starting server 127.0.0.1:21348 -[ok]: AOF+LMPOP/BLMPOP: after pop elements from the list (39 ms) +[ok]: AOF+LMPOP/BLMPOP: after pop elements from the list (72 ms) === () Starting server 127.0.0.1:21349 -[ok]: AOF+ZMPOP/BZMPOP: pop elements from the zset (150 ms) +[ok]: AOF+ZMPOP/BZMPOP: pop elements from the zset (221 ms) === () Starting server 127.0.0.1:21350 -[ok]: AOF+ZMPOP/BZMPOP: after pop elements from the zset (24 ms) +[ok]: AOF+ZMPOP/BZMPOP: after pop elements from the zset (40 ms) === () Starting server 127.0.0.1:21351 ok - -Waiting for background AOF rewrite to finish... [ok]: Generate timestamp annotations in AOF (459 ms) +[ok]: Generate timestamp annotations in AOF (623 ms) === () Starting server 127.0.0.1:21352 -[ok]: Successfully load AOF which has timestamp annotations inside (31 ms) +[ok]: Successfully load AOF which has timestamp annotations inside (37 ms) === () Starting server 127.0.0.1:21353 === () Starting server 127.0.0.1:21354 === () Starting server 127.0.0.1:21355 -[ok]: Truncate AOF to specific timestamp (1090 ms) +[ok]: Truncate AOF to specific timestamp (1430 ms) === () Starting server 127.0.0.1:21356 ok -[ok]: EVAL timeout with slow verbatim Lua script from AOF (4253 ms) +[ok]: EVAL timeout with slow verbatim Lua script from AOF (5614 ms) === () Starting server 127.0.0.1:21357 ok -[ok]: EVAL can process writes from AOF in read-only replicas (440 ms) -[ok]: Test redis-check-aof for old style resp AOF (41 ms) -[ok]: Test redis-check-aof for old style rdb-preamble AOF (37 ms) -[ok]: Test redis-check-aof for Multi Part AOF with resp AOF base (43 ms) -[ok]: Test redis-check-aof for Multi Part AOF with rdb-preamble AOF base (48 ms) -[ok]: Test redis-check-aof only truncates the last file for Multi Part AOF in fix mode (90 ms) +[ok]: EVAL can process writes from AOF in read-only replicas (514 ms) +[ok]: Test redis-check-aof for old style resp AOF (49 ms) +[ok]: Test redis-check-aof for old style rdb-preamble AOF (59 ms) +[ok]: Test redis-check-aof for Multi Part AOF with resp AOF base (65 ms) +[ok]: Test redis-check-aof for Multi Part AOF with rdb-preamble AOF base (80 ms) +[ok]: Test redis-check-aof only truncates the last file for Multi Part AOF in fix mode (104 ms) [ok]: Test redis-check-aof only truncates the last file for Multi Part AOF in truncate-to-timestamp mode (46 ms) === () Starting server 127.0.0.1:21358 ok -[ok]: FLUSHDB / FLUSHALL should persist in AOF (71 ms) -[36/84 done]: integration/aof (24 seconds) +[ok]: FLUSHDB / FLUSHALL should persist in AOF (178 ms) +[36/84 done]: integration/aof (28 seconds) Testing integration/aof-multi-part === () Starting server 127.0.0.1:21359 -[ok]: Multi Part AOF can't load data when some file missing (233 ms) +[ok]: Multi Part AOF can't load data when some file missing (276 ms) === () Starting server 127.0.0.1:21360 -[ok]: Multi Part AOF can't load data when the sequence not increase monotonically (230 ms) +[ok]: Multi Part AOF can't load data when the sequence not increase monotonically (287 ms) === () Starting server 127.0.0.1:21361 -[ok]: Multi Part AOF can't load data when there are blank lines in the manifest file (263 ms) +[ok]: Multi Part AOF can't load data when there are blank lines in the manifest file (231 ms) === () Starting server 127.0.0.1:21362 -[ok]: Multi Part AOF can't load data when there is a duplicate base file (243 ms) +[ok]: Multi Part AOF can't load data when there is a duplicate base file (230 ms) === () Starting server 127.0.0.1:21363 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (type unknown) (251 ms) +[ok]: Multi Part AOF can't load data when the manifest format is wrong (type unknown) (310 ms) === () Starting server 127.0.0.1:21364 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (missing key) (224 ms) +[ok]: Multi Part AOF can't load data when the manifest format is wrong (missing key) (284 ms) === () Starting server 127.0.0.1:21365 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (line too short) (214 ms) +[ok]: Multi Part AOF can't load data when the manifest format is wrong (line too short) (271 ms) === () Starting server 127.0.0.1:21366 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (line too long) (213 ms) +[ok]: Multi Part AOF can't load data when the manifest format is wrong (line too long) (287 ms) === () Starting server 127.0.0.1:21367 -[ok]: Multi Part AOF can't load data when the manifest format is wrong (odd parameter) (211 ms) +[ok]: Multi Part AOF can't load data when the manifest format is wrong (odd parameter) (280 ms) === () Starting server 127.0.0.1:21368 -[ok]: Multi Part AOF can't load data when the manifest file is empty (206 ms) +[ok]: Multi Part AOF can't load data when the manifest file is empty (256 ms) === () Starting server 127.0.0.1:21369 -[ok]: Multi Part AOF can start when no aof and no manifest (323 ms) +[ok]: Multi Part AOF can start when no aof and no manifest (384 ms) === () Starting server 127.0.0.1:21370 -[ok]: Multi Part AOF can start when we have en empty AOF dir (230 ms) +[ok]: Multi Part AOF can start when we have en empty AOF dir (371 ms) === () Starting server 127.0.0.1:21371 -[ok]: Multi Part AOF can load data discontinuously increasing sequence (327 ms) +[ok]: Multi Part AOF can load data discontinuously increasing sequence (394 ms) === () Starting server 127.0.0.1:21372 -[ok]: Multi Part AOF can load data when manifest add new k-v (292 ms) +[ok]: Multi Part AOF can load data when manifest add new k-v (384 ms) === () Starting server 127.0.0.1:21373 -[ok]: Multi Part AOF can load data when some AOFs are empty (322 ms) +[ok]: Multi Part AOF can load data when some AOFs are empty (395 ms) === () Starting server 127.0.0.1:21374 Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can load data from old version redis (rdb preamble no) (444 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can load data from old version redis (rdb preamble no) (535 ms) === () Starting server 127.0.0.1:21375 -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can load data from old version redis (rdb preamble yes) (468 ms) +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can load data from old version redis (rdb preamble yes) (536 ms) === () Starting server 127.0.0.1:21376 -[ok]: Multi Part AOF can continue the upgrade from the interrupted upgrade state (316 ms) +[ok]: Multi Part AOF can continue the upgrade from the interrupted upgrade state (540 ms) === () Starting server 127.0.0.1:21377 -[ok]: Multi Part AOF can be loaded correctly when both server dir and aof dir contain old AOF (350 ms) +[ok]: Multi Part AOF can be loaded correctly when both server dir and aof dir contain old AOF (388 ms) === () Starting server 127.0.0.1:21378 -[ok]: Multi Part AOF can't load data when the manifest contains the old AOF file name but the file does not exist in server dir and aof dir (215 ms) +[ok]: Multi Part AOF can't load data when the manifest contains the old AOF file name but the file does not exist in server dir and aof dir (310 ms) === () Starting server 127.0.0.1:21379 === () Starting server 127.0.0.1:21380 ok -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can upgrade when when two redis share the same server dir (redis1) (85 ms) +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can upgrade when when two redis share the same server dir (redis1) (223 ms) -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can upgrade when when two redis share the same server dir (redis2) (79 ms) -[ok]: Multi Part AOF can upgrade when when two redis share the same server dir (872 ms) +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can upgrade when when two redis share the same server dir (redis2) (131 ms) +[ok]: Multi Part AOF can upgrade when when two redis share the same server dir (1191 ms) === () Starting server 127.0.0.1:21381 ok -Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can handle appendfilename contains whitespaces (454 ms) +Waiting for background AOF rewrite to finish... [ok]: Multi Part AOF can handle appendfilename contains whitespaces (618 ms) === () Starting server 127.0.0.1:21382 -[ok]: Multi Part AOF can create BASE (RDB format) when redis starts from empty (358 ms) +[ok]: Multi Part AOF can create BASE (RDB format) when redis starts from empty (449 ms) === () Starting server 127.0.0.1:21383 -[ok]: Multi Part AOF can create BASE (AOF format) when redis starts from empty (343 ms) +[ok]: Multi Part AOF can create BASE (AOF format) when redis starts from empty (540 ms) === (Multi Part AOF) Starting server 127.0.0.1:21384 ok [ok]: Make sure aof manifest appendonly.aof.manifest not in aof directory (0 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF enable will create manifest file (446 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF enable will create manifest file (523 ms) Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF multiple rewrite failures will open multiple INCR AOFs (1749 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF multiple rewrite failures will open multiple INCR AOFs (3211 ms) Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF rewrite doesn't open new aof when AOF turn off (509 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF rewrite doesn't open new aof when AOF turn off (444 ms) Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF enable/disable auto gc (229 ms) - -Waiting for background AOF rewrite to finish... [ok]: AOF can produce consecutive sequence number after reload (94 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF enable/disable auto gc (240 ms) Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF enable during BGSAVE will not write data util AOFRW finish (447 ms) +Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF can produce consecutive sequence number after reload (210 ms) Waiting for background AOF rewrite to finish... +Waiting for background AOF rewrite to finish... [ok]: AOF enable during BGSAVE will not write data util AOFRW finish (656 ms) + Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF will trigger limit when AOFRW fails many times (1229 ms) +Waiting for background AOF rewrite to finish... [ok]: AOF will trigger limit when AOFRW fails many times (2365 ms) === () Starting server 127.0.0.1:21385 ok Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: AOF will open a temporary INCR AOF to accumulate data until the first AOFRW success when AOF is dynamically enabled (3058 ms) -[37/84 done]: integration/aof-multi-part (16 seconds) +Waiting for background AOF rewrite to finish... [ok]: AOF will open a temporary INCR AOF to accumulate data until the first AOFRW success when AOF is dynamically enabled (4951 ms) +[37/84 done]: integration/aof-multi-part (23 seconds) Testing integration/rdb === () Starting server 127.0.0.1:21386 ok -[ok]: test old version rdb file (5 ms) +[ok]: test old version rdb file (3 ms) === () Starting server 127.0.0.1:21387 ok -[ok]: RDB encoding loading test (14 ms) +[ok]: RDB encoding loading test (31 ms) === () Starting server 127.0.0.1:21388 ok -[ok]: Server started empty with non-existing RDB file (8 ms) +[ok]: Server started empty with non-existing RDB file (4 ms) === () Starting server 127.0.0.1:21389 ok [ok]: Server started empty with empty RDB file (1 ms) === () Starting server 127.0.0.1:21390 ok -[ok]: Test RDB stream encoding (449 ms) -[ok]: Test RDB stream encoding - sanitize dump (20 ms) +[ok]: Test RDB stream encoding (557 ms) +[ok]: Test RDB stream encoding - sanitize dump (36 ms) === () Starting server 127.0.0.1:21391 -[ok]: Server should not start if RDB file can't be open (7 ms) +[ok]: Server should not start if RDB file can't be open (17 ms) === () Starting server 127.0.0.1:21392 -[ok]: Server should not start if RDB is corrupted (5 ms) +[ok]: Server should not start if RDB is corrupted (11 ms) === () Starting server 127.0.0.1:21393 ok -[ok]: Test FLUSHALL aborts bgsave (844 ms) -[ok]: bgsave resets the change counter (206 ms) +[ok]: Test FLUSHALL aborts bgsave (1362 ms) +[ok]: bgsave resets the change counter (111 ms) === () Starting server 127.0.0.1:21394 ok -[ok]: client freed during loading (2220 ms) +[ok]: client freed during loading (4111 ms) === () Starting server 127.0.0.1:21395 ok -[ok]: Test RDB load info (1589 ms) +[ok]: Test RDB load info (1455 ms) === () Starting server 127.0.0.1:21396 ok Keys before bgsave start: 10000 COW info before copy-on-write: 0 current_save_keys_processed info : 0 -COW info before copy-on-write: 376832 +COW info before copy-on-write: 372736 current_save_keys_processed info : 1 -[ok]: Test child sending info (2881 ms) +[ok]: Test child sending info (3039 ms) === () Starting server 127.0.0.1:21397 ok [ok]: script won't load anymore if it's in rdb (0 ms) === () Starting server 127.0.0.1:21398 ok Waiting for background save to finish... Waiting for background save to finish... -Waiting for background save to finish... [ok]: failed bgsave prevents writes (482 ms) -[38/84 done]: integration/rdb (13 seconds) +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... +Waiting for background save to finish... [ok]: failed bgsave prevents writes (855 ms) +[38/84 done]: integration/rdb (19 seconds) Testing integration/corrupt-dump === () Starting server 127.0.0.1:21399 ok -[ok]: corrupt payload: #7445 - with sanitize (322 ms) +[ok]: corrupt payload: #7445 - with sanitize (509 ms) === () Starting server 127.0.0.1:21400 ok -[ok]: corrupt payload: hash with valid zip list header, invalid entry len (328 ms) +[ok]: corrupt payload: hash with valid zip list header, invalid entry len (504 ms) === () Starting server 127.0.0.1:21401 ok -[ok]: corrupt payload: invalid zlbytes header (339 ms) +[ok]: corrupt payload: invalid zlbytes header (500 ms) === () Starting server 127.0.0.1:21402 ok -[ok]: corrupt payload: valid zipped hash header, dup records (336 ms) +[ok]: corrupt payload: valid zipped hash header, dup records (485 ms) === () Starting server 127.0.0.1:21403 ok -[ok]: corrupt payload: quicklist big ziplist prev len (330 ms) +[ok]: corrupt payload: quicklist big ziplist prev len (499 ms) === () Starting server 127.0.0.1:21404 ok -[ok]: corrupt payload: quicklist small ziplist prev len (334 ms) +[ok]: corrupt payload: quicklist small ziplist prev len (529 ms) === () Starting server 127.0.0.1:21405 ok -[ok]: corrupt payload: quicklist ziplist wrong count (324 ms) +[ok]: corrupt payload: quicklist ziplist wrong count (506 ms) === () Starting server 127.0.0.1:21406 ok -[ok]: corrupt payload: #3080 - quicklist (326 ms) +[ok]: corrupt payload: #3080 - quicklist (431 ms) === () Starting server 127.0.0.1:21407 ok -[ok]: corrupt payload: quicklist with empty ziplist (341 ms) +[ok]: corrupt payload: quicklist with empty ziplist (525 ms) === () Starting server 127.0.0.1:21408 ok -[ok]: corrupt payload: quicklist encoded_len is 0 (317 ms) +[ok]: corrupt payload: quicklist encoded_len is 0 (399 ms) === () Starting server 127.0.0.1:21409 ok -[ok]: corrupt payload: quicklist listpack entry start with EOF (334 ms) +[ok]: corrupt payload: quicklist listpack entry start with EOF (691 ms) === () Starting server 127.0.0.1:21410 ok -[ok]: corrupt payload: #3080 - ziplist (328 ms) +[ok]: corrupt payload: #3080 - ziplist (536 ms) === () Starting server 127.0.0.1:21411 -[ok]: corrupt payload: load corrupted rdb with no CRC - #3505 (207 ms) +[ok]: corrupt payload: load corrupted rdb with no CRC - #3505 (349 ms) === () Starting server 127.0.0.1:21412 ok -[ok]: corrupt payload: load corrupted rdb with empty keys (449 ms) +[ok]: corrupt payload: load corrupted rdb with empty keys (765 ms) === () Starting server 127.0.0.1:21413 ok -[ok]: corrupt payload: load corrupted rdb with empty keys (435 ms) +[ok]: corrupt payload: load corrupted rdb with empty keys (656 ms) === () Starting server 127.0.0.1:21414 ok -[ok]: corrupt payload: listpack invalid size header (357 ms) +[ok]: corrupt payload: listpack invalid size header (495 ms) === () Starting server 127.0.0.1:21415 ok -[ok]: corrupt payload: listpack too long entry len (312 ms) +[ok]: corrupt payload: listpack too long entry len (428 ms) === () Starting server 127.0.0.1:21416 ok -[ok]: corrupt payload: listpack very long entry len (298 ms) +[ok]: corrupt payload: listpack very long entry len (412 ms) === () Starting server 127.0.0.1:21417 ok -[ok]: corrupt payload: listpack too long entry prev len (323 ms) +[ok]: corrupt payload: listpack too long entry prev len (488 ms) === () Starting server 127.0.0.1:21418 ok -[ok]: corrupt payload: stream with duplicate consumers (333 ms) +[ok]: corrupt payload: stream with duplicate consumers (485 ms) === () Starting server 127.0.0.1:21419 ok -[ok]: corrupt payload: hash ziplist with duplicate records (340 ms) +[ok]: corrupt payload: hash ziplist with duplicate records (880 ms) === () Starting server 127.0.0.1:21420 ok -[ok]: corrupt payload: hash listpack with duplicate records (347 ms) +[ok]: corrupt payload: hash listpack with duplicate records (701 ms) === () Starting server 127.0.0.1:21421 ok -[ok]: corrupt payload: hash listpack with duplicate records - convert (296 ms) +[ok]: corrupt payload: hash listpack with duplicate records - convert (425 ms) === () Starting server 127.0.0.1:21422 ok -[ok]: corrupt payload: hash ziplist uneven record count (349 ms) +[ok]: corrupt payload: hash ziplist uneven record count (579 ms) === () Starting server 127.0.0.1:21423 ok -[ok]: corrupt payload: hash duplicate records (331 ms) +[ok]: corrupt payload: hash duplicate records (646 ms) === () Starting server 127.0.0.1:21424 ok -[ok]: corrupt payload: hash empty zipmap (336 ms) +[ok]: corrupt payload: hash empty zipmap (751 ms) === () Starting server 127.0.0.1:21425 ok -[ok]: corrupt payload: fuzzer findings - NPD in streamIteratorGetID (300 ms) +[ok]: corrupt payload: fuzzer findings - NPD in streamIteratorGetID (444 ms) === () Starting server 127.0.0.1:21426 ok -[ok]: corrupt payload: fuzzer findings - listpack NPD on invalid stream (283 ms) +[ok]: corrupt payload: fuzzer findings - listpack NPD on invalid stream (408 ms) === () Starting server 127.0.0.1:21427 ok -[ok]: corrupt payload: fuzzer findings - NPD in quicklistIndex (850 ms) +[ok]: corrupt payload: fuzzer findings - NPD in quicklistIndex (615 ms) === () Starting server 127.0.0.1:21428 ok -[ok]: corrupt payload: fuzzer findings - encoded entry header reach outside the allocation (415 ms) +[ok]: corrupt payload: fuzzer findings - encoded entry header reach outside the allocation (650 ms) === () Starting server 127.0.0.1:21429 ok -[ok]: corrupt payload: fuzzer findings - invalid ziplist encoding (344 ms) +[ok]: corrupt payload: fuzzer findings - invalid ziplist encoding (635 ms) === () Starting server 127.0.0.1:21430 ok -[ok]: corrupt payload: fuzzer findings - hash crash (344 ms) +[ok]: corrupt payload: fuzzer findings - hash crash (1211 ms) === () Starting server 127.0.0.1:21431 ok -[ok]: corrupt payload: fuzzer findings - uneven entry count in hash (334 ms) +[ok]: corrupt payload: fuzzer findings - uneven entry count in hash (1895 ms) === () Starting server 127.0.0.1:21432 ok -[ok]: corrupt payload: fuzzer findings - invalid read in lzf_decompress (336 ms) +[ok]: corrupt payload: fuzzer findings - invalid read in lzf_decompress (419 ms) === () Starting server 127.0.0.1:21433 ok -[ok]: corrupt payload: fuzzer findings - leak in rdbloading due to dup entry in set (333 ms) +[ok]: corrupt payload: fuzzer findings - leak in rdbloading due to dup entry in set (519 ms) === () Starting server 127.0.0.1:21434 ok -[ok]: corrupt payload: fuzzer findings - empty intset (333 ms) +[ok]: corrupt payload: fuzzer findings - empty intset (391 ms) === () Starting server 127.0.0.1:21435 ok -[ok]: corrupt payload: fuzzer findings - zset ziplist entry lensize is 0 (332 ms) +[ok]: corrupt payload: fuzzer findings - zset ziplist entry lensize is 0 (519 ms) === () Starting server 127.0.0.1:21436 ok -[ok]: corrupt payload: fuzzer findings - valgrind ziplist prevlen reaches outside the ziplist (345 ms) +[ok]: corrupt payload: fuzzer findings - valgrind ziplist prevlen reaches outside the ziplist (516 ms) === () Starting server 127.0.0.1:21437 ok -[ok]: corrupt payload: fuzzer findings - valgrind - bad rdbLoadDoubleValue (324 ms) +[ok]: corrupt payload: fuzzer findings - valgrind - bad rdbLoadDoubleValue (442 ms) === () Starting server 127.0.0.1:21438 ok -[ok]: corrupt payload: fuzzer findings - valgrind ziplist prev too big (322 ms) +[ok]: corrupt payload: fuzzer findings - valgrind ziplist prev too big (494 ms) === () Starting server 127.0.0.1:21439 ok -[ok]: corrupt payload: fuzzer findings - lzf decompression fails, avoid valgrind invalid read (418 ms) +[ok]: corrupt payload: fuzzer findings - lzf decompression fails, avoid valgrind invalid read (519 ms) === () Starting server 127.0.0.1:21440 ok -[ok]: corrupt payload: fuzzer findings - stream bad lp_count (307 ms) +[ok]: corrupt payload: fuzzer findings - stream bad lp_count (628 ms) === () Starting server 127.0.0.1:21441 ok -[ok]: corrupt payload: fuzzer findings - stream bad lp_count - unsanitized (301 ms) +[ok]: corrupt payload: fuzzer findings - stream bad lp_count - unsanitized (422 ms) === () Starting server 127.0.0.1:21442 ok -[ok]: corrupt payload: fuzzer findings - stream integrity check issue (329 ms) +[ok]: corrupt payload: fuzzer findings - stream integrity check issue (486 ms) === () Starting server 127.0.0.1:21443 ok -[ok]: corrupt payload: fuzzer findings - infinite loop (302 ms) +[ok]: corrupt payload: fuzzer findings - infinite loop (450 ms) === () Starting server 127.0.0.1:21444 ok -[ok]: corrupt payload: fuzzer findings - hash ziplist too long entry len (319 ms) +[ok]: corrupt payload: fuzzer findings - hash ziplist too long entry len (533 ms) === () Starting server 127.0.0.1:21445 ok -[ok]: corrupt payload: OOM in rdbGenericLoadStringObject (328 ms) +[ok]: corrupt payload: OOM in rdbGenericLoadStringObject (385 ms) === () Starting server 127.0.0.1:21446 ok -[ok]: corrupt payload: fuzzer findings - OOM in dictExpand (312 ms) +[ok]: corrupt payload: fuzzer findings - OOM in dictExpand (497 ms) === () Starting server 127.0.0.1:21447 ok -[ok]: corrupt payload: fuzzer findings - zset ziplist invalid tail offset (317 ms) +[ok]: corrupt payload: fuzzer findings - zset ziplist invalid tail offset (506 ms) === () Starting server 127.0.0.1:21448 ok -[ok]: corrupt payload: fuzzer findings - negative reply length (318 ms) +[ok]: corrupt payload: fuzzer findings - negative reply length (491 ms) === () Starting server 127.0.0.1:21449 ok -[ok]: corrupt payload: fuzzer findings - valgrind negative malloc (376 ms) +[ok]: corrupt payload: fuzzer findings - valgrind negative malloc (529 ms) === () Starting server 127.0.0.1:21450 ok -[ok]: corrupt payload: fuzzer findings - valgrind invalid read (329 ms) +[ok]: corrupt payload: fuzzer findings - valgrind invalid read (543 ms) === () Starting server 127.0.0.1:21451 ok -[ok]: corrupt payload: fuzzer findings - empty hash ziplist (294 ms) +[ok]: corrupt payload: fuzzer findings - empty hash ziplist (527 ms) === () Starting server 127.0.0.1:21452 ok -[ok]: corrupt payload: fuzzer findings - stream with no records (282 ms) +[ok]: corrupt payload: fuzzer findings - stream with no records (694 ms) === () Starting server 127.0.0.1:21453 ok -[ok]: corrupt payload: fuzzer findings - quicklist ziplist tail followed by extra data which start with 0xff (326 ms) +[ok]: corrupt payload: fuzzer findings - quicklist ziplist tail followed by extra data which start with 0xff (521 ms) === () Starting server 127.0.0.1:21454 ok -[ok]: corrupt payload: fuzzer findings - dict init to huge size (318 ms) +[ok]: corrupt payload: fuzzer findings - dict init to huge size (463 ms) === () Starting server 127.0.0.1:21455 ok -[ok]: corrupt payload: fuzzer findings - huge string (335 ms) +[ok]: corrupt payload: fuzzer findings - huge string (469 ms) === () Starting server 127.0.0.1:21456 ok -[ok]: corrupt payload: fuzzer findings - stream PEL without consumer (318 ms) +[ok]: corrupt payload: fuzzer findings - stream PEL without consumer (476 ms) === () Starting server 127.0.0.1:21457 ok -[ok]: corrupt payload: fuzzer findings - stream listpack valgrind issue (308 ms) +[ok]: corrupt payload: fuzzer findings - stream listpack valgrind issue (404 ms) === () Starting server 127.0.0.1:21458 ok -[ok]: corrupt payload: fuzzer findings - stream with bad lpFirst (308 ms) +[ok]: corrupt payload: fuzzer findings - stream with bad lpFirst (504 ms) === () Starting server 127.0.0.1:21459 ok -[ok]: corrupt payload: fuzzer findings - stream listpack lpPrev valgrind issue (300 ms) +[ok]: corrupt payload: fuzzer findings - stream listpack lpPrev valgrind issue (415 ms) === () Starting server 127.0.0.1:21460 ok -[ok]: corrupt payload: fuzzer findings - stream with non-integer entry id (313 ms) +[ok]: corrupt payload: fuzzer findings - stream with non-integer entry id (462 ms) === () Starting server 127.0.0.1:21461 ok -[ok]: corrupt payload: fuzzer findings - empty quicklist (320 ms) +[ok]: corrupt payload: fuzzer findings - empty quicklist (774 ms) === () Starting server 127.0.0.1:21462 ok -[ok]: corrupt payload: fuzzer findings - empty zset (331 ms) +[ok]: corrupt payload: fuzzer findings - empty zset (957 ms) === () Starting server 127.0.0.1:21463 ok -[ok]: corrupt payload: fuzzer findings - hash with len of 0 (319 ms) +[ok]: corrupt payload: fuzzer findings - hash with len of 0 (1201 ms) === () Starting server 127.0.0.1:21464 ok -[ok]: corrupt payload: fuzzer findings - hash listpack first element too long entry len (318 ms) +[ok]: corrupt payload: fuzzer findings - hash listpack first element too long entry len (470 ms) === () Starting server 127.0.0.1:21465 ok -[ok]: corrupt payload: fuzzer findings - stream double free listpack when insert dup node to rax returns 0 (310 ms) +[ok]: corrupt payload: fuzzer findings - stream double free listpack when insert dup node to rax returns 0 (601 ms) === () Starting server 127.0.0.1:21466 ok -[ok]: corrupt payload: fuzzer findings - LCS OOM (341 ms) +[ok]: corrupt payload: fuzzer findings - LCS OOM (505 ms) === () Starting server 127.0.0.1:21467 ok -[ok]: corrupt payload: fuzzer findings - gcc asan reports false leak on assert (284 ms) +[ok]: corrupt payload: fuzzer findings - gcc asan reports false leak on assert (444 ms) === () Starting server 127.0.0.1:21468 ok -[ok]: corrupt payload: fuzzer findings - lpFind invalid access (268 ms) +[ok]: corrupt payload: fuzzer findings - lpFind invalid access (407 ms) === () Starting server 127.0.0.1:21469 ok -[ok]: corrupt payload: fuzzer findings - invalid access in ziplist tail prevlen decoding (328 ms) +[ok]: corrupt payload: fuzzer findings - invalid access in ziplist tail prevlen decoding (1144 ms) === () Starting server 127.0.0.1:21470 ok -[ok]: corrupt payload: fuzzer findings - zset zslInsert with a NAN score (331 ms) +[ok]: corrupt payload: fuzzer findings - zset zslInsert with a NAN score (747 ms) === () Starting server 127.0.0.1:21471 ok -[ok]: corrupt payload: fuzzer findings - streamLastValidID panic (324 ms) +[ok]: corrupt payload: fuzzer findings - streamLastValidID panic (525 ms) === () Starting server 127.0.0.1:21472 ok -[ok]: corrupt payload: fuzzer findings - valgrind fishy value warning (317 ms) -[39/84 done]: integration/corrupt-dump (25 seconds) +[ok]: corrupt payload: fuzzer findings - valgrind fishy value warning (570 ms) +[39/84 done]: integration/corrupt-dump (42 seconds) Testing integration/corrupt-dump-fuzzer === () Starting server 127.0.0.1:21473 ok -Done 14 cycles in 10 seconds. -RESTORE: successful: 8, rejected: 6 -Total commands sent in traffic: 3932, crashes during traffic: 1 (0 by signal). -[ok]: Fuzzer corrupt restore payloads - sanitize_dump: no (10510 ms) +Done 13 cycles in 10 seconds. +RESTORE: successful: 9, rejected: 4 +Total commands sent in traffic: 2246, crashes during traffic: 3 (0 by signal). +[ok]: Fuzzer corrupt restore payloads - sanitize_dump: no (9950 ms) === () Starting server 127.0.0.1:21474 ok -Done 16 cycles in 10 seconds. -RESTORE: successful: 8, rejected: 8 -Total commands sent in traffic: 4775, crashes during traffic: 0 (0 by signal). -[ok]: Fuzzer corrupt restore payloads - sanitize_dump: yes (10024 ms) -[40/84 done]: integration/corrupt-dump-fuzzer (21 seconds) +Done 12 cycles in 10 seconds. +RESTORE: successful: 10, rejected: 2 +Total commands sent in traffic: 1834, crashes during traffic: 0 (0 by signal). +[ok]: Fuzzer corrupt restore payloads - sanitize_dump: yes (9945 ms) +[40/84 done]: integration/corrupt-dump-fuzzer (20 seconds) Testing integration/convert-zipmap-hash-on-load === () Starting server 127.0.0.1:21475 ok -[ok]: RDB load zipmap hash: converts to listpack (10 ms) +[ok]: RDB load zipmap hash: converts to listpack (1 ms) === () Starting server 127.0.0.1:21476 ok -[ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-entries is exceeded (5 ms) +[ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-entries is exceeded (3 ms) === () Starting server 127.0.0.1:21477 ok -[ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-value is exceeded (9 ms) -[41/84 done]: integration/convert-zipmap-hash-on-load (1 seconds) +[ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-value is exceeded (2 ms) +[41/84 done]: integration/convert-zipmap-hash-on-load (2 seconds) Testing integration/convert-ziplist-hash-on-load === () Starting server 127.0.0.1:21478 ok -[ok]: RDB load ziplist hash: converts to listpack when RDB loading (1 ms) +[ok]: RDB load ziplist hash: converts to listpack when RDB loading (28 ms) === () Starting server 127.0.0.1:21479 ok -[ok]: RDB load ziplist hash: converts to hash table when hash-max-ziplist-entries is exceeded (6 ms) -[42/84 done]: integration/convert-ziplist-hash-on-load (0 seconds) +[ok]: RDB load ziplist hash: converts to hash table when hash-max-ziplist-entries is exceeded (5 ms) +[42/84 done]: integration/convert-ziplist-hash-on-load (1 seconds) Testing integration/convert-ziplist-zset-on-load === () Starting server 127.0.0.1:21480 ok -[ok]: RDB load ziplist zset: converts to listpack when RDB loading (5 ms) +[ok]: RDB load ziplist zset: converts to listpack when RDB loading (2 ms) === () Starting server 127.0.0.1:21481 ok -[ok]: RDB load ziplist zset: converts to skiplist when zset-max-ziplist-entries is exceeded (9 ms) +[ok]: RDB load ziplist zset: converts to skiplist when zset-max-ziplist-entries is exceeded (5 ms) [43/84 done]: integration/convert-ziplist-zset-on-load (1 seconds) Testing integration/logging === () Starting server 127.0.0.1:21482 ok -{src/redis-server 127.0.0.1:21482(debugCommand+0x1144)[0x562558f6d274]} 44 -[ok]: Server is able to generate a stack trace on selected systems (215 ms) +{src/redis-server 127.0.0.1:21482(debugCommand+0x1144)[0x557a909e5274]} 44 +[ok]: Server is able to generate a stack trace on selected systems (244 ms) === () Starting server 127.0.0.1:21483 ok {------ STACK TRACE ------} 40 -[ok]: Crash report generated on SIGABRT (13 ms) +[ok]: Crash report generated on SIGABRT (36 ms) === () Starting server 127.0.0.1:21484 ok {------ STACK TRACE ------} 40 -[ok]: Crash report generated on DEBUG SEGFAULT (12 ms) -[44/84 done]: integration/logging (1 seconds) +[ok]: Crash report generated on DEBUG SEGFAULT (13 ms) +[44/84 done]: integration/logging (2 seconds) Testing integration/psync2 === (psync2 external:skip) Starting server 127.0.0.1:21485 ok === () Starting server 127.0.0.1:21486 ok @@ -3413,284 +3736,282 @@ === () Starting server 127.0.0.1:21488 ok === () Starting server 127.0.0.1:21489 ok [ok]: PSYNC2: --- CYCLE 1 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #4 as master (0 ms) -[ok]: PSYNC2: Set #0 to replicate from #4 (3 ms) -[ok]: PSYNC2: Set #1 to replicate from #4 (7 ms) -[ok]: PSYNC2: Set #2 to replicate from #4 (0 ms) -[ok]: PSYNC2: Set #3 to replicate from #1 (1 ms) -[ok]: PSYNC2: cluster is consistent after failover (11 ms) +[ok]: PSYNC2: [NEW LAYOUT] Set #3 as master (3 ms) +[ok]: PSYNC2: Set #0 to replicate from #2 (8 ms) +[ok]: PSYNC2: Set #4 to replicate from #3 (7 ms) +[ok]: PSYNC2: Set #1 to replicate from #3 (0 ms) +[ok]: PSYNC2: Set #2 to replicate from #1 (1 ms) +[ok]: PSYNC2: cluster is consistent after failover (5 ms) [ok]: PSYNC2: generate load while killing replication links (5000 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 9067) (10 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (2 ms) +[ok]: PSYNC2: cluster is consistent after load (x = 4357) (24 ms) +[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (5 ms) [ok]: PSYNC2: --- CYCLE 2 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #0 as master (4 ms) -[ok]: PSYNC2: Set #4 to replicate from #0 (1 ms) -[ok]: PSYNC2: Set #1 to replicate from #0 (1 ms) +[ok]: PSYNC2: [NEW LAYOUT] Set #1 as master (7 ms) +[ok]: PSYNC2: Set #4 to replicate from #3 (1 ms) +[ok]: PSYNC2: Set #0 to replicate from #1 (1 ms) +[ok]: PSYNC2: Set #2 to replicate from #1 (1 ms) +[ok]: PSYNC2: Set #3 to replicate from #0 (0 ms) +[ok]: PSYNC2: cluster is consistent after failover (18 ms) +[ok]: PSYNC2: generate load while killing replication links (5001 ms) +[ok]: PSYNC2: cluster is consistent after load (x = 11774) (1007 ms) +[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (11 ms) +[ok]: PSYNC2: --- CYCLE 3 --- (0 ms) +[ok]: PSYNC2: [NEW LAYOUT] Set #4 as master (1 ms) +[ok]: PSYNC2: Set #0 to replicate from #4 (1 ms) +[ok]: PSYNC2: Set #1 to replicate from #4 (13 ms) [ok]: PSYNC2: Set #2 to replicate from #4 (1 ms) [ok]: PSYNC2: Set #3 to replicate from #4 (1 ms) -[ok]: PSYNC2: cluster is consistent after failover (2 ms) -[ok]: PSYNC2: generate load while killing replication links (5003 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 16833) (2 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (3 ms) -[ok]: PSYNC2: --- CYCLE 3 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #2 as master (1 ms) -[ok]: PSYNC2: Set #0 to replicate from #1 (0 ms) -[ok]: PSYNC2: Set #4 to replicate from #3 (3 ms) -[ok]: PSYNC2: Set #1 to replicate from #3 (1 ms) -[ok]: PSYNC2: Set #3 to replicate from #2 (1 ms) -[ok]: PSYNC2: cluster is consistent after failover (2 ms) -[ok]: PSYNC2: generate load while killing replication links (5001 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 24816) (3 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (2 ms) +[ok]: PSYNC2: cluster is consistent after failover (13 ms) +[ok]: PSYNC2: generate load while killing replication links (5007 ms) +[ok]: PSYNC2: cluster is consistent after load (x = 16617) (2 ms) +[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (14 ms) [ok]: PSYNC2: --- CYCLE 4 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #1 as master (1 ms) -[ok]: PSYNC2: Set #4 to replicate from #0 (0 ms) -[ok]: PSYNC2: Set #0 to replicate from #1 (0 ms) +[ok]: PSYNC2: [NEW LAYOUT] Set #1 as master (8 ms) +[ok]: PSYNC2: Set #4 to replicate from #2 (1 ms) +[ok]: PSYNC2: Set #0 to replicate from #1 (5 ms) [ok]: PSYNC2: Set #2 to replicate from #3 (1 ms) -[ok]: PSYNC2: Set #3 to replicate from #1 (3 ms) -[ok]: PSYNC2: cluster is consistent after failover (9 ms) +[ok]: PSYNC2: Set #3 to replicate from #1 (2 ms) +[ok]: PSYNC2: cluster is consistent after failover (2 ms) [ok]: PSYNC2: generate load while killing replication links (5000 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 32930) (1 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (2 ms) +[ok]: PSYNC2: cluster is consistent after load (x = 20767) (25 ms) +[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (6 ms) [ok]: PSYNC2: --- CYCLE 5 --- (0 ms) -[ok]: PSYNC2: [NEW LAYOUT] Set #1 as master (4 ms) -[ok]: PSYNC2: Set #0 to replicate from #2 (0 ms) -[ok]: PSYNC2: Set #4 to replicate from #1 (0 ms) -[ok]: PSYNC2: Set #2 to replicate from #4 (0 ms) +[ok]: PSYNC2: [NEW LAYOUT] Set #1 as master (1 ms) +[ok]: PSYNC2: Set #4 to replicate from #0 (0 ms) +[ok]: PSYNC2: Set #0 to replicate from #2 (8 ms) +[ok]: PSYNC2: Set #2 to replicate from #1 (6 ms) [ok]: PSYNC2: Set #3 to replicate from #2 (0 ms) -[ok]: PSYNC2: cluster is consistent after failover (2 ms) +[ok]: PSYNC2: cluster is consistent after failover (11 ms) [ok]: PSYNC2: generate load while killing replication links (5000 ms) -[ok]: PSYNC2: cluster is consistent after load (x = 40171) (5 ms) -[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (4 ms) -[ok]: PSYNC2: Bring the master back again for next test (7 ms) -[ok]: PSYNC2: Partial resync after restart using RDB aux fields (300 ms) -[45/84 done]: integration/psync2 (44 seconds) +[ok]: PSYNC2: cluster is consistent after load (x = 24259) (2 ms) +[ok]: PSYNC2: total sum of full synchronizations is exactly 4 (12 ms) +[ok]: PSYNC2: Bring the master back again for next test (24 ms) +[ok]: PSYNC2: Partial resync after restart using RDB aux fields (489 ms) +[45/84 done]: integration/psync2 (48 seconds) Testing integration/psync2-reg === (psync2 external:skip) Starting server 127.0.0.1:21490 ok === () Starting server 127.0.0.1:21491 ok === () Starting server 127.0.0.1:21492 ok -[ok]: PSYNC2 #3899 regression: setup (1032 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (2 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) +[ok]: PSYNC2 #3899 regression: setup (1056 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (2 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) [ok]: PSYNC2 #3899 regression: kill first replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (0 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (1 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (5 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (12 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (2 ms) +[ok]: PSYNC2 #3899 regression: kill first replica (9 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (0 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (2 ms) [ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) +[ok]: PSYNC2 #3899 regression: kill chained replica (5 ms) [ok]: PSYNC2 #3899 regression: kill first replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (4 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (8 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) [ok]: PSYNC2 #3899 regression: kill first replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill first replica (5 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: kill chained replica (1 ms) -[ok]: PSYNC2 #3899 regression: verify consistency (48 ms) -[46/84 done]: integration/psync2-reg (23 seconds) +[ok]: PSYNC2 #3899 regression: kill chained replica (9 ms) +[ok]: PSYNC2 #3899 regression: verify consistency (92 ms) +[46/84 done]: integration/psync2-reg (24 seconds) Testing integration/psync2-pingoff === (psync2 external:skip) Starting server 127.0.0.1:21493 ok === () Starting server 127.0.0.1:21494 ok -[ok]: PSYNC2 pingoff: setup (1024 ms) -[ok]: PSYNC2 pingoff: write and wait replication (7 ms) -[ok]: PSYNC2 pingoff: pause replica and promote it (5004 ms) -[ok]: Make the old master a replica of the new one and check conditions (1012 ms) +[ok]: PSYNC2 pingoff: setup (1025 ms) +[ok]: PSYNC2 pingoff: write and wait replication (1004 ms) +[ok]: PSYNC2 pingoff: pause replica and promote it (5019 ms) +[ok]: Make the old master a replica of the new one and check conditions (1020 ms) === (psync2 external:skip) Starting server 127.0.0.1:21495 ok === () Starting server 127.0.0.1:21496 ok === () Starting server 127.0.0.1:21497 ok === () Starting server 127.0.0.1:21498 ok === () Starting server 127.0.0.1:21499 ok -[ok]: test various edge cases of repl topology changes with missing pings at the end (5128 ms) +[ok]: test various edge cases of repl topology changes with missing pings at the end (5919 ms) === (psync2 external:skip) Starting server 127.0.0.1:21500 ok === () Starting server 127.0.0.1:21501 ok === () Starting server 127.0.0.1:21502 ok -[ok]: Chained replicas disconnect when replica re-connect with the same master (3956 ms) -[47/84 done]: integration/psync2-pingoff (19 seconds) +[ok]: Chained replicas disconnect when replica re-connect with the same master (2955 ms) +[47/84 done]: integration/psync2-pingoff (23 seconds) Testing integration/psync2-master-restart === (psync2 external:skip) Starting server 127.0.0.1:21503 ok === () Starting server 127.0.0.1:21504 ok === () Starting server 127.0.0.1:21505 ok -[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields when offset is 0 (205 ms) -[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with data (1224 ms) -[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with expire (2849 ms) -[ok]: PSYNC2: Full resync after Master restart when too many key expired (4298 ms) -[48/84 done]: integration/psync2-master-restart (12 seconds) +[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields when offset is 0 (1996 ms) +[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with data (1409 ms) +[ok]: PSYNC2: Partial resync after Master restart using RDB aux fields with expire (5867 ms) +[ok]: PSYNC2: Full resync after Master restart when too many key expired (4370 ms) +[48/84 done]: integration/psync2-master-restart (25 seconds) Testing integration/failover === (failover external:skip) Starting server 127.0.0.1:21506 ok === () Starting server 127.0.0.1:21507 ok === () Starting server 127.0.0.1:21508 ok -[ok]: failover command fails without connected replica (8 ms) -[ok]: setup replication for following tests (109 ms) -[ok]: failover command fails with invalid host (1 ms) +[ok]: failover command fails without connected replica (1 ms) +[ok]: setup replication for following tests (124 ms) +[ok]: failover command fails with invalid host (0 ms) [ok]: failover command fails with invalid port (0 ms) -[ok]: failover command fails with just force and timeout (1 ms) +[ok]: failover command fails with just force and timeout (0 ms) [ok]: failover command fails when sent to a replica (0 ms) -[ok]: failover command fails with force without timeout (1 ms) -[ok]: failover command to specific replica works (991 ms) -[ok]: failover command to any replica works (560 ms) -[ok]: failover to a replica with force works (458 ms) -[ok]: failover with timeout aborts if replica never catches up (568 ms) -[ok]: failovers can be aborted (36 ms) -[ok]: failover aborts if target rejects sync request (684 ms) -[49/84 done]: integration/failover (6 seconds) +[ok]: failover command fails with force without timeout (0 ms) +[ok]: failover command to specific replica works (2243 ms) +[ok]: failover command to any replica works (1186 ms) +[ok]: failover to a replica with force works (557 ms) +[ok]: failover with timeout aborts if replica never catches up (634 ms) +[ok]: failovers can be aborted (101 ms) +[ok]: failover aborts if target rejects sync request (925 ms) +[49/84 done]: integration/failover (9 seconds) Testing integration/redis-cli === (cli) Starting server 127.0.0.1:21509 ok -[ok]: Interactive CLI: INFO response should be printed raw (123 ms) -[ok]: Interactive CLI: Status reply (121 ms) -[ok]: Interactive CLI: Integer reply (112 ms) -[ok]: Interactive CLI: Bulk reply (112 ms) -[ok]: Interactive CLI: Multi-bulk reply (118 ms) -[ok]: Interactive CLI: Parsing quotes (486 ms) -[ok]: Non-interactive TTY CLI: Status reply (49 ms) -[ok]: Non-interactive TTY CLI: Integer reply (31 ms) -[ok]: Non-interactive TTY CLI: Bulk reply (31 ms) -[ok]: Non-interactive TTY CLI: Multi-bulk reply (53 ms) -[ok]: Non-interactive TTY CLI: Read last argument from pipe (87 ms) -[ok]: Non-interactive TTY CLI: Read last argument from file (60 ms) -[ok]: Non-interactive TTY CLI: Escape character in JSON mode (448 ms) -[ok]: Non-interactive non-TTY CLI: Status reply (47 ms) -[ok]: Non-interactive non-TTY CLI: Integer reply (30 ms) -[ok]: Non-interactive non-TTY CLI: Bulk reply (30 ms) -[ok]: Non-interactive non-TTY CLI: Multi-bulk reply (31 ms) -[ok]: Non-interactive non-TTY CLI: Quoted input arguments (31 ms) -[ok]: Non-interactive non-TTY CLI: No accidental unquoting of input arguments (61 ms) -[ok]: Non-interactive non-TTY CLI: Invalid quoted input arguments (61 ms) -[ok]: Non-interactive non-TTY CLI: Read last argument from pipe (68 ms) -[ok]: Non-interactive non-TTY CLI: Read last argument from file (64 ms) -[ok]: Dumping an RDB - functions only: no (3113 ms) -[ok]: Dumping an RDB - functions only: yes (1379 ms) -[ok]: Scan mode (1077 ms) -[ok]: Connecting as a replica (2214 ms) -[ok]: Piping raw protocol (1694 ms) -[ok]: Options -X with illegal argument (105 ms) -[ok]: DUMP RESTORE with -x option (329 ms) -[ok]: DUMP RESTORE with -X option (324 ms) -[50/84 done]: integration/redis-cli (12 seconds) +[ok]: Interactive CLI: INFO response should be printed raw (116 ms) +[ok]: Interactive CLI: Status reply (133 ms) +[ok]: Interactive CLI: Integer reply (138 ms) +[ok]: Interactive CLI: Bulk reply (115 ms) +[ok]: Interactive CLI: Multi-bulk reply (169 ms) +[ok]: Interactive CLI: Parsing quotes (519 ms) +[ok]: Non-interactive TTY CLI: Status reply (72 ms) +[ok]: Non-interactive TTY CLI: Integer reply (2947 ms) +[ok]: Non-interactive TTY CLI: Bulk reply (121 ms) +[ok]: Non-interactive TTY CLI: Multi-bulk reply (76 ms) +[ok]: Non-interactive TTY CLI: Read last argument from pipe (179 ms) +[ok]: Non-interactive TTY CLI: Read last argument from file (152 ms) +[ok]: Non-interactive TTY CLI: Escape character in JSON mode (764 ms) +[ok]: Non-interactive non-TTY CLI: Status reply (127 ms) +[ok]: Non-interactive non-TTY CLI: Integer reply (77 ms) +[ok]: Non-interactive non-TTY CLI: Bulk reply (83 ms) +[ok]: Non-interactive non-TTY CLI: Multi-bulk reply (73 ms) +[ok]: Non-interactive non-TTY CLI: Quoted input arguments (79 ms) +[ok]: Non-interactive non-TTY CLI: No accidental unquoting of input arguments (162 ms) +[ok]: Non-interactive non-TTY CLI: Invalid quoted input arguments (1358 ms) +[ok]: Non-interactive non-TTY CLI: Read last argument from pipe (193 ms) +[ok]: Non-interactive non-TTY CLI: Read last argument from file (139 ms) +[ok]: Dumping an RDB - functions only: no (9123 ms) +[ok]: Dumping an RDB - functions only: yes (3132 ms) +[ok]: Scan mode (1041 ms) +[ok]: Connecting as a replica (2290 ms) +[ok]: Piping raw protocol (8549 ms) +[ok]: Options -X with illegal argument (251 ms) +[ok]: DUMP RESTORE with -x option (2093 ms) +[ok]: DUMP RESTORE with -X option (730 ms) +[50/84 done]: integration/redis-cli (37 seconds) Testing integration/redis-benchmark === (benchmark network external:skip) Starting server 127.0.0.1:21510 ok === () Starting server 127.0.0.1:21511 ok -[ok]: benchmark: set,get (184 ms) -[ok]: benchmark: connecting using URI set,get (172 ms) -[ok]: benchmark: connecting using URI with authentication set,get (183 ms) -[ok]: benchmark: full test suite (2030 ms) -[ok]: benchmark: multi-thread set,get (641 ms) -[ok]: benchmark: pipelined full set,get (646 ms) -[ok]: benchmark: arbitrary command (138 ms) -[ok]: benchmark: keyspace length (481 ms) -[ok]: benchmark: clients idle mode should return error when reached maxclients limit (61 ms) -[ok]: benchmark: specific tls-ciphers (535 ms) -[ok]: benchmark: tls connecting using URI with authentication set,get (159 ms) -[ok]: benchmark: specific tls-ciphersuites (534 ms) -[51/84 done]: integration/redis-benchmark (7 seconds) +[ok]: benchmark: set,get (1012 ms) +[ok]: benchmark: connecting using URI set,get (715 ms) +[ok]: benchmark: connecting using URI with authentication set,get (485 ms) +[ok]: benchmark: full test suite (6575 ms) +[ok]: benchmark: multi-thread set,get (911 ms) +[ok]: benchmark: pipelined full set,get (2146 ms) +[ok]: benchmark: arbitrary command (862 ms) +[ok]: benchmark: keyspace length (2951 ms) +[ok]: benchmark: clients idle mode should return error when reached maxclients limit (218 ms) +[ok]: benchmark: specific tls-ciphers (1917 ms) +[ok]: benchmark: tls connecting using URI with authentication set,get (913 ms) +[ok]: benchmark: specific tls-ciphersuites (1947 ms) +[51/84 done]: integration/redis-benchmark (22 seconds) Testing integration/dismiss-mem === (dismiss external:skip) Starting server 127.0.0.1:21512 ok -Waiting for background AOF rewrite to finish... -Waiting for background AOF rewrite to finish... [ok]: dismiss all data types memory (1411 ms) +Waiting for background AOF rewrite to finish... [ok]: dismiss all data types memory (2356 ms) Waiting for background save to finish... -Waiting for background save to finish... [ok]: dismiss client output buffer (2754 ms) +Waiting for background save to finish... [ok]: dismiss client output buffer (1493 ms) -Waiting for background save to finish... [ok]: dismiss client query buffer (186 ms) +Waiting for background save to finish... +Waiting for background save to finish... [ok]: dismiss client query buffer (315 ms) === () Starting server 127.0.0.1:21513 ok Waiting for background save to finish... -Waiting for background save to finish... [ok]: dismiss replication backlog (1387 ms) -[52/84 done]: integration/dismiss-mem (6 seconds) +Waiting for background save to finish... +Waiting for background save to finish... [ok]: dismiss replication backlog (1705 ms) +[52/84 done]: integration/dismiss-mem (8 seconds) Testing unit/pubsub === (pubsub network) Starting server 127.0.0.1:21514 ok -[ok]: Pub/Sub PING (26 ms) -[ok]: PUBLISH/SUBSCRIBE basics (31 ms) -[ok]: PUBLISH/SUBSCRIBE with two clients (52 ms) -[ok]: PUBLISH/SUBSCRIBE after UNSUBSCRIBE without arguments (32 ms) -[ok]: SUBSCRIBE to one channel more than once (27 ms) -[ok]: UNSUBSCRIBE from non-subscribed channels (25 ms) -[ok]: PUBLISH/PSUBSCRIBE basics (37 ms) -[ok]: PUBLISH/PSUBSCRIBE with two clients (47 ms) -[ok]: PUBLISH/PSUBSCRIBE after PUNSUBSCRIBE without arguments (31 ms) -[ok]: PubSub messages with CLIENT REPLY OFF (120 ms) -[ok]: PUNSUBSCRIBE from non-subscribed channels (31 ms) +[ok]: Pub/Sub PING (67 ms) +[ok]: PUBLISH/SUBSCRIBE basics (82 ms) +[ok]: PUBLISH/SUBSCRIBE with two clients (151 ms) +[ok]: PUBLISH/SUBSCRIBE after UNSUBSCRIBE without arguments (1968 ms) +[ok]: SUBSCRIBE to one channel more than once (20 ms) +[ok]: UNSUBSCRIBE from non-subscribed channels (19 ms) +[ok]: PUBLISH/PSUBSCRIBE basics (22 ms) +[ok]: PUBLISH/PSUBSCRIBE with two clients (37 ms) +[ok]: PUBLISH/PSUBSCRIBE after PUNSUBSCRIBE without arguments (21 ms) +[ok]: PubSub messages with CLIENT REPLY OFF (122 ms) +[ok]: PUNSUBSCRIBE from non-subscribed channels (98 ms) [ok]: NUMSUB returns numbers, not strings (#1561) (1 ms) -[ok]: NUMPATs returns the number of unique patterns (60 ms) -[ok]: Mix SUBSCRIBE and PSUBSCRIBE (32 ms) +[ok]: NUMPATs returns the number of unique patterns (182 ms) +[ok]: Mix SUBSCRIBE and PSUBSCRIBE (46 ms) [ok]: PUNSUBSCRIBE and UNSUBSCRIBE should always reply (1 ms) -[ok]: Keyspace notifications: we receive keyspace notifications (75 ms) -[ok]: Keyspace notifications: we receive keyevent notifications (67 ms) -[ok]: Keyspace notifications: we can receive both kind of events (28 ms) -[ok]: Keyspace notifications: we are able to mask events (36 ms) -[ok]: Keyspace notifications: general events test (33 ms) -[ok]: Keyspace notifications: list events test (32 ms) -[ok]: Keyspace notifications: set events test (27 ms) -[ok]: Keyspace notifications: zset events test (33 ms) -[ok]: Keyspace notifications: hash events test (35 ms) -[ok]: Keyspace notifications: stream events test (32 ms) -[ok]: Keyspace notifications: expired events (triggered expire) (128 ms) -[ok]: Keyspace notifications: expired events (background expire) (206 ms) -[ok]: Keyspace notifications: evicted events (33 ms) +[ok]: Keyspace notifications: we receive keyspace notifications (110 ms) +[ok]: Keyspace notifications: we receive keyevent notifications (131 ms) +[ok]: Keyspace notifications: we can receive both kind of events (101 ms) +[ok]: Keyspace notifications: we are able to mask events (86 ms) +[ok]: Keyspace notifications: general events test (75 ms) +[ok]: Keyspace notifications: list events test (78 ms) +[ok]: Keyspace notifications: set events test (64 ms) +[ok]: Keyspace notifications: zset events test (61 ms) +[ok]: Keyspace notifications: hash events test (66 ms) +[ok]: Keyspace notifications: stream events test (58 ms) +[ok]: Keyspace notifications: expired events (triggered expire) (168 ms) +[ok]: Keyspace notifications: expired events (background expire) (195 ms) +[ok]: Keyspace notifications: evicted events (31 ms) [ok]: Keyspace notifications: test CONFIG GET/SET of event flags (2 ms) -[ok]: Keyspace notifications: new key test (28 ms) -[53/84 done]: unit/pubsub (2 seconds) +[ok]: Keyspace notifications: new key test (21 ms) +[53/84 done]: unit/pubsub (5 seconds) Testing unit/pubsubshard === (pubsubshard external:skip) Starting server 127.0.0.1:21515 ok -[ok]: SPUBLISH/SSUBSCRIBE basics (34 ms) -[ok]: SPUBLISH/SSUBSCRIBE with two clients (32 ms) -[ok]: SPUBLISH/SSUBSCRIBE after UNSUBSCRIBE without arguments (17 ms) -[ok]: SSUBSCRIBE to one channel more than once (16 ms) -[ok]: SUNSUBSCRIBE from non-subscribed channels (17 ms) +[ok]: SPUBLISH/SSUBSCRIBE basics (23 ms) +[ok]: SPUBLISH/SSUBSCRIBE with two clients (35 ms) +[ok]: SPUBLISH/SSUBSCRIBE after UNSUBSCRIBE without arguments (19 ms) +[ok]: SSUBSCRIBE to one channel more than once (21 ms) +[ok]: SUNSUBSCRIBE from non-subscribed channels (18 ms) [ok]: PUBSUB command basics (0 ms) -[ok]: SPUBLISH/SSUBSCRIBE with two clients (63 ms) -[ok]: SPUBLISH/SSUBSCRIBE with PUBLISH/SUBSCRIBE (62 ms) -[ok]: PubSubShard with CLIENT REPLY OFF (118 ms) +[ok]: SPUBLISH/SSUBSCRIBE with two clients (35 ms) +[ok]: SPUBLISH/SSUBSCRIBE with PUBLISH/SUBSCRIBE (175 ms) +[ok]: PubSubShard with CLIENT REPLY OFF (145 ms) === (pubsubshard external:skip) Starting server 127.0.0.1:21516 ok === (pubsubshard external:skip) Starting server 127.0.0.1:21517 ok [ok]: setup replication for following tests (103 ms) -[ok]: publish message to master and receive on replica (52 ms) -[54/84 done]: unit/pubsubshard (2 seconds) +[ok]: publish message to master and receive on replica (102 ms) +[54/84 done]: unit/pubsubshard (4 seconds) Testing unit/slowlog === (slowlog) Starting server 127.0.0.1:21518 ok -[ok]: SLOWLOG - check that it starts with an empty log (0 ms) -[ok]: SLOWLOG - only logs commands taking more time than specified (206 ms) -[ok]: SLOWLOG - max entries is correctly handled (328 ms) -[ok]: SLOWLOG - GET optional argument to limit output len works (1 ms) -[ok]: SLOWLOG - RESET subcommand works (0 ms) -[ok]: SLOWLOG - logged entry sanity check (201 ms) -[ok]: SLOWLOG - Certain commands are omitted that contain sensitive information (3 ms) -[ok]: SLOWLOG - Some commands can redact sensitive fields (2 ms) -[ok]: SLOWLOG - Rewritten commands are logged as their original command (40 ms) -[ok]: SLOWLOG - commands with too many arguments are trimmed (7 ms) -[ok]: SLOWLOG - too long arguments are trimmed (1 ms) -[ok]: SLOWLOG - EXEC is not logged, just executed commands (202 ms) +[ok]: SLOWLOG - check that it starts with an empty log (1 ms) +[ok]: SLOWLOG - only logs commands taking more time than specified (214 ms) +[ok]: SLOWLOG - max entries is correctly handled (71 ms) +[ok]: SLOWLOG - GET optional argument to limit output len works (4 ms) +[ok]: SLOWLOG - RESET subcommand works (1 ms) +[ok]: SLOWLOG - logged entry sanity check (207 ms) +[ok]: SLOWLOG - Certain commands are omitted that contain sensitive information (8 ms) +[ok]: SLOWLOG - Some commands can redact sensitive fields (4 ms) +[ok]: SLOWLOG - Rewritten commands are logged as their original command (93 ms) +[ok]: SLOWLOG - commands with too many arguments are trimmed (28 ms) +[ok]: SLOWLOG - too long arguments are trimmed (7 ms) +[ok]: SLOWLOG - EXEC is not logged, just executed commands (1653 ms) [ok]: SLOWLOG - can clean older entries (203 ms) -[ok]: SLOWLOG - can be disabled (409 ms) -[ok]: SLOWLOG - count must be >= -1 (0 ms) -[ok]: SLOWLOG - get all slow logs (7 ms) -[55/84 done]: unit/slowlog (2 seconds) +[ok]: SLOWLOG - can be disabled (403 ms) +[ok]: SLOWLOG - count must be >= -1 (2 ms) +[ok]: SLOWLOG - get all slow logs (4 ms) +[55/84 done]: unit/slowlog (3 seconds) Testing unit/scripting === (scripting) Starting server 127.0.0.1:21519 ok [ok]: EVAL - Does Lua interpreter replies to our requests? (5 ms) -[ok]: EVAL - Return _G (1 ms) -[ok]: EVAL - Return table with a metatable that raise error (1 ms) -[ok]: EVAL - Return table with a metatable that call redis (5 ms) +[ok]: EVAL - Return _G (0 ms) +[ok]: EVAL - Return table with a metatable that raise error (6 ms) +[ok]: EVAL - Return table with a metatable that call redis (1 ms) [ok]: EVAL - Lua integer -> Redis protocol type conversion (1 ms) [ok]: EVAL - Lua string -> Redis protocol type conversion (1 ms) [ok]: EVAL - Lua true boolean -> Redis protocol type conversion (1 ms) [ok]: EVAL - Lua false boolean -> Redis protocol type conversion (1 ms) [ok]: EVAL - Lua status code reply -> Redis protocol type conversion (1 ms) [ok]: EVAL - Lua error reply -> Redis protocol type conversion (1 ms) -[ok]: EVAL - Lua table -> Redis protocol type conversion (1 ms) +[ok]: EVAL - Lua table -> Redis protocol type conversion (0 ms) [ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (1 ms) -[ok]: EVAL - is Lua able to call Redis API? (1 ms) +[ok]: EVAL - is Lua able to call Redis API? (5 ms) [ok]: EVAL - Redis integer -> Lua type 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 multi bulk -> Lua type conversion (2 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? (2 ms) -[ok]: EVAL - SELECT inside Lua should not affect the caller (1 ms) -[ok]: EVAL - Scripts can't run blpop command (0 ms) +[ok]: EVAL - Is the Lua client using the currently selected DB? (6 ms) +[ok]: EVAL - SELECT inside Lua should not affect the caller (2 ms) +[ok]: EVAL - Scripts can't run blpop command (1 ms) [ok]: EVAL - Scripts can't run brpop command (1 ms) [ok]: EVAL - Scripts can't run brpoplpush command (1 ms) [ok]: EVAL - Scripts can't run blmove command (1 ms) @@ -3699,1117 +4020,1065 @@ [ok]: EVAL - Scripts can't run XREAD and XREADGROUP with BLOCK option (3 ms) [ok]: EVAL - Scripts can run non-deterministic commands (1 ms) [ok]: EVAL - No arguments to redis.call/pcall is considered an error (1 ms) +[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) -[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) -[ok]: EVAL - JSON numeric decoding (0 ms) -[ok]: EVAL - JSON string decoding (0 ms) -[ok]: EVAL - JSON smoke test (0 ms) -[ok]: EVAL - cmsgpack can pack double? (0 ms) +[ok]: EVAL - JSON numeric decoding (1 ms) +[ok]: EVAL - JSON string decoding (1 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 (557 ms) -[ok]: EVAL - cmsgpack can pack and unpack circular references? (7 ms) -[ok]: EVAL - Numerical sanity check from bitop (0 ms) -[ok]: EVAL - Verify minimal bitop functionality (6 ms) +[ok]: EVAL - cmsgpack pack/unpack smoke test (1068 ms) +[ok]: EVAL - cmsgpack can pack and unpack circular references? (2 ms) +[ok]: EVAL - Numerical sanity check from bitop (6 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 (2 ms) -[ok]: Globals protection reading an undeclared global variable (1 ms) +[ok]: redis.sha1hex() implementation (3 ms) +[ok]: Globals protection reading an undeclared global variable (2 ms) [ok]: Globals protection setting an undeclared global* (1 ms) [ok]: lua bit.tohex bug (1 ms) -[ok]: Test an example script DECR_IF_GT (10 ms) -[ok]: EVAL does not leak in the Lua stack (2169 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) (0 ms) -[ok]: Verify negative arg count is error instead of crash (issue #1842) (2 ms) +[ok]: Test an example script DECR_IF_GT (12 ms) +[ok]: EVAL does not leak in the Lua stack (6337 ms) +[ok]: Call Redis command with many args from Lua (issue #1764) (4 ms) +[ok]: Number conversion precision test (issue #1118) (1 ms) +[ok]: String containing number precision test (regression of issue #1118) (4 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 (5 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 (4 ms) -[ok]: Script return recursive object (158 ms) -[ok]: Script check unpack with massive arguments (16 ms) -[ok]: Script read key with expiration set (4 ms) -[ok]: Script del key with expiration set (1 ms) -[ok]: Script ACL check (4 ms) -[ok]: Binary code loading failed (6 ms) -[ok]: Try trick global protection 1 (0 ms) -[ok]: Try trick global protection 2 (1 ms) +[ok]: Script with RESP3 map (47 ms) +[ok]: Script return recursive object (301 ms) +[ok]: Script check unpack with massive arguments (9 ms) +[ok]: Script read key with expiration set (1 ms) +[ok]: Script del key with expiration set (8 ms) +[ok]: Script ACL check (5 ms) +[ok]: Binary code loading failed (1 ms) +[ok]: Try trick global protection 1 (1 ms) +[ok]: Try trick global protection 2 (4 ms) [ok]: Try trick global protection 3 (1 ms) -[ok]: Try trick global protection 4 (0 ms) +[ok]: Try trick global protection 4 (1 ms) [ok]: Try trick readonly table on redis table (1 ms) -[ok]: Try trick readonly table on json table (1 ms) +[ok]: Try trick readonly table on json table (4 ms) [ok]: Try trick readonly table on cmsgpack table (1 ms) -[ok]: Try trick readonly table on bit table (0 ms) -[ok]: Test loadfile are not available (1 ms) +[ok]: Try trick readonly table on bit table (7 ms) +[ok]: Test loadfile are not available (19 ms) [ok]: Test dofile are not available (1 ms) [ok]: Test print are not available (4 ms) === (scripting) Starting server 127.0.0.1:21520 ok -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (421 ms) -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (202 ms) -[ok]: Timedout script does not cause a false dead client (215 ms) -[ok]: Timedout script link is still usable after Lua returns (225 ms) -[ok]: Timedout scripts and unblocked command (561 ms) -[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (240 ms) -[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (19 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (444 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (193 ms) +[ok]: Timedout script does not cause a false dead client (151 ms) +[ok]: Timedout script link is still usable after Lua returns (372 ms) +[ok]: Timedout scripts and unblocked command (503 ms) +[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (244 ms) +[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (24 ms) === (scripting repl needs:debug external:skip) Starting server 127.0.0.1:21521 ok === () Starting server 127.0.0.1:21522 ok -[ok]: Before the replica connects we issue two EVAL commands (5 ms) -[ok]: Connect a replica to the master instance (113 ms) -[ok]: Replication of script multiple pushes to list with BLPOP (28 ms) -[ok]: Lua scripts using SELECT are replicated correctly (9 ms) +[ok]: Before the replica connects we issue two EVAL commands (8 ms) +[ok]: Connect a replica to the master instance (127 ms) +[ok]: Replication of script multiple pushes to list with BLPOP (41 ms) +[ok]: Lua scripts using SELECT are replicated correctly (107 ms) === (scripting repl external:skip) Starting server 127.0.0.1:21523 ok === () Starting server 127.0.0.1:21524 ok -[ok]: Connect a replica to the master instance (125 ms) -[ok]: Redis.replicate_commands() can be issued anywhere now (1 ms) -[ok]: Redis.set_repl() can be issued before replicate_commands() now (1 ms) -[ok]: Redis.set_repl() don't accept invalid values (1 ms) -[ok]: Test selective replication of certain Redis commands from Lua (11 ms) -[ok]: PRNG is seeded randomly for command replication (1 ms) -[ok]: Using side effects is not a problem with command replication (2 ms) +[ok]: Connect a replica to the master instance (117 ms) +[ok]: Redis.replicate_commands() can be issued anywhere now (7 ms) +[ok]: Redis.set_repl() can be issued before replicate_commands() now (2 ms) +[ok]: Redis.set_repl() don't accept invalid values (7 ms) +[ok]: Test selective replication of certain Redis commands from Lua (24 ms) +[ok]: PRNG is seeded randomly for command replication (2 ms) +[ok]: Using side effects is not a problem with command replication (4 ms) === (scripting needs:debug) Starting server 127.0.0.1:21525 ok [ok]: test RESP2/2 big number protocol parsing (1 ms) -[ok]: test RESP2/2 malformed big number protocol parsing (0 ms) -[ok]: test RESP2/2 map protocol parsing (0 ms) +[ok]: test RESP2/2 malformed big number protocol parsing (1 ms) +[ok]: test RESP2/2 map protocol parsing (1 ms) [ok]: test RESP2/2 set protocol parsing (1 ms) -[ok]: test RESP2/2 double protocol parsing (3 ms) -[ok]: test RESP2/2 null protocol parsing (3 ms) -[ok]: test RESP2/2 verbatim protocol parsing (1 ms) -[ok]: test RESP2/2 true protocol parsing (6 ms) -[ok]: test RESP2/2 false protocol parsing (0 ms) -[ok]: test RESP2/3 big number protocol parsing (2 ms) -[ok]: test RESP2/3 malformed big number 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 (0 ms) +[ok]: test RESP2/2 true protocol parsing (1 ms) +[ok]: test RESP2/2 false protocol parsing (1 ms) +[ok]: test RESP2/3 big number protocol parsing (1 ms) +[ok]: test RESP2/3 malformed big number protocol parsing (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 (5 ms) +[ok]: test RESP2/3 null protocol parsing (0 ms) [ok]: test RESP2/3 verbatim protocol parsing (0 ms) -[ok]: test RESP2/3 true protocol parsing (0 ms) +[ok]: test RESP2/3 true protocol parsing (1 ms) [ok]: test RESP2/3 false protocol parsing (0 ms) -[ok]: test RESP3/2 big number protocol parsing (4 ms) -[ok]: test RESP3/2 malformed big number protocol parsing (5 ms) +[ok]: test RESP3/2 big number protocol parsing (1 ms) +[ok]: test RESP3/2 malformed big number protocol parsing (0 ms) [ok]: test RESP3/2 map protocol parsing (1 ms) -[ok]: test RESP3/2 set protocol parsing (4 ms) +[ok]: test RESP3/2 set protocol parsing (0 ms) [ok]: test RESP3/2 double protocol parsing (0 ms) -[ok]: test RESP3/2 null protocol parsing (0 ms) +[ok]: test RESP3/2 null protocol parsing (1 ms) [ok]: test RESP3/2 verbatim protocol parsing (0 ms) -[ok]: test RESP3/2 true protocol parsing (4 ms) -[ok]: test RESP3/2 false protocol parsing (1 ms) -[ok]: test RESP3/3 big number protocol parsing (1 ms) -[ok]: test RESP3/3 malformed big number protocol parsing (1 ms) +[ok]: test RESP3/2 true protocol parsing (1 ms) +[ok]: test RESP3/2 false protocol parsing (0 ms) +[ok]: test RESP3/3 big number protocol parsing (0 ms) +[ok]: test RESP3/3 malformed big number protocol parsing (0 ms) [ok]: test RESP3/3 map protocol parsing (0 ms) -[ok]: test RESP3/3 set 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 (1 ms) +[ok]: test RESP3/3 verbatim protocol parsing (0 ms) [ok]: test RESP3/3 true protocol parsing (1 ms) [ok]: test RESP3/3 false protocol parsing (1 ms) -[ok]: test resp3 attribute protocol parsing (3 ms) -[ok]: Script block the time during execution (11 ms) -[ok]: Script delete the expired key (8 ms) +[ok]: test resp3 attribute protocol parsing (1 ms) +[ok]: Script block the time during execution (16 ms) +[ok]: Script delete the expired key (7 ms) === (scripting) Starting server 127.0.0.1:21526 ok -[ok]: Script - disallow write on OOM (1 ms) -[ok]: EVAL - Does Lua interpreter replies to our requests? (1 ms) -[ok]: EVAL - Return _G (0 ms) +[ok]: Script - disallow write on OOM (2 ms) +[ok]: EVAL - Does Lua interpreter replies to our requests? (5 ms) +[ok]: EVAL - Return _G (1 ms) [ok]: EVAL - Return table with a metatable that raise error (0 ms) -[ok]: EVAL - Return table with a metatable that call redis (1 ms) +[ok]: EVAL - Return table with a metatable that call redis (0 ms) [ok]: EVAL - Lua integer -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua string -> Redis protocol type conversion (0 ms) [ok]: EVAL - Lua true boolean -> Redis protocol type conversion (1 ms) -[ok]: EVAL - Lua false 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 (1 ms) -[ok]: EVAL - Lua table -> Redis protocol type conversion (0 ms) +[ok]: EVAL - Lua error reply -> Redis protocol type conversion (0 ms) +[ok]: EVAL - Lua table -> Redis protocol type conversion (1 ms) [ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? (1 ms) [ok]: EVAL - is Lua able to call Redis API? (0 ms) [ok]: EVALSHA - Can we call a SHA1 if already defined? (0 ms) -[ok]: EVALSHA - Can we call a SHA1 in uppercase? (0 ms) -[ok]: EVALSHA - Do we get an error on invalid SHA1? (0 ms) -[ok]: EVALSHA - Do we get an error on non defined SHA1? (1 ms) +[ok]: EVALSHA - Can we call a SHA1 in uppercase? (1 ms) +[ok]: EVALSHA - Do we get an error on invalid SHA1? (1 ms) +[ok]: EVALSHA - Do we get an error on non defined SHA1? (0 ms) [ok]: EVAL - Redis integer -> Lua type conversion (0 ms) -[ok]: EVAL - Redis bulk -> Lua type conversion (1 ms) -[ok]: EVAL - Redis multi bulk -> Lua type conversion (1 ms) +[ok]: EVAL - Redis bulk -> Lua type conversion (6 ms) +[ok]: EVAL - Redis multi bulk -> Lua type conversion (2 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 - 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 can't run blpop command (1 ms) -[ok]: EVAL - Scripts can't run brpop command (0 ms) +[ok]: EVAL - Scripts can't run brpop command (1 ms) [ok]: EVAL - Scripts can't run brpoplpush command (0 ms) -[ok]: EVAL - Scripts can't run blmove command (0 ms) +[ok]: EVAL - Scripts can't run blmove command (1 ms) [ok]: EVAL - Scripts can't run bzpopmin command (1 ms) [ok]: EVAL - Scripts can't run bzpopmax command (0 ms) -[ok]: EVAL - Scripts can't run XREAD and XREADGROUP with BLOCK option (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) (1 ms) +[ok]: EVAL - Scripts can't run XREAD and XREADGROUP with BLOCK option (7 ms) +[ok]: EVAL - Scripts can run non-deterministic commands (1 ms) +[ok]: EVAL - No arguments to redis.call/pcall is considered an error (1 ms) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (0 ms) -[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) (1 ms) -[ok]: EVAL - JSON numeric decoding (3 ms) -[ok]: EVAL - JSON string decoding (1 ms) -[ok]: EVAL - JSON smoke test (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 - 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 (396 ms) -[ok]: EVAL - cmsgpack can pack and unpack circular references? (0 ms) -[ok]: EVAL - Numerical sanity check from bitop (0 ms) -[ok]: EVAL - Verify minimal bitop functionality (1 ms) -[ok]: EVAL - Able to parse trailing comments (0 ms) +[ok]: EVAL - cmsgpack pack/unpack smoke test (1994 ms) +[ok]: EVAL - cmsgpack can pack and unpack circular references? (1 ms) +[ok]: EVAL - Numerical sanity check from bitop (1 ms) +[ok]: EVAL - Verify minimal bitop functionality (0 ms) +[ok]: EVAL - Able to parse trailing comments (1 ms) [ok]: EVAL_RO - Successful case (1 ms) -[ok]: EVAL_RO - Cannot run write commands (0 ms) -[ok]: SCRIPTING FLUSH - is able to clear the scripts cache? (15 ms) -[ok]: SCRIPTING FLUSH ASYNC (25 ms) +[ok]: EVAL_RO - Cannot run write commands (6 ms) +[ok]: SCRIPTING FLUSH - is able to clear the scripts cache? (52 ms) +[ok]: SCRIPTING FLUSH ASYNC (55 ms) [ok]: SCRIPT EXISTS - can detect already defined scripts? (1 ms) -[ok]: SCRIPT LOAD - is able to register scripts in the scripting cache (1 ms) -[ok]: SORT is normally not alpha re-ordered for the scripting engine (1 ms) -[ok]: SORT BY output gets ordered for scripting (1 ms) +[ok]: SCRIPT LOAD - is able to register scripts in the scripting cache (0 ms) +[ok]: SORT is normally not alpha re-ordered for the scripting engine (10 ms) +[ok]: SORT BY output gets ordered for scripting (2 ms) [ok]: SORT BY with GET gets ordered for scripting (1 ms) -[ok]: redis.sha1hex() implementation (1 ms) +[ok]: redis.sha1hex() implementation (5 ms) [ok]: Globals protection reading an undeclared global variable (0 ms) [ok]: Globals protection setting an undeclared global* (0 ms) -[ok]: lua bit.tohex bug (1 ms) -[ok]: Test an example script DECR_IF_GT (1 ms) -[ok]: 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 (880 ms) -[ok]: SPOP: We can call scripts rewriting client->argv from Lua (79 ms) -[ok]: MGET: mget shouldn't be propagated in Lua (99 ms) -[ok]: EXPIRE: We can call scripts rewriting client->argv from Lua (104 ms) +[ok]: lua bit.tohex bug (0 ms) +[ok]: Test an example script DECR_IF_GT (6 ms) +[ok]: random numbers are random now (1 ms) +[ok]: Scripting engine PRNG can be seeded correctly (1 ms) +[ok]: EVAL does not leak in the Lua stack (1730 ms) +[ok]: SPOP: We can call scripts rewriting client->argv from Lua (120 ms) +[ok]: MGET: mget shouldn't be propagated in Lua (93 ms) +[ok]: EXPIRE: We can call scripts rewriting client->argv from Lua (97 ms) === (scripting) Starting server 127.0.0.1:21527 ok -[ok]: INCRBYFLOAT: We can call scripts expanding client->argv from Lua (1358 ms) +[ok]: INCRBYFLOAT: We can call scripts expanding client->argv from Lua (769 ms) [ok]: Call Redis command with many args from Lua (issue #1764) (5 ms) [ok]: Number conversion precision test (issue #1118) (6 ms) -[ok]: String containing number precision test (regression of issue #1118) (1 ms) -[ok]: Verify negative arg count is error instead of crash (issue #1842) (0 ms) -[ok]: Scripts can handle commands with incorrect arity (0 ms) -[ok]: Correct handling of reused argv (issue #1939) (1 ms) -[ok]: Functions in the Redis namespace are able to report errors (1 ms) +[ok]: String containing number precision test (regression of issue #1118) (4 ms) +[ok]: Verify negative arg count is error instead of crash (issue #1842) (1 ms) +[ok]: Scripts can handle commands with incorrect arity (1 ms) +[ok]: Correct handling of reused argv (issue #1939) (0 ms) +[ok]: Functions in the Redis namespace are able to report errors (0 ms) [ok]: CLUSTER RESET can not be invoke from within a script (0 ms) -[ok]: Script with RESP3 map (9 ms) -[ok]: Script return recursive object (210 ms) -[ok]: Script check unpack with massive arguments (8 ms) -[ok]: Script read key with expiration set (1 ms) +[ok]: Script with RESP3 map (10 ms) +[ok]: Script return recursive object (238 ms) +[ok]: Script check unpack with massive arguments (14 ms) +[ok]: Script read key with expiration set (13 ms) [ok]: Script del key with expiration set (1 ms) -[ok]: Script ACL check (1 ms) +[ok]: Script ACL check (8 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 (0 ms) -[ok]: Try trick global protection 4 (1 ms) -[ok]: Try trick readonly table on redis table (1 ms) +[ok]: Try trick global protection 1 (1 ms) +[ok]: Try trick global protection 2 (5 ms) +[ok]: Try trick global protection 3 (1 ms) +[ok]: Try trick global protection 4 (0 ms) +[ok]: Try trick readonly table on redis table (0 ms) [ok]: Try trick readonly table on json table (1 ms) [ok]: Try trick readonly table on cmsgpack table (1 ms) [ok]: Try trick readonly table on bit table (0 ms) -[ok]: Test loadfile are not available (0 ms) -[ok]: Test dofile are not available (0 ms) +[ok]: Test loadfile are not available (1 ms) +[ok]: Test dofile are not available (1 ms) [ok]: Test print are not available (0 ms) === (scripting) Starting server 127.0.0.1:21528 ok -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (438 ms) -[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (73 ms) -[ok]: Timedout script does not cause a false dead client (142 ms) -[ok]: Timedout script link is still usable after Lua returns (141 ms) -[ok]: Timedout scripts and unblocked command (327 ms) -[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (234 ms) -[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (10 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL (490 ms) +[ok]: Timedout read-only scripts can be killed by SCRIPT KILL even when use pcall (213 ms) +[ok]: Timedout script does not cause a false dead client (262 ms) +[ok]: Timedout script link is still usable after Lua returns (406 ms) +[ok]: Timedout scripts and unblocked command (769 ms) +[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL (294 ms) +[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway (19 ms) === (scripting repl needs:debug external:skip) Starting server 127.0.0.1:21529 ok === () Starting server 127.0.0.1:21530 ok -[ok]: Before the replica connects we issue two EVAL commands (5 ms) -[ok]: Connect a replica to the master instance (111 ms) +[ok]: Before the replica connects we issue two EVAL commands (7 ms) +[ok]: Connect a replica to the master instance (2087 ms) [ok]: Now use EVALSHA against the master, with both SHAs (4 ms) -[ok]: 'x' should be '4' for EVALSHA being replicated by effects (607 ms) -[ok]: Replication of script multiple pushes to list with BLPOP (29 ms) -[ok]: EVALSHA replication when first call is readonly (1 ms) -[ok]: Lua scripts using SELECT are replicated correctly (6 ms) +[ok]: 'x' should be '4' for EVALSHA being replicated by effects (0 ms) +[ok]: Replication of script multiple pushes to list with BLPOP (42 ms) +[ok]: EVALSHA replication when first call is readonly (6 ms) +[ok]: Lua scripts using SELECT are replicated correctly (107 ms) === (scripting repl external:skip) Starting server 127.0.0.1:21531 ok === () Starting server 127.0.0.1:21532 ok -[ok]: Connect a replica to the master instance (103 ms) -[ok]: Redis.replicate_commands() can be issued anywhere now (1 ms) -[ok]: Redis.set_repl() can be issued before replicate_commands() now (3 ms) -[ok]: Redis.set_repl() don't accept invalid values (1 ms) -[ok]: Test selective replication of certain Redis 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) +[ok]: Connect a replica to the master instance (107 ms) +[ok]: Redis.replicate_commands() can be issued anywhere now (8 ms) +[ok]: Redis.set_repl() can be issued before replicate_commands() now (4 ms) +[ok]: Redis.set_repl() don't accept invalid values (0 ms) +[ok]: Test selective replication of certain Redis commands from Lua (420 ms) +[ok]: PRNG is seeded randomly for command replication (0 ms) +[ok]: Using side effects is not a problem with command replication (6 ms) === (scripting external:skip) Starting server 127.0.0.1:21533 ok === (scripting needs:debug external:skip) Starting server 127.0.0.1:21534 ok -[ok]: Test scripting debug protocol parsing (1 ms) -[ok]: Test scripting debug lua stack overflow (25 ms) +[ok]: Test scripting debug protocol parsing (9 ms) +[ok]: Test scripting debug lua stack overflow (61 ms) === (scripting needs:debug) Starting server 127.0.0.1:21535 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 big number protocol parsing (1 ms) +[ok]: test RESP2/2 malformed big number protocol parsing (1 ms) +[ok]: test RESP2/2 map protocol parsing (1 ms) [ok]: test RESP2/2 set protocol parsing (1 ms) [ok]: test RESP2/2 double protocol parsing (0 ms) -[ok]: test RESP2/2 null protocol parsing (1 ms) -[ok]: test RESP2/2 verbatim protocol parsing (0 ms) +[ok]: test RESP2/2 null protocol parsing (0 ms) +[ok]: test RESP2/2 verbatim protocol parsing (1 ms) [ok]: test RESP2/2 true protocol parsing (0 ms) [ok]: test RESP2/2 false protocol parsing (0 ms) [ok]: test RESP2/3 big number protocol parsing (0 ms) [ok]: test RESP2/3 malformed big number protocol parsing (1 ms) [ok]: test RESP2/3 map protocol parsing (0 ms) -[ok]: test RESP2/3 set protocol parsing (1 ms) -[ok]: test RESP2/3 double protocol parsing (0 ms) +[ok]: test RESP2/3 set protocol parsing (3 ms) +[ok]: test RESP2/3 double protocol parsing (1 ms) [ok]: test RESP2/3 null protocol parsing (0 ms) [ok]: test RESP2/3 verbatim protocol parsing (0 ms) [ok]: test RESP2/3 true protocol parsing (0 ms) [ok]: test RESP2/3 false protocol parsing (1 ms) [ok]: test RESP3/2 big number protocol parsing (0 ms) -[ok]: test RESP3/2 malformed big number protocol parsing (3 ms) +[ok]: test RESP3/2 malformed big number protocol parsing (0 ms) [ok]: test RESP3/2 map protocol parsing (1 ms) [ok]: test RESP3/2 set protocol parsing (0 ms) -[ok]: test RESP3/2 double protocol parsing (1 ms) +[ok]: test RESP3/2 double protocol parsing (0 ms) [ok]: test RESP3/2 null protocol parsing (0 ms) [ok]: test RESP3/2 verbatim protocol parsing (1 ms) [ok]: test RESP3/2 true protocol parsing (0 ms) [ok]: test RESP3/2 false protocol parsing (0 ms) [ok]: test RESP3/3 big number protocol parsing (0 ms) -[ok]: test RESP3/3 malformed big number protocol parsing (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 malformed big number protocol parsing (1 ms) +[ok]: test RESP3/3 map protocol parsing (0 ms) +[ok]: test RESP3/3 set protocol parsing (1 ms) +[ok]: test RESP3/3 double protocol parsing (1 ms) +[ok]: test RESP3/3 null protocol parsing (0 ms) [ok]: test RESP3/3 verbatim protocol parsing (0 ms) -[ok]: test RESP3/3 true protocol parsing (0 ms) +[ok]: test RESP3/3 true protocol parsing (4 ms) [ok]: test RESP3/3 false protocol parsing (0 ms) -[ok]: test resp3 attribute protocol parsing (0 ms) -[ok]: Script block the time during execution (12 ms) -[ok]: Script delete the expired key (4 ms) +[ok]: test resp3 attribute protocol parsing (1 ms) +[ok]: Script block the time during execution (11 ms) +[ok]: Script delete the expired key (7 ms) === (scripting) Starting server 127.0.0.1:21536 ok -[ok]: Shebang support for lua engine (0 ms) +[ok]: Shebang support for lua engine (7 ms) [ok]: Unknown shebang option (0 ms) -[ok]: Unknown shebang flag (1 ms) -[ok]: allow-oom shebang flag (3 ms) -[ok]: no-writes shebang flag (0 ms) +[ok]: Unknown shebang flag (6 ms) +[ok]: allow-oom shebang flag (10 ms) +[ok]: no-writes shebang flag (7 ms) === (external:skip) Starting server 127.0.0.1:21537 ok -[ok]: no-writes shebang flag on replica (200 ms) -[ok]: not enough good replicas (10 ms) +[ok]: no-writes shebang flag on replica (232 ms) +[ok]: not enough good replicas (8 ms) === (external:skip) Starting server 127.0.0.1:21538 ok -[ok]: not enough good replicas state change during long script (1019 ms) +[ok]: not enough good replicas state change during long script (1852 ms) [ok]: allow-stale shebang flag (6 ms) -[ok]: reject script do not cause a Lua stack leak (26 ms) +[ok]: reject script do not cause a Lua stack leak (32 ms) === (scripting) Starting server 127.0.0.1:21539 ok -[ok]: Consistent eval error reporting (17 ms) -[ok]: LUA redis.error_reply API (1 ms) -[ok]: LUA redis.error_reply API with empty string (1 ms) -[ok]: LUA redis.status_reply API (0 ms) +[ok]: Consistent eval error reporting (79 ms) +[ok]: LUA redis.error_reply API (3 ms) +[ok]: LUA redis.error_reply API with empty string (5 ms) +[ok]: LUA redis.status_reply API (1 ms) [ok]: LUA test pcall (0 ms) [ok]: LUA test pcall with error (0 ms) -[ok]: LUA test pcall with non string/integer arg (1 ms) -[56/84 done]: unit/scripting (21 seconds) +[ok]: LUA test pcall with non string/integer arg (4 ms) +[56/84 done]: unit/scripting (35 seconds) Testing unit/functions === (scripting) Starting server 127.0.0.1:21540 ok -[ok]: FUNCTION - Basic usage (5 ms) +[ok]: FUNCTION - Basic usage (7 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 an already exiting library raise error (1 ms) +[ok]: FUNCTION - Create an already exiting library raise error (case insensitive) (1 ms) [ok]: FUNCTION - Create a library with wrong name format (1 ms) -[ok]: FUNCTION - Create library with unexisting engine (4 ms) +[ok]: FUNCTION - Create library with unexisting engine (1 ms) [ok]: FUNCTION - Test uncompiled script (1 ms) -[ok]: FUNCTION - test replace argument (0 ms) -[ok]: FUNCTION - test function case insensitive (0 ms) -[ok]: FUNCTION - test replace argument with failure keeps old libraries (0 ms) -[ok]: FUNCTION - test function delete (1 ms) -[ok]: FUNCTION - test fcall bad arguments (1 ms) -[ok]: FUNCTION - test fcall bad number of keys arguments (0 ms) -[ok]: FUNCTION - test fcall negative number of keys (0 ms) -[ok]: FUNCTION - test delete on not exiting library (3 ms) +[ok]: FUNCTION - test replace argument (1 ms) +[ok]: FUNCTION - test function case insensitive (1 ms) +[ok]: FUNCTION - test replace argument with failure keeps old libraries (1 ms) +[ok]: FUNCTION - test function delete (2 ms) +[ok]: FUNCTION - test fcall bad arguments (0 ms) +[ok]: FUNCTION - test fcall bad number of keys arguments (1 ms) +[ok]: FUNCTION - test fcall negative number of keys (5 ms) +[ok]: FUNCTION - test delete on not exiting library (1 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 (6 ms) -[ok]: FUNCTION - test debug reload different options (18 ms) -[ok]: FUNCTION - test debug reload with nosave and noflush (6 ms) -[ok]: FUNCTION - test flushall and flushdb do not clean functions (9 ms) +[ok]: FUNCTION - test wrong subcommand (1 ms) +[ok]: FUNCTION - test loading from rdb (11 ms) +[ok]: FUNCTION - test debug reload different options (17 ms) +[ok]: FUNCTION - test debug reload with nosave and noflush (17 ms) +[ok]: FUNCTION - test flushall and flushdb do not clean functions (11 ms) [ok]: FUNCTION - test function dump and restore (4 ms) -[ok]: FUNCTION - test function dump and restore with flush argument (1 ms) -[ok]: FUNCTION - test function dump and restore with append argument (7 ms) -[ok]: FUNCTION - test function dump and restore with replace argument (2 ms) -[ok]: FUNCTION - test function restore with bad payload do not drop existing functions (2 ms) -[ok]: FUNCTION - test function restore with wrong number of arguments (3 ms) -[ok]: FUNCTION - test fcall_ro with write command (5 ms) -[ok]: FUNCTION - test fcall_ro with read only commands (1 ms) -[ok]: FUNCTION - test keys and argv (6 ms) -[ok]: FUNCTION - test command get keys on fcall (1 ms) +[ok]: FUNCTION - test function dump and restore with flush argument (3 ms) +[ok]: FUNCTION - test function dump and restore with append argument (10 ms) +[ok]: FUNCTION - test function dump and restore with replace argument (11 ms) +[ok]: FUNCTION - test function restore with bad payload do not drop existing functions (3 ms) +[ok]: FUNCTION - test function restore with wrong number of arguments (0 ms) +[ok]: FUNCTION - test fcall_ro with write command (3 ms) +[ok]: FUNCTION - test fcall_ro with read only commands (5 ms) +[ok]: FUNCTION - test keys and argv (7 ms) +[ok]: FUNCTION - test command get keys on fcall (7 ms) [ok]: FUNCTION - test command get keys on fcall_ro (0 ms) -[ok]: FUNCTION - test function kill (431 ms) -[ok]: FUNCTION - test script kill not working on function (431 ms) -[ok]: FUNCTION - test function kill not working on eval (437 ms) -[ok]: FUNCTION - test function flush (2 ms) -[ok]: FUNCTION - test function wrong argument (4 ms) +[ok]: FUNCTION - test function kill (485 ms) +[ok]: FUNCTION - test script kill not working on function (440 ms) +[ok]: FUNCTION - test function kill not working on eval (490 ms) +[ok]: FUNCTION - test function flush (18 ms) +[ok]: FUNCTION - test function wrong argument (1 ms) === (scripting repl external:skip) Starting server 127.0.0.1:21541 ok === () Starting server 127.0.0.1:21542 ok -[ok]: Connect a replica to the master instance (107 ms) -[ok]: FUNCTION - creation is replicated to replica (5 ms) -[ok]: FUNCTION - call on replica (0 ms) -[ok]: FUNCTION - restore is replicated to replica (2 ms) -[ok]: FUNCTION - delete is replicated to replica (1 ms) -[ok]: FUNCTION - flush is replicated to replica (8 ms) -[ok]: Disconnecting the replica from master instance (123 ms) -[ok]: FUNCTION - test replication to replica on rdb phase (1 ms) +[ok]: Connect a replica to the master instance (108 ms) +[ok]: FUNCTION - creation is replicated to replica (412 ms) +[ok]: FUNCTION - call on replica (1 ms) +[ok]: FUNCTION - restore is replicated to replica (6 ms) +[ok]: FUNCTION - delete is replicated to replica (5 ms) +[ok]: FUNCTION - flush is replicated to replica (11 ms) +[ok]: Disconnecting the replica from master instance (128 ms) +[ok]: FUNCTION - test replication to replica on rdb phase (0 ms) [ok]: FUNCTION - test replication to replica on rdb phase info command (0 ms) [ok]: FUNCTION - create on read only replica (1 ms) -[ok]: FUNCTION - delete on read only replica (0 ms) -[ok]: FUNCTION - function effect is replicated to replica (512 ms) -[ok]: FUNCTION - modify key space of read only replica (0 ms) +[ok]: FUNCTION - delete on read only replica (3 ms) +[ok]: FUNCTION - function effect is replicated to replica (3 ms) +[ok]: FUNCTION - modify key space of read only replica (1 ms) === () Starting server 127.0.0.1:21543 ok Waiting for background AOF rewrite to finish... -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 (1605 ms) +Waiting for background AOF rewrite to finish... [ok]: FUNCTION can processes create, delete and flush commands in AOF when doing "debug loadaof" in read-only slaves (623 ms) === (scripting) Starting server 127.0.0.1:21544 ok [ok]: LIBRARIES - test shared function can access default globals (1 ms) -[ok]: LIBRARIES - usage and code sharing (7 ms) +[ok]: LIBRARIES - usage and code sharing (1 ms) [ok]: LIBRARIES - test registration failure revert the entire load (1 ms) [ok]: LIBRARIES - test registration function name collision (1 ms) [ok]: LIBRARIES - test registration function name collision on same library (0 ms) -[ok]: LIBRARIES - test registration with no argument (1 ms) +[ok]: LIBRARIES - test registration with no argument (0 ms) [ok]: LIBRARIES - test registration with only name (0 ms) -[ok]: LIBRARIES - test registration with to many arguments (1 ms) +[ok]: LIBRARIES - test registration with to many arguments (0 ms) [ok]: LIBRARIES - test registration with no string name (0 ms) -[ok]: LIBRARIES - test registration with wrong name format (1 ms) -[ok]: LIBRARIES - test registration with empty name (0 ms) +[ok]: LIBRARIES - test registration with wrong name format (0 ms) +[ok]: LIBRARIES - test registration with empty name (1 ms) [ok]: LIBRARIES - math.random from function load (0 ms) -[ok]: LIBRARIES - redis.call from function load (3 ms) -[ok]: LIBRARIES - redis.setresp from function load (4 ms) +[ok]: LIBRARIES - redis.call from function load (0 ms) +[ok]: LIBRARIES - redis.setresp from function load (0 ms) [ok]: LIBRARIES - redis.set_repl from function load (0 ms) -[ok]: LIBRARIES - malicious access test (8 ms) -[ok]: LIBRARIES - delete removed all functions on library (0 ms) +[ok]: LIBRARIES - malicious access test (5 ms) +[ok]: LIBRARIES - delete removed all functions on library (1 ms) [ok]: LIBRARIES - register function inside a function (1 ms) -[ok]: LIBRARIES - register library with no functions (5 ms) +[ok]: LIBRARIES - register library with no functions (1 ms) [ok]: LIBRARIES - load timeout (502 ms) -[ok]: LIBRARIES - verify global protection on the load run (1 ms) +[ok]: LIBRARIES - verify global protection on the load run (0 ms) [ok]: LIBRARIES - named arguments (1 ms) [ok]: LIBRARIES - named arguments, bad function name (0 ms) -[ok]: LIBRARIES - named arguments, bad callback type (3 ms) -[ok]: LIBRARIES - named arguments, bad description (1 ms) +[ok]: LIBRARIES - named arguments, bad callback type (0 ms) +[ok]: LIBRARIES - named arguments, bad description (0 ms) [ok]: LIBRARIES - named arguments, unknown argument (0 ms) -[ok]: LIBRARIES - named arguments, missing function name (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 (5 ms) -[ok]: FUNCTION - test function list with code (0 ms) +[ok]: FUNCTION - test function restore with function name collision (6 ms) +[ok]: FUNCTION - test function list with code (1 ms) [ok]: FUNCTION - test function list with pattern (0 ms) -[ok]: FUNCTION - test function list wrong argument (1 ms) +[ok]: FUNCTION - test function list wrong argument (0 ms) [ok]: FUNCTION - test function list with bad argument to library name (0 ms) -[ok]: FUNCTION - test function list withcode multiple times (1 ms) +[ok]: FUNCTION - test function list withcode multiple times (0 ms) [ok]: FUNCTION - test function list libraryname multiple times (0 ms) -[ok]: FUNCTION - verify OOM on function load and function restore (8 ms) +[ok]: FUNCTION - verify OOM on function load and function restore (3 ms) [ok]: FUNCTION - verify allow-omm allows running any command (2 ms) === (scripting) Starting server 127.0.0.1:21545 ok -[ok]: FUNCTION - wrong flags type named arguments (4 ms) -[ok]: FUNCTION - wrong flag type (1 ms) -[ok]: FUNCTION - unknown flag (0 ms) +[ok]: FUNCTION - wrong flags type named arguments (1 ms) +[ok]: FUNCTION - wrong flag type (0 ms) +[ok]: FUNCTION - unknown flag (1 ms) [ok]: FUNCTION - write script on fcall_ro (1 ms) -[ok]: FUNCTION - write script with no-writes flag (1 ms) -[ok]: FUNCTION - deny oom (6 ms) -[ok]: FUNCTION - deny oom on no-writes function (11 ms) -[ok]: FUNCTION - allow stale (2 ms) -[ok]: FUNCTION - redis version api (1 ms) -[ok]: FUNCTION - function stats (3 ms) -[ok]: FUNCTION - function stats reloaded correctly from rdb (11 ms) -[ok]: FUNCTION - function stats delete library (0 ms) -[ok]: FUNCTION - test function stats on loading failure (1 ms) +[ok]: FUNCTION - write script with no-writes flag (4 ms) +[ok]: FUNCTION - deny oom (3 ms) +[ok]: FUNCTION - deny oom on no-writes function (9 ms) +[ok]: FUNCTION - allow stale (7 ms) +[ok]: FUNCTION - redis version api (2 ms) +[ok]: FUNCTION - function stats (1 ms) +[ok]: FUNCTION - function stats reloaded correctly from rdb (21 ms) +[ok]: FUNCTION - function stats delete library (8 ms) +[ok]: FUNCTION - test function stats on loading failure (9 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 (0 ms) +[ok]: FUNCTION - function test empty engine (1 ms) +[ok]: FUNCTION - function test unknown metadata value (1 ms) +[ok]: FUNCTION - function test no name (1 ms) [ok]: FUNCTION - function test multiple names (1 ms) [ok]: FUNCTION - function test name with quotes (0 ms) -[ok]: FUNCTION - trick global protection 1 (1 ms) -[ok]: FUNCTION - test getmetatable on script load (1 ms) -[57/84 done]: unit/functions (7 seconds) +[ok]: FUNCTION - trick global protection 1 (2 ms) +[ok]: FUNCTION - test getmetatable on script load (4 ms) +[57/84 done]: unit/functions (8 seconds) Testing unit/maxmemory === (maxmemory external:skip) Starting server 127.0.0.1:21546 ok -evicted keys: 25 +evicted keys: 17 evicted clients: 0 -dbsize: 25 -[ok]: eviction due to output buffers of many MGET clients, client eviction: false (512 ms) -evicted keys: 34 +dbsize: 33 +[ok]: eviction due to output buffers of many MGET clients, client eviction: false (1560 ms) +evicted keys: 32 evicted clients: 0 -dbsize: 15 -[ok]: eviction due to input buffer of a dead client, client eviction: false (1014 ms) +dbsize: 17 +[ok]: eviction due to input buffer of a dead client, client eviction: false (2444 ms) evicted keys: 1 evicted clients: 0 dbsize: 49 -[ok]: eviction due to output buffers of pubsub, client eviction: false (1362 ms) +[ok]: eviction due to output buffers of pubsub, client eviction: false (1634 ms) evicted keys: 0 -evicted clients: 8 +evicted clients: 7 dbsize: 50 -[ok]: eviction due to output buffers of many MGET clients, client eviction: true (577 ms) +[ok]: eviction due to output buffers of many MGET clients, client eviction: true (1110 ms) evicted keys: 0 evicted clients: 19 dbsize: 50 -[ok]: eviction due to input buffer of a dead client, client eviction: true (1012 ms) +[ok]: eviction due to input buffer of a dead client, client eviction: true (2859 ms) evicted keys: 0 evicted clients: 8 dbsize: 50 -[ok]: eviction due to output buffers of pubsub, client eviction: true (815 ms) +[ok]: eviction due to output buffers of pubsub, client eviction: true (1126 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21547 ok [ok]: Without maxmemory small integers are shared (4 ms) [ok]: With maxmemory and non-LRU policy integers are still shared (1 ms) -[ok]: With maxmemory and LRU policy integers are not shared (2 ms) -[ok]: maxmemory - is the memory limit honoured? (policy allkeys-random) (348 ms) -[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lru) (492 ms) -[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lfu) (461 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-lru) (476 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-lfu) (431 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-random) (465 ms) -[ok]: maxmemory - is the memory limit honoured? (policy volatile-ttl) (541 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-random) (738 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-lru) (1217 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-lru) (724 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-random) (1222 ms) -[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-ttl) (743 ms) -[ok]: maxmemory - policy volatile-lru should only remove volatile keys. (812 ms) -[ok]: maxmemory - policy volatile-lfu should only remove volatile keys. (718 ms) -[ok]: maxmemory - policy volatile-random should only remove volatile keys. (685 ms) -[ok]: maxmemory - policy volatile-ttl should only remove volatile keys. (801 ms) +[ok]: With maxmemory and LRU policy integers are not shared (7 ms) +[ok]: maxmemory - is the memory limit honoured? (policy allkeys-random) (915 ms) +[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lru) (661 ms) +[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lfu) (1650 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-lru) (2299 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-lfu) (1471 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-random) (2291 ms) +[ok]: maxmemory - is the memory limit honoured? (policy volatile-ttl) (2139 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-random) (2091 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-lru) (4081 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-lru) (1901 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-random) (3029 ms) +[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-ttl) (2772 ms) +[ok]: maxmemory - policy volatile-lru should only remove volatile keys. (3734 ms) +[ok]: maxmemory - policy volatile-lfu should only remove volatile keys. (3694 ms) +[ok]: maxmemory - policy volatile-random should only remove volatile keys. (2947 ms) +[ok]: maxmemory - policy volatile-ttl should only remove volatile keys. (3884 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21548 ok === () Starting server 127.0.0.1:21549 ok -[ok]: slave buffer are counted correctly (97000 ms) +[ok]: slave buffer are counted correctly (149461 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21550 ok === () Starting server 127.0.0.1:21551 ok -[ok]: replica buffer don't induce eviction (18101 ms) +[ok]: replica buffer don't induce eviction (33886 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21552 ok -[ok]: Don't rehash if used memory exceeds maxmemory after rehash (358 ms) +[ok]: Don't rehash if used memory exceeds maxmemory after rehash (445 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21553 ok evicted: 36 evicted: 36 -[ok]: client tracking don't cause eviction feedback loop (2473 ms) +[ok]: client tracking don't cause eviction feedback loop (2967 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21554 ok -[ok]: propagation with eviction (89 ms) +[ok]: propagation with eviction (2130 ms) === (maxmemory external:skip) Starting server 127.0.0.1:21555 ok -[ok]: propagation with eviction in MULTI (58 ms) -[58/84 done]: unit/maxmemory (138 seconds) +[ok]: propagation with eviction in MULTI (553 ms) +[58/84 done]: unit/maxmemory (249 seconds) Testing unit/introspection === (introspection) Starting server 127.0.0.1:21556 ok [ok]: PING (1 ms) -[ok]: CLIENT LIST (0 ms) -[ok]: CLIENT LIST with IDs (10 ms) +[ok]: CLIENT LIST (1 ms) +[ok]: CLIENT LIST with IDs (1 ms) [ok]: CLIENT INFO (1 ms) -[ok]: CLIENT KILL with illegal arguments (2 ms) -[ok]: CLIENT KILL SKIPME YES/NO will kill all clients (113 ms) -[ok]: CLIENT REPLY OFF/ON: disable all commands reply (72 ms) -[ok]: CLIENT REPLY SKIP: skip the next command reply (112 ms) -[ok]: CLIENT REPLY ON: unset SKIP flag (69 ms) -[ok]: MONITOR can log executed commands (30 ms) -[ok]: MONITOR can log commands issued by the scripting engine (28 ms) -[ok]: MONITOR can log commands issued by functions (30 ms) -[ok]: MONITOR supports redacting command arguments (32 ms) -[ok]: MONITOR correctly handles multi-exec cases (24 ms) +[ok]: CLIENT KILL with illegal arguments (3 ms) +[ok]: CLIENT KILL SKIPME YES/NO will kill all clients (99 ms) +[ok]: CLIENT REPLY OFF/ON: disable all commands reply (66 ms) +[ok]: CLIENT REPLY SKIP: skip the next command reply (76 ms) +[ok]: CLIENT REPLY ON: unset SKIP flag (71 ms) +[ok]: MONITOR can log executed commands (33 ms) +[ok]: MONITOR can log commands issued by the scripting engine (35 ms) +[ok]: MONITOR can log commands issued by functions (38 ms) +[ok]: MONITOR supports redacting command arguments (33 ms) +[ok]: MONITOR correctly handles multi-exec cases (30 ms) [ok]: CLIENT GETNAME should return NIL if name is not assigned (0 ms) -[ok]: CLIENT LIST shows empty fields for unassigned names (1 ms) -[ok]: CLIENT SETNAME does not accept spaces (5 ms) -[ok]: CLIENT SETNAME can assign a name to this connection (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 (0 ms) -[ok]: After CLIENT SETNAME, connection can still be closed (22 ms) +[ok]: After CLIENT SETNAME, connection can still be closed (17 ms) === () Starting server 127.0.0.1:21557 ok === () Starting server 127.0.0.1:21558 ok === () Starting server 127.0.0.1:21559 ok === () Starting server 127.0.0.1:21560 ok === () Starting server 127.0.0.1:21561 ok -[ok]: CONFIG save params special case handled properly (1527 ms) -[ok]: CONFIG sanity (172 ms) -[ok]: CONFIG REWRITE sanity (418 ms) +[ok]: CONFIG save params special case handled properly (4483 ms) +[ok]: CONFIG sanity (96 ms) +[ok]: CONFIG REWRITE sanity (2748 ms) === () Starting server 127.0.0.1:21562 ok -[ok]: CONFIG REWRITE handles save and shutdown properly (1290 ms) -[ok]: CONFIG SET with multiple args (2 ms) -[ok]: CONFIG SET rollback on set error (7 ms) -dummy_accept: sock55f05e0a4d80 -[ok]: CONFIG SET rollback on apply error (41 ms) -[ok]: CONFIG SET duplicate configs (4 ms) -[ok]: CONFIG SET set immutable (4 ms) -[ok]: CONFIG GET hidden configs (11 ms) +[ok]: CONFIG REWRITE handles save and shutdown properly (3636 ms) +[ok]: CONFIG SET with multiple args (16 ms) +[ok]: CONFIG SET rollback on set error (12 ms) +dummy_accept: sock55afbf701d80 +[ok]: CONFIG SET rollback on apply error (60 ms) +[ok]: CONFIG SET duplicate configs (1 ms) +[ok]: CONFIG SET set immutable (6 ms) +[ok]: CONFIG GET hidden configs (48 ms) [ok]: CONFIG GET multiple args (1 ms) -[ok]: redis-server command line arguments - error cases (373 ms) +[ok]: redis-server command line arguments - error cases (446 ms) === () Starting server 127.0.0.1:21564 ok -[ok]: redis-server command line arguments - allow passing option name and option value in the same arg (305 ms) +[ok]: redis-server command line arguments - allow passing option name and option value in the same arg (1113 ms) === () Starting server 127.0.0.1:21565 ok -[ok]: redis-server command line arguments - wrong usage that we support anyway (279 ms) +[ok]: redis-server command line arguments - wrong usage that we support anyway (958 ms) === () Starting server 127.0.0.1:21566 ok -[ok]: redis-server command line arguments - allow option value to use the `--` prefix (322 ms) +[ok]: redis-server command line arguments - allow option value to use the `--` prefix (1910 ms) === () Starting server 127.0.0.1:21567 ok -[ok]: redis-server command line arguments - option name and option value in the same arg and `--` prefix (316 ms) +[ok]: redis-server command line arguments - option name and option value in the same arg and `--` prefix (820 ms) === () Starting server 127.0.0.1:21568 ok === () Starting server 127.0.0.1:21569 ok === () Starting server 127.0.0.1:21570 ok === () Starting server 127.0.0.1:21571 ok === () Starting server 127.0.0.1:21572 ok -[ok]: redis-server command line arguments - save with empty input (1500 ms) +[ok]: redis-server command line arguments - save with empty input (2920 ms) === () Starting server 127.0.0.1:21573 ok -[ok]: redis-server command line arguments - take one bulk string with spaces for MULTI_ARG configs parsing (286 ms) +[ok]: redis-server command line arguments - take one bulk string with spaces for MULTI_ARG configs parsing (728 ms) === (introspection external:skip) Starting server 127.0.0.1:21574 ok -[ok]: cannot modify protected configuration - no (0 ms) +[ok]: cannot modify protected configuration - no (11 ms) === (introspection external:skip) Starting server 127.0.0.1:21575 ok -[ok]: cannot modify protected configuration - local (7 ms) +[ok]: cannot modify protected configuration - local (14 ms) === () Starting server 127.0.0.1:21576 ok -[ok]: config during loading (2065 ms) +[ok]: config during loading (4564 ms) === (introspection) Starting server 127.0.0.1:21577 ok -[ok]: CONFIG REWRITE handles rename-command properly (603 ms) +[ok]: CONFIG REWRITE handles rename-command properly (920 ms) === (introspection) Starting server 127.0.0.1:21578 ok === (introspection) Starting server 127.0.0.1:21579 ok -[ok]: CONFIG REWRITE handles alias config properly (1226 ms) -[59/84 done]: unit/introspection (13 seconds) +[ok]: CONFIG REWRITE handles alias config properly (2727 ms) +[59/84 done]: unit/introspection (30 seconds) Testing unit/introspection-2 === (introspection) Starting server 127.0.0.1:21580 ok [ok]: TTL, TYPE and EXISTS do not alter the last access time of a key (3008 ms) -[ok]: TOUCH alters the last access time of a key (3005 ms) +[ok]: TOUCH alters the last access time of a key (3007 ms) [ok]: TOUCH returns the number of existing keys specified (1 ms) -[ok]: command stats for GEOADD (4 ms) -[ok]: errors stats for GEOADD (1 ms) -[ok]: command stats for EXPIRE (6 ms) -[ok]: command stats for BRPOP (2 ms) -[ok]: command stats for MULTI (4 ms) -[ok]: command stats for scripts (7 ms) -[ok]: COMMAND GETKEYS GET (1 ms) -[ok]: COMMAND GETKEYSANDFLAGS (1 ms) -[ok]: COMMAND GETKEYS MEMORY USAGE (0 ms) -[ok]: COMMAND GETKEYS XGROUP (0 ms) -[ok]: COMMAND GETKEYS EVAL with keys (0 ms) -[ok]: COMMAND GETKEYS EVAL without keys (0 ms) -[ok]: COMMAND GETKEYS LCS (0 ms) -[ok]: COMMAND GETKEYS MORE THAN 256 KEYS (4 ms) -[ok]: COMMAND LIST syntax error (1 ms) -[ok]: COMMAND LIST WITHOUT FILTERBY (5 ms) -[ok]: COMMAND LIST FILTERBY ACLCAT against non existing category (6 ms) -[ok]: COMMAND LIST FILTERBY ACLCAT - list all commands/subcommands (1 ms) -[ok]: COMMAND LIST FILTERBY PATTERN - list all commands/subcommands (5 ms) -[ok]: COMMAND LIST FILTERBY MODULE against non existing module (0 ms) -[ok]: COMMAND INFO of invalid subcommands (1 ms) -[ok]: SET command will not be marked with movablekeys (0 ms) -[ok]: GET command will not be marked with movablekeys (0 ms) -[ok]: MSET command will not be marked with movablekeys (4 ms) -[ok]: BITFIELD command will not be marked with movablekeys (0 ms) +[ok]: command stats for GEOADD (6 ms) +[ok]: errors stats for GEOADD (17 ms) +[ok]: command stats for EXPIRE (15 ms) +[ok]: command stats for BRPOP (12 ms) +[ok]: command stats for MULTI (45 ms) +[ok]: command stats for scripts (15 ms) +[ok]: COMMAND GETKEYS GET (8 ms) +[ok]: COMMAND GETKEYSANDFLAGS (20 ms) +[ok]: COMMAND GETKEYS MEMORY USAGE (2 ms) +[ok]: COMMAND GETKEYS XGROUP (1 ms) +[ok]: COMMAND GETKEYS EVAL with keys (4 ms) +[ok]: COMMAND GETKEYS EVAL without keys (11 ms) +[ok]: COMMAND GETKEYS LCS (1 ms) +[ok]: COMMAND GETKEYS MORE THAN 256 KEYS (6 ms) +[ok]: COMMAND LIST syntax error (15 ms) +[ok]: COMMAND LIST WITHOUT FILTERBY (22 ms) +[ok]: COMMAND LIST FILTERBY ACLCAT against non existing category (10 ms) +[ok]: COMMAND LIST FILTERBY ACLCAT - list all commands/subcommands (8 ms) +[ok]: COMMAND LIST FILTERBY PATTERN - list all commands/subcommands (13 ms) +[ok]: COMMAND LIST FILTERBY MODULE against non existing module (1 ms) +[ok]: COMMAND INFO of invalid subcommands (7 ms) +[ok]: SET command will not be marked with movablekeys (2 ms) +[ok]: GET command will not be marked with movablekeys (8 ms) +[ok]: MSET command will not be marked with movablekeys (2 ms) +[ok]: BITFIELD command will not be marked with movablekeys (8 ms) [ok]: LMOVE command will not be marked with movablekeys (1 ms) -[ok]: LPOP command will not be marked with movablekeys (1 ms) +[ok]: LPOP command will not be marked with movablekeys (0 ms) [ok]: BLPOP command will not be marked with movablekeys (1 ms) -[ok]: PING command will not be marked with movablekeys (4 ms) +[ok]: PING command will not be marked with movablekeys (1 ms) [ok]: MEMORY command will not be marked with movablekeys (2 ms) [ok]: MEMORY|USAGE command will not be marked with movablekeys (1 ms) -[ok]: RENAME command will not be marked with movablekeys (0 ms) -[ok]: GEORADIUS_RO command will not be marked with movablekeys (0 ms) -[ok]: ZUNIONSTORE command is marked with movablekeys (0 ms) -[ok]: XREAD command is marked with movablekeys (1 ms) +[ok]: RENAME command will not be marked with movablekeys (1 ms) +[ok]: GEORADIUS_RO command will not be marked with movablekeys (1 ms) +[ok]: ZUNIONSTORE command is marked with movablekeys (7 ms) +[ok]: XREAD command is marked with movablekeys (8 ms) [ok]: EVAL command is marked with movablekeys (1 ms) -[ok]: SORT command is marked with movablekeys (1 ms) -[ok]: SORT_RO command is marked with movablekeys (1 ms) -[ok]: MIGRATE command is marked with movablekeys (1 ms) -[ok]: GEORADIUS command is marked with movablekeys (1 ms) -[60/84 done]: unit/introspection-2 (6 seconds) +[ok]: SORT command is marked with movablekeys (6 ms) +[ok]: SORT_RO command is marked with movablekeys (8 ms) +[ok]: MIGRATE command is marked with movablekeys (5 ms) +[ok]: GEORADIUS command is marked with movablekeys (5 ms) +[60/84 done]: unit/introspection-2 (8 seconds) Testing unit/limits === (limits network external:skip) Starting server 127.0.0.1:21581 ok -[ok]: Check if maxclients works refusing connections (1162 ms) -[61/84 done]: unit/limits (2 seconds) +[ok]: Check if maxclients works refusing connections (1732 ms) +[61/84 done]: unit/limits (5 seconds) Testing unit/obuf-limits === (obuf-limits external:skip) Starting server 127.0.0.1:21582 ok -[ok]: CONFIG SET client-output-buffer-limit (9 ms) -[ok]: Client output buffer hard limit is enforced (14519 ms) -[ok]: Client output buffer soft limit is enforced if time is overreached (5267 ms) -[ok]: Client output buffer soft limit is not enforced too early and is enforced when no traffic (6002 ms) -[ok]: No response for single command if client output buffer hard limit is enforced (159 ms) -[ok]: No response for multi commands in pipeline if client output buffer limit is enforced (1112 ms) -[ok]: Execute transactions completely even if client output buffer limit is enforced (81 ms) -[ok]: Obuf limit, HRANDFIELD with huge count stopped mid-run (39 ms) -[ok]: Obuf limit, KEYS stopped mid-run (137 ms) -[62/84 done]: unit/obuf-limits (27 seconds) +[ok]: CONFIG SET client-output-buffer-limit (7 ms) +[ok]: Client output buffer hard limit is enforced (40557 ms) +[ok]: Client output buffer soft limit is enforced if time is overreached (8672 ms) +[ok]: Client output buffer soft limit is not enforced too early and is enforced when no traffic (9019 ms) +[ok]: No response for single command if client output buffer hard limit is enforced (340 ms) +[ok]: No response for multi commands in pipeline if client output buffer limit is enforced (1296 ms) +[ok]: Execute transactions completely even if client output buffer limit is enforced (193 ms) +[ok]: Obuf limit, HRANDFIELD with huge count stopped mid-run (109 ms) +[ok]: Obuf limit, KEYS stopped mid-run (294 ms) +[62/84 done]: unit/obuf-limits (61 seconds) Testing unit/bitops === (bitops) Starting server 127.0.0.1:21583 ok -[ok]: BITCOUNT returns 0 against non existing key (1 ms) -[ok]: BITCOUNT returns 0 with out of range indexes (1 ms) -[ok]: BITCOUNT returns 0 with negative indexes where start > end (0 ms) -[ok]: BITCOUNT against test vector #1 (0 ms) -[ok]: BITCOUNT against test vector #2 (0 ms) +[ok]: BITCOUNT returns 0 against non existing key (5 ms) +[ok]: BITCOUNT returns 0 with out of range indexes (3 ms) +[ok]: BITCOUNT returns 0 with negative indexes where start > end (6 ms) +[ok]: BITCOUNT against test vector #1 (2 ms) +[ok]: BITCOUNT against test vector #2 (2 ms) [ok]: BITCOUNT against test vector #3 (1 ms) -[ok]: BITCOUNT against test vector #4 (1 ms) -[ok]: BITCOUNT against test vector #5 (0 ms) -[ok]: BITCOUNT fuzzing without start/end (397 ms) -[ok]: BITCOUNT fuzzing with start/end (900 ms) -[ok]: BITCOUNT with start, end (3 ms) +[ok]: BITCOUNT against test vector #4 (7 ms) +[ok]: BITCOUNT against test vector #5 (2 ms) +[ok]: BITCOUNT fuzzing without start/end (1401 ms) +[ok]: BITCOUNT fuzzing with start/end (2873 ms) +[ok]: BITCOUNT with start, end (11 ms) [ok]: BITCOUNT syntax error #1 (0 ms) -[ok]: BITCOUNT syntax error #2 (0 ms) -[ok]: BITCOUNT regression test for github issue #582 (1 ms) +[ok]: BITCOUNT syntax error #2 (1 ms) +[ok]: BITCOUNT regression test for github issue #582 (0 ms) [ok]: BITCOUNT misaligned prefix (1 ms) [ok]: BITCOUNT misaligned prefix + full words + remainder (1 ms) -[ok]: BITOP NOT (empty string) (1 ms) -[ok]: BITOP NOT (known string) (1 ms) +[ok]: BITOP NOT (empty string) (8 ms) +[ok]: BITOP NOT (known string) (6 ms) [ok]: BITOP where dest and target are the same key (1 ms) -[ok]: BITOP AND|OR|XOR don't change the string with single input key (2 ms) -[ok]: BITOP missing key is considered a stream of zero (1 ms) -[ok]: BITOP shorter keys are zero-padded to the key with max length (1 ms) -[ok]: BITOP and fuzzing (719 ms) -[ok]: BITOP or fuzzing (634 ms) -[ok]: BITOP xor fuzzing (381 ms) -[ok]: BITOP NOT fuzzing (108 ms) +[ok]: BITOP AND|OR|XOR don't change the string with single input key (7 ms) +[ok]: BITOP missing key is considered a stream of zero (7 ms) +[ok]: BITOP shorter keys are zero-padded to the key with max length (8 ms) +[ok]: BITOP and fuzzing (1932 ms) +[ok]: BITOP or fuzzing (3220 ms) +[ok]: BITOP xor fuzzing (1414 ms) +[ok]: BITOP NOT fuzzing (395 ms) [ok]: BITOP with integer encoded source objects (1 ms) -[ok]: BITOP with non string source key (1 ms) +[ok]: BITOP with non string source key (2 ms) [ok]: BITOP with empty string after non empty string (issue #529) (1 ms) -[ok]: BITPOS bit=0 with empty key returns 0 (4 ms) +[ok]: BITPOS bit=0 with empty key returns 0 (1 ms) [ok]: BITPOS bit=1 with empty key returns -1 (1 ms) [ok]: BITPOS bit=0 with string less than 1 word works (1 ms) [ok]: BITPOS bit=1 with string less than 1 word works (1 ms) [ok]: BITPOS bit=0 starting at unaligned address (1 ms) -[ok]: BITPOS bit=1 starting at unaligned address (0 ms) -[ok]: BITPOS bit=0 unaligned+full word+reminder (13 ms) -[ok]: BITPOS bit=1 unaligned+full word+reminder (5 ms) -[ok]: BITPOS bit=1 returns -1 if string is all 0 bits (24 ms) +[ok]: BITPOS bit=1 starting at unaligned address (1 ms) +[ok]: BITPOS bit=0 unaligned+full word+reminder (5 ms) +[ok]: BITPOS bit=1 unaligned+full word+reminder (6 ms) +[ok]: BITPOS bit=1 returns -1 if string is all 0 bits (39 ms) [ok]: BITPOS bit=0 works with intervals (7 ms) -[ok]: BITPOS bit=1 works with intervals (2 ms) +[ok]: BITPOS bit=1 works with intervals (7 ms) [ok]: BITPOS bit=0 changes behavior if end is given (1 ms) -[ok]: SETBIT/BITFIELD only increase dirty when the value changed (9 ms) -[ok]: BITPOS bit=1 fuzzy testing using SETBIT (563 ms) -[ok]: BITPOS bit=0 fuzzy testing using SETBIT (694 ms) -[ok]: BITPOS/BITCOUNT fuzzy testing using SETBIT (710 ms) +[ok]: SETBIT/BITFIELD only increase dirty when the value changed (13 ms) +[ok]: BITPOS bit=1 fuzzy testing using SETBIT (2450 ms) +[ok]: BITPOS bit=0 fuzzy testing using SETBIT (920 ms) +[ok]: BITPOS/BITCOUNT fuzzy testing using SETBIT (2204 ms) === (bitops) Starting server 127.0.0.1:21584 ok [ignore]: BIT pos larger than UINT_MAX: large memory flag not provided [ignore]: SETBIT values larger than UINT32_MAX and lzf_compress/lzf_decompress correctly: large memory flag not provided -[63/84 done]: unit/bitops (6 seconds) +[63/84 done]: unit/bitops (18 seconds) Testing unit/bitfield === (bitops) Starting server 127.0.0.1:21585 ok -[ok]: BITFIELD signed SET and GET basics (1 ms) +[ok]: BITFIELD signed SET and GET basics (5 ms) [ok]: BITFIELD unsigned SET and GET basics (1 ms) [ok]: BITFIELD signed SET and GET together (5 ms) -[ok]: BITFIELD unsigned with SET, GET and INCRBY arguments (0 ms) -[ok]: BITFIELD with only key as argument (1 ms) -[ok]: BITFIELD # form (1 ms) +[ok]: BITFIELD unsigned with SET, GET and INCRBY arguments (1 ms) +[ok]: BITFIELD with only key as argument (0 ms) +[ok]: BITFIELD # form (2 ms) [ok]: BITFIELD basic INCRBY form (1 ms) [ok]: BITFIELD chaining of multiple commands (0 ms) -[ok]: BITFIELD unsigned overflow wrap (4 ms) -[ok]: BITFIELD unsigned overflow sat (2 ms) -[ok]: BITFIELD signed overflow wrap (6 ms) -[ok]: BITFIELD signed overflow sat (1 ms) -[ok]: BITFIELD overflow detection fuzzing (821 ms) -[ok]: BITFIELD overflow wrap fuzzing (763 ms) -[ok]: BITFIELD regression for #3221 (0 ms) -[ok]: BITFIELD regression for #3564 (4 ms) +[ok]: BITFIELD unsigned overflow wrap (1 ms) +[ok]: BITFIELD unsigned overflow sat (1 ms) +[ok]: BITFIELD signed overflow wrap (2 ms) +[ok]: BITFIELD signed overflow sat (2 ms) +[ok]: BITFIELD overflow detection fuzzing (1102 ms) +[ok]: BITFIELD overflow wrap fuzzing (1640 ms) +[ok]: BITFIELD regression for #3221 (7 ms) +[ok]: BITFIELD regression for #3564 (9 ms) === (repl external:skip) Starting server 127.0.0.1:21586 ok === () Starting server 127.0.0.1:21587 ok -[ok]: BITFIELD: setup slave (107 ms) -[ok]: BITFIELD: write on master, read on slave (107 ms) -[ok]: BITFIELD_RO with only key as argument (1 ms) -[ok]: BITFIELD_RO fails when write option is used (0 ms) -[64/84 done]: unit/bitfield (3 seconds) +[ok]: BITFIELD: setup slave (118 ms) +[ok]: BITFIELD: write on master, read on slave (9 ms) +[ok]: BITFIELD_RO with only key as argument (0 ms) +[ok]: BITFIELD_RO fails when write option is used (1 ms) +[64/84 done]: unit/bitfield (5 seconds) Testing unit/geo === (geo) Starting server 127.0.0.1:21588 ok [ok]: GEO with wrong type src key (6 ms) -[ok]: GEO with non existing src key (7 ms) -[ok]: GEO BYLONLAT with empty search (1 ms) -[ok]: GEO BYMEMBER with non existing member (7 ms) +[ok]: GEO with non existing src key (1 ms) +[ok]: GEO BYLONLAT with empty search (34 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 (2 ms) -[ok]: GEOADD update with XX option (1 ms) +[ok]: GEOADD update (0 ms) +[ok]: GEOADD update with CH option (1 ms) +[ok]: GEOADD update with NX option (1 ms) +[ok]: GEOADD update with XX option (10 ms) [ok]: GEOADD update with CH NX option (0 ms) [ok]: GEOADD update with CH XX option (1 ms) -[ok]: GEOADD update with XX NX option will return syntax error (5 ms) -[ok]: GEOADD update with invalid option (1 ms) -[ok]: GEOADD invalid coordinates (0 ms) +[ok]: GEOADD update with XX NX option will return syntax error (1 ms) +[ok]: GEOADD update with invalid option (0 ms) +[ok]: GEOADD invalid coordinates (6 ms) [ok]: GEOADD multi add (0 ms) -[ok]: Check geoset values (0 ms) -[ok]: GEORADIUS simple (sorted) (1 ms) -[ok]: GEOSEARCH simple (sorted) (1 ms) -[ok]: GEOSEARCH FROMLONLAT and FROMMEMBER cannot exist at the same time (1 ms) -[ok]: GEOSEARCH FROMLONLAT and FROMMEMBER one must exist (1 ms) -[ok]: GEOSEARCH BYRADIUS and BYBOX cannot exist at the same time (1 ms) +[ok]: Check geoset values (1 ms) +[ok]: GEORADIUS simple (sorted) (0 ms) +[ok]: GEOSEARCH simple (sorted) (0 ms) +[ok]: GEOSEARCH FROMLONLAT and FROMMEMBER cannot exist at the same time (0 ms) +[ok]: GEOSEARCH FROMLONLAT and FROMMEMBER one must exist (0 ms) +[ok]: GEOSEARCH BYRADIUS and BYBOX cannot exist at the same time (0 ms) [ok]: GEOSEARCH BYRADIUS and BYBOX one must exist (1 ms) -[ok]: GEOSEARCH with STOREDIST option (0 ms) +[ok]: GEOSEARCH with STOREDIST option (4 ms) [ok]: GEORADIUS withdist (sorted) (0 ms) -[ok]: GEOSEARCH withdist (sorted) (0 ms) +[ok]: GEOSEARCH withdist (sorted) (1 ms) [ok]: GEORADIUS with COUNT (0 ms) [ok]: GEORADIUS with ANY not sorted by default (0 ms) -[ok]: GEORADIUS with ANY sorted by ASC (0 ms) -[ok]: GEORADIUS with ANY but no COUNT (1 ms) +[ok]: GEORADIUS with ANY sorted by ASC (1 ms) +[ok]: GEORADIUS with ANY but no COUNT (5 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]: GEORADIUS with COUNT DESC (1 ms) +[ok]: GEORADIUS HUGE, issue #2767 (1 ms) [ok]: GEORADIUSBYMEMBER simple (sorted) (0 ms) -[ok]: GEORADIUSBYMEMBER search areas contain satisfied points in oblique direction (2 ms) +[ok]: GEORADIUSBYMEMBER search areas contain satisfied points in oblique direction (7 ms) [ok]: GEORADIUSBYMEMBER crossing pole search (1 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]: GEOSEARCH FROMMEMBER simple (sorted) (0 ms) +[ok]: GEOSEARCH vs GEORADIUS (3 ms) +[ok]: GEOSEARCH non square, long and narrow (4 ms) +[ok]: GEOSEARCH corner point test (7 ms) [ok]: GEORADIUSBYMEMBER withdist (sorted) (1 ms) [ok]: GEOHASH is able to return geohash strings (1 ms) [ok]: GEOPOS simple (1 ms) -[ok]: GEOPOS missing element (1 ms) -[ok]: GEODIST simple & unit (1 ms) +[ok]: GEOPOS missing element (11 ms) +[ok]: GEODIST simple & unit (5 ms) [ok]: GEODIST missing elements (1 ms) -[ok]: GEORADIUS STORE option: syntax error (1 ms) -[ok]: GEOSEARCHSTORE STORE option: syntax error (0 ms) +[ok]: GEORADIUS STORE option: syntax error (4 ms) +[ok]: GEOSEARCHSTORE STORE option: syntax error (1 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]: GEORANGE STORE option: plain usage (5 ms) +[ok]: GEORADIUSBYMEMBER STORE/STOREDIST option: plain usage (2 ms) [ok]: GEOSEARCHSTORE STORE option: plain usage (1 ms) -[ok]: GEORANGE STOREDIST option: plain usage (2 ms) -[ok]: GEOSEARCHSTORE STOREDIST option: plain usage (1 ms) -[ok]: GEORANGE STOREDIST option: COUNT ASC and DESC (2 ms) -[ok]: GEOSEARCH the box spans -180° or 180° (1 ms) +[ok]: GEORANGE STOREDIST option: plain usage (8 ms) +[ok]: GEOSEARCHSTORE STOREDIST option: plain usage (3 ms) +[ok]: GEORANGE STOREDIST option: COUNT ASC and DESC (7 ms) +[ok]: GEOSEARCH the box spans -180° or 180° (2 ms) [ok]: GEOSEARCH with small distance (1 ms) -[ok]: GEOSEARCH fuzzy test - byradius (26088 ms) -[ok]: GEOSEARCH fuzzy test - bybox (24185 ms) -[ok]: GEOSEARCH box edges fuzzy test (93 ms) -[65/84 done]: unit/geo (50 seconds) +[ok]: GEOSEARCH fuzzy test - byradius (102136 ms) +[ok]: GEOSEARCH fuzzy test - bybox (38524 ms) +[ok]: GEOSEARCH box edges fuzzy test (224 ms) +[65/84 done]: unit/geo (142 seconds) Testing unit/memefficiency === (memefficiency external:skip) Starting server 127.0.0.1:21589 ok -[ok]: Memory efficiency with values in range 32 (954 ms) -[ok]: Memory efficiency with values in range 64 (650 ms) -[ok]: Memory efficiency with values in range 128 (804 ms) -[ok]: Memory efficiency with values in range 1024 (1211 ms) -[ok]: Memory efficiency with values in range 16384 (3649 ms) +[ok]: Memory efficiency with values in range 32 (2369 ms) +[ok]: Memory efficiency with values in range 64 (2307 ms) +[ok]: Memory efficiency with values in range 128 (1038 ms) +[ok]: Memory efficiency with values in range 1024 (1046 ms) +[ok]: Memory efficiency with values in range 16384 (2027 ms) === (defrag external:skip) Starting server 127.0.0.1:21590 ok -frag 1.50 -[ok]: Active defrag (85484 ms) -used 76378744 -rss 77905920 -frag 1.02 -frag_bytes 1527176 -used 50415312 -rss 76636160 -frag 1.52 -frag_bytes 26220848 -[ok]: Active defrag eval scripts (16002 ms) +frag 1.51 +[ok]: Active defrag (107250 ms) +used 76384632 +rss 78327808 +frag 1.03 +frag_bytes 1943176 +used 50447304 +rss 77189120 +frag 1.53 +frag_bytes 26741816 +[ok]: Active defrag eval scripts (26922 ms) frag 1.86 -[ok]: Active defrag big keys (92104 ms) -frag 2.00 -[ok]: Active defrag big list (98454 ms) +[ok]: Active defrag big keys (106048 ms) +frag 2.02 +[ok]: Active defrag big list (105280 ms) === (defrag) Starting server 127.0.0.1:21591 ok frag 1.96 -[ok]: Active defrag edge case (810222 ms) -[66/84 done]: unit/memefficiency (1111 seconds) +[ok]: Active defrag edge case (107775 ms) +[66/84 done]: unit/memefficiency (464 seconds) Testing unit/hyperloglog === (hll) Starting server 127.0.0.1:21592 ok -[ok]: HyperLogLog self test passes (3583 ms) +[ok]: HyperLogLog self test passes (3181 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 (5 ms) -[ok]: PFADD works with empty string (regression) (1 ms) -[ok]: PFCOUNT returns approximated cardinality of set (1 ms) -[ok]: HyperLogLogs are promote from sparse to dense (1799 ms) -[ok]: HyperLogLog sparse encoding stress test (2869 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 (6 ms) +[ok]: HyperLogLogs are promote from sparse to dense (1231 ms) +[ok]: HyperLogLog sparse encoding stress test (2673 ms) [ok]: Corrupted sparse HyperLogLogs are detected: Additional at tail (1 ms) [ok]: Corrupted sparse HyperLogLogs are detected: Broken magic (1 ms) -[ok]: Corrupted sparse HyperLogLogs are detected: Invalid encoding (0 ms) -[ok]: Corrupted sparse HyperLogLogs doesn't cause overflow and out-of-bounds with XZERO opcode (183 ms) -[ok]: Corrupted sparse HyperLogLogs doesn't cause overflow and out-of-bounds with ZERO opcode (44967 ms) -[ok]: Corrupted dense HyperLogLogs are detected: Wrong length (31 ms) -[ok]: Fuzzing dense/sparse encoding: Redis should always detect errors (76346 ms) -[ok]: PFADD, PFCOUNT, PFMERGE type checking works (6 ms) -[ok]: PFMERGE results on the cardinality of union of sets (7 ms) -[ok]: PFCOUNT multiple-keys merge returns cardinality of union #1 (16077 ms) -[ok]: PFCOUNT multiple-keys merge returns cardinality of union #2 (10479 ms) -[ok]: PFDEBUG GETREG returns the HyperLogLog raw registers (3159 ms) +[ok]: Corrupted sparse HyperLogLogs are detected: Invalid encoding (1 ms) +[ok]: Corrupted sparse HyperLogLogs doesn't cause overflow and out-of-bounds with XZERO opcode (257 ms) +[ok]: Corrupted sparse HyperLogLogs doesn't cause overflow and out-of-bounds with ZERO opcode (38364 ms) +[ok]: Corrupted dense HyperLogLogs are detected: Wrong length (19 ms) +[ok]: Fuzzing dense/sparse encoding: Redis should always detect errors (78788 ms) +[ok]: PFADD, PFCOUNT, PFMERGE type checking works (1 ms) +[ok]: PFMERGE results on the cardinality of union of sets (2 ms) +[ok]: PFCOUNT multiple-keys merge returns cardinality of union #1 (23031 ms) +[ok]: PFCOUNT multiple-keys merge returns cardinality of union #2 (8889 ms) +[ok]: PFDEBUG GETREG returns the HyperLogLog raw registers (4822 ms) [ok]: PFADD / PFCOUNT cache invalidation works (2 ms) -[67/84 done]: unit/hyperloglog (160 seconds) +[67/84 done]: unit/hyperloglog (161 seconds) Testing unit/lazyfree === (lazyfree) Starting server 127.0.0.1:21593 ok -[ok]: UNLINK can reclaim memory in background (754 ms) -[ok]: FLUSHDB ASYNC can reclaim memory in background (911 ms) -[ok]: lazy free a stream with all types of metadata (2680 ms) -[ok]: lazy free a stream with deleted cgroup (1 ms) -[68/84 done]: unit/lazyfree (5 seconds) +[ok]: UNLINK can reclaim memory in background (1125 ms) +[ok]: FLUSHDB ASYNC can reclaim memory in background (952 ms) +[ok]: lazy free a stream with all types of metadata (646 ms) +[ok]: lazy free a stream with deleted cgroup (6 ms) +[68/84 done]: unit/lazyfree (4 seconds) Testing unit/wait === (wait network external:skip) Starting server 127.0.0.1:21594 ok === () Starting server 127.0.0.1:21595 ok -[ok]: Setup slave (103 ms) -[ok]: WAIT should acknowledge 1 additional copy of the data (6 ms) -[ok]: WAIT should not acknowledge 2 additional copies of the data (1041 ms) -[ok]: WAIT should not acknowledge 1 additional copy if slave is blocked (1026 ms) -[ok]: WAIT implicitly blocks on client pause since ACKs aren't sent (1121 ms) -[69/84 done]: unit/wait (4 seconds) +[ok]: Setup slave (122 ms) +[ok]: WAIT should acknowledge 1 additional copy of the data (2100 ms) +[ok]: WAIT should not acknowledge 2 additional copies of the data (1010 ms) +[ok]: WAIT should not acknowledge 1 additional copy if slave is blocked (1125 ms) +[ok]: WAIT implicitly blocks on client pause since ACKs aren't sent (1124 ms) +[69/84 done]: unit/wait (6 seconds) Testing unit/pause === (pause network) Starting server 127.0.0.1:21596 ok -[ok]: Test read commands are not blocked by client pause (40 ms) -[ok]: Test write commands are paused by RO (28 ms) -[ok]: Test special commands are paused by RO (68 ms) -[ok]: Test read/admin mutli-execs are not blocked by pause RO (28 ms) -[ok]: Test write mutli-execs are blocked by pause RO (37 ms) -[ok]: Test scripts are blocked by pause RO (60 ms) -[ok]: Test RO scripts are not blocked by pause RO (31 ms) -[ok]: Test read-only scripts in mutli-exec are not blocked by pause RO (45 ms) -[ok]: Test write scripts in mutli-exec are blocked by pause RO (68 ms) -[ok]: Test may-replicate commands are rejected in RO scripts (9 ms) -[ok]: Test multiple clients can be queued up and unblocked (89 ms) +[ok]: Test read commands are not blocked by client pause (41 ms) +[ok]: Test write commands are paused by RO (21 ms) +[ok]: Test special commands are paused by RO (33 ms) +[ok]: Test read/admin mutli-execs are not blocked by pause RO (18 ms) +[ok]: Test write mutli-execs are blocked by pause RO (124 ms) +[ok]: Test scripts are blocked by pause RO (57 ms) +[ok]: Test RO scripts are not blocked by pause RO (19 ms) +[ok]: Test read-only scripts in mutli-exec are not blocked by pause RO (18 ms) +[ok]: Test write scripts in mutli-exec are blocked by pause RO (139 ms) +[ok]: Test may-replicate commands are rejected in RO scripts (1 ms) +[ok]: Test multiple clients can be queued up and unblocked (81 ms) [ok]: Test clients with syntax errors will get responses immediately (1 ms) -[ok]: Test both active and passive expires are skipped during client pause (110 ms) -[ok]: Test that client pause starts at the end of a transaction (32 ms) +[ok]: Test both active and passive expires are skipped during client pause (111 ms) +[ok]: Test that client pause starts at the end of a transaction (41 ms) === (needs:repl external:skip) Starting server 127.0.0.1:21597 ok -[ok]: Test when replica paused, offset would not grow (848 ms) -[ok]: Test replica offset would grow after unpause (6 ms) -[70/84 done]: unit/pause (4 seconds) +[ok]: Test when replica paused, offset would not grow (739 ms) +[ok]: Test replica offset would grow after unpause (10 ms) +[70/84 done]: unit/pause (3 seconds) Testing unit/querybuf === (querybuf slow) Starting server 127.0.0.1:21598 ok -[ok]: query buffer resized correctly (3029 ms) -[ok]: query buffer resized correctly when not idle (189 ms) -[71/84 done]: unit/querybuf (4 seconds) +[ok]: query buffer resized correctly (2669 ms) +[ok]: query buffer resized correctly when not idle (197 ms) +[71/84 done]: unit/querybuf (3 seconds) Testing unit/pendingquerybuf === (wait external:skip) Starting server 127.0.0.1:21599 ok === () Starting server 127.0.0.1:21600 ok -[ok]: pending querybuf: check size of pending_querybuf after set a big value (12985 ms) -[72/84 done]: unit/pendingquerybuf (14 seconds) +[ok]: pending querybuf: check size of pending_querybuf after set a big value (8865 ms) +[72/84 done]: unit/pendingquerybuf (10 seconds) Testing unit/tls === (tls) Starting server 127.0.0.1:21601 ok [ok]: TLS: Not accepting non-TLS connections on a TLS port (1 ms) -[ok]: TLS: Verify tls-auth-clients behaves as expected (54 ms) -[ok]: TLS: Verify tls-protocols behaves as expected (54 ms) -[ok]: TLS: Verify tls-ciphers behaves as expected (65 ms) -[ok]: TLS: Verify tls-prefer-server-ciphers behaves as expected (124 ms) +[ok]: TLS: Verify tls-auth-clients behaves as expected (49 ms) +[ok]: TLS: Verify tls-protocols behaves as expected (98 ms) +[ok]: TLS: Verify tls-ciphers behaves as expected (194 ms) +[ok]: TLS: Verify tls-prefer-server-ciphers behaves as expected (168 ms) === () Starting server 127.0.0.1:21602 ok -[ok]: TLS: Verify tls-cert-file is also used as a client cert if none specified (430 ms) -[ok]: TLS: switch between tcp and tls ports (106 ms) -[ok]: TLS: Working with an encrypted keyfile (95 ms) -[73/84 done]: unit/tls (1 seconds) +[ok]: TLS: Verify tls-cert-file is also used as a client cert if none specified (1136 ms) +[ok]: TLS: switch between tcp and tls ports (77 ms) +[ok]: TLS: Working with an encrypted keyfile (112 ms) +[73/84 done]: unit/tls (2 seconds) Testing unit/tracking === (tracking network) Starting server 127.0.0.1:21603 ok -[ok]: Clients are able to enable tracking and redirect it (0 ms) +[ok]: Clients are able to enable tracking and redirect it (8 ms) [ok]: The other connection is able to get invalidations (2 ms) -[ok]: The client is now able to disable tracking (5 ms) -[ok]: Clients can enable the BCAST mode with the empty prefix (1 ms) +[ok]: The client is now able to disable tracking (0 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 (11 ms) -[ok]: Adding prefixes to BCAST mode works (1 ms) -[ok]: Tracking NOLOOP mode in standard mode works (2 ms) -[ok]: Tracking NOLOOP mode in BCAST mode works (1 ms) -[ok]: Tracking gets notification of expired keys (1005 ms) -[ok]: Tracking gets notification of lazy expired keys (113 ms) -[ok]: HELLO 3 reply is correct (3 ms) -[ok]: HELLO without protover (16 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 (17 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 (9 ms) +[ok]: Tracking NOLOOP mode in BCAST mode works (2 ms) +[ok]: Tracking gets notification of expired keys (1008 ms) +[ok]: Tracking gets notification of lazy expired keys (106 ms) +[ok]: HELLO 3 reply is correct (0 ms) +[ok]: HELLO without protover (2 ms) +[ok]: RESP3 based basic invalidation (5 ms) +[ok]: RESP3 tracking redirection (8 ms) +[ok]: Invalidations of previous keys can be redirected after switching to RESP3 (2 ms) [ok]: Invalidations of new keys can be redirected after switching to RESP3 (1 ms) -[ok]: Invalid keys should not be tracked for scripts in NOLOOP mode (11 ms) -[ok]: Tracking only occurs for scripts when a command calls a read-only command (19 ms) -[ok]: RESP3 Client gets tracking-redir-broken push message after cached key changed when rediretion client is terminated (43 ms) -[ok]: Different clients can redirect to the same connection (13 ms) -[ok]: Different clients using different protocols can track the same key (15 ms) +[ok]: Invalid keys should not be tracked for scripts in NOLOOP mode (8 ms) +[ok]: Tracking only occurs for scripts when a command calls a read-only command (11 ms) +[ok]: RESP3 Client gets tracking-redir-broken push message after cached key changed when rediretion client is terminated (35 ms) +[ok]: Different clients can redirect to the same connection (2 ms) +[ok]: Different clients using different protocols can track the same key (6 ms) [ok]: No invalidation message when using OPTIN option (2 ms) -[ok]: Invalidation message sent when using OPTIN option with CLIENT CACHING yes (20 ms) -[ok]: Invalidation message sent when using OPTOUT option (2 ms) -[ok]: No invalidation message when using OPTOUT option with CLIENT CACHING no (10 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 (18 ms) -[ok]: BCAST with prefix collisions throw errors (43 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 (129 ms) -[ok]: Tracking invalidation message is not interleaved with transaction response (16 ms) -[ok]: Tracking invalidation message of eviction keys should be before response (4 ms) -[ok]: Unblocked BLMOVE gets notification after response (9 ms) -[ok]: Tracking gets notification on tracking table key eviction (104 ms) -[ok]: Invalidation message received for flushall (128 ms) -[ok]: Invalidation message received for flushdb (103 ms) -[ok]: Test ASYNC flushall (87 ms) -[ok]: flushdb tracking invalidation message is not interleaved with transaction response (92 ms) -[ok]: Server is able to evacuate enough keys when num of keys surpasses limit by more than defined initial effort (436 ms) -[ok]: Tracking info is correct (100 ms) -[ok]: CLIENT GETREDIR provides correct client id (2 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking off (1 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 (13 ms) +[ok]: Able to redirect to a RESP3 client (12 ms) +[ok]: After switching from normal tracking to BCAST mode, no invalidation message is produced for pre-BCAST keys (10 ms) +[ok]: BCAST with prefix collisions throw errors (53 ms) +[ok]: hdel deliver invalidate message after response in the same connection (7 ms) +[ok]: Tracking invalidation message is not interleaved with multiple keys response (124 ms) +[ok]: Tracking invalidation message is not interleaved with transaction response (20 ms) +[ok]: Tracking invalidation message of eviction keys should be before response (12 ms) +[ok]: Unblocked BLMOVE gets notification after response (2 ms) +[ok]: Tracking gets notification on tracking table key eviction (45 ms) +[ok]: Invalidation message received for flushall (116 ms) +[ok]: Invalidation message received for flushdb (70 ms) +[ok]: Test ASYNC flushall (76 ms) +[ok]: flushdb tracking invalidation message is not interleaved with transaction response (78 ms) +[ok]: Server is able to evacuate enough keys when num of keys surpasses limit by more than defined initial effort (500 ms) +[ok]: Tracking info is correct (1971 ms) +[ok]: CLIENT GETREDIR provides correct client id (1 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking off (0 ms) [ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on (1 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on with options (1 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optin (5 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking on with options (0 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optin (1 ms) [ok]: CLIENT TRACKINGINFO provides reasonable results when tracking optout (1 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking bcast mode (1 ms) -[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking redir broken (78 ms) -[ok]: Regression test for #11715 (74 ms) -[ok]: RESP3 based basic invalidation with client reply off (65 ms) -[ok]: RESP2 based basic invalidation with client reply off (114 ms) -[ok]: RESP3 based basic redirect invalidation with client reply off (99 ms) -[ok]: RESP3 based basic tracking-redir-broken with client reply off (60 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking bcast mode (2 ms) +[ok]: CLIENT TRACKINGINFO provides reasonable results when tracking redir broken (39 ms) +[ok]: Regression test for #11715 (48 ms) +[ok]: RESP3 based basic invalidation with client reply off (74 ms) +[ok]: RESP2 based basic invalidation with client reply off (117 ms) +[ok]: RESP3 based basic redirect invalidation with client reply off (114 ms) +[ok]: RESP3 based basic tracking-redir-broken with client reply off (58 ms) [74/84 done]: unit/tracking (6 seconds) Testing unit/oom-score-adj === (oom-score-adj external:skip) Starting server 127.0.0.1:21604 ok -[ok]: CONFIG SET oom-score-adj works as expected (318 ms) -[ok]: CONFIG SET oom-score-adj handles configuration failures (11 ms) +[ok]: CONFIG SET oom-score-adj works as expected (275 ms) +[ok]: CONFIG SET oom-score-adj handles configuration failures (12 ms) [ok]: CONFIG SET oom-score-adj-values doesn't touch proc when disabled (1 ms) [ok]: CONFIG SET oom score restored on disable (1 ms) -[ok]: CONFIG SET oom score relative and absolute (5 ms) -[ok]: CONFIG SET out-of-range oom score (1 ms) -[75/84 done]: unit/oom-score-adj (4 seconds) +[ok]: CONFIG SET oom score relative and absolute (6 ms) +[ok]: CONFIG SET out-of-range oom score (4 ms) +[75/84 done]: unit/oom-score-adj (1 seconds) Testing unit/shutdown === (shutdown external:skip) Starting server 127.0.0.1:21605 ok -[ok]: Temp rdb will be deleted if we use bg_unlink when shutdown (284 ms) +[ok]: Temp rdb will be deleted if we use bg_unlink when shutdown (394 ms) === (shutdown external:skip) Starting server 127.0.0.1:21606 ok -[ok]: SHUTDOWN ABORT can cancel SIGTERM (24 ms) -[ok]: Temp rdb will be deleted in signal handle (139 ms) +[ok]: SHUTDOWN ABORT can cancel SIGTERM (41 ms) +[ok]: Temp rdb will be deleted in signal handle (129 ms) === (shutdown external:skip) Starting server 127.0.0.1:21607 ok -[ok]: RDB save will be failed in shutdown (13 ms) -[ok]: SHUTDOWN will abort if rdb save failed on signal (63 ms) -[ok]: SHUTDOWN will abort if rdb save failed on shutdown command (5 ms) -[ok]: SHUTDOWN can proceed if shutdown command was with nosave (20 ms) -[ok]: Clean up rdb same named folder (6 ms) +[ok]: RDB save will be failed in shutdown (24 ms) +[ok]: SHUTDOWN will abort if rdb save failed on signal (120 ms) +[ok]: SHUTDOWN will abort if rdb save failed on shutdown command (6 ms) +[ok]: SHUTDOWN can proceed if shutdown command was with nosave (9 ms) +[ok]: Clean up rdb same named folder (11 ms) [76/84 done]: unit/shutdown (2 seconds) Testing unit/networking === () Starting server 127.0.0.1:21608 ok -[ok]: CONFIG SET port number (484 ms) +[ok]: CONFIG SET port number (467 ms) === () Starting server 127.0.0.1:21610 ok -[ok]: CONFIG SET bind address (448 ms) +[ok]: CONFIG SET bind address (452 ms) === () Starting server 127.0.0.1:21611 ok === () Starting server 127.0.0.1:21612 ok -[ok]: CONFIG SET bind-source-addr (789 ms) +[ok]: CONFIG SET bind-source-addr (1125 ms) === (external:skip) Starting server 127.0.0.1:21613 ok -[ok]: Default bind address configuration handling (459 ms) -[ok]: Protected mode works as expected (8 ms) -[77/84 done]: unit/networking (2 seconds) +[ok]: Default bind address configuration handling (3088 ms) +[ok]: Protected mode works as expected (7 ms) +[77/84 done]: unit/networking (6 seconds) Testing unit/cluster [ignore]: Not supported in tls mode [78/84 done]: unit/cluster (0 seconds) Testing unit/client-eviction === () Starting server 127.0.0.1:21614 ok -[ok]: client evicted due to large argv (152 ms) -[ok]: client evicted due to large query buf (96 ms) -[ok]: client evicted due to percentage of maxmemory (108 ms) -[ok]: client evicted due to large multi buf (182 ms) -[ok]: client evicted due to watched key list (3483 ms) -[ok]: client evicted due to pubsub subscriptions (7726 ms) -[ok]: client evicted due to tracking redirection (76 ms) -[ok]: client evicted due to client tracking prefixes (7121 ms) -[ok]: client evicted due to output buf (42 ms) -[ok]: client no-evict on (87 ms) -[ok]: client no-evict off (57 ms) -=== () Starting server 127.0.0.1:21615 ok -[ok]: avoid client eviction when client is freed by output buffer limit (256 ms) -=== () Starting server 127.0.0.1:21616 ok -[ok]: decrease maxmemory-clients causes client eviction (549 ms) -=== () Starting server 127.0.0.1:21617 ok -[ok]: evict clients only until below limit (453 ms) -=== () Starting server 127.0.0.1:21618 ok -[ok]: evict clients in right order (large to small) (490 ms) -=== () Starting server 127.0.0.1:21619 ok -[ok]: client total memory grows during client no-evict (176 ms) -[ok]: client total memory grows during maxmemory-clients disabled (196 ms) -[79/84 done]: unit/client-eviction (24 seconds) -Testing unit/violations -=== () Starting server 127.0.0.1:21620 ok -[ignore]: XADD one huge field: large memory flag not provided -=== () Starting server 127.0.0.1:21621 ok -[ignore]: XADD one huge field - 1: large memory flag not provided -=== () Starting server 127.0.0.1:21622 ok -[ignore]: several XADD big fields: large memory flag not provided -=== () Starting server 127.0.0.1:21623 ok -[ignore]: single XADD big fields: large memory flag not provided -=== () Starting server 127.0.0.1:21624 ok -[ignore]: hash with many big fields: large memory flag not provided -=== () Starting server 127.0.0.1:21625 ok -[ignore]: hash with one huge field: large memory flag not provided -=== () Starting server 127.0.0.1:21626 ok -[ok]: SORT adds integer field to list (2 ms) -[80/84 done]: unit/violations (5 seconds) -Testing unit/replybufsize -=== (replybufsize) Starting server 127.0.0.1:21627 ok -[ok]: verify reply buffer limits (686 ms) -[81/84 done]: unit/replybufsize (1 seconds) -Testing unit/cluster-scripting -=== (external:skip cluster) Starting server 127.0.0.1:21628 ok -[ok]: Eval scripts with shebangs and functions default to no cross slots (1 ms) -[ok]: Cross slot commands are allowed by default for eval scripts and with allow-cross-slot-keys flag (7 ms) -[ok]: Cross slot commands are also blocked if they disagree with pre-declared keys (8 ms) -[82/84 done]: unit/cluster-scripting (4 seconds) -Testing unit/cluster/misc -=== (external:skip cluster) Starting server 127.0.0.1:21629 ok -=== (external:skip cluster) Starting server 127.0.0.1:21630 ok -=== (external:skip cluster) Starting server 127.0.0.1:21631 ok -=== (external:skip cluster) Starting server 127.0.0.1:21632 ok -[ok]: Key lazy expires during key migration (22 ms) -[83/84 done]: unit/cluster/misc (4 seconds) -Testing unit/cluster/links -=== (external:skip cluster) Starting server 127.0.0.1:21633 ok -=== (external:skip cluster) Starting server 127.0.0.1:21634 ok -=== (external:skip cluster) Starting server 127.0.0.1:21635 ok -[ok]: Broadcast message across a cluster shard while a cluster link is down (168 ms) -[84/84 done]: unit/cluster/links (3 seconds) - - The End - -Execution time of different units: - 0 seconds - unit/printver - 41 seconds - unit/dump - 6 seconds - unit/auth - 2 seconds - unit/protocol - 2 seconds - unit/keyspace - 22 seconds - unit/scan - 1 seconds - unit/info - 0 seconds - unit/info-command - 19 seconds - unit/type/string - 4 seconds - unit/type/incr - 27 seconds - unit/type/list - 32 seconds - unit/type/list-2 - 53 seconds - unit/type/list-3 - 38 seconds - unit/type/set - 31 seconds - unit/type/zset - 5 seconds - unit/type/hash - 26 seconds - unit/type/stream - 6 seconds - unit/type/stream-cgroups - 12 seconds - unit/sort - 15 seconds - unit/expire - 9 seconds - unit/other - 5 seconds - unit/multi - 0 seconds - unit/quit - 33 seconds - unit/aofrw - 7 seconds - unit/acl - 0 seconds - unit/acl-v2 - 17 seconds - unit/latency-monitor - 28 seconds - integration/block-repl - 252 seconds - integration/replication - 28 seconds - integration/replication-2 - 23 seconds - integration/replication-3 - 61 seconds - integration/replication-4 - 213 seconds - integration/replication-psync - 26 seconds - integration/replication-buffer - 18 seconds - integration/shutdown - 24 seconds - integration/aof - 16 seconds - integration/aof-multi-part - 13 seconds - integration/rdb - 25 seconds - integration/corrupt-dump - 21 seconds - integration/corrupt-dump-fuzzer - 1 seconds - integration/convert-zipmap-hash-on-load - 0 seconds - integration/convert-ziplist-hash-on-load - 1 seconds - integration/convert-ziplist-zset-on-load - 1 seconds - integration/logging - 44 seconds - integration/psync2 - 23 seconds - integration/psync2-reg - 19 seconds - integration/psync2-pingoff - 12 seconds - integration/psync2-master-restart - 6 seconds - integration/failover - 12 seconds - integration/redis-cli - 7 seconds - integration/redis-benchmark - 6 seconds - integration/dismiss-mem - 2 seconds - unit/pubsub - 2 seconds - unit/pubsubshard - 2 seconds - unit/slowlog - 21 seconds - unit/scripting - 7 seconds - unit/functions - 138 seconds - unit/maxmemory - 13 seconds - unit/introspection - 6 seconds - unit/introspection-2 - 2 seconds - unit/limits - 27 seconds - unit/obuf-limits - 6 seconds - unit/bitops - 3 seconds - unit/bitfield - 50 seconds - unit/geo - 1111 seconds - unit/memefficiency - 160 seconds - unit/hyperloglog - 5 seconds - unit/lazyfree - 4 seconds - unit/wait - 4 seconds - unit/pause - 4 seconds - unit/querybuf - 14 seconds - unit/pendingquerybuf - 1 seconds - unit/tls - 6 seconds - unit/tracking - 4 seconds - unit/oom-score-adj - 2 seconds - unit/shutdown - 2 seconds - unit/networking - 0 seconds - unit/cluster - 24 seconds - unit/client-eviction - 5 seconds - unit/violations - 1 seconds - unit/replybufsize - 4 seconds - unit/cluster-scripting - 4 seconds - unit/cluster/misc - 3 seconds - unit/cluster/links - -\o/ All tests passed without errors! +[ok]: client evicted due to large argv (134 ms) +[ok]: client evicted due to large query buf (52 ms) +[err]: client evicted due to percentage of maxmemory in tests/unit/client-eviction.tcl +Expected 37632 >= 220200 && 37632 < 440401 (context: type eval line 17 cmd {assert {$tot_mem >= $n && $tot_mem < $maxmemory_clients_actual}} proc ::test) +[exception]: Executing test client: error writing "sock55afbd12ab10": broken pipe. +error writing "sock55afbd12ab10": broken pipe + while executing +"$rr set k [string repeat v [expr $maxmemory_clients / 4]]" + ("uplevel" body line 7) + invoked from within +"uplevel 1 $code" + (procedure "test" line 51) + invoked from within +"test "client evicted due to large multi buf" { + r flushdb + lassign [gen_client] rr cname + + # Attempt a multi-exec where s..." + ("uplevel" body line 63) + invoked from within +"uplevel 1 $code " + (procedure "start_server" line 3) + invoked from within +"start_server {} { + set maxmemory_clients 3000000 + r config set maxmemory-clients $maxmemory_clients + + test "client evicted due to large a..." + ("uplevel" body line 52) + invoked from within +"uplevel 1 $code" + (procedure "tags" line 12) + invoked from within +"tags {"external:skip"} { -Cleanup: may take some time... OK +# Get info about a redis client connection: +# name - name of client we want to query +# f - field name from "CLIENT LIST" we ..." + (file "tests/unit/client-eviction.tcl" line 1) + invoked from within +"source $path" + (procedure "execute_test_file" line 4) + invoked from within +"execute_test_file $data" + (procedure "test_client_main" line 10) + invoked from within +"test_client_main $::test_server_port " +Killing still running Redis server 3702814 +Killing still running Redis server 3703430 +Killing still running Redis server 3705017 +Killing still running Redis server 3705087 +Killing still running Redis server 3717965 +Killing still running Redis server 3718269 +Killing still running Redis server 3720063 +Killing still running Redis server 3720598 +Killing still running Redis server 3783384 +Killing still running Redis server 3783432 +Killing still running Redis server 3791460 +Killing still running Redis server 3792192 +Killing still running Redis server 3792765 +Killing still running Redis server 3793137 +Killing still running Redis server 3794655 +Killing still running Redis server 3794690 +Killing still running Redis server 3794711 +Killing still running Redis server 3797648 +Killing still running Redis server 3800389 +Killing still running Redis server 3800487 +Killing still running Redis server 3800584 +Killing still running Redis server 3800617 +Killing still running Redis server 3800706 +Killing still running Redis server 3800878 +Killing still running Redis server 3801037 +Killing still running Redis server 3801125 +Killing still running Redis server 3801163 +Killing still running Redis server 3801188 +Killing still running Redis server 3801607 +Killing still running Redis server 3806915 +Killing still running Redis server 3807071 +Killing still running Redis server 3814884 +Killing still running Redis server 3815802 +Killing still running Redis server 3815937 +Killing still running Redis server 3816122 +Killing still running Redis server 3816508 +Killing still running Redis server 3816617 +Killing still running Redis server 3819107 +Killing still running Redis server 3819416 +Killing still running Redis server 3820191 +Killing still running Redis server 3821505 +Killing still running Redis server 3822255 +Killing still running Redis server 3822659 +Killing still running Redis server 3824307 +Killing still running Redis server 3824506 +Killing still running Redis server 3826021 +Killing still running Redis server 3827291 +Killing still running Redis server 3827429 +Killing still running Redis server 3832379 +Killing still running Redis server 3832515 +Killing still running Redis server 3851276 +Killing still running Redis server 3851447 +Killing still running Redis server 3861861 +Killing still running Redis server 4005038 +Killing still running Redis server 4005065 +Killing still running Redis server 4005091 timeout 30m ./runtest-cluster --tls || true Starting redis #0 at port 30000 Starting redis #1 at port 30002 @@ -4832,439 +5101,448 @@ Starting redis #18 at port 30036 Starting redis #19 at port 30038 Testing unit: 00-base.tcl -07:38:32> (init) Restart killed instances: OK -07:38:32> Cluster nodes are reachable: OK -07:38:32> Cluster nodes hard reset: OK -07:38:33> Cluster Join and auto-discovery test: OK -07:38:36> Before slots allocation, all nodes report cluster failure: OK -07:38:36> Different nodes have different IDs: OK -07:38:36> It is possible to perform slot allocation: OK -07:38:37> After the join, every node gets a different config epoch: OK -07:38:39> Nodes should report cluster_state is ok now: OK -07:38:42> Sanity for CLUSTER COUNTKEYSINSLOT: OK -07:38:42> It is possible to write and read from the cluster: OK -07:38:43> Function no-cluster flag: OK -07:38:43> Script no-cluster flag: OK -07:38:43> CLUSTER RESET SOFT test: OK +18:43:32> (init) Restart killed instances: OK +18:43:32> Cluster nodes are reachable: OK +18:43:32> Cluster nodes hard reset: OK +18:43:33> Cluster Join and auto-discovery test: OK +18:43:37> Before slots allocation, all nodes report cluster failure: OK +18:43:37> Different nodes have different IDs: OK +18:43:37> It is possible to perform slot allocation: OK +18:43:37> After the join, every node gets a different config epoch: OK +18:43:41> Nodes should report cluster_state is ok now: OK +18:43:41> Sanity for CLUSTER COUNTKEYSINSLOT: OK +18:43:41> It is possible to write and read from the cluster: OK +18:43:42> Function no-cluster flag: OK +18:43:42> Script no-cluster flag: OK +18:43:42> CLUSTER RESET SOFT test: OK Testing unit: 01-faildet.tcl -07:38:43> (init) Restart killed instances: OK -07:38:43> Cluster nodes are reachable: OK -07:38:43> Cluster nodes hard reset: OK -07:38:47> Cluster Join and auto-discovery test: OK -07:38:50> Before slots allocation, all nodes report cluster failure: OK -07:38:50> Create a 5 nodes cluster: OK -07:38:54> Cluster should start ok: OK -07:38:54> Killing two slave nodes: OK -07:38:55> Cluster should be still up: OK -07:38:55> Killing one master node: OK -07:38:55> Cluster should be down now: OK -07:38:58> Restarting master node: OK -07:38:59> Cluster should be up again: OK +18:43:43> (init) Restart killed instances: OK +18:43:43> Cluster nodes are reachable: OK +18:43:43> Cluster nodes hard reset: OK +18:43:50> Cluster Join and auto-discovery test: OK +18:43:52> Before slots allocation, all nodes report cluster failure: OK +18:43:52> Create a 5 nodes cluster: OK +18:43:58> Cluster should start ok: OK +18:43:58> Killing two slave nodes: OK +18:43:59> Cluster should be still up: OK +18:43:59> Killing one master node: OK +18:44:00> Cluster should be down now: OK +18:44:03> Restarting master node: OK +18:44:04> Cluster should be up again: OK Testing unit: 02-failover.tcl -07:39:06> (init) Restart killed instances: redis/5 redis/6 OK -07:39:09> Cluster nodes are reachable: OK -07:39:09> Cluster nodes hard reset: OK -07:39:11> Cluster Join and auto-discovery test: OK -07:39:14> Before slots allocation, all nodes report cluster failure: OK -07:39:16> Create a 5 nodes cluster: OK -07:39:20> Cluster is up: OK -07:39:20> Cluster is writable: OK -07:39:21> Instance #5 is a slave: OK -07:39:21> Instance #5 synced with the master: OK -07:39:21> Killing one master node: OK -07:39:23> Wait for failover: OK -07:39:25> Cluster should eventually be up again: OK -07:39:26> Cluster is writable: OK -07:39:26> Instance #5 is now a master: OK -07:39:26> Restarting the previously killed master node: OK -07:39:27> Instance #0 gets converted into a slave: OK +18:44:11> (init) Restart killed instances: redis/5 redis/6 OK +18:44:16> Cluster nodes are reachable: OK +18:44:16> Cluster nodes hard reset: OK +18:44:18> Cluster Join and auto-discovery test: OK +18:44:25> Before slots allocation, all nodes report cluster failure: OK +18:44:25> Create a 5 nodes cluster: OK +18:44:29> Cluster is up: OK +18:44:29> Cluster is writable: OK +18:44:34> Instance #5 is a slave: OK +18:44:34> Instance #5 synced with the master: OK +18:44:34> Killing one master node: OK +18:44:35> Wait for failover: OK +18:44:39> Cluster should eventually be up again: OK +18:44:39> Cluster is writable: OK +18:44:41> Instance #5 is now a master: OK +18:44:41> Restarting the previously killed master node: OK +18:44:41> Instance #0 gets converted into a slave: OK Testing unit: 03-failover-loop.tcl -07:39:27> (init) Restart killed instances: OK -07:39:27> Cluster nodes are reachable: OK -07:39:27> Cluster nodes hard reset: OK -07:39:28> Cluster Join and auto-discovery test: OK -07:39:32> Before slots allocation, all nodes report cluster failure: OK -07:39:32> Create a 5 nodes cluster: OK -07:39:37> Cluster is up: OK +18:44:42> (init) Restart killed instances: OK +18:44:42> Cluster nodes are reachable: OK +18:44:42> Cluster nodes hard reset: OK +18:44:43> Cluster Join and auto-discovery test: OK +18:44:46> Before slots allocation, all nodes report cluster failure: OK +18:44:46> Create a 5 nodes cluster: OK +18:44:51> Cluster is up: OK --- Iteration 19 --- -07:39:37> Cluster is writable before failover: OK -07:39:39> Terminating node #6: OK -07:39:40> Cluster should eventually be up again: OK -07:39:40> Cluster is writable again: OK -07:39:40> Restarting node #6: OK -07:39:40> Instance #6 is now a slave: OK -07:39:40> We can read back the value we set before: OK +18:44:52> Wait for slave of #4 to sync: OK +18:44:52> Cluster is writable before failover: OK +18:44:52> Terminating node #4: OK +18:44:53> Wait failover by #9 with old epoch 5: OK +18:45:01> Cluster should eventually be up again: OK +18:45:01> Cluster is writable again: OK +18:45:02> Restarting node #4: OK +18:45:05> Instance #4 is now a slave: OK +18:45:05> We can read back the value we set before: OK --- Iteration 18 --- -07:39:41> Wait for slave of #2 to sync: OK -07:39:41> Cluster is writable before failover: OK -07:39:41> Terminating node #2: OK -07:39:41> Wait failover by #7 with old epoch 3: OK -07:39:49> Cluster should eventually be up again: OK -07:39:52> Cluster is writable again: OK -07:39:52> Restarting node #2: OK -07:39:54> Instance #2 is now a slave: OK -07:39:54> We can read back the value we set before: OK +18:45:06> Wait for slave of #3 to sync: OK +18:45:08> Cluster is writable before failover: OK +18:45:09> Terminating node #3: OK +18:45:10> Wait failover by #8 with old epoch 4: OK +18:45:14> Cluster should eventually be up again: OK +18:45:14> Cluster is writable again: OK +18:45:14> Restarting node #3: OK +18:45:15> Instance #3 is now a slave: OK +18:45:15> We can read back the value we set before: OK --- Iteration 17 --- -07:39:55> Wait for slave of #4 to sync: OK -07:39:55> Cluster is writable before failover: OK -07:39:55> Terminating node #4: OK -07:39:56> Wait failover by #9 with old epoch 5: OK -07:40:00> Cluster should eventually be up again: OK -07:40:02> Cluster is writable again: OK -07:40:03> Restarting node #4: OK -07:40:03> Instance #4 is now a slave: OK -07:40:03> We can read back the value we set before: OK +18:45:18> Wait for slave of #2 to sync: OK +18:45:18> Cluster is writable before failover: OK +18:45:18> Terminating node #2: OK +18:45:18> Wait failover by #7 with old epoch 3: OK +18:45:23> Cluster should eventually be up again: OK +18:45:23> Cluster is writable again: OK +18:45:24> Restarting node #2: OK +18:45:24> Instance #2 is now a slave: OK +18:45:24> We can read back the value we set before: OK --- Iteration 16 --- -07:40:03> Wait for slave of #0 to sync: OK -07:40:04> Cluster is writable before failover: OK -07:40:04> Terminating node #0: OK -07:40:05> Wait failover by #5 with old epoch 1: OK -07:40:11> Cluster should eventually be up again: OK -07:40:11> Cluster is writable again: OK -07:40:11> Restarting node #0: OK -07:40:12> Instance #0 is now a slave: OK -07:40:12> We can read back the value we set before: OK +18:45:24> Cluster is writable before failover: OK +18:45:24> Terminating node #5: OK +18:45:27> Cluster should eventually be up again: OK +18:45:27> Cluster is writable again: OK +18:45:27> Restarting node #5: OK +18:45:28> Instance #5 is now a slave: OK +18:45:28> We can read back the value we set before: OK --- Iteration 15 --- -07:40:12> Wait for slave of #9 to sync: OK -07:40:12> Cluster is writable before failover: OK -07:40:12> Terminating node #9: OK -07:40:13> Wait failover by #4 with old epoch 22: OK -07:40:19> Cluster should eventually be up again: OK -07:40:19> Cluster is writable again: OK -07:40:20> Restarting node #9: OK -07:40:20> Instance #9 is now a slave: OK -07:40:20> We can read back the value we set before: OK +18:45:28> Cluster is writable before failover: OK +18:45:29> Terminating node #2: OK +18:45:30> Cluster should eventually be up again: OK +18:45:30> Cluster is writable again: OK +18:45:30> Restarting node #2: OK +18:45:31> Instance #2 is now a slave: OK +18:45:31> We can read back the value we set before: OK --- Iteration 14 --- -07:40:20> Cluster is writable before failover: OK -07:40:20> Terminating node #9: OK -07:40:21> Cluster should eventually be up again: OK -07:40:21> Cluster is writable again: OK -07:40:21> Restarting node #9: OK -07:40:21> Instance #9 is now a slave: OK -07:40:21> We can read back the value we set before: OK +18:45:32> Wait for slave of #7 to sync: OK +18:45:32> Cluster is writable before failover: OK +18:45:32> Terminating node #7: OK +18:45:36> Wait failover by #2 with old epoch 23: OK +18:45:40> Cluster should eventually be up again: OK +18:45:40> Cluster is writable again: OK +18:45:41> Restarting node #7: OK +18:45:41> Instance #7 is now a slave: OK +18:45:41> We can read back the value we set before: OK --- Iteration 13 --- -07:40:21> Cluster is writable before failover: OK -07:40:21> Terminating node #8: OK -07:40:22> Cluster should eventually be up again: OK -07:40:22> Cluster is writable again: OK -07:40:22> Restarting node #8: OK -07:40:22> Instance #8 is now a slave: OK -07:40:22> We can read back the value we set before: OK +18:45:41> Cluster is writable before failover: OK +18:45:42> Terminating node #5: OK +18:45:44> Cluster should eventually be up again: OK +18:45:44> Cluster is writable again: OK +18:45:44> Restarting node #5: OK +18:45:44> Instance #5 is now a slave: OK +18:45:45> We can read back the value we set before: OK --- Iteration 12 --- -07:40:23> Wait for slave of #1 to sync: OK -07:40:23> Cluster is writable before failover: OK -07:40:24> Terminating node #1: OK -07:40:25> Wait failover by #6 with old epoch 2: OK -07:40:29> Cluster should eventually be up again: OK -07:40:29> Cluster is writable again: OK -07:40:30> Restarting node #1: OK -07:40:32> Instance #1 is now a slave: OK -07:40:32> We can read back the value we set before: OK +18:45:45> Cluster is writable before failover: OK +18:45:45> Terminating node #6: OK +18:45:45> Cluster should eventually be up again: OK +18:45:45> Cluster is writable again: OK +18:45:46> Restarting node #6: OK +18:45:46> Instance #6 is now a slave: OK +18:45:46> We can read back the value we set before: OK --- Iteration 11 --- -07:40:33> Wait for slave of #3 to sync: OK -07:40:33> Cluster is writable before failover: OK -07:40:33> Terminating node #3: OK -07:40:33> Wait failover by #8 with old epoch 4: OK -07:40:38> Cluster should eventually be up again: OK -07:40:38> Cluster is writable again: OK -07:40:39> Restarting node #3: OK -07:40:39> Instance #3 is now a slave: OK -07:40:39> We can read back the value we set before: OK +18:45:46> Cluster is writable before failover: OK +18:45:46> Terminating node #3: OK +18:45:47> Cluster should eventually be up again: OK +18:45:47> Cluster is writable again: OK +18:45:47> Restarting node #3: OK +18:45:47> Instance #3 is now a slave: OK +18:45:47> We can read back the value we set before: OK --- Iteration 10 --- -07:40:40> Wait for slave of #5 to sync: OK -07:40:40> Cluster is writable before failover: OK -07:40:40> Terminating node #5: OK -07:40:40> Wait failover by #0 with old epoch 23: OK -07:40:46> Cluster should eventually be up again: OK -07:40:46> Cluster is writable again: OK -07:40:46> Restarting node #5: OK -07:40:47> Instance #5 is now a slave: OK -07:40:47> We can read back the value we set before: OK +18:45:48> Wait for slave of #9 to sync: OK +18:45:48> Cluster is writable before failover: OK +18:45:48> Terminating node #9: OK +18:45:49> Wait failover by #4 with old epoch 21: OK +18:45:53> Cluster should eventually be up again: OK +18:45:53> Cluster is writable again: OK +18:45:54> Restarting node #9: OK +18:45:55> Instance #9 is now a slave: OK +18:45:55> We can read back the value we set before: OK --- Iteration 9 --- -07:40:47> Wait for slave of #7 to sync: OK -07:40:47> Cluster is writable before failover: OK -07:40:47> Terminating node #7: OK -07:40:48> Wait failover by #2 with old epoch 21: OK -07:40:53> Cluster should eventually be up again: OK -07:40:53> Cluster is writable again: OK -07:40:54> Restarting node #7: OK -07:40:54> Instance #7 is now a slave: OK -07:40:54> We can read back the value we set before: OK +18:45:55> Wait for slave of #1 to sync: OK +18:45:55> Cluster is writable before failover: OK +18:45:55> Terminating node #1: OK +18:45:57> Wait failover by #6 with old epoch 2: OK +18:46:04> Cluster should eventually be up again: OK +18:46:04> Cluster is writable again: OK +18:46:05> Restarting node #1: OK +18:46:06> Instance #1 is now a slave: OK +18:46:06> We can read back the value we set before: OK --- Iteration 8 --- -07:40:54> Cluster is writable before failover: OK -07:40:54> Terminating node #7: OK -07:40:55> Cluster should eventually be up again: OK -07:40:55> Cluster is writable again: OK -07:40:55> Restarting node #7: OK -07:40:55> Instance #7 is now a slave: OK -07:40:55> We can read back the value we set before: OK +18:46:06> Cluster is writable before failover: OK +18:46:06> Terminating node #1: OK +18:46:07> Cluster should eventually be up again: OK +18:46:07> Cluster is writable again: OK +18:46:07> Restarting node #1: OK +18:46:07> Instance #1 is now a slave: OK +18:46:07> We can read back the value we set before: OK --- Iteration 7 --- -07:40:55> Cluster is writable before failover: OK -07:40:55> Terminating node #5: OK -07:40:56> Cluster should eventually be up again: OK -07:40:56> Cluster is writable again: OK -07:40:56> Restarting node #5: OK -07:40:56> Instance #5 is now a slave: OK -07:40:56> We can read back the value we set before: OK +18:46:07> Wait for slave of #2 to sync: OK +18:46:08> Cluster is writable before failover: OK +18:46:08> Terminating node #2: OK +18:46:08> Wait failover by #7 with old epoch 24: OK +18:46:12> Cluster should eventually be up again: OK +18:46:12> Cluster is writable again: OK +18:46:13> Restarting node #2: OK +18:46:13> Instance #2 is now a slave: OK +18:46:13> We can read back the value we set before: OK --- Iteration 6 --- -07:40:56> Cluster is writable before failover: OK -07:40:56> Terminating node #9: OK -07:41:00> Cluster should eventually be up again: OK -07:41:00> Cluster is writable again: OK -07:41:00> Restarting node #9: OK -07:41:00> Instance #9 is now a slave: OK -07:41:00> We can read back the value we set before: OK +18:46:14> Cluster is writable before failover: OK +18:46:14> Terminating node #9: OK +18:46:14> Cluster should eventually be up again: OK +18:46:14> Cluster is writable again: OK +18:46:14> Restarting node #9: OK +18:46:15> Instance #9 is now a slave: OK +18:46:15> We can read back the value we set before: OK --- Iteration 5 --- -07:41:01> Wait for slave of #2 to sync: OK -07:41:01> Cluster is writable before failover: OK -07:41:01> Terminating node #2: OK -07:41:01> Wait failover by #7 with old epoch 28: OK -07:41:07> Cluster should eventually be up again: OK -07:41:07> Cluster is writable again: OK -07:41:07> Restarting node #2: OK -07:41:08> Instance #2 is now a slave: OK -07:41:08> We can read back the value we set before: OK +18:46:15> Cluster is writable before failover: OK +18:46:15> Terminating node #3: OK +18:46:15> Cluster should eventually be up again: OK +18:46:15> Cluster is writable again: OK +18:46:15> Restarting node #3: OK +18:46:16> Instance #3 is now a slave: OK +18:46:16> We can read back the value we set before: OK --- Iteration 4 --- -07:41:08> Cluster is writable before failover: OK -07:41:08> Terminating node #2: OK -07:41:08> Cluster should eventually be up again: OK -07:41:08> Cluster is writable again: OK -07:41:08> Restarting node #2: OK -07:41:09> Instance #2 is now a slave: OK -07:41:09> We can read back the value we set before: OK +18:46:16> Wait for slave of #0 to sync: OK +18:46:16> Cluster is writable before failover: OK +18:46:17> Terminating node #0: OK +18:46:19> Wait failover by #5 with old epoch 1: OK +18:46:23> Cluster should eventually be up again: OK +18:46:23> Cluster is writable again: OK +18:46:24> Restarting node #0: OK +18:46:24> Instance #0 is now a slave: OK +18:46:24> We can read back the value we set before: OK --- Iteration 3 --- -07:41:09> Wait for slave of #8 to sync: OK -07:41:09> Cluster is writable before failover: OK -07:41:09> Terminating node #8: OK -07:41:10> Wait failover by #3 with old epoch 26: OK -07:41:14> Cluster should eventually be up again: OK -07:41:14> Cluster is writable again: OK -07:41:15> Restarting node #8: OK -07:41:15> Instance #8 is now a slave: OK -07:41:15> We can read back the value we set before: OK +18:46:24> Wait for slave of #8 to sync: OK +18:46:24> Cluster is writable before failover: OK +18:46:25> Terminating node #8: OK +18:46:25> Wait failover by #3 with old epoch 22: OK +18:46:31> Cluster should eventually be up again: OK +18:46:31> Cluster is writable again: OK +18:46:31> Restarting node #8: OK +18:46:32> Instance #8 is now a slave: OK +18:46:32> We can read back the value we set before: OK --- Iteration 2 --- -07:41:15> Cluster is writable before failover: OK -07:41:15> Terminating node #8: OK -07:41:16> Cluster should eventually be up again: OK -07:41:16> Cluster is writable again: OK -07:41:16> Restarting node #8: OK -07:41:16> Instance #8 is now a slave: OK -07:41:16> We can read back the value we set before: OK +18:46:32> Wait for slave of #3 to sync: OK +18:46:32> Cluster is writable before failover: OK +18:46:33> Terminating node #3: OK +18:46:33> Wait failover by #8 with old epoch 29: OK +18:46:38> Cluster should eventually be up again: OK +18:46:38> Cluster is writable again: OK +18:46:39> Restarting node #3: OK +18:46:39> Instance #3 is now a slave: OK +18:46:39> We can read back the value we set before: OK --- Iteration 1 --- -07:41:16> Cluster is writable before failover: OK -07:41:16> Terminating node #2: OK -07:41:17> Cluster should eventually be up again: OK -07:41:17> Cluster is writable again: OK -07:41:17> Restarting node #2: OK -07:41:17> Instance #2 is now a slave: OK -07:41:17> We can read back the value we set before: OK -07:41:17> Post condition: current_epoch >= my_epoch everywhere: OK +18:46:39> Cluster is writable before failover: OK +18:46:40> Terminating node #2: OK +18:46:40> Cluster should eventually be up again: OK +18:46:40> Cluster is writable again: OK +18:46:40> Restarting node #2: OK +18:46:40> Instance #2 is now a slave: OK +18:46:40> We can read back the value we set before: OK +18:46:41> Post condition: current_epoch >= my_epoch everywhere: OK Testing unit: 04-resharding.tcl -07:41:17> (init) Restart killed instances: OK -07:41:17> Cluster nodes are reachable: OK -07:41:17> Cluster nodes hard reset: OK -07:41:19> Cluster Join and auto-discovery test: OK -07:41:24> Before slots allocation, all nodes report cluster failure: OK -07:41:24> Create a 5 nodes cluster: OK -07:41:30> Cluster is up: OK -07:41:30> Enable AOF in all the instances: OK +18:46:41> (init) Restart killed instances: OK +18:46:41> Cluster nodes are reachable: OK +18:46:41> Cluster nodes hard reset: OK +18:46:43> Cluster Join and auto-discovery test: OK +18:46:47> Before slots allocation, all nodes report cluster failure: OK +18:46:47> Create a 5 nodes cluster: OK +18:46:51> Cluster is up: OK +18:46:51> Enable AOF in all the instances: OK Testing TLS cluster on start node 127.0.0.1:30000, plaintext port 30001 -07:41:31> Cluster consistency during live resharding: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...Starting resharding...W........................W.....................................................................................................................................................................W........................................................................................................................................................................................................................................................W.....................................................................................................................................................................................................................................................W........................................................................................................................................................................................................................W...........................................................................WWWW...Starting resharding...W...................................................................................................W............................................................................................................................................................................................................................W..................................................................................................................................................................................................................................................W............................................................................................................................................................................................................................................................................W............................................................................................................................................................WWWWW...Starting resharding...W...........................................................................W...............................................................................................................................................................................................................................................................W.....................................................................................................................................................................................W........................................................................................................................................................................................................................................................................................................W.............................................................................................................................................................................................W............WWWW...Starting resharding...W.............................................................................................................................................................W.........................................................................................................................................................................................................W......................................................................................................................................................................................................................................................W..........................................................................................................................................................................................................................................................W..........................................................................................................................................WWWWW...Starting resharding...W...........................................................................................................................W............................................................................................................................................................W.......................................................................................................................................................................W...................................................................................................................................................................................................................W.................................................................................................................................................................................................................................................................W...........................................................................WWWW...Starting resharding...W..............................................................................W.............................................................................................................................................................................................................................W....................................................................................................................................................................................................................................W..................................................................................................................................................................................W............................................................................................................................................................................................................................................................W................................WWWW...Starting resharding...W......W.............................................................................................................................................................................W........................................................................................................................................................................................................................................................................................................................W....................................................................................................................................................................................................................................................................................................................W.......................................................................................................................................................................................................................................WWWWW...Starting resharding...W................................................................................................W........................................................................................................................................................................................................................................................................................................................W.............................................................................................................................................................................W..............................................................................................................................................................................................................W......................................................................................................................................................................................................................WWWWW...Starting resharding...W...........................................................................W.............................................................................................................................................................................................................W..................................................................................................................................................................................................................................................................................W......................................................................................................................................................................................................................W..........................................................................................................................................................................................................................................WWWWW...Starting resharding...W...........................................................................W..........................................................W...............................................................................................................................................................................................................................................................................W..............................................................................................................................................................................................................................................W..................................................................................................................................................................................................................................................W..........................................................................................................................................................WWWWOK -07:45:09> Verify 50000 keys for consistency with logical content: OK -07:45:52> Terminate and restart all the instances: OK -07:46:15> Cluster should eventually be up again: FAILED: Cluster node 1 cluster_state:fail -(Jumping to next unit after error) -FAILED: caught an error in the test -assertion:Cluster node 1 cluster_state:fail +18:46:52> Cluster consistency during live resharding: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...Starting resharding...W.....................................................................................................................W.....................................................................................................................................................................................................W...........................................................................................................................................................................................W.......................................................................................................................................................................................................................................................................................................................................W.................................................................................................................................WWWWW...Starting resharding...W...............................................................W........................................................................................................................................................................................................................................W....................................................................................................................................................................................................................................................................................................................................W............................................................................................................................................................................................................................W............................................................................................................................WWWWW...Starting resharding...W............................................................................................................................W.................................................................................................................................................................................................................................................................................W.........................................................................................................................................................................................................................W.............................................................................................................................................................................................................................................................................................................................W...........................................................WWWWW...Starting resharding...W.......................................................................................W............................................................................................................................................................................................................................................................W....................................................................................................................................................................................................................................W.........................................................................................................................................................................W................................................................................................................................................................................................................................W....................................WWWW...Starting resharding...W............................................................................W...............................................................................................................................................................................................................................W..................................................................................................................................................................................................................................................................................W...................................................................................................................................................................................................................................................................W..............................................................................................................................................................WWWWW...Starting resharding...W..............................................................................................................................................................................................................................................W..............................................................................................................................................................................................................................................................................W.............................................................................................................................................................................................................................................................................W............................................................................................................................................................................................................................................WWWWWW...Starting resharding...W..................................................................................................................W......................................................................................................................................................................................W...................................................................................................................................................................................................................................................................................................................................................................W........................................................................................................................................................................................................W......................................................................................................................................................................WWWWW...Starting resharding...W.................................................................................W.....................................................................................................................................................................................................................................................................W.....................................................................................................................................................................................................................W.......................................................................................................................................................................................................................................................................................W..................................................................................................................................................................................................WWWWW...Starting resharding...W...............................................................................W..............................................................................................................................................................................................................................................................................W...........................................................................................................................................................................................................................................................W............................................................................................................................................................................................................................W...............................................................................................................................................................................................WWWWW...Starting resharding...W............................................................................................................................................................................................W..............................................................................................................................................................................W.................................................................................................................................................................................................................................................................W..................................................................................................................................................................................................................................W................................................................................................................................................................................WWWWWOK +18:51:41> Verify 50000 keys for consistency with logical content: OK +18:52:47> Terminate and restart all the instances: OK +18:53:23> Cluster should eventually be up again: OK +18:53:25> Verify 50000 keys after the restart: FAILED: caught an error in the test CLUSTERDOWN The cluster is down +CLUSTERDOWN The cluster is down while executing -"foreach_redis_id id { - if {[instance_is_killed redis $id]} continue - wait_for_condition 1000 50 { - [CI $id cluster_state] eq ..." - (procedure "assert_cluster_state" line 2) +"$link $method {*}$args" + (procedure "::redis_cluster::__dispatch__" line 32) + invoked from within +"$cluster lrange $key 0 -1" + ("foreach" body line 2) invoked from within -"assert_cluster_state ok" - ("uplevel" body line 2) +"foreach {key value} [array get content] { + if {[$cluster lrange $key 0 -1] ne $value} { + fail "Key $key expected to hold '$value' bu..." + ("uplevel" body line 3) invoked from within "uplevel 1 $code" + (procedure "test" line 6) + invoked from within +"test "Verify $numkeys keys after the restart" { + # Check that the Redis Cluster content matches our logical content. + foreach {key value} [array..." + (file "../tests/04-resharding.tcl" line 153) + invoked from within +"source $test " Testing unit: 05-slave-selection.tcl -07:47:24> (init) Restart killed instances: OK -07:47:24> Cluster nodes are reachable: OK -07:47:24> Cluster nodes hard reset: OK -07:47:26> Cluster Join and auto-discovery test: OK -07:47:30> Before slots allocation, all nodes report cluster failure: OK -07:47:30> Create a 5 nodes cluster: OK -07:47:35> Cluster is up: OK -07:47:35> The first master has actually two slaves: OK -07:47:35> Slaves of #0 are instance #5 and #10 as expected: OK -07:47:35> Instance #5 and #10 synced with the master: OK -07:47:36> Slaves are both able to receive and acknowledge writes: OK -07:47:36> Write data while slave #10 is paused and can't receive it: OK -07:47:46> Wait for instance #5 (and not #10) to turn into a master: OK -07:47:52> Wait for the node #10 to return alive before ending the test: OK -07:47:52> Cluster should eventually be up again: OK -07:47:52> Node #10 should eventually replicate node #5: OK -07:47:52> (init) Restart killed instances: redis/0 OK -07:47:52> Cluster nodes are reachable: OK -07:47:52> Cluster nodes hard reset: OK -07:47:54> Cluster Join and auto-discovery test: OK -07:47:58> Before slots allocation, all nodes report cluster failure: OK -07:47:58> Create a 3 nodes cluster: OK -07:48:03> Cluster is up: OK -07:48:03> The first master has actually 5 slaves: OK -07:48:03> Slaves of #0 are instance #3, #6, #9, #12 and #15 as expected: OK -07:48:03> Instance #3, #6, #9, #12 and #15 synced with the master: OK -07:48:03> New Master down consecutively: OK +18:54:36> (init) Restart killed instances: OK +18:54:36> Cluster nodes are reachable: OK +18:54:36> Cluster nodes hard reset: OK +18:54:47> Cluster Join and auto-discovery test: OK +18:54:50> Before slots allocation, all nodes report cluster failure: OK +18:54:50> Create a 5 nodes cluster: OK +18:54:55> Cluster is up: OK +18:54:55> The first master has actually two slaves: OK +18:54:55> Slaves of #0 are instance #5 and #10 as expected: OK +18:54:55> Instance #5 and #10 synced with the master: OK +18:54:55> Slaves are both able to receive and acknowledge writes: OK +18:54:56> Write data while slave #10 is paused and can't receive it: OK +18:55:06> Wait for instance #5 (and not #10) to turn into a master: OK +18:55:11> Wait for the node #10 to return alive before ending the test: OK +18:55:11> Cluster should eventually be up again: OK +18:55:13> Node #10 should eventually replicate node #5: OK +18:55:13> (init) Restart killed instances: redis/0 OK +18:55:14> Cluster nodes are reachable: OK +18:55:14> Cluster nodes hard reset: OK +18:55:19> Cluster Join and auto-discovery test: OK +18:55:25> Before slots allocation, all nodes report cluster failure: OK +18:55:25> Create a 3 nodes cluster: OK +18:55:29> Cluster is up: OK +18:55:29> The first master has actually 5 slaves: OK +18:55:29> Slaves of #0 are instance #3, #6, #9, #12 and #15 as expected: OK +18:55:29> Instance #3, #6, #9, #12 and #15 synced with the master: OK +18:55:29> New Master down consecutively: OK Testing unit: 06-slave-stop-cond.tcl -07:48:34> (init) Restart killed instances: redis/0 redis/3 redis/9 redis/12 redis/15 OK -07:48:37> Cluster nodes are reachable: OK -07:48:37> Cluster nodes hard reset: OK -07:48:38> Cluster Join and auto-discovery test: OK -07:48:41> Before slots allocation, all nodes report cluster failure: OK -07:48:41> Create a 5 nodes cluster: OK -07:48:44> Cluster is up: OK -07:48:44> The first master has actually one slave: OK -07:48:44> Slaves of #0 is instance #5 as expected: OK -07:48:44> Instance #5 synced with the master: OK -07:48:44> Lower the slave validity factor of #5 to the value of 2: OK -07:48:44> Break master-slave link and prevent further reconnections: OK -07:49:04> Slave #5 is reachable and alive: OK -07:49:04> Slave #5 should not be able to failover: OK -07:49:14> Cluster should be down: OK +18:56:17> (init) Restart killed instances: redis/0 redis/6 redis/9 redis/12 redis/15 OK +18:56:22> Cluster nodes are reachable: OK +18:56:22> Cluster nodes hard reset: OK +18:56:29> Cluster Join and auto-discovery test: OK +18:56:34> Before slots allocation, all nodes report cluster failure: OK +18:56:34> Create a 5 nodes cluster: OK +18:56:38> Cluster is up: OK +18:56:38> The first master has actually one slave: OK +18:56:38> Slaves of #0 is instance #5 as expected: OK +18:56:38> Instance #5 synced with the master: OK +18:56:38> Lower the slave validity factor of #5 to the value of 2: OK +18:56:38> Break master-slave link and prevent further reconnections: OK +18:57:00> Slave #5 is reachable and alive: OK +18:57:00> Slave #5 should not be able to failover: OK +18:57:10> Cluster should be down: OK Testing unit: 07-replica-migration.tcl -07:49:14> (init) Restart killed instances: redis/0 OK -07:49:15> Cluster nodes are reachable: OK -07:49:15> Cluster nodes hard reset: OK -07:49:17> Cluster Join and auto-discovery test: OK -07:49:19> Before slots allocation, all nodes report cluster failure: OK -07:49:19> Create a 5 nodes cluster: OK -07:49:23> Cluster is up: OK -07:49:23> Each master should have two replicas attached: OK -07:49:23> Killing all the slaves of master #0 and #1: OK -07:49:29> Master #0 should have at least one replica: OK -07:49:33> Master #1 should have at least one replica: OK -07:49:33> Master #2 should have at least one replica: OK -07:49:33> Master #3 should have at least one replica: OK -07:49:33> Master #4 should have at least one replica: OK -07:49:33> (init) Restart killed instances: redis/5 redis/6 redis/10 redis/11 OK -07:49:35> Cluster nodes are reachable: OK -07:49:35> Cluster nodes hard reset: OK -07:49:36> Cluster Join and auto-discovery test: OK -07:49:39> Before slots allocation, all nodes report cluster failure: OK -07:49:39> Create a 5 nodes cluster: OK -07:49:42> Cluster is up: OK -07:49:42> Kill slave #7 of master #2. Only slave left is #12 now: OK -07:49:42> Killing master node #2, #12 should failover: OK -07:49:43> Wait for failover: OK -07:49:47> Cluster should eventually be up again: OK -07:49:47> Cluster is writable: OK -07:49:48> Instance 12 is now a master without slaves: OK -07:49:48> Master #12 should get at least one migrated replica: OK +18:57:10> (init) Restart killed instances: redis/0 OK +18:57:12> Cluster nodes are reachable: OK +18:57:13> Cluster nodes hard reset: OK +18:57:23> Cluster Join and auto-discovery test: OK +18:57:28> Before slots allocation, all nodes report cluster failure: OK +18:57:28> Create a 5 nodes cluster: OK +18:57:32> Cluster is up: OK +18:57:32> Each master should have two replicas attached: OK +18:57:32> Killing all the slaves of master #0 and #1: OK +18:57:40> Master #0 should have at least one replica: OK +18:57:43> Master #1 should have at least one replica: OK +18:57:45> Master #2 should have at least one replica: OK +18:57:45> Master #3 should have at least one replica: OK +18:57:45> Master #4 should have at least one replica: OK +18:57:45> (init) Restart killed instances: redis/5 redis/6 redis/10 redis/11 OK +18:57:49> Cluster nodes are reachable: OK +18:57:49> Cluster nodes hard reset: OK +18:57:54> Cluster Join and auto-discovery test: OK +18:57:57> Before slots allocation, all nodes report cluster failure: OK +18:57:57> Create a 5 nodes cluster: OK +18:58:01> Cluster is up: OK +18:58:01> Kill slave #7 of master #2. Only slave left is #12 now: OK +18:58:02> Killing master node #2, #12 should failover: OK +18:58:02> Wait for failover: OK +18:58:07> Cluster should eventually be up again: OK +18:58:07> Cluster is writable: OK +18:58:07> Instance 12 is now a master without slaves: OK +18:58:07> Master #12 should get at least one migrated replica: OK Testing unit: 08-update-msg.tcl -07:49:52> (init) Restart killed instances: redis/2 redis/7 OK -07:49:53> Cluster nodes are reachable: OK -07:49:53> Cluster nodes hard reset: OK -07:49:55> Cluster Join and auto-discovery test: OK -07:49:58> Before slots allocation, all nodes report cluster failure: OK -07:49:58> Create a 5 nodes cluster: OK -07:50:01> Cluster is up: OK -07:50:01> Cluster is writable: OK -07:50:02> Instance #5 is a slave: OK -07:50:02> Instance #5 synced with the master: OK -07:50:02> Killing one master node: OK -07:50:03> Wait for failover: OK -07:50:07> Cluster should eventually be up again: OK -07:50:07> Cluster is writable: OK -07:50:08> Instance #5 is now a master: OK -07:50:08> Killing the new master #5: OK -07:50:08> Cluster should be down now: OK -07:50:12> Restarting the old master node: OK -07:50:12> Instance #0 gets converted into a slave: OK -07:50:12> Restarting the new master node: OK -07:50:13> Cluster is up again: OK +18:58:12> (init) Restart killed instances: redis/2 redis/7 OK +18:58:13> Cluster nodes are reachable: OK +18:58:13> Cluster nodes hard reset: OK +18:58:17> Cluster Join and auto-discovery test: OK +18:58:21> Before slots allocation, all nodes report cluster failure: OK +18:58:21> Create a 5 nodes cluster: OK +18:58:25> Cluster is up: OK +18:58:25> Cluster is writable: OK +18:58:28> Instance #5 is a slave: OK +18:58:28> Instance #5 synced with the master: OK +18:58:28> Killing one master node: OK +18:58:29> Wait for failover: OK +18:58:33> Cluster should eventually be up again: OK +18:58:33> Cluster is writable: OK +18:58:34> Instance #5 is now a master: OK +18:58:34> Killing the new master #5: OK +18:58:34> Cluster should be down now: OK +18:58:38> Restarting the old master node: OK +18:58:38> Instance #0 gets converted into a slave: OK +18:58:38> Restarting the new master node: OK +18:58:39> Cluster is up again: OK Testing unit: 09-pubsub.tcl -07:50:19> (init) Restart killed instances: OK -07:50:19> Cluster nodes are reachable: OK -07:50:19> Cluster nodes hard reset: OK -07:50:21> Cluster Join and auto-discovery test: OK -07:50:25> Before slots allocation, all nodes report cluster failure: OK -07:50:25> Create a 5 nodes cluster: OK -07:50:28> Test publishing to master: OK -07:50:28> Test publishing to slave: OK +18:58:45> (init) Restart killed instances: OK +18:58:45> Cluster nodes are reachable: OK +18:58:45> Cluster nodes hard reset: OK +18:58:48> Cluster Join and auto-discovery test: OK +18:58:54> Before slots allocation, all nodes report cluster failure: OK +18:58:54> Create a 5 nodes cluster: OK +18:58:58> Test publishing to master: OK +18:58:58> Test publishing to slave: OK Testing unit: 10-manual-failover.tcl -07:50:28> (init) Restart killed instances: OK -07:50:28> Cluster nodes are reachable: OK -07:50:28> Cluster nodes hard reset: OK -07:50:30> Cluster Join and auto-discovery test: OK -07:50:33> Before slots allocation, all nodes report cluster failure: OK -07:50:33> Create a 5 nodes cluster: OK -07:50:36> Cluster is up: OK -07:50:36> Cluster is writable: OK -07:50:37> Instance #5 is a slave: OK -07:50:37> Instance #5 synced with the master: OK -07:50:37> Send CLUSTER FAILOVER to #5, during load: WWWWWWWWWWOK -07:50:45> Wait for failover: OK -07:50:45> Cluster should eventually be up again: OK -07:50:45> Cluster is writable: OK -07:50:45> Instance #5 is now a master: OK -07:50:45> Verify 50000 keys for consistency with logical content: OK -07:50:49> Instance #0 gets converted into a slave: OK -07:50:49> (init) Restart killed instances: OK -07:50:49> Cluster nodes are reachable: OK -07:50:49> Cluster nodes hard reset: OK -07:50:53> Cluster Join and auto-discovery test: OK -07:50:55> Before slots allocation, all nodes report cluster failure: OK -07:50:55> Create a 5 nodes cluster: OK -07:50:59> Cluster is up: OK -07:50:59> Cluster is writable: OK -07:51:00> Instance #5 is a slave: OK -07:51:00> Instance #5 synced with the master: OK -07:51:00> Make instance #0 unreachable without killing it: OK -07:51:00> Send CLUSTER FAILOVER to instance #5: OK -07:51:00> Instance #5 is still a slave after some time (no failover): OK -07:51:06> Wait for instance #0 to return back alive: OK -07:51:10> (init) Restart killed instances: OK -07:51:10> Cluster nodes are reachable: OK -07:51:10> Cluster nodes hard reset: OK -07:51:11> Cluster Join and auto-discovery test: OK -07:51:14> Before slots allocation, all nodes report cluster failure: OK -07:51:14> Create a 5 nodes cluster: OK -07:51:18> Cluster is up: OK -07:51:18> Cluster is writable: OK -07:51:19> Instance #5 is a slave: OK -07:51:19> Instance #5 synced with the master: OK -07:51:19> Make instance #0 unreachable without killing it: OK -07:51:19> Send CLUSTER FAILOVER to instance #5: OK -07:51:19> Instance #5 is a master after some time: OK -07:51:20> Wait for instance #0 to return back alive: OK +18:58:58> (init) Restart killed instances: OK +18:58:58> Cluster nodes are reachable: OK +18:58:59> Cluster nodes hard reset: OK +18:59:06> Cluster Join and auto-discovery test: OK +18:59:09> Before slots allocation, all nodes report cluster failure: OK +18:59:09> Create a 5 nodes cluster: OK +18:59:13> Cluster is up: OK +18:59:13> Cluster is writable: OK +18:59:14> Instance #5 is a slave: OK +18:59:14> Instance #5 synced with the master: OK +18:59:15> Send CLUSTER FAILOVER to #5, during load: WWWWWWWWWWOK +18:59:40> Wait for failover: OK +18:59:40> Cluster should eventually be up again: OK +18:59:40> Cluster is writable: OK +18:59:41> Instance #5 is now a master: OK +18:59:41> Verify 50000 keys for consistency with logical content: OK +18:59:52> Instance #0 gets converted into a slave: OK +18:59:52> (init) Restart killed instances: OK +18:59:52> Cluster nodes are reachable: OK +18:59:52> Cluster nodes hard reset: OK +18:59:59> Cluster Join and auto-discovery test: OK +19:00:06> Before slots allocation, all nodes report cluster failure: OK +19:00:07> Create a 5 nodes cluster: OK +19:00:10> Cluster is up: OK +19:00:10> Cluster is writable: OK +19:00:13> Instance #5 is a slave: OK +19:00:13> Instance #5 synced with the master: OK +19:00:13> Make instance #0 unreachable without killing it: OK +19:00:13> Send CLUSTER FAILOVER to instance #5: OK +19:00:13> Instance #5 is still a slave after some time (no failover): OK +19:00:18> Wait for instance #0 to return back alive: OK +19:00:23> (init) Restart killed instances: OK +19:00:23> Cluster nodes are reachable: OK +19:00:23> Cluster nodes hard reset: OK +19:00:32> Cluster Join and auto-discovery test: OK +19:00:34> Before slots allocation, all nodes report cluster failure: OK +19:00:34> Create a 5 nodes cluster: OK +19:00:40> Cluster is up: OK +19:00:40> Cluster is writable: OK +19:00:40> Instance #5 is a slave: OK +19:00:40> Instance #5 synced with the master: OK +19:00:40> Make instance #0 unreachable without killing it: OK +19:00:40> Send CLUSTER FAILOVER to instance #5: OK +19:00:40> Instance #5 is a master after some time: OK +19:00:41> Wait for instance #0 to return back alive: OK Testing unit: 11-manual-takeover.tcl -07:51:29> (init) Restart killed instances: OK -07:51:29> Cluster nodes are reachable: OK -07:51:29> Cluster nodes hard reset: OK -07:51:31> Cluster Join and auto-discovery test: OK -07:51:34> Before slots allocation, all nodes report cluster failure: OK -07:51:34> Create a 5 nodes cluster: OK -07:51:37> Cluster is up: OK -07:51:37> Cluster is writable: OK -07:51:38> Killing majority of master nodes: OK -07:51:39> Cluster should eventually be down: OK -07:51:43> Use takeover to bring slaves back: OK -07:51:43> Cluster should eventually be up again: OK -07:51:46> Cluster is writable: OK -07:51:46> Instance #5, #6, #7 are now masters: OK -07:51:46> Restarting the previously killed master nodes: OK -07:51:47> Instance #0, #1, #2 gets converted into a slaves: OK +19:00:50> (init) Restart killed instances: OK +19:00:50> Cluster nodes are reachable: OK +19:00:51> Cluster nodes hard reset: OK +19:01:05> Cluster Join and auto-discovery test: OK +19:01:09> Before slots allocation, all nodes report cluster failure: OK +19:01:09> Create a 5 nodes cluster: OK +19:01:14> Cluster is up: OK +19:01:14> Cluster is writable: OK +19:01:15> Killing majority of master nodes: OK +19:01:17> Cluster should eventually be down: OK +19:01:19> Use takeover to bring slaves back: OK +19:01:19> Cluster should eventually be up again: OK +19:01:19> Cluster is writable: OK +19:01:20> Instance #5, #6, #7 are now masters: OK +19:01:20> Restarting the previously killed master nodes: OK +19:01:24> Instance #0, #1, #2 gets converted into a slaves: OK Testing unit: 12-replica-migration-2.tcl -07:51:47> (init) Restart killed instances: OK -07:51:47> Cluster nodes are reachable: OK -07:51:47> Cluster nodes hard reset: OK -07:51:48> Cluster Join and auto-discovery test: OK -07:51:51> Before slots allocation, all nodes report cluster failure: OK -07:51:51> Create a 5 nodes cluster: OK -07:51:54> Cluster is up: OK -07:51:54> Each master should have at least two replicas attached: OK -07:51:54> Set allow-replica-migration yes: OK -07:51:54> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) +19:01:24> (init) Restart killed instances: OK +19:01:24> Cluster nodes are reachable: OK +19:01:24> Cluster nodes hard reset: OK +19:01:34> Cluster Join and auto-discovery test: OK +19:01:37> Before slots allocation, all nodes report cluster failure: OK +19:01:37> Create a 5 nodes cluster: OK +19:01:43> Cluster is up: OK +19:01:43> Each master should have at least two replicas attached: OK +19:01:43> Set allow-replica-migration yes: OK +19:01:43> 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... @@ -5272,265 +5550,264 @@ >>> Rebalancing across 5 nodes. Total weight = 4.00 Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30006 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### -Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30002 -#################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30004 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### +Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30002 +#################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 816 slots from 127.0.0.1:30000 to 127.0.0.1:30008 ################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################ OK -07:52:53> Master #0 who lost all slots should turn into a replica without replicas: OK -07:52:53> Resharding back some slot to master #0: >>> Performing Cluster Check (using node 127.0.0.1:30000) +19:03:58> Master #0 who lost all slots should turn into a replica without replicas: OK +19:03:58> Resharding back some slot to master #0: >>> Performing Cluster Check (using node 127.0.0.1:30000) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. *** No rebalancing needed! All nodes are within the 2.00% threshold. OK -07:53:03> Master #0 should re-acquire one or more replicas: OK +19:04:10> Master #0 should re-acquire one or more replicas: OK Testing unit: 12.1-replica-migration-3.tcl -07:53:03> (init) Restart killed instances: OK -07:53:03> Cluster nodes are reachable: OK -07:53:03> Cluster nodes hard reset: OK -07:53:06> Cluster Join and auto-discovery test: OK -07:53:08> Before slots allocation, all nodes report cluster failure: OK -07:53:08> Create a 5 nodes cluster: OK -07:53:12> Cluster is up: OK -07:53:12> Each master should have at least two replicas attached: OK -07:53:12> Set allow-replica-migration no: OK -07:53:12> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) +19:04:10> (init) Restart killed instances: OK +19:04:10> Cluster nodes are reachable: OK +19:04:10> Cluster nodes hard reset: OK +19:04:14> Cluster Join and auto-discovery test: OK +19:04:16> Before slots allocation, all nodes report cluster failure: OK +19:04:16> Create a 5 nodes cluster: OK +19:04:23> Cluster is up: OK +19:04:23> Each master should have at least two replicas attached: OK +19:04:23> Set allow-replica-migration no: OK +19:04:23> 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:30004 #################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### -Moving 820 slots from 127.0.0.1:30000 to 127.0.0.1:30002 -#################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 816 slots from 127.0.0.1:30000 to 127.0.0.1:30008 ################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################ OK -07:53:50> Wait cluster to be stable: OK -07:53:50> Master #0 still should have its replicas: OK -07:53:50> Each master should have at least two replicas attached: OK +19:05:56> Wait cluster to be stable: OK +19:05:57> Master #0 still should have its replicas: OK +19:05:57> Each master should have at least two replicas attached: OK Testing unit: 13-no-failover-option.tcl -07:53:50> (init) Restart killed instances: OK -07:53:50> Cluster nodes are reachable: OK -07:53:50> Cluster nodes hard reset: OK -07:53:52> Cluster Join and auto-discovery test: OK -07:53:54> Before slots allocation, all nodes report cluster failure: OK -07:53:54> Create a 5 nodes cluster: OK -07:53:58> Cluster is up: OK -07:53:58> Cluster is writable: OK -07:53:59> Instance #5 is a slave: OK -07:53:59> Instance #5 synced with the master: OK -07:53:59> The nofailover flag is propagated: OK -07:54:02> Killing one master node: OK -07:54:02> Cluster should be still down after some time: OK -07:54:12> Instance #5 is still a slave: OK -07:54:12> Restarting the previously killed master node: OK +19:05:57> (init) Restart killed instances: OK +19:05:57> Cluster nodes are reachable: OK +19:05:57> Cluster nodes hard reset: OK +19:06:01> Cluster Join and auto-discovery test: OK +19:06:03> Before slots allocation, all nodes report cluster failure: OK +19:06:03> Create a 5 nodes cluster: OK +19:06:07> Cluster is up: OK +19:06:07> Cluster is writable: OK +19:06:08> Instance #5 is a slave: OK +19:06:08> Instance #5 synced with the master: OK +19:06:08> The nofailover flag is propagated: OK +19:06:11> Killing one master node: OK +19:06:11> Cluster should be still down after some time: OK +19:06:21> Instance #5 is still a slave: OK +19:06:21> Restarting the previously killed master node: OK Testing unit: 14-consistency-check.tcl -07:54:12> (init) Restart killed instances: OK -07:54:12> Cluster nodes are reachable: OK -07:54:12> Cluster nodes hard reset: OK -07:54:14> Cluster Join and auto-discovery test: OK -07:54:16> Before slots allocation, all nodes report cluster failure: OK -07:54:16> Create a 5 nodes cluster: OK -07:54:20> Cluster should start ok: OK -07:54:20> Cluster is writable: OK -07:54:21> Slave expired keys is loaded when restarted: appendonly=no: OK -07:54:25> Slave expired keys is loaded when restarted: appendonly=yes: OK +19:06:22> (init) Restart killed instances: OK +19:06:22> Cluster nodes are reachable: OK +19:06:22> Cluster nodes hard reset: OK +19:06:25> Cluster Join and auto-discovery test: OK +19:06:30> Before slots allocation, all nodes report cluster failure: OK +19:06:30> Create a 5 nodes cluster: OK +19:06:34> Cluster should start ok: OK +19:06:34> Cluster is writable: OK +19:06:35> Slave expired keys is loaded when restarted: appendonly=no: OK +19:06:42> Slave expired keys is loaded when restarted: appendonly=yes: OK Testing unit: 15-cluster-slots.tcl -07:54:29> (init) Restart killed instances: OK -07:54:29> Cluster nodes are reachable: OK -07:54:29> Cluster nodes hard reset: OK -07:54:31> Cluster Join and auto-discovery test: OK -07:54:33> Before slots allocation, all nodes report cluster failure: OK -07:54:33> Create a 5 nodes cluster: OK -07:54:36> Cluster is up: OK -07:54:36> Cluster is writable: OK -07:54:37> Instance #5 is a slave: OK -07:54:37> client do not break when cluster slot: OK -07:54:43> client can handle keys with hash tag: OK -07:54:43> slot migration is valid from primary to another primary: OK -07:54:43> slot migration is invalid from primary to replica: {925f7f2524949b8a0687466f41d6760cab7d9296 127.0.0.1:30010@40010 slave,nofailover aaae6d32b616e32c231931d3de5f2cc23cecca0a 0 1757188483000 1 connected} {4aacd43e9e9ba7e42413477bfac5a6a9d7cdcbdf 127.0.0.1:30020@40020 slave aaae6d32b616e32c231931d3de5f2cc23cecca0a 0 1757188483085 1 connected} {adf83759af83f8f4529c2abf6fdf48d1b31aece0 127.0.0.1:30030@40030 slave aaae6d32b616e32c231931d3de5f2cc23cecca0a 0 1757188483603 1 connected} -925f7f2524949b8a0687466f41d6760cab7d9296 +19:06:48> (init) Restart killed instances: OK +19:06:48> Cluster nodes are reachable: OK +19:06:48> Cluster nodes hard reset: OK +19:06:53> Cluster Join and auto-discovery test: OK +19:06:55> Before slots allocation, all nodes report cluster failure: OK +19:06:55> Create a 5 nodes cluster: OK +19:07:01> Cluster is up: OK +19:07:01> Cluster is writable: OK +19:07:02> Instance #5 is a slave: OK +19:07:02> client do not break when cluster slot: OK +19:07:23> client can handle keys with hash tag: OK +19:07:23> slot migration is valid from primary to another primary: OK +19:07:24> slot migration is invalid from primary to replica: {5b65be54ac1829647311277c4578c71d88d0faf5 127.0.0.1:30010@40010 slave,nofailover 45fbf8b29faf1c601c6fb649ea64dfa4d4693a82 0 1791608844575 1 connected} {4b206dd6615a81e1b6dd974d184331f18758847a 127.0.0.1:30020@40020 slave 45fbf8b29faf1c601c6fb649ea64dfa4d4693a82 0 1791608844576 1 connected} {ef839f92204006c912c5e0134b4a27f1bb8ce2a8 127.0.0.1:30030@40030 slave 45fbf8b29faf1c601c6fb649ea64dfa4d4693a82 0 1791608844160 1 connected} +5b65be54ac1829647311277c4578c71d88d0faf5 OK -07:54:44> slot must be unbound on the owner when it is deleted: OK -07:55:10> CLUSTER SLOTS from non-TLS client in TLS cluster: OK +19:07:24> slot must be unbound on the owner when it is deleted: OK +19:08:36> CLUSTER SLOTS from non-TLS client in TLS cluster: OK Testing unit: 16-transactions-on-replica.tcl -07:55:22> (init) Restart killed instances: OK -07:55:22> Cluster nodes are reachable: OK -07:55:22> Cluster nodes hard reset: OK -07:55:24> Cluster Join and auto-discovery test: OK -07:55:26> Before slots allocation, all nodes report cluster failure: OK -07:55:26> Create a primary with a replica: OK -07:55:30> Cluster should start ok: OK -07:55:30> Can't read from replica without READONLY: OK -07:55:30> Can read from replica after READONLY: OK -07:55:30> Can perform HSET primary and HGET from replica: OK -07:55:30> Can MULTI-EXEC transaction of HGET operations from replica: OK -07:55:30> MULTI-EXEC with write operations is MOVED: OK -07:55:30> read-only blocking operations from replica: OK -07:55:30> reply MOVED when eval from replica for update: OK +19:08:57> (init) Restart killed instances: OK +19:08:57> Cluster nodes are reachable: OK +19:08:57> Cluster nodes hard reset: OK +19:08:59> Cluster Join and auto-discovery test: OK +19:09:02> Before slots allocation, all nodes report cluster failure: OK +19:09:02> Create a primary with a replica: OK +19:09:06> Cluster should start ok: OK +19:09:06> Can't read from replica without READONLY: OK +19:09:06> Can read from replica after READONLY: OK +19:09:06> Can perform HSET primary and HGET from replica: OK +19:09:06> Can MULTI-EXEC transaction of HGET operations from replica: OK +19:09:06> MULTI-EXEC with write operations is MOVED: OK +19:09:06> read-only blocking operations from replica: OK +19:09:06> reply MOVED when eval from replica for update: OK Testing unit: 17-diskless-load-swapdb.tcl -07:55:30> (init) Restart killed instances: OK -07:55:30> Cluster nodes are reachable: OK -07:55:30> Cluster nodes hard reset: OK -07:55:32> Cluster Join and auto-discovery test: OK -07:55:34> Before slots allocation, all nodes report cluster failure: OK -07:55:34> Create a primary with a replica: OK -07:55:39> Cluster should start ok: OK -07:55:39> Cluster is writable: OK -07:55:39> Main db not affected when fail to diskless load: Waiting for process 2264737 to exit... -OK +19:09:06> (init) Restart killed instances: OK +19:09:06> Cluster nodes are reachable: OK +19:09:06> Cluster nodes hard reset: OK +19:09:09> Cluster Join and auto-discovery test: OK +19:09:11> Before slots allocation, all nodes report cluster failure: OK +19:09:11> Create a primary with a replica: OK +19:09:15> Cluster should start ok: OK +19:09:15> Cluster is writable: OK +19:09:16> Main db not affected when fail to diskless load: OK Testing unit: 18-info.tcl -07:56:12> (init) Restart killed instances: redis/0 OK -07:56:12> Cluster nodes are reachable: OK -07:56:12> Cluster nodes hard reset: OK -07:56:13> Cluster Join and auto-discovery test: OK -07:56:16> Before slots allocation, all nodes report cluster failure: OK -07:56:16> Create a primary with a replica: OK -07:56:21> Cluster should start ok: OK -07:56:21> errorstats: rejected call due to MOVED Redirection: OK +19:09:52> (init) Restart killed instances: redis/0 OK +19:09:52> Cluster nodes are reachable: OK +19:09:52> Cluster nodes hard reset: OK +19:09:54> Cluster Join and auto-discovery test: OK +19:09:57> Before slots allocation, all nodes report cluster failure: OK +19:09:57> Create a primary with a replica: OK +19:10:02> Cluster should start ok: OK +19:10:02> errorstats: rejected call due to MOVED Redirection: OK Testing unit: 19-cluster-nodes-slots.tcl -07:56:21> (init) Restart killed instances: OK -07:56:21> Cluster nodes are reachable: OK -07:56:21> Cluster nodes hard reset: OK -07:56:21> Cluster Join and auto-discovery test: OK -07:56:26> Before slots allocation, all nodes report cluster failure: OK -07:56:26> Create a 2 nodes cluster: OK -07:56:29> Cluster should start ok: OK -07:56:29> Continuous slots distribution: OK -07:56:29> Discontinuous slots distribution: OK +19:10:02> (init) Restart killed instances: OK +19:10:02> Cluster nodes are reachable: OK +19:10:02> Cluster nodes hard reset: OK +19:10:04> Cluster Join and auto-discovery test: OK +19:10:08> Before slots allocation, all nodes report cluster failure: OK +19:10:08> Create a 2 nodes cluster: OK +19:10:13> Cluster should start ok: OK +19:10:13> Continuous slots distribution: OK +19:10:13> Discontinuous slots distribution: OK Testing unit: 20-half-migrated-slot.tcl Testing unit: 21-many-slot-migration.tcl Testing unit: 22-replica-in-sync.tcl -07:56:29> (init) Restart killed instances: OK -07:56:29> Cluster nodes are reachable: OK -07:56:29> Cluster nodes hard reset: OK -07:56:30> Cluster Join and auto-discovery test: OK -07:56:32> Before slots allocation, all nodes report cluster failure: OK -07:56:32> Create a 1 node cluster: OK -07:56:37> Cluster is up: OK -07:56:37> Cluster is writable: OK -07:56:37> Fill up primary with data: OK -07:56:37> Add new node as replica: OK -07:56:37> Check digest and replica state: OK -07:56:39> Replica in loading state is hidden: OK -07:56:44> Check disconnected replica not hidden from slots: OK +19:10:13> (init) Restart killed instances: OK +19:10:13> Cluster nodes are reachable: OK +19:10:13> Cluster nodes hard reset: OK +19:10:15> Cluster Join and auto-discovery test: OK +19:10:17> Before slots allocation, all nodes report cluster failure: OK +19:10:17> Create a 1 node cluster: OK +19:10:22> Cluster is up: OK +19:10:22> Cluster is writable: OK +19:10:24> Fill up primary with data: OK +19:10:24> Add new node as replica: OK +19:10:24> Check digest and replica state: OK +19:10:24> Replica in loading state is hidden: OK +19:10:29> Check disconnected replica not hidden from slots: OK Testing unit: 23-multiple-slot-operations.tcl -07:56:46> (init) Restart killed instances: OK -07:56:46> Cluster nodes are reachable: OK -07:56:46> Cluster nodes hard reset: OK -07:56:46> Cluster Join and auto-discovery test: OK -07:56:48> Before slots allocation, all nodes report cluster failure: OK -07:56:48> Create a 5 nodes cluster: OK -07:56:53> Cluster should start ok: OK -07:56:53> Continuous slots distribution: OK -07:56:53> ADDSLOTSRANGE command with several boundary conditions test suite: OK -07:56:53> DELSLOTSRANGE command with several boundary conditions test suite: OK +19:10:29> (init) Restart killed instances: OK +19:10:29> Cluster nodes are reachable: OK +19:10:29> Cluster nodes hard reset: OK +19:10:33> Cluster Join and auto-discovery test: OK +19:10:36> Before slots allocation, all nodes report cluster failure: OK +19:10:37> Create a 5 nodes cluster: OK +19:10:41> Cluster should start ok: OK +19:10:41> Continuous slots distribution: OK +19:10:41> ADDSLOTSRANGE command with several boundary conditions test suite: OK +19:10:41> DELSLOTSRANGE command with several boundary conditions test suite: OK Testing unit: 24-links.tcl -07:56:53> (init) Restart killed instances: OK -07:56:53> Cluster nodes are reachable: OK -07:56:53> Cluster nodes hard reset: OK -07:56:53> Cluster Join and auto-discovery test: OK -07:56:55> Before slots allocation, all nodes report cluster failure: OK -07:56:55> Create a cluster with two single-node shards: OK -07:57:00> Cluster should start ok: OK -07:57:00> Each node has two links with each peer: OK -07:57:00> Disconnect link when send buffer limit reached: 3 128KB messages needed to overflow 256KB buffer limit. OK +19:10:41> (init) Restart killed instances: OK +19:10:41> Cluster nodes are reachable: OK +19:10:41> Cluster nodes hard reset: OK +19:10:44> Cluster Join and auto-discovery test: OK +19:10:45> Before slots allocation, all nodes report cluster failure: OK +19:10:45> Create a cluster with two single-node shards: OK +19:10:50> Cluster should start ok: OK +19:10:50> Each node has two links with each peer: OK +19:10:51> Disconnect link when send buffer limit reached: 5 128KB messages needed to overflow 256KB buffer limit. OK Testing unit: 25-pubsubshard-slot-migration.tcl -07:57:02> (init) Restart killed instances: OK -07:57:02> Cluster nodes are reachable: OK -07:57:02> Cluster nodes hard reset: OK -07:57:03> Cluster Join and auto-discovery test: OK -07:57:06> Before slots allocation, all nodes report cluster failure: OK -07:57:06> Create a 3 nodes cluster: OK -07:57:10> Cluster is up: OK -07:57:10> Migrate a slot, verify client receives sunsubscribe on primary serving the slot.: OK -07:57:11> Client subscribes to multiple channels, migrate a slot, verify client receives sunsubscribe on primary serving the slot.: OK -07:57:11> Migrate a slot, verify client receives sunsubscribe on replica serving the slot.: OK -07:57:12> Delete a slot, verify sunsubscribe message: OK -07:57:12> Reset cluster, verify sunsubscribe message: OK +19:10:54> (init) Restart killed instances: OK +19:10:54> Cluster nodes are reachable: OK +19:10:55> Cluster nodes hard reset: OK +19:10:56> Cluster Join and auto-discovery test: OK +19:11:01> Before slots allocation, all nodes report cluster failure: OK +19:11:01> Create a 3 nodes cluster: OK +19:11:05> Cluster is up: OK +19:11:05> Migrate a slot, verify client receives sunsubscribe on primary serving the slot.: OK +19:11:05> Client subscribes to multiple channels, migrate a slot, verify client receives sunsubscribe on primary serving the slot.: OK +19:11:06> Migrate a slot, verify client receives sunsubscribe on replica serving the slot.: OK +19:11:06> Delete a slot, verify sunsubscribe message: OK +19:11:06> Reset cluster, verify sunsubscribe message: OK Testing unit: 26-pubsubshard.tcl -07:57:13> (init) Restart killed instances: OK -07:57:13> Cluster nodes are reachable: OK -07:57:13> Cluster nodes hard reset: OK -07:57:13> Cluster Join and auto-discovery test: OK -07:57:16> Before slots allocation, all nodes report cluster failure: OK -07:57:16> Create a 3 nodes cluster: OK -07:57:21> Pub/Sub shard basics: OK -07:57:21> client can't subscribe to multiple shard channels across different slots in same call: OK -07:57:21> client can subscribe to multiple shard channels across different slots in separate call: OK -07:57:21> Verify Pub/Sub and Pub/Sub shard no overlap: OK +19:11:06> (init) Restart killed instances: OK +19:11:06> Cluster nodes are reachable: OK +19:11:06> Cluster nodes hard reset: OK +19:11:08> Cluster Join and auto-discovery test: OK +19:11:11> Before slots allocation, all nodes report cluster failure: OK +19:11:11> Create a 3 nodes cluster: OK +19:11:16> Pub/Sub shard basics: OK +19:11:16> client can't subscribe to multiple shard channels across different slots in same call: OK +19:11:16> client can subscribe to multiple shard channels across different slots in separate call: OK +19:11:16> Verify Pub/Sub and Pub/Sub shard no overlap: OK Testing unit: 27-endpoints.tcl -07:57:21> (init) Restart killed instances: OK -07:57:21> Cluster nodes are reachable: OK -07:57:21> Cluster nodes hard reset: OK -07:57:25> Cluster Join and auto-discovery test: OK -07:57:28> Before slots allocation, all nodes report cluster failure: OK -07:57:28> Create a 6 nodes cluster: OK -07:57:33> Cluster should start ok: OK -07:57:33> Set cluster hostnames and verify they are propagated: OK -07:57:34> Update hostnames and make sure they are all eventually propagated: OK -07:57:36> Remove hostnames and make sure they are all eventually propagated: OK -07:57:38> Verify cluster-preferred-endpoint-type behavior for redirects and info: OK -07:57:40> Verify the nodes configured with prefer hostname only show hostname for new nodes: OK -07:57:41> Test restart will keep hostname information: OK -07:57:41> Test hostname validation: OK +19:11:16> (init) Restart killed instances: OK +19:11:16> Cluster nodes are reachable: OK +19:11:16> Cluster nodes hard reset: OK +19:11:18> Cluster Join and auto-discovery test: OK +19:11:23> Before slots allocation, all nodes report cluster failure: OK +19:11:23> Create a 6 nodes cluster: OK +19:11:26> Cluster should start ok: OK +19:11:26> Set cluster hostnames and verify they are propagated: OK +19:11:26> Update hostnames and make sure they are all eventually propagated: OK +19:11:28> Remove hostnames and make sure they are all eventually propagated: OK +19:11:30> Verify cluster-preferred-endpoint-type behavior for redirects and info: OK +19:11:31> Verify the nodes configured with prefer hostname only show hostname for new nodes: OK +19:11:34> Test restart will keep hostname information: OK +19:11:36> Test hostname validation: OK Testing unit: 28-cluster-shards.tcl -07:57:41> (init) Restart killed instances: OK -07:57:41> Cluster nodes are reachable: OK -07:57:41> Cluster nodes hard reset: OK -07:57:41> Cluster Join and auto-discovery test: OK -07:57:44> Before slots allocation, all nodes report cluster failure: OK -07:57:44> Create a 8 nodes cluster with 4 shards: OK -07:57:44> Cluster should start ok: OK -07:57:48> Set cluster hostnames and verify they are propagated: OK -07:57:49> Verify information about the shards: OK -07:57:50> Verify no slot shard: OK -07:57:50> Kill a node and tell the replica to immediately takeover: OK -07:57:51> Verify health as fail for killed node: OK -07:57:54> Restarting primary node: OK -07:57:54> Instance #0 gets converted into a replica: OK -07:57:54> Test the replica reports a loading state while it's loading: OK -07:57:56> Regression test for a crash when calling SHARDS during handshake: OK -07:57:57> Cluster is up: OK +19:11:36> (init) Restart killed instances: OK +19:11:36> Cluster nodes are reachable: OK +19:11:36> Cluster nodes hard reset: OK +19:11:38> Cluster Join and auto-discovery test: OK +19:11:40> Before slots allocation, all nodes report cluster failure: OK +19:11:40> Create a 8 nodes cluster with 4 shards: OK +19:11:40> Cluster should start ok: OK +19:11:44> Set cluster hostnames and verify they are propagated: OK +19:11:46> Verify information about the shards: OK +19:11:49> Verify no slot shard: OK +19:11:49> Kill a node and tell the replica to immediately takeover: OK +19:11:50> Verify health as fail for killed node: OK +19:11:53> Restarting primary node: OK +19:11:58> Instance #0 gets converted into a replica: OK +19:11:58> Test the replica reports a loading state while it's loading: OK +19:12:02> Regression test for a crash when calling SHARDS during handshake: OK +19:12:02> Cluster is up: OK Testing unit: 29-slot-migration-response.tcl -07:58:00> (init) Restart killed instances: OK -07:58:00> Cluster nodes are reachable: OK -07:58:00> Cluster nodes hard reset: OK -07:58:00> Cluster Join and auto-discovery test: OK -07:58:03> Before slots allocation, all nodes report cluster failure: OK -07:58:03> Create a 2 nodes cluster: OK -07:58:06> Cluster is up: OK -07:58:07> Set many keys in the cluster: OK -07:58:08> Test cluster responses during migration of slot x: OK +19:12:05> (init) Restart killed instances: OK +19:12:05> Cluster nodes are reachable: OK +19:12:05> Cluster nodes hard reset: OK +19:12:08> Cluster Join and auto-discovery test: OK +19:12:11> Before slots allocation, all nodes report cluster failure: OK +19:12:11> Create a 2 nodes cluster: OK +19:12:15> Cluster is up: OK +19:12:16> Set many keys in the cluster: OK +19:12:29> Test cluster responses during migration of slot x: OK Cleaning up... -killing stale instance 2233116 -killing stale instance 2233344 -killing stale instance 2233581 -killing stale instance 2233619 -killing stale instance 2233725 -killing stale instance 2233786 -killing stale instance 2233817 -killing stale instance 2233881 -killing stale instance 2239178 -killing stale instance 2239220 -killing stale instance 2239238 -killing stale instance 2239259 -killing stale instance 2242938 -killing stale instance 2242995 -killing stale instance 2243100 -killing stale instance 2244982 -killing stale instance 2257304 -killing stale instance 2265245 -killing stale instance 2268402 -killing stale instance 2270404 +killing stale instance 4096147 +killing stale instance 4096805 +killing stale instance 4097427 +killing stale instance 4098892 +killing stale instance 4099072 +killing stale instance 4099632 +killing stale instance 4099717 +killing stale instance 4099876 +killing stale instance 4100119 +killing stale instance 4173327 +killing stale instance 4173468 +killing stale instance 4173904 +killing stale instance 897 +killing stale instance 1169 +killing stale instance 1266 +killing stale instance 5627 +killing stale instance 33791 +killing stale instance 124984 +killing stale instance 151300 +killing stale instance 168091 WARNING 2 test(s) failed. ./runtest-sentinel || true Starting sentinel #0 at port 20000 @@ -5544,208 +5821,1625 @@ Starting redis #3 at port 30003 Starting redis #4 at port 30004 Testing unit: 00-base.tcl -07:58:25> (start-init) Flush config and compare rewrite config file lines: OK -07:58:25> (init) Restart killed instances: OK -07:58:25> (init) Remove old master entry from sentinels: OK -07:58:25> (init) Create a master-slaves cluster of 5 instances: OK -07:58:25> (init) Sentinels can start monitoring a master: OK -07:58:25> (init) Sentinels can talk with the master: OK -07:58:25> (init) Sentinels are able to auto-discover other sentinels: OK -07:58:27> (init) Sentinels are able to auto-discover slaves: OK -07:58:27> Sentinel commands sanity check: OK -07:58:27> Basic failover works if the master is down: OK -07:58:31> New master 127.0.0.1:30002 role matches: OK -07:58:31> All the other slaves now point to the new master: OK -07:58:31> The old master eventually gets reconfigured as a slave: OK -07:58:41> ODOWN is not possible without N (quorum) Sentinels reports: OK -07:58:42> Failover is not possible without majority agreement: OK -07:58:42> Failover works if we configure for absolute agreement: OK -07:58:48> New master 127.0.0.1:30003 role matches: OK +19:12:53> (start-init) Flush config and compare rewrite config file lines: OK +19:12:53> (init) Restart killed instances: OK +19:12:53> (init) Remove old master entry from sentinels: OK +19:12:53> (init) Create a master-slaves cluster of 5 instances: OK +19:12:53> (init) Sentinels can start monitoring a master: OK +19:12:54> (init) Sentinels can talk with the master: OK +19:12:54> (init) Sentinels are able to auto-discover other sentinels: OK +19:12:56> (init) Sentinels are able to auto-discover slaves: OK +19:12:56> Sentinel commands sanity check: OK +19:12:56> Basic failover works if the master is down: OK +19:13:00> New master 127.0.0.1:30002 role matches: OK +19:13:00> All the other slaves now point to the new master: OK +19:13:00> The old master eventually gets reconfigured as a slave: OK +19:13:11> ODOWN is not possible without N (quorum) Sentinels reports: OK +19:13:12> Failover is not possible without majority agreement: OK +19:13:15> Failover works if we configure for absolute agreement: OK +19:13:21> New master 127.0.0.1:30003 role matches: OK Testing unit: 01-conf-update.tcl -07:58:48> (init) Restart killed instances: OK -07:58:48> (init) Remove old master entry from sentinels: OK -07:58:48> (init) Create a master-slaves cluster of 5 instances: OK -07:58:48> (init) Sentinels can start monitoring a master: OK -07:58:48> (init) Sentinels can talk with the master: OK -07:58:48> (init) Sentinels are able to auto-discover other sentinels: OK -07:58:50> (init) Sentinels are able to auto-discover slaves: OK -07:58:50> We can failover with Sentinel 1 crashed: OK -07:58:55> After Sentinel 1 is restarted, its config gets updated: OK -07:58:55> New master 127.0.0.1:30002 role matches: OK +19:13:21> (init) Restart killed instances: OK +19:13:21> (init) Remove old master entry from sentinels: OK +19:13:21> (init) Create a master-slaves cluster of 5 instances: OK +19:13:21> (init) Sentinels can start monitoring a master: OK +19:13:21> (init) Sentinels can talk with the master: OK +19:13:21> (init) Sentinels are able to auto-discover other sentinels: OK +19:13:23> (init) Sentinels are able to auto-discover slaves: OK +19:13:23> We can failover with Sentinel 1 crashed: OK +19:13:28> After Sentinel 1 is restarted, its config gets updated: OK +19:13:28> New master 127.0.0.1:30003 role matches: OK Testing unit: 02-slaves-reconf.tcl -07:58:55> (init) Restart killed instances: OK -07:58:55> (init) Remove old master entry from sentinels: OK -07:58:55> (init) Create a master-slaves cluster of 5 instances: OK -07:58:55> (init) Sentinels can start monitoring a master: OK -07:58:55> (init) Sentinels can talk with the master: OK -07:58:55> (init) Sentinels are able to auto-discover other sentinels: OK -07:58:57> (init) Sentinels are able to auto-discover slaves: OK -07:58:57> Check that slaves replicate from current master: OK -07:58:57> Crash the master and force a failover: OK -07:59:02> Check that slaves replicate from current master: OK -07:59:12> Kill a slave instance: OK -07:59:12> Crash the master and force a failover: OK -07:59:16> Check that slaves replicate from current master: OK -07:59:17> Wait for failover to end: OK -07:59:17> Restart killed slave and test replication of slaves again...: OK -07:59:17> Check that slaves replicate from current master: OK +19:13:28> (init) Restart killed instances: OK +19:13:28> (init) Remove old master entry from sentinels: OK +19:13:28> (init) Create a master-slaves cluster of 5 instances: OK +19:13:28> (init) Sentinels can start monitoring a master: OK +19:13:29> (init) Sentinels can talk with the master: OK +19:13:29> (init) Sentinels are able to auto-discover other sentinels: OK +19:13:32> (init) Sentinels are able to auto-discover slaves: OK +19:13:32> Check that slaves replicate from current master: OK +19:13:32> Crash the master and force a failover: OK +19:13:37> Check that slaves replicate from current master: OK +19:13:37> Kill a slave instance: OK +19:13:38> Crash the master and force a failover: OK +19:13:42> Check that slaves replicate from current master: OK +19:13:43> Wait for failover to end: OK +19:13:43> Restart killed slave and test replication of slaves again...: OK +19:13:43> Check that slaves replicate from current master: OK Testing unit: 03-runtime-reconf.tcl -07:59:27> (init) Restart killed instances: OK -07:59:27> (init) Remove old master entry from sentinels: OK -07:59:28> (init) Create a master-slaves cluster of 5 instances: OK -07:59:28> (init) Sentinels can start monitoring a master: OK -07:59:28> (init) Sentinels can talk with the master: OK -07:59:28> (init) Sentinels are able to auto-discover other sentinels: OK -07:59:28> (init) Sentinels are able to auto-discover slaves: OK -07:59:28> Sentinels (re)connection following SENTINEL SET mymaster auth-pass: OK -07:59:29> Sentinels (re)connection following master ACL change: OK -07:59:33> Set parameters in normal case: OK -07:59:33> Set parameters in normal case with bad format: OK -07:59:33> Sentinel Set with other error situations: OK +19:13:55> (init) Restart killed instances: OK +19:13:55> (init) Remove old master entry from sentinels: OK +19:13:55> (init) Create a master-slaves cluster of 5 instances: OK +19:13:55> (init) Sentinels can start monitoring a master: OK +19:13:55> (init) Sentinels can talk with the master: OK +19:13:55> (init) Sentinels are able to auto-discover other sentinels: OK +19:13:55> (init) Sentinels are able to auto-discover slaves: OK +19:13:55> Sentinels (re)connection following SENTINEL SET mymaster auth-pass: OK +19:13:57> Sentinels (re)connection following master ACL change: OK +19:13:59> Set parameters in normal case: OK +19:13:59> Set parameters in normal case with bad format: OK +19:13:59> Sentinel Set with other error situations: OK Testing unit: 04-slave-selection.tcl Testing unit: 05-manual.tcl -07:59:33> (init) Restart killed instances: OK -07:59:33> (init) Remove old master entry from sentinels: OK -07:59:33> (init) Create a master-slaves cluster of 5 instances: OK -07:59:33> (init) Sentinels can start monitoring a master: OK -07:59:33> (init) Sentinels can talk with the master: OK -07:59:33> (init) Sentinels are able to auto-discover other sentinels: OK -07:59:35> (init) Sentinels are able to auto-discover slaves: OK -07:59:35> Manual failover works: OK -07:59:37> New master 127.0.0.1:30002 role matches: OK -07:59:37> All the other slaves now point to the new master: OK -07:59:37> The old master eventually gets reconfigured as a slave: OK +19:13:59> (init) Restart killed instances: OK +19:13:59> (init) Remove old master entry from sentinels: OK +19:13:59> (init) Create a master-slaves cluster of 5 instances: OK +19:13:59> (init) Sentinels can start monitoring a master: OK +19:14:00> (init) Sentinels can talk with the master: OK +19:14:00> (init) Sentinels are able to auto-discover other sentinels: OK +19:14:01> (init) Sentinels are able to auto-discover slaves: OK +19:14:01> Manual failover works: OK +19:14:04> New master 127.0.0.1:30003 role matches: OK +19:14:04> All the other slaves now point to the new master: OK +19:14:04> The old master eventually gets reconfigured as a slave: OK Testing unit: 06-ckquorum.tcl -07:59:42> (init) Restart killed instances: OK -07:59:42> (init) Remove old master entry from sentinels: OK -07:59:44> (init) Create a master-slaves cluster of 5 instances: OK -07:59:44> (init) Sentinels can start monitoring a master: OK -07:59:44> (init) Sentinels can talk with the master: OK -07:59:44> (init) Sentinels are able to auto-discover other sentinels: OK -07:59:45> (init) Sentinels are able to auto-discover slaves: OK -07:59:45> CKQUORUM reports OK and the right amount of Sentinels: OK -07:59:45> CKQUORUM detects quorum cannot be reached: OK -07:59:45> CKQUORUM detects failover authorization cannot be reached: OK +19:14:08> (init) Restart killed instances: OK +19:14:08> (init) Remove old master entry from sentinels: OK +19:14:08> (init) Create a master-slaves cluster of 5 instances: OK +19:14:08> (init) Sentinels can start monitoring a master: OK +19:14:08> (init) Sentinels can talk with the master: OK +19:14:08> (init) Sentinels are able to auto-discover other sentinels: OK +19:14:09> (init) Sentinels are able to auto-discover slaves: OK +19:14:09> CKQUORUM reports OK and the right amount of Sentinels: OK +19:14:09> CKQUORUM detects quorum cannot be reached: OK +19:14:09> CKQUORUM detects failover authorization cannot be reached: OK Testing unit: 07-down-conditions.tcl -07:59:50> (init) Restart killed instances: OK -07:59:50> (init) Remove old master entry from sentinels: OK -07:59:53> (init) Create a master-slaves cluster of 5 instances: OK -07:59:53> (init) Sentinels can start monitoring a master: OK -07:59:53> (init) Sentinels can talk with the master: OK -07:59:53> (init) Sentinels are able to auto-discover other sentinels: OK -07:59:57> (init) Sentinels are able to auto-discover slaves: OK -07:59:57> Crash the majority of Sentinels to prevent failovers for this unit: OK -07:59:58> SDOWN is triggered by non-responding but not crashed instance: OK -08:00:00> SDOWN is triggered by crashed instance: OK -08:00:03> SDOWN is triggered by masters advertising as slaves: OK -08:00:07> SDOWN is triggered by misconfigured instance replying with errors: OK -08:00:17> SDOWN is triggered if we rename PING to PONG: OK +19:14:12> (init) Restart killed instances: OK +19:14:12> (init) Remove old master entry from sentinels: OK +19:14:12> (init) Create a master-slaves cluster of 5 instances: OK +19:14:12> (init) Sentinels can start monitoring a master: OK +19:14:12> (init) Sentinels can talk with the master: OK +19:14:12> (init) Sentinels are able to auto-discover other sentinels: OK +19:14:15> (init) Sentinels are able to auto-discover slaves: OK +19:14:15> Crash the majority of Sentinels to prevent failovers for this unit: OK +19:14:15> SDOWN is triggered by non-responding but not crashed instance: OK +19:14:17> SDOWN is triggered by crashed instance: OK +19:14:21> SDOWN is triggered by masters advertising as slaves: OK +19:14:25> SDOWN is triggered by misconfigured instance replying with errors: OK +19:14:35> SDOWN is triggered if we rename PING to PONG: OK Testing unit: 08-hostname-conf.tcl -08:00:19> (pre-init) Configure instances and sentinel for hostname use: sentinel/0 sentinel/1 sentinel/2 OK -08:00:19> (init) Restart killed instances: OK -08:00:19> (init) Remove old master entry from sentinels: OK -08:00:19> (init) Create a master-slaves cluster of 5 instances: OK -08:00:20> (init) Sentinels can start monitoring a master: OK -08:00:20> (init) Sentinels can talk with the master: OK -08:00:20> (init) Sentinels are able to auto-discover other sentinels: OK -08:00:22> (init) Sentinels are able to auto-discover slaves: OK -08:00:22> Sentinel announces hostnames: OK -08:00:23> (post-cleanup) Configure instances and sentinel for IPs: OK +19:14:39> (pre-init) Configure instances and sentinel for hostname use: sentinel/0 sentinel/1 sentinel/2 OK +19:14:39> (init) Restart killed instances: OK +19:14:39> (init) Remove old master entry from sentinels: OK +19:14:39> (init) Create a master-slaves cluster of 5 instances: OK +19:14:39> (init) Sentinels can start monitoring a master: OK +19:14:39> (init) Sentinels can talk with the master: OK +19:14:39> (init) Sentinels are able to auto-discover other sentinels: OK +19:14:41> (init) Sentinels are able to auto-discover slaves: OK +19:14:41> Sentinel announces hostnames: OK +19:14:41> (post-cleanup) Configure instances and sentinel for IPs: OK Testing unit: 09-acl-support.tcl -08:00:23> (init) Restart killed instances: OK -08:00:23> (init) Remove old master entry from sentinels: OK -08:00:23> (init) Create a master-slaves cluster of 5 instances: OK -08:00:23> (init) Sentinels can start monitoring a master: OK -08:00:23> (init) Sentinels can talk with the master: OK -08:00:23> (init) Sentinels are able to auto-discover other sentinels: OK -08:00:25> (init) Sentinels are able to auto-discover slaves: OK -08:00:25> (post-init) Set up ACL configuration: OK -08:00:25> SENTINEL CONFIG SET handles on-the-fly credentials reconfiguration: OK -08:00:28> (post-cleanup) Tear down ACL configuration: OK +19:14:41> (init) Restart killed instances: OK +19:14:41> (init) Remove old master entry from sentinels: OK +19:14:41> (init) Create a master-slaves cluster of 5 instances: OK +19:14:41> (init) Sentinels can start monitoring a master: OK +19:14:42> (init) Sentinels can talk with the master: OK +19:14:42> (init) Sentinels are able to auto-discover other sentinels: OK +19:14:44> (init) Sentinels are able to auto-discover slaves: OK +19:14:44> (post-init) Set up ACL configuration: OK +19:14:44> SENTINEL CONFIG SET handles on-the-fly credentials reconfiguration: OK +19:14:47> (post-cleanup) Tear down ACL configuration: OK Testing unit: 10-replica-priority.tcl -08:00:28> (init) Restart killed instances: OK -08:00:28> (init) Remove old master entry from sentinels: OK -08:00:28> (init) Create a master-slaves cluster of 5 instances: OK -08:00:28> (init) Sentinels can start monitoring a master: OK -08:00:29> (init) Sentinels can talk with the master: OK -08:00:29> (init) Sentinels are able to auto-discover other sentinels: OK -08:00:30> (init) Sentinels are able to auto-discover slaves: OK -08:00:30> Check acceptable replica-priority values: OK -08:00:30> Set replica-announced=yes on all replicas: OK -08:00:30> Check sentinel replies with 4 replicas: OK -08:00:30> Set replica-announced=no on 2 replicas: OK -08:00:30> Check sentinel replies with 2 replicas: OK -08:00:31> Set replica-announced=yes on all replicas: OK -08:00:31> Check sentinel replies with 4 replicas: OK +19:14:48> (init) Restart killed instances: OK +19:14:48> (init) Remove old master entry from sentinels: OK +19:14:48> (init) Create a master-slaves cluster of 5 instances: OK +19:14:48> (init) Sentinels can start monitoring a master: OK +19:14:48> (init) Sentinels can talk with the master: OK +19:14:48> (init) Sentinels are able to auto-discover other sentinels: OK +19:14:50> (init) Sentinels are able to auto-discover slaves: OK +19:14:50> Check acceptable replica-priority values: OK +19:14:50> Set replica-announced=yes on all replicas: OK +19:14:50> Check sentinel replies with 4 replicas: OK +19:14:50> Set replica-announced=no on 2 replicas: OK +19:14:50> Check sentinel replies with 2 replicas: OK +19:14:50> Set replica-announced=yes on all replicas: OK +19:14:50> Check sentinel replies with 4 replicas: OK Testing unit: 11-port-0.tcl -08:00:31> (init) Restart killed instances: OK -08:00:31> (init) Remove old master entry from sentinels: OK -08:00:31> (init) Create a master-slaves cluster of 5 instances: OK -08:00:31> (init) Sentinels can start monitoring a master: OK -08:00:31> (init) Sentinels can talk with the master: OK -08:00:31> (init) Sentinels are able to auto-discover other sentinels: OK -08:00:31> (init) Sentinels are able to auto-discover slaves: OK -08:00:31> Start/Stop sentinel on same port with a different runID should not change the total number of sentinels: OK +19:14:50> (init) Restart killed instances: OK +19:14:50> (init) Remove old master entry from sentinels: OK +19:14:51> (init) Create a master-slaves cluster of 5 instances: OK +19:14:51> (init) Sentinels can start monitoring a master: OK +19:14:51> (init) Sentinels can talk with the master: OK +19:14:51> (init) Sentinels are able to auto-discover other sentinels: OK +19:14:51> (init) Sentinels are able to auto-discover slaves: OK +19:14:51> Start/Stop sentinel on same port with a different runID should not change the total number of sentinels: OK Testing unit: 12-master-reboot.tcl -08:00:32> (init) Restart killed instances: sentinel/4 OK -08:00:32> (init) Remove old master entry from sentinels: OK -08:00:32> (init) Create a master-slaves cluster of 5 instances: OK -08:00:32> (init) Sentinels can start monitoring a master: OK -08:00:33> (init) Sentinels can talk with the master: OK -08:00:33> (init) Sentinels are able to auto-discover other sentinels: OK -08:00:34> (init) Sentinels are able to auto-discover slaves: OK -08:00:34> Master reboot in very short time: OK -08:00:42> New master 127.0.0.1:30002 role matches: OK -08:00:42> All the other slaves now point to the new master: OK -08:00:42> The old master eventually gets reconfigured as a slave: OK +19:14:52> (init) Restart killed instances: sentinel/4 OK +19:14:52> (init) Remove old master entry from sentinels: OK +19:14:52> (init) Create a master-slaves cluster of 5 instances: OK +19:14:52> (init) Sentinels can start monitoring a master: OK +19:14:59> (init) Sentinels can talk with the master: OK +19:14:59> (init) Sentinels are able to auto-discover other sentinels: OK +19:14:59> (init) Sentinels are able to auto-discover slaves: OK +19:14:59> Master reboot in very short time: OK +19:15:07> New master 127.0.0.1:30003 role matches: OK +19:15:07> All the other slaves now point to the new master: OK +19:15:07> The old master eventually gets reconfigured as a slave: OK Testing unit: 13-info-command.tcl -08:00:51> (init) Restart killed instances: OK -08:00:51> (init) Remove old master entry from sentinels: OK -08:00:51> (init) Create a master-slaves cluster of 5 instances: OK -08:00:51> (init) Sentinels can start monitoring a master: OK -08:00:51> (init) Sentinels can talk with the master: OK -08:00:51> (init) Sentinels are able to auto-discover other sentinels: OK -08:00:53> (init) Sentinels are able to auto-discover slaves: OK -08:00:53> info command with at most one argument: OK -08:00:53> info command with one sub-section: OK -08:00:53> info command with multiple sub-sections: OK +19:15:18> (init) Restart killed instances: OK +19:15:18> (init) Remove old master entry from sentinels: OK +19:15:19> (init) Create a master-slaves cluster of 5 instances: OK +19:15:19> (init) Sentinels can start monitoring a master: OK +19:15:19> (init) Sentinels can talk with the master: OK +19:15:19> (init) Sentinels are able to auto-discover other sentinels: OK +19:15:22> (init) Sentinels are able to auto-discover slaves: OK +19:15:22> info command with at most one argument: OK +19:15:22> info command with one sub-section: OK +19:15:22> info command with multiple sub-sections: OK Cleaning up... -killing stale instance 2270806 -killing stale instance 2270829 -killing stale instance 2270835 -killing stale instance 2274676 -killing stale instance 2282954 -killing stale instance 2284257 -killing stale instance 2284263 -killing stale instance 2284270 -killing stale instance 2284698 -killing stale instance 2284706 -killing stale instance 2284775 +killing stale instance 183900 +killing stale instance 184008 +killing stale instance 189579 +killing stale instance 193424 +killing stale instance 198937 +killing stale instance 201505 +killing stale instance 201517 +killing stale instance 201526 +killing stale instance 202839 +killing stale instance 202940 +killing stale instance 203484 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/duplicate.acl.1415357.152/user.acl' -removed 'tests/tmp/duplicate.acl.1415357.152/stderr' -removed 'tests/tmp/duplicate.acl.1415357.152/stdout' -removed 'tests/tmp/duplicate.acl.1415357.152/default.conf' -removed 'tests/tmp/resetchannels.acl.1415357.142/nodefaultuser.acl' -removed 'tests/tmp/resetchannels.acl.1415357.142/stderr' -removed 'tests/tmp/resetchannels.acl.1415357.142/stdout' -removed 'tests/tmp/resetchannels.acl.1415357.142/default.conf' -removed 'tests/tmp/server2.log.1415357.764/stderr' -removed 'tests/tmp/server2.log.1415357.764/stdout' -removed 'tests/tmp/selectors.acl.1415357.159/userwithselectors.acl' -removed 'tests/tmp/selectors.acl.1415357.159/stderr' -removed 'tests/tmp/selectors.acl.1415357.159/stdout' -removed 'tests/tmp/selectors.acl.1415357.159/default.conf' -removed 'tests/tmp/resetchannels.acl.1415357.145/nodefaultuser.acl' -removed 'tests/tmp/resetchannels.acl.1415357.145/stderr' -removed 'tests/tmp/resetchannels.acl.1415357.145/stdout' -removed 'tests/tmp/resetchannels.acl.1415357.145/default.conf' -removed 'tests/tmp/server1.log.1415357.761/stderr' -removed 'tests/tmp/server1.log.1415357.761/stdout' +removed 'tests/tmp/redis.conf.3422707.945' +removed 'tests/tmp/redis.conf.3422707.923' +removed 'tests/tmp/redis.conf.3422707.470' +removed 'tests/tmp/redis.conf.3422707.794' +removed 'tests/tmp/server.3422707.852/stdout' +removed 'tests/tmp/server.3422707.852/stderr' +removed 'tests/tmp/server.3422707.803/stdout' +removed 'tests/tmp/server.3422707.803/stderr' +removed 'tests/tmp/server.3422707.576/stdout' +removed 'tests/tmp/server.3422707.576/stderr' +removed 'tests/tmp/server.3422707.604/stdout' +removed 'tests/tmp/server.3422707.604/stderr' +removed 'tests/tmp/server.3422707.976/stdout' +removed 'tests/tmp/server.3422707.976/stderr' +removed 'tests/tmp/redis.conf.3422707.169' +removed 'tests/tmp/server.3422707.769/stdout' +removed 'tests/tmp/server.3422707.769/stderr' +removed 'tests/tmp/redis.conf.3422707.722' +removed 'tests/tmp/redis.conf.3422707.589' +removed 'tests/tmp/redis.conf.3422707.509' +removed 'tests/tmp/redis.conf.3422707.36' +removed 'tests/tmp/server.3422707.473/stdout' +removed 'tests/tmp/server.3422707.473/stderr' +removed 'tests/tmp/redis.conf.3422707.656' +removed 'tests/tmp/server.3422707.1012/stdout' +removed 'tests/tmp/server.3422707.1012/stderr' +removed 'tests/tmp/redis.conf.3422707.247' +removed 'tests/tmp/redis.conf.3422707.454' +removed 'tests/tmp/server.3422707.119/stdout' +removed 'tests/tmp/server.3422707.119/stderr' +removed 'tests/tmp/server.3422707.1002/stdout' +removed 'tests/tmp/server.3422707.1002/stderr' +removed 'tests/tmp/redis.conf.3422707.38' +removed 'tests/tmp/redis.conf.3422707.875' +removed 'tests/tmp/redis.conf.3422707.265' +removed 'tests/tmp/server.3422707.444/stdout' +removed 'tests/tmp/server.3422707.444/stderr' +removed 'tests/tmp/redis.conf.3422707.810' +removed 'tests/tmp/redis.conf.3422707.199' +removed 'tests/tmp/redis.conf.3422707.768' +removed 'tests/tmp/redis.conf.3422707.947' +removed 'tests/tmp/server.log.3422707.758/stdout' +removed 'tests/tmp/server.log.3422707.758/stderr' +removed 'tests/tmp/redis.conf.3422707.285' +removed 'tests/tmp/server.3422707.596/stdout' +removed 'tests/tmp/server.3422707.596/stderr' +removed 'tests/tmp/server.3422707.15/stdout' +removed 'tests/tmp/server.3422707.15/stderr' +removed 'tests/tmp/redis.conf.3422707.843' +removed 'tests/tmp/redis.conf.3422707.612' +removed 'tests/tmp/server.3422707.651/stdout' +removed 'tests/tmp/server.3422707.651/stderr' +removed 'tests/tmp/server.3422707.198/stdout' +removed 'tests/tmp/server.3422707.198/stderr' +removed 'tests/tmp/server.3422707.727/stdout' +removed 'tests/tmp/server.3422707.727/stderr' +removed 'tests/tmp/server.3422707.580/stdout' +removed 'tests/tmp/server.3422707.580/stderr' +removed 'tests/tmp/redis.conf.3422707.752' +removed 'tests/tmp/server1.log.3422707.761/stdout' +removed 'tests/tmp/server1.log.3422707.761/stderr' +removed 'tests/tmp/server.3422707.47/stdout' +removed 'tests/tmp/server.3422707.47/stderr' +removed 'tests/tmp/redis.conf.3422707.64' +removed 'tests/tmp/redis.conf.3422707.341' +removed 'tests/tmp/server.3422707.276/stdout' +removed 'tests/tmp/server.3422707.276/stderr' +removed 'tests/tmp/server.3422707.838/stdout' +removed 'tests/tmp/server.3422707.838/stderr' +removed 'tests/tmp/redis.conf.3422707.688' +removed 'tests/tmp/redis.conf.3422707.573' +removed 'tests/tmp/redis.conf.3422707.291' +removed 'tests/tmp/redis.conf.3422707.899' +removed 'tests/tmp/server.3422707.254/stdout' +removed 'tests/tmp/server.3422707.254/stderr' +removed 'tests/tmp/redis.conf.3422707.885' +removed 'tests/tmp/redis.conf.3422707.217' +removed 'tests/tmp/redis.conf.3422707.357' +removed 'tests/tmp/redis.conf.3422707.84' +removed 'tests/tmp/redis.conf.3422707.480' +removed 'tests/tmp/redis.conf.3422707.995' +removed 'tests/tmp/server.3422707.850/stdout' +removed 'tests/tmp/server.3422707.850/stderr' +removed 'tests/tmp/server.3422707.174/stdout' +removed 'tests/tmp/server.3422707.174/stderr' +removed 'tests/tmp/server.3422707.440/stdout' +removed 'tests/tmp/server.3422707.440/stderr' +removed 'tests/tmp/redis.conf.3422707.587' +removed 'tests/tmp/redis.conf.3422707.321' +removed 'tests/tmp/server.3422707.554/stdout' +removed 'tests/tmp/server.3422707.554/stderr' +removed 'tests/tmp/server.3422707.1006/stdout' +removed 'tests/tmp/server.3422707.1006/stderr' +removed 'tests/tmp/server.3422707.85/stdout' +removed 'tests/tmp/server.3422707.85/stderr' +removed 'tests/tmp/redis.conf.3422707.543' +removed 'tests/tmp/redis.conf.3422707.2' +removed 'tests/tmp/redis.conf.3422707.702' +removed 'tests/tmp/redis.conf.3422707.778' +removed 'tests/tmp/server.3422707.264/stdout' +removed 'tests/tmp/server.3422707.264/stderr' +removed 'tests/tmp/server.3422707.67/stdout' +removed 'tests/tmp/server.3422707.67/stderr' +removed 'tests/tmp/server.3422707.73/stdout' +removed 'tests/tmp/server.3422707.73/stderr' +removed 'tests/tmp/redis.conf.3422707.603' +removed 'tests/tmp/server.3422707.815/stdout' +removed 'tests/tmp/server.3422707.815/stderr' +removed 'tests/tmp/server.3422707.372/stdout' +removed 'tests/tmp/server.3422707.372/stderr' +removed 'tests/tmp/server.3422707.322/stdout' +removed 'tests/tmp/server.3422707.322/stderr' +removed 'tests/tmp/redis.conf.3422707.132' +removed 'tests/tmp/redis.conf.3422707.539' +removed 'tests/tmp/server.3422707.683/stdout' +removed 'tests/tmp/server.3422707.683/stderr' +removed 'tests/tmp/redis.conf.3422707.823' +removed 'tests/tmp/server.3422707.914/stdout' +removed 'tests/tmp/server.3422707.914/stderr' +removed 'tests/tmp/server.3422707.332/stdout' +removed 'tests/tmp/server.3422707.332/stderr' +removed 'tests/tmp/server.3422707.240/stdout' +removed 'tests/tmp/server.3422707.240/stderr' +removed 'tests/tmp/redis.conf.3422707.490' +removed 'tests/tmp/redis.conf.3422707.40' +removed 'tests/tmp/redis.conf.3422707.802' +removed 'tests/tmp/redis.conf.3422707.92' +removed 'tests/tmp/redis.conf.3422707.1011' +removed 'tests/tmp/server.3422707.862/stdout' +removed 'tests/tmp/server.3422707.862/stderr' +removed 'tests/tmp/server.3422707.679/stdout' +removed 'tests/tmp/server.3422707.679/stderr' +removed 'tests/tmp/server.3422707.438/stdout' +removed 'tests/tmp/server.3422707.438/stderr' +removed 'tests/tmp/server.3422707.33/stdout' +removed 'tests/tmp/server.3422707.33/stderr' +removed 'tests/tmp/server.3422707.471/stdout' +removed 'tests/tmp/server.3422707.471/stderr' +removed 'tests/tmp/redis.conf.3422707.999' +removed 'tests/tmp/redis.conf.3422707.786' +removed 'tests/tmp/redis.conf.3422707.903' +removed 'tests/tmp/server.3422707.77/stdout' +removed 'tests/tmp/server.3422707.77/stderr' +removed 'tests/tmp/redis.conf.3422707.615' +removed 'tests/tmp/redis.conf.3422707.666' +removed 'tests/tmp/redis.conf.3422707.620' +removed 'tests/tmp/server.3422707.663/stdout' +removed 'tests/tmp/server.3422707.663/stderr' +removed 'tests/tmp/redis.conf.3422707.241' +removed 'tests/tmp/server.3422707.53/stdout' +removed 'tests/tmp/server.3422707.53/stderr' +removed 'tests/tmp/server.3422707.65/stdout' +removed 'tests/tmp/server.3422707.65/stderr' +removed 'tests/tmp/redis.conf.3422707.498' +removed 'tests/tmp/server.3422707.805/stdout' +removed 'tests/tmp/server.3422707.805/stderr' +removed 'tests/tmp/redis.conf.3422707.652' +removed 'tests/tmp/redis.conf.3422707.847' +removed 'tests/tmp/redis.conf.3422707.488' +removed 'tests/tmp/redis.conf.3422707.32' +removed 'tests/tmp/server.3422707.822/stdout' +removed 'tests/tmp/server.3422707.822/stderr' +removed 'tests/tmp/redis.conf.3422707.66' +removed 'tests/tmp/redis.conf.3422707.14' +removed 'tests/tmp/redis.conf.3422707.547' +removed 'tests/tmp/server.3422707.860/stdout' +removed 'tests/tmp/server.3422707.860/stderr' +removed 'tests/tmp/server.3422707.382/stdout' +removed 'tests/tmp/server.3422707.382/stderr' +removed 'tests/tmp/redis.conf.3422707.30' +removed 'tests/tmp/redis.conf.3422707.114' +removed 'tests/tmp/server.3422707.176/stdout' +removed 'tests/tmp/server.3422707.176/stderr' +removed 'tests/tmp/server.rdb-corruption-empty-keys-test.3422707.613/corrupt_empty_keys.rdb' +removed 'tests/tmp/server.rdb-corruption-empty-keys-test.3422707.613/stdout' +removed 'tests/tmp/server.rdb-corruption-empty-keys-test.3422707.613/stderr' +removed 'tests/tmp/server.3422707.685/stdout' +removed 'tests/tmp/server.3422707.685/stderr' +removed 'tests/tmp/redis.conf.3422707.411' +removed 'tests/tmp/server.3422707.647/stdout' +removed 'tests/tmp/server.3422707.647/stderr' +removed 'tests/tmp/redis.conf.3422707.782' +removed 'tests/tmp/redis.conf.3422707.191' +removed 'tests/tmp/server.3422707.916/stdout' +removed 'tests/tmp/server.3422707.916/stderr' +removed 'tests/tmp/redis.conf.3422707.207' +removed 'tests/tmp/redis.conf.3422707.917' +removed 'tests/tmp/redis.conf.3422707.698' +removed 'tests/tmp/redis.conf.3422707.1003' +removed 'tests/tmp/redis.conf.3422707.640' +removed 'tests/tmp/server.3422707.797/stdout' +removed 'tests/tmp/server.3422707.797/stderr' +removed 'tests/tmp/server.3422707.988/stdout' +removed 'tests/tmp/server.3422707.988/stderr' +removed 'tests/tmp/redis.conf.3422707.981' +removed 'tests/tmp/redis.conf.3422707.989' +removed 'tests/tmp/server.3422707.342/stdout' +removed 'tests/tmp/server.3422707.342/stderr' +removed 'tests/tmp/redis.conf.3422707.28' +removed 'tests/tmp/redis.conf.3422707.1007' +removed 'tests/tmp/redis.conf.3422707.393' +removed 'tests/tmp/server.3422707.446/stdout' +removed 'tests/tmp/server.3422707.446/stderr' +removed 'tests/tmp/redis.conf.3422707.54' +removed 'tests/tmp/redis.conf.3422707.74' +removed 'tests/tmp/server.3422707.125/stdout' +removed 'tests/tmp/server.3422707.125/stderr' +removed 'tests/tmp/redis.conf.3422707.255' +removed 'tests/tmp/server.3422707.238/stdout' +removed 'tests/tmp/server.3422707.238/stderr' +removed 'tests/tmp/redis.conf.3422707.595' +removed 'tests/tmp/server.3422707.148/stdout' +removed 'tests/tmp/server.3422707.148/stderr' +removed 'tests/tmp/server.3422707.306/stdout' +removed 'tests/tmp/server.3422707.306/stderr' +removed 'tests/tmp/redis.conf.3422707.577' +removed 'tests/tmp/redis.conf.3422707.134' +removed 'tests/tmp/server.3422707.398/stdout' +removed 'tests/tmp/server.3422707.398/stderr' +removed 'tests/tmp/redis.conf.3422707.690' +removed 'tests/tmp/server.3422707.697/stdout' +removed 'tests/tmp/server.3422707.697/stderr' +removed 'tests/tmp/redis.conf.3422707.730' +removed 'tests/tmp/redis.conf.3422707.229' +removed 'tests/tmp/redis.conf.3422707.845' +removed 'tests/tmp/redis.conf.3422707.18' +removed 'tests/tmp/redis.conf.3422707.484' +removed 'tests/tmp/redis.conf.3422707.696' +removed 'tests/tmp/server.3422707.990/stdout' +removed 'tests/tmp/server.3422707.990/stderr' +removed 'tests/tmp/server.3422707.842/stdout' +removed 'tests/tmp/server.3422707.842/stderr' +removed 'tests/tmp/redis.conf.3422707.983' +removed 'tests/tmp/redis.conf.3422707.692' +removed 'tests/tmp/redis.conf.3422707.626' +removed 'tests/tmp/server.3422707.57/stdout' +removed 'tests/tmp/server.3422707.57/stderr' +removed 'tests/tmp/server.3422707.392/stdout' +removed 'tests/tmp/server.3422707.392/stderr' +removed 'tests/tmp/redis.conf.3422707.887' +removed 'tests/tmp/redis.conf.3422707.523' +removed 'tests/tmp/redis.conf.3422707.464' +removed 'tests/tmp/server.3422707.880/stdout' +removed 'tests/tmp/server.3422707.880/stderr' +removed 'tests/tmp/redis.conf.3422707.163' +removed 'tests/tmp/redis.conf.3422707.531' +removed 'tests/tmp/server.3422707.280/stdout' +removed 'tests/tmp/server.3422707.280/stderr' +removed 'tests/tmp/redis.conf.3422707.812' +removed 'tests/tmp/server.3422707.43/stdout' +removed 'tests/tmp/server.3422707.43/stderr' +removed 'tests/tmp/redis.conf.3422707.452' +removed 'tests/tmp/server.3422707.200/stdout' +removed 'tests/tmp/server.3422707.200/stderr' +removed 'tests/tmp/redis.conf.3422707.88' +removed 'tests/tmp/server.3422707.340/stdout' +removed 'tests/tmp/server.3422707.340/stderr' +removed 'tests/tmp/redis.conf.3422707.863' +removed 'tests/tmp/redis.conf.3422707.861' +removed 'tests/tmp/redis.conf.3422707.401' +removed 'tests/tmp/redis.conf.3422707.913' +removed 'tests/tmp/server.3422707.220/stdout' +removed 'tests/tmp/server.3422707.220/stderr' +removed 'tests/tmp/redis.conf.3422707.94' +removed 'tests/tmp/redis.conf.3422707.104' +removed 'tests/tmp/server.3422707.735/stdout' +removed 'tests/tmp/server.3422707.735/stderr' +removed 'tests/tmp/server.3422707.374/stdout' +removed 'tests/tmp/server.3422707.374/stderr' +removed 'tests/tmp/redis.conf.3422707.519' +removed 'tests/tmp/redis.conf.3422707.407' +removed 'tests/tmp/server.3422707.725/stdout' +removed 'tests/tmp/server.3422707.725/stderr' +removed 'tests/tmp/redis.conf.3422707.287' +removed 'tests/tmp/redis.conf.3422707.239' +removed 'tests/tmp/redis.conf.3422707.309' +removed 'tests/tmp/redis.conf.3422707.704' +removed 'tests/tmp/server.3422707.733/stdout' +removed 'tests/tmp/server.3422707.733/stderr' +removed 'tests/tmp/server.3422707.368/stdout' +removed 'tests/tmp/server.3422707.368/stderr' +removed 'tests/tmp/server.3422707.218/stdout' +removed 'tests/tmp/server.3422707.218/stderr' +removed 'tests/tmp/redis.conf.3422707.476' +removed 'tests/tmp/redis.conf.3422707.871' +removed 'tests/tmp/redis.conf.3422707.1019' +removed 'tests/tmp/redis.conf.3422707.472' +removed 'tests/tmp/server.3422707.166/stdout' +removed 'tests/tmp/server.3422707.166/stderr' +removed 'tests/tmp/redis.conf.3422707.381' +removed 'tests/tmp/redis.conf.3422707.458' +removed 'tests/tmp/redis.conf.3422707.496' +removed 'tests/tmp/server.3422707.222/stdout' +removed 'tests/tmp/server.3422707.222/stderr' +removed 'tests/tmp/server.3422707.155/stdout' +removed 'tests/tmp/server.3422707.155/stderr' +removed 'tests/tmp/redis.conf.3422707.323' +removed 'tests/tmp/server.3422707.320/stdout' +removed 'tests/tmp/server.3422707.320/stderr' +removed 'tests/tmp/redis.conf.3422707.108' +removed 'tests/tmp/server.3422707.984/stdout' +removed 'tests/tmp/server.3422707.984/stderr' +removed 'tests/tmp/redis.conf.3422707.165' +removed 'tests/tmp/redis.conf.3422707.415' +removed 'tests/tmp/redis.conf.3422707.34' +removed 'tests/tmp/server.3422707.162/stdout' +removed 'tests/tmp/server.3422707.162/stderr' +removed 'tests/tmp/redis.conf.3422707.851' +removed 'tests/tmp/server.3422707.886/stdout' +removed 'tests/tmp/server.3422707.886/stderr' +removed 'tests/tmp/server.3422707.944/stdout' +removed 'tests/tmp/server.3422707.944/stderr' +removed 'tests/tmp/server.3422707.946/stdout' +removed 'tests/tmp/server.3422707.946/stderr' +removed 'tests/tmp/redis.conf.3422707.305' +removed 'tests/tmp/server.3422707.29/stdout' +removed 'tests/tmp/server.3422707.29/stderr' +removed 'tests/tmp/server.3422707.777/stdout' +removed 'tests/tmp/server.3422707.777/stderr' +removed 'tests/tmp/redis.conf.3422707.281' +removed 'tests/tmp/server.3422707.793/stdout' +removed 'tests/tmp/server.3422707.793/stderr' +removed 'tests/tmp/server.3422707.659/stdout' +removed 'tests/tmp/server.3422707.659/stderr' +removed 'tests/tmp/redis.conf.3422707.985' +removed 'tests/tmp/redis.conf.3422707.118' +removed 'tests/tmp/redis.conf.3422707.253' +removed 'tests/tmp/redis.conf.3422707.482' +removed 'tests/tmp/server.3422707.131/stdout' +removed 'tests/tmp/server.3422707.131/stderr' +removed 'tests/tmp/redis.conf.3422707.86' +removed 'tests/tmp/server.3422707.787/stdout' +removed 'tests/tmp/server.3422707.787/stderr' +removed 'tests/tmp/redis.conf.3422707.179' +removed 'tests/tmp/redis.conf.3422707.421' +removed 'tests/tmp/server.3422707.675/stdout' +removed 'tests/tmp/server.3422707.675/stderr' +removed 'tests/tmp/server.3422707.164/stdout' +removed 'tests/tmp/server.3422707.164/stderr' +removed 'tests/tmp/redis.conf.3422707.927' +removed 'tests/tmp/redis.conf.3422707.351' +removed 'tests/tmp/redis.conf.3422707.289' +removed 'tests/tmp/redis.conf.3422707.1005' +removed 'tests/tmp/server.3422707.556/stdout' +removed 'tests/tmp/server.3422707.556/stderr' +removed 'tests/tmp/server2.log.3422707.764/stdout' +removed 'tests/tmp/server2.log.3422707.764/stderr' +removed 'tests/tmp/server.3422707.1008/stdout' +removed 'tests/tmp/server.3422707.1008/stderr' +removed 'tests/tmp/server.3422707.910/stdout' +removed 'tests/tmp/server.3422707.910/stderr' +removed 'tests/tmp/server.3422707.717/stdout' +removed 'tests/tmp/server.3422707.717/stderr' +removed 'tests/tmp/redis.conf.3422707.835' +removed 'tests/tmp/redis.conf.3422707.439' +removed 'tests/tmp/redis.conf.3422707.755' +removed 'tests/tmp/server.3422707.681/stdout' +removed 'tests/tmp/server.3422707.681/stderr' +removed 'tests/tmp/redis.conf.3422707.219' +removed 'tests/tmp/server.3422707.344/stdout' +removed 'tests/tmp/server.3422707.344/stderr' +removed 'tests/tmp/redis.conf.3422707.726' +removed 'tests/tmp/server.3422707.653/stdout' +removed 'tests/tmp/server.3422707.653/stderr' +removed 'tests/tmp/server.3422707.1016/stdout' +removed 'tests/tmp/server.3422707.1016/stderr' +removed 'tests/tmp/server.3422707.924/stdout' +removed 'tests/tmp/server.3422707.924/stderr' +removed 'tests/tmp/redis.conf.3422707.257' +removed 'tests/tmp/redis.conf.3422707.897' +removed 'tests/tmp/redis.conf.3422707.877' +removed 'tests/tmp/server.3422707.192/stdout' +removed 'tests/tmp/server.3422707.192/stderr' +removed 'tests/tmp/redis.conf.3422707.624' +removed 'tests/tmp/server.3422707.940/stdout' +removed 'tests/tmp/server.3422707.940/stderr' +removed 'tests/tmp/redis.conf.3422707.747' +removed 'tests/tmp/server.rdb-startup-test.3422707.563/stdout' +removed 'tests/tmp/server.rdb-startup-test.3422707.563/stderr' +removed 'tests/tmp/server.rdb-startup-test.3422707.563/scriptbackup.rdb' +removed 'tests/tmp/server.3422707.378/stdout' +removed 'tests/tmp/server.3422707.378/stderr' +removed 'tests/tmp/redis.conf.3422707.8' +removed 'tests/tmp/server.3422707.904/stdout' +removed 'tests/tmp/server.3422707.904/stderr' +removed 'tests/tmp/server.3422707.661/stdout' +removed 'tests/tmp/server.3422707.661/stderr' +removed 'tests/tmp/server.3422707.896/stdout' +removed 'tests/tmp/server.3422707.896/stderr' +removed 'tests/tmp/redis.conf.3422707.961' +removed 'tests/tmp/redis.conf.3422707.20' +removed 'tests/tmp/redis.conf.3422707.1021' +removed 'tests/tmp/redis.conf.3422707.581' +removed 'tests/tmp/redis.conf.3422707.831' +removed 'tests/tmp/redis.conf.3422707.654' +removed 'tests/tmp/server.3422707.846/stdout' +removed 'tests/tmp/server.3422707.846/stderr' +removed 'tests/tmp/server.3422707.386/stdout' +removed 'tests/tmp/server.3422707.386/stderr' +removed 'tests/tmp/server.3422707.348/stdout' +removed 'tests/tmp/server.3422707.348/stderr' +removed 'tests/tmp/server.3422707.25/stdout' +removed 'tests/tmp/server.3422707.25/stderr' +removed 'tests/tmp/server.3422707.19/stdout' +removed 'tests/tmp/server.3422707.19/stderr' +removed 'tests/tmp/server.3422707.711/stdout' +removed 'tests/tmp/server.3422707.711/stderr' +removed 'tests/tmp/server.3422707.228/stdout' +removed 'tests/tmp/server.3422707.228/stderr' +removed 'tests/tmp/server.3422707.35/stdout' +removed 'tests/tmp/server.3422707.35/stderr' +removed 'tests/tmp/server.3422707.232/stdout' +removed 'tests/tmp/server.3422707.232/stderr' +removed 'tests/tmp/server.3422707.186/stdout' +removed 'tests/tmp/server.3422707.186/stderr' +removed 'tests/tmp/redis.conf.3422707.297' +removed 'tests/tmp/redis.conf.3422707.859' +removed 'tests/tmp/redis.conf.3422707.571' +removed 'tests/tmp/server.3422707.942/stdout' +removed 'tests/tmp/server.3422707.942/stderr' +removed 'tests/tmp/server.3422707.37/stdout' +removed 'tests/tmp/server.3422707.37/stderr' +removed 'tests/tmp/redis.conf.3422707.993' +removed 'tests/tmp/server.3422707.45/stdout' +removed 'tests/tmp/server.3422707.45/stderr' +removed 'tests/tmp/server.3422707.302/stdout' +removed 'tests/tmp/server.3422707.302/stderr' +removed 'tests/tmp/redis.conf.3422707.181' +removed 'tests/tmp/redis.conf.3422707.271' +removed 'tests/tmp/redis.conf.3422707.22' +removed 'tests/tmp/redis.conf.3422707.295' +removed 'tests/tmp/redis.conf.3422707.403' +removed 'tests/tmp/redis.conf.3422707.502' +removed 'tests/tmp/redis.conf.3422707.967' +removed 'tests/tmp/redis.conf.3422707.345' +removed 'tests/tmp/redis.conf.3422707.714' +removed 'tests/tmp/server.3422707.376/stdout' +removed 'tests/tmp/server.3422707.376/stderr' +removed 'tests/tmp/server.3422707.11/stdout' +removed 'tests/tmp/server.3422707.11/stderr' +removed 'tests/tmp/server.3422707.39/stdout' +removed 'tests/tmp/server.3422707.39/stderr' +removed 'tests/tmp/redis.conf.3422707.460' +removed 'tests/tmp/server.3422707.980/stdout' +removed 'tests/tmp/server.3422707.980/stderr' +removed 'tests/tmp/redis.conf.3422707.128' +removed 'tests/tmp/redis.conf.3422707.776' +removed 'tests/tmp/server.3422707.938/stdout' +removed 'tests/tmp/server.3422707.938/stderr' +removed 'tests/tmp/server.3422707.475/stdout' +removed 'tests/tmp/server.3422707.475/stderr' +removed 'tests/tmp/redis.conf.3422707.175' +removed 'tests/tmp/redis.conf.3422707.591' +removed 'tests/tmp/server.3422707.49/stdout' +removed 'tests/tmp/server.3422707.49/stderr' +removed 'tests/tmp/redis.conf.3422707.397' +removed 'tests/tmp/redis.conf.3422707.515' +removed 'tests/tmp/redis.conf.3422707.605' +removed 'tests/tmp/server.3422707.657/stdout' +removed 'tests/tmp/server.3422707.657/stderr' +removed 'tests/tmp/server.3422707.290/stdout' +removed 'tests/tmp/server.3422707.290/stderr' +removed 'tests/tmp/redis.conf.3422707.716' +removed 'tests/tmp/redis.conf.3422707.867' +removed 'tests/tmp/redis.conf.3422707.301' +removed 'tests/tmp/server.3422707.645/stdout' +removed 'tests/tmp/server.3422707.645/stderr' +removed 'tests/tmp/redis.conf.3422707.375' +removed 'tests/tmp/server.3422707.83/stdout' +removed 'tests/tmp/server.3422707.83/stderr' +removed 'tests/tmp/server.3422707.586/stdout' +removed 'tests/tmp/server.3422707.586/stderr' +removed 'tests/tmp/redis.conf.3422707.644' +removed 'tests/tmp/server.3422707.424/stdout' +removed 'tests/tmp/server.3422707.424/stderr' +removed 'tests/tmp/redis.conf.3422707.555' +removed 'tests/tmp/server.3422707.934/stdout' +removed 'tests/tmp/server.3422707.934/stderr' +removed 'tests/tmp/redis.conf.3422707.136' +removed 'tests/tmp/redis.conf.3422707.231' +removed 'tests/tmp/server.3422707.420/stdout' +removed 'tests/tmp/server.3422707.420/stderr' +removed 'tests/tmp/redis.conf.3422707.277' +removed 'tests/tmp/server.3422707.352/stdout' +removed 'tests/tmp/server.3422707.352/stderr' +removed 'tests/tmp/server.3422707.129/stdout' +removed 'tests/tmp/server.3422707.129/stderr' +removed 'tests/tmp/redis.conf.3422707.505' +removed 'tests/tmp/redis.conf.3422707.660' +removed 'tests/tmp/server.3422707.958/stdout' +removed 'tests/tmp/server.3422707.958/stderr' +removed 'tests/tmp/redis.conf.3422707.478' +removed 'tests/tmp/redis.conf.3422707.492' +removed 'tests/tmp/redis.conf.3422707.275' +removed 'tests/tmp/server.3422707.226/stdout' +removed 'tests/tmp/server.3422707.226/stderr' +removed 'tests/tmp/redis.conf.3422707.437' +removed 'tests/tmp/server.3422707.252/stdout' +removed 'tests/tmp/server.3422707.252/stderr' +removed 'tests/tmp/server.3422707.252/temp-1791605073.3705087.rdb' +removed 'tests/tmp/redis.conf.3422707.359' +removed 'tests/tmp/server.3422707.884/stdout' +removed 'tests/tmp/server.3422707.884/stderr' +removed 'tests/tmp/server.3422707.882/stdout' +removed 'tests/tmp/server.3422707.882/stderr' +removed 'tests/tmp/server.3422707.107/stdout' +removed 'tests/tmp/server.3422707.107/stderr' +removed 'tests/tmp/server.3422707.864/stdout' +removed 'tests/tmp/server.3422707.864/stderr' +removed 'tests/tmp/server.3422707.334/stdout' +removed 'tests/tmp/server.3422707.334/stderr' +removed 'tests/tmp/server.3422707.671/stdout' +removed 'tests/tmp/server.3422707.671/stderr' +removed 'tests/tmp/redis.conf.3422707.901' +removed 'tests/tmp/redis.conf.3422707.743' +removed 'tests/tmp/server.3422707.811/stdout' +removed 'tests/tmp/server.3422707.811/stderr' +removed 'tests/tmp/redis.conf.3422707.973' +removed 'tests/tmp/redis.conf.3422707.379' +removed 'tests/tmp/redis.conf.3422707.70' +removed 'tests/tmp/redis.conf.3422707.674' +removed 'tests/tmp/redis.conf.3422707.1013' +removed 'tests/tmp/server.3422707.832/stdout' +removed 'tests/tmp/server.3422707.832/stderr' +removed 'tests/tmp/server.3422707.266/stdout' +removed 'tests/tmp/server.3422707.266/temp-3718303.rdb' +removed 'tests/tmp/server.3422707.266/stderr' +removed 'tests/tmp/redis.conf.3422707.456' +removed 'tests/tmp/duplicate.acl.3422707.152/stdout' +removed 'tests/tmp/duplicate.acl.3422707.152/default.conf' +removed 'tests/tmp/duplicate.acl.3422707.152/stderr' +removed 'tests/tmp/duplicate.acl.3422707.152/user.acl' +removed 'tests/tmp/server.3422707.410/stdout' +removed 'tests/tmp/server.3422707.410/stderr' +removed 'tests/tmp/server.3422707.410/temp-1791605777.3783432.rdb' +removed 'tests/tmp/redis.conf.3422707.427' +removed 'tests/tmp/server.3422707.328/stdout' +removed 'tests/tmp/server.3422707.328/stderr' +removed 'tests/tmp/server.3422707.394/stdout' +removed 'tests/tmp/server.3422707.394/stderr' +removed 'tests/tmp/redis.conf.3422707.1025' +removed 'tests/tmp/redis.conf.3422707.646' +removed 'tests/tmp/server.3422707.1000/stdout' +removed 'tests/tmp/server.3422707.1000/stderr' +removed 'tests/tmp/server.3422707.785/stdout' +removed 'tests/tmp/server.3422707.785/stderr' +removed 'tests/tmp/redis.conf.3422707.593' +removed 'tests/tmp/redis.conf.3422707.78' +removed 'tests/tmp/server.3422707.434/stdout' +removed 'tests/tmp/server.3422707.434/stderr' +removed 'tests/tmp/server.3422707.922/stdout' +removed 'tests/tmp/server.3422707.922/stderr' +removed 'tests/tmp/server.3422707.836/stdout' +removed 'tests/tmp/server.3422707.836/stderr' +removed 'tests/tmp/server.3422707.928/stdout' +removed 'tests/tmp/server.3422707.928/stderr' +removed 'tests/tmp/server.3422707.655/stdout' +removed 'tests/tmp/server.3422707.655/stderr' +removed 'tests/tmp/server.3422707.208/stdout' +removed 'tests/tmp/server.3422707.208/stderr' +removed 'tests/tmp/server.3422707.95/stdout' +removed 'tests/tmp/server.3422707.95/stderr' +removed 'tests/tmp/server.3422707.874/stdout' +removed 'tests/tmp/server.3422707.874/stderr' +removed 'tests/tmp/redis.conf.3422707.319' +removed 'tests/tmp/redis.conf.3422707.881' +removed 'tests/tmp/server.3422707.900/stdout' +removed 'tests/tmp/server.3422707.900/stderr' +removed 'tests/tmp/server.3422707.809/stdout' +removed 'tests/tmp/server.3422707.809/stderr' +removed 'tests/tmp/server.3422707.354/stdout' +removed 'tests/tmp/server.3422707.354/stderr' +removed 'tests/tmp/redis.conf.3422707.425' +removed 'tests/tmp/server.3422707.69/stdout' +removed 'tests/tmp/server.3422707.69/stderr' +removed 'tests/tmp/redis.conf.3422707.963' +removed 'tests/tmp/redis.conf.3422707.355' +removed 'tests/tmp/server.3422707.256/stdout' +removed 'tests/tmp/server.3422707.256/stderr' +removed 'tests/tmp/redis.conf.3422707.337' +removed 'tests/tmp/server.3422707.932/stdout' +removed 'tests/tmp/server.3422707.932/stderr' +removed 'tests/tmp/server.3422707.115/stdout' +removed 'tests/tmp/server.3422707.115/stderr' +removed 'tests/tmp/redis.conf.3422707.560' +removed 'tests/tmp/redis.conf.3422707.833' +removed 'tests/tmp/redis.conf.3422707.650' +removed 'tests/tmp/server.3422707.701/stdout' +removed 'tests/tmp/server.3422707.701/stderr' +removed 'tests/tmp/server.3422707.665/stdout' +removed 'tests/tmp/server.3422707.665/stderr' +removed 'tests/tmp/redis.conf.3422707.158' +removed 'tests/tmp/redis.conf.3422707.100' +removed 'tests/tmp/server.3422707.795/stdout' +removed 'tests/tmp/server.3422707.795/stderr' +removed 'tests/tmp/server.3422707.625/stdout' +removed 'tests/tmp/server.3422707.625/stderr' +removed 'tests/tmp/server.rdb-corruption-empty-keys-test.3422707.616/corrupt_empty_keys.rdb' +removed 'tests/tmp/server.rdb-corruption-empty-keys-test.3422707.616/stdout' +removed 'tests/tmp/server.rdb-corruption-empty-keys-test.3422707.616/stderr' +removed 'tests/tmp/server.rdb-encoding-test.3422707.558/stdout' +removed 'tests/tmp/server.rdb-encoding-test.3422707.558/stderr' +removed 'tests/tmp/server.rdb-encoding-test.3422707.558/encodings.rdb' +removed 'tests/tmp/server.rdb-encoding-test.3422707.558/list-quicklist.rdb' +removed 'tests/tmp/server.3422707.204/stdout' +removed 'tests/tmp/server.3422707.204/stderr' +removed 'tests/tmp/server.3422707.296/stdout' +removed 'tests/tmp/server.3422707.296/stderr' +removed 'tests/tmp/redis.conf.3422707.56' +removed 'tests/tmp/server.3422707.79/stdout' +removed 'tests/tmp/server.3422707.79/stderr' +removed 'tests/tmp/redis.conf.3422707.869' +removed 'tests/tmp/server.3422707.216/stdout' +removed 'tests/tmp/server.3422707.216/stderr' +removed 'tests/tmp/redis.conf.3422707.433' +removed 'tests/tmp/redis.conf.3422707.931' +removed 'tests/tmp/redis.conf.3422707.632' +removed 'tests/tmp/redis.conf.3422707.732' +removed 'tests/tmp/redis.conf.3422707.929' +removed 'tests/tmp/redis.conf.3422707.1015' +removed 'tests/tmp/server.3422707.703/stdout' +removed 'tests/tmp/server.3422707.703/stderr' +removed 'tests/tmp/redis.conf.3422707.839' +removed 'tests/tmp/server.3422707.713/stdout' +removed 'tests/tmp/server.3422707.713/stderr' +removed 'tests/tmp/redis.conf.3422707.468' +removed 'tests/tmp/redis.conf.3422707.130' +removed 'tests/tmp/redis.conf.3422707.953' +removed 'tests/tmp/server.3422707.705/stdout' +removed 'tests/tmp/server.3422707.705/stderr' +removed 'tests/tmp/server.3422707.318/stdout' +removed 'tests/tmp/server.3422707.318/stderr' +removed 'tests/tmp/server.3422707.432/stdout' +removed 'tests/tmp/server.3422707.432/stderr' +removed 'tests/tmp/redis.conf.3422707.144' +removed 'tests/tmp/redis.conf.3422707.525' +removed 'tests/tmp/server.3422707.970/stdout' +removed 'tests/tmp/server.3422707.970/stderr' +removed 'tests/tmp/redis.conf.3422707.193' +removed 'tests/tmp/server.3422707.356/stdout' +removed 'tests/tmp/server.3422707.356/stderr' +removed 'tests/tmp/server.3422707.97/stdout' +removed 'tests/tmp/server.3422707.97/stderr' +removed 'tests/tmp/redis.conf.3422707.413' +removed 'tests/tmp/redis.conf.3422707.682' +removed 'tests/tmp/redis.conf.3422707.1009' +removed 'tests/tmp/redis.conf.3422707.710' +removed 'tests/tmp/redis.conf.3422707.686' +removed 'tests/tmp/server.3422707.135/stdout' +removed 'tests/tmp/server.3422707.135/stderr' +removed 'tests/tmp/server.3422707.123/stdout' +removed 'tests/tmp/server.3422707.123/stderr' +removed 'tests/tmp/redis.conf.3422707.553' +removed 'tests/tmp/redis.conf.3422707.405' +removed 'tests/tmp/redis.conf.3422707.517' +removed 'tests/tmp/redis.conf.3422707.333' +removed 'tests/tmp/redis.conf.3422707.223' +removed 'tests/tmp/redis.conf.3422707.664' +removed 'tests/tmp/server.3422707.442/stdout' +removed 'tests/tmp/server.3422707.442/stderr' +removed 'tests/tmp/server.3422707.170/stdout' +removed 'tests/tmp/server.3422707.170/stderr' +removed 'tests/tmp/redis.conf.3422707.189' +removed 'tests/tmp/server.3422707.212/stdout' +removed 'tests/tmp/server.3422707.212/stderr' +removed 'tests/tmp/server.3422707.1022/stdout' +removed 'tests/tmp/server.3422707.1022/stderr' +removed 'tests/tmp/server.3422707.721/stdout' +removed 'tests/tmp/server.3422707.721/stderr' +removed 'tests/tmp/redis.conf.3422707.585' +removed 'tests/tmp/redis.conf.3422707.371' +removed 'tests/tmp/server.3422707.689/stdout' +removed 'tests/tmp/server.3422707.689/stderr' +removed 'tests/tmp/redis.conf.3422707.800' +removed 'tests/tmp/redis.conf.3422707.387' +removed 'tests/tmp/server.3422707.246/stdout' +removed 'tests/tmp/server.3422707.246/stderr' +removed 'tests/tmp/redis.conf.3422707.891' +removed 'tests/tmp/redis.conf.3422707.680' +removed 'tests/tmp/redis.conf.3422707.233' +removed 'tests/tmp/redis.conf.3422707.827' +removed 'tests/tmp/server.3422707.775/stdout' +removed 'tests/tmp/server.3422707.775/stderr' +removed 'tests/tmp/server.3422707.872/stdout' +removed 'tests/tmp/server.3422707.872/stderr' +removed 'tests/tmp/server.3422707.182/stdout' +removed 'tests/tmp/server.3422707.182/stderr' +removed 'tests/tmp/redis.conf.3422707.937' +removed 'tests/tmp/redis.conf.3422707.120' +removed 'tests/tmp/redis.conf.3422707.52' +removed 'tests/tmp/redis.conf.3422707.712' +removed 'tests/tmp/server.3422707.641/stdout' +removed 'tests/tmp/server.3422707.641/stderr' +removed 'tests/tmp/server.3422707.362/stdout' +removed 'tests/tmp/server.3422707.362/stderr' +removed 'tests/tmp/redis.conf.3422707.816' +removed 'tests/tmp/redis.conf.3422707.511' +removed 'tests/tmp/server.3422707.890/stdout' +removed 'tests/tmp/server.3422707.890/stderr' +removed 'tests/tmp/server.3422707.629/stdout' +removed 'tests/tmp/server.3422707.629/stderr' +removed 'tests/tmp/redis.conf.3422707.443' +removed 'tests/tmp/redis.conf.3422707.658' +removed 'tests/tmp/redis.conf.3422707.195' +removed 'tests/tmp/server.3422707.994/stdout' +removed 'tests/tmp/server.3422707.994/stderr' +removed 'tests/tmp/server.3422707.414/stdout' +removed 'tests/tmp/server.3422707.414/stderr' +removed 'tests/tmp/server.3422707.27/stdout' +removed 'tests/tmp/server.3422707.27/stderr' +removed 'tests/tmp/server.3422707.284/stdout' +removed 'tests/tmp/server.3422707.284/stderr' +removed 'tests/tmp/server.3422707.767/stdout' +removed 'tests/tmp/server.3422707.767/stderr' +removed 'tests/tmp/server.3422707.801/stdout' +removed 'tests/tmp/server.3422707.801/stderr' +removed 'tests/tmp/server.3422707.824/stdout' +removed 'tests/tmp/server.3422707.824/stderr' +removed 'tests/tmp/redis.conf.3422707.44' +removed 'tests/tmp/redis.conf.3422707.445' +removed 'tests/tmp/redis.conf.3422707.149' +removed 'tests/tmp/redis.conf.3422707.259' +removed 'tests/tmp/server.3422707.699/stdout' +removed 'tests/tmp/server.3422707.699/stderr' +removed 'tests/tmp/server.3422707.274/stdout' +removed 'tests/tmp/server.3422707.274/stderr' +removed 'tests/tmp/redis.conf.3422707.243' +removed 'tests/tmp/server.3422707.707/stdout' +removed 'tests/tmp/server.3422707.707/stderr' +removed 'tests/tmp/redis.conf.3422707.82' +removed 'tests/tmp/server.3422707.974/stdout' +removed 'tests/tmp/server.3422707.974/stderr' +removed 'tests/tmp/redis.conf.3422707.601' +removed 'tests/tmp/server.3422707.157/stdout' +removed 'tests/tmp/server.3422707.157/stderr' +removed 'tests/tmp/redis.conf.3422707.939' +removed 'tests/tmp/server.3422707.902/stdout' +removed 'tests/tmp/server.3422707.902/stderr' +removed 'tests/tmp/redis.conf.3422707.911' +removed 'tests/tmp/redis.conf.3422707.215' +removed 'tests/tmp/redis.conf.3422707.609' +removed 'tests/tmp/redis.conf.3422707.597' +removed 'tests/tmp/redis.conf.3422707.395' +removed 'tests/tmp/server.3422707.180/stdout' +removed 'tests/tmp/server.3422707.180/stderr' +removed 'tests/tmp/server.3422707.771/stdout' +removed 'tests/tmp/server.3422707.771/stderr' +removed 'tests/tmp/redis.conf.3422707.634' +removed 'tests/tmp/server.3422707.1010/stdout' +removed 'tests/tmp/server.3422707.1010/stderr' +removed 'tests/tmp/redis.conf.3422707.141' +removed 'tests/tmp/redis.conf.3422707.147' +removed 'tests/tmp/redis.conf.3422707.628' +removed 'tests/tmp/redis.conf.3422707.441' +removed 'tests/tmp/server.3422707.366/stdout' +removed 'tests/tmp/server.3422707.366/stderr' +removed 'tests/tmp/redis.conf.3422707.889' +removed 'tests/tmp/server.3422707.826/stdout' +removed 'tests/tmp/server.3422707.826/stderr' +removed 'tests/tmp/redis.conf.3422707.389' +removed 'tests/tmp/redis.conf.3422707.790' +removed 'tests/tmp/redis.conf.3422707.423' +removed 'tests/tmp/server.3422707.206/stdout' +removed 'tests/tmp/server.3422707.206/stderr' +removed 'tests/tmp/redis.conf.3422707.110' +removed 'tests/tmp/redis.conf.3422707.106' +removed 'tests/tmp/server.3422707.278/stdout' +removed 'tests/tmp/server.3422707.278/stderr' +removed 'tests/tmp/server.3422707.428/stdout' +removed 'tests/tmp/server.3422707.428/stderr' +removed 'tests/tmp/server.3422707.194/stdout' +removed 'tests/tmp/server.3422707.194/stderr' +removed 'tests/tmp/redis.conf.3422707.431' +removed 'tests/tmp/server.3422707.196/stdout' +removed 'tests/tmp/server.3422707.196/stderr' +removed 'tests/tmp/server.3422707.667/stdout' +removed 'tests/tmp/server.3422707.667/stderr' +removed 'tests/tmp/redis.conf.3422707.245' +removed 'tests/tmp/redis.conf.3422707.279' +removed 'tests/tmp/redis.conf.3422707.213' +removed 'tests/tmp/server.3422707.627/stdout' +removed 'tests/tmp/server.3422707.627/stderr' +removed 'tests/tmp/redis.conf.3422707.541' +removed 'tests/tmp/redis.conf.3422707.935' +removed 'tests/tmp/redis.conf.3422707.915' +removed 'tests/tmp/server.3422707.404/stdout' +removed 'tests/tmp/server.3422707.404/stderr' +removed 'tests/tmp/redis.conf.3422707.535' +removed 'tests/tmp/redis.conf.3422707.941' +removed 'tests/tmp/selectors.acl.3422707.159/stdout' +removed 'tests/tmp/selectors.acl.3422707.159/default.conf' +removed 'tests/tmp/selectors.acl.3422707.159/stderr' +removed 'tests/tmp/selectors.acl.3422707.159/userwithselectors.acl' +removed 'tests/tmp/redis.conf.3422707.921' +removed 'tests/tmp/redis.conf.3422707.122' +removed 'tests/tmp/redis.conf.3422707.46' +removed 'tests/tmp/redis.conf.3422707.670' +removed 'tests/tmp/server.3422707.1018/stdout' +removed 'tests/tmp/server.3422707.1018/stderr' +removed 'tests/tmp/server.3422707.248/stdout' +removed 'tests/tmp/server.3422707.248/stderr' +removed 'tests/tmp/server.3422707.248/temp-1791605056.3703430.rdb' +removed 'tests/tmp/redis.conf.3422707.849' +removed 'tests/tmp/redis.conf.3422707.466' +removed 'tests/tmp/redis.conf.3422707.975' +removed 'tests/tmp/redis.conf.3422707.197' +removed 'tests/tmp/redis.conf.3422707.676' +removed 'tests/tmp/redis.conf.3422707.16' +removed 'tests/tmp/server.3422707.188/stdout' +removed 'tests/tmp/server.3422707.188/stderr' +removed 'tests/tmp/redis.conf.3422707.784' +removed 'tests/tmp/redis.conf.3422707.740' +removed 'tests/tmp/redis.conf.3422707.486' +removed 'tests/tmp/server.3422707.117/stdout' +removed 'tests/tmp/server.3422707.117/stderr' +removed 'tests/tmp/server.3422707.590/stdout' +removed 'tests/tmp/server.3422707.590/stderr' +removed 'tests/tmp/server.3422707.635/stdout' +removed 'tests/tmp/server.3422707.635/stderr' +removed 'tests/tmp/redis.conf.3422707.325' +removed 'tests/tmp/server.3422707.172/stdout' +removed 'tests/tmp/server.3422707.172/stderr' +removed 'tests/tmp/server.3422707.950/stdout' +removed 'tests/tmp/server.3422707.950/stderr' +removed 'tests/tmp/redis.conf.3422707.979' +removed 'tests/tmp/redis.conf.3422707.636' +removed 'tests/tmp/redis.conf.3422707.327' +removed 'tests/tmp/server.3422707.133/stdout' +removed 'tests/tmp/server.3422707.133/stderr' +removed 'tests/tmp/redis.conf.3422707.821' +removed 'tests/tmp/redis.conf.3422707.369' +removed 'tests/tmp/server.3422707.956/stdout' +removed 'tests/tmp/server.3422707.956/stderr' +removed 'tests/tmp/redis.conf.3422707.943' +removed 'tests/tmp/server.3422707.9/stdout' +removed 'tests/tmp/server.3422707.9/stderr' +removed 'tests/tmp/redis.conf.3422707.757' +removed 'tests/tmp/redis.conf.3422707.997' +removed 'tests/tmp/redis.conf.3422707.883' +removed 'tests/tmp/redis.conf.3422707.720' +removed 'tests/tmp/server.3422707.781/stdout' +removed 'tests/tmp/server.3422707.781/stderr' +removed 'tests/tmp/server.3422707.380/stdout' +removed 'tests/tmp/server.3422707.380/stderr' +removed 'tests/tmp/redis.conf.3422707.237' +removed 'tests/tmp/server.3422707.968/stdout' +removed 'tests/tmp/server.3422707.968/stderr' +removed 'tests/tmp/redis.conf.3422707.1017' +removed 'tests/tmp/redis.conf.3422707.814' +removed 'tests/tmp/server.3422707.673/stdout' +removed 'tests/tmp/server.3422707.673/stderr' +removed 'tests/tmp/server.3422707.422/stdout' +removed 'tests/tmp/server.3422707.422/stderr' +removed 'tests/tmp/server.3422707.729/stdout' +removed 'tests/tmp/server.3422707.729/stderr' +removed 'tests/tmp/server.3422707.358/stdout' +removed 'tests/tmp/server.3422707.358/stderr' +removed 'tests/tmp/redis.conf.3422707.829' +removed 'tests/tmp/server.3422707.292/stdout' +removed 'tests/tmp/server.3422707.292/stderr' +removed 'tests/tmp/redis.conf.3422707.221' +removed 'tests/tmp/server.3422707.592/stdout' +removed 'tests/tmp/server.3422707.592/stderr' +removed 'tests/tmp/redis.conf.3422707.267' +removed 'tests/tmp/redis.conf.3422707.804' +removed 'tests/tmp/redis.conf.3422707.367' +removed 'tests/tmp/server.3422707.346/stdout' +removed 'tests/tmp/server.3422707.346/stderr' +removed 'tests/tmp/redis.conf.3422707.895' +removed 'tests/tmp/redis.conf.3422707.907' +removed 'tests/tmp/server.3422707.312/stdout' +removed 'tests/tmp/server.3422707.312/stderr' +removed 'tests/tmp/redis.conf.3422707.763' +removed 'tests/tmp/server.3422707.982/stdout' +removed 'tests/tmp/server.3422707.982/stderr' +removed 'tests/tmp/server.3422707.631/stdout' +removed 'tests/tmp/server.3422707.631/stderr' +removed 'tests/tmp/server.3422707.739/stdout' +removed 'tests/tmp/server.3422707.739/stderr' +removed 'tests/tmp/server.3422707.828/stdout' +removed 'tests/tmp/server.3422707.828/stderr' +removed 'tests/tmp/server.3422707.643/stdout' +removed 'tests/tmp/server.3422707.643/stderr' +removed 'tests/tmp/redis.conf.3422707.227' +removed 'tests/tmp/server.3422707.948/stdout' +removed 'tests/tmp/server.3422707.948/somename' +removed 'tests/tmp/server.3422707.948/stderr' +removed 'tests/tmp/server.3422707.908/stdout' +removed 'tests/tmp/server.3422707.908/stderr' +removed 'tests/tmp/server.3422707.260/stdout' +removed 'tests/tmp/server.3422707.260/stderr' +removed 'tests/tmp/redis.conf.3422707.62' +removed 'tests/tmp/redis.conf.3422707.841' +removed 'tests/tmp/redis.conf.3422707.545' +removed 'tests/tmp/redis.conf.3422707.638' +removed 'tests/tmp/server.3422707.986/stdout' +removed 'tests/tmp/server.3422707.986/stderr' +removed 'tests/tmp/redis.conf.3422707.429' +removed 'tests/tmp/redis.conf.3422707.435' +removed 'tests/tmp/server.3422707.920/stdout' +removed 'tests/tmp/server.3422707.920/stderr' +removed 'tests/tmp/redis.conf.3422707.156' +removed 'tests/tmp/server.3422707.326/stdout' +removed 'tests/tmp/server.3422707.326/stderr' +removed 'tests/tmp/server.3422707.21/stdout' +removed 'tests/tmp/server.3422707.21/stderr' +removed 'tests/tmp/server.3422707.168/stdout' +removed 'tests/tmp/server.3422707.168/stderr' +removed 'tests/tmp/redis.conf.3422707.933' +removed 'tests/tmp/redis.conf.3422707.853' +removed 'tests/tmp/redis.conf.3422707.728' +removed 'tests/tmp/redis.conf.3422707.738' +removed 'tests/tmp/redis.conf.3422707.329' +removed 'tests/tmp/redis.conf.3422707.668' +removed 'tests/tmp/server.3422707.1020/stdout' +removed 'tests/tmp/server.3422707.1020/stderr' +removed 'tests/tmp/server.3422707.840/stdout' +removed 'tests/tmp/server.3422707.840/stderr' +removed 'tests/tmp/redis.conf.3422707.6' +removed 'tests/tmp/server.3422707.51/stdout' +removed 'tests/tmp/server.3422707.51/stderr' +removed 'tests/tmp/server.3422707.844/stdout' +removed 'tests/tmp/server.3422707.844/stderr' +removed 'tests/tmp/redis.conf.3422707.569' +removed 'tests/tmp/server.3422707.330/stdout' +removed 'tests/tmp/server.3422707.330/stderr' +removed 'tests/tmp/server.3422707.578/stdout' +removed 'tests/tmp/server.3422707.578/stderr' +removed 'tests/tmp/redis.conf.3422707.837' +removed 'tests/tmp/redis.conf.3422707.112' +removed 'tests/tmp/server.3422707.416/stdout' +removed 'tests/tmp/server.3422707.416/stderr' +removed 'tests/tmp/redis.conf.3422707.549' +removed 'tests/tmp/server.3422707.350/stdout' +removed 'tests/tmp/server.3422707.350/stderr' +removed 'tests/tmp/server.3422707.184/stdout' +removed 'tests/tmp/server.3422707.184/stderr' +removed 'tests/tmp/server.3422707.866/stdout' +removed 'tests/tmp/server.3422707.866/stderr' +removed 'tests/tmp/redis.conf.3422707.792' +removed 'tests/tmp/redis.conf.3422707.893' +removed 'tests/tmp/redis.conf.3422707.798' +removed 'tests/tmp/redis.conf.3422707.1001' +removed 'tests/tmp/redis.conf.3422707.579' +removed 'tests/tmp/server.3422707.830/stdout' +removed 'tests/tmp/server.3422707.830/stderr' +removed 'tests/tmp/redis.conf.3422707.98' +removed 'tests/tmp/server.3422707.820/stdout' +removed 'tests/tmp/server.3422707.820/stderr' +removed 'tests/tmp/redis.conf.3422707.417' +removed 'tests/tmp/server.3422707.202/stdout' +removed 'tests/tmp/server.3422707.202/stderr' +removed 'tests/tmp/redis.conf.3422707.987' +removed 'tests/tmp/server.3422707.384/stdout' +removed 'tests/tmp/server.3422707.384/stderr' +removed 'tests/tmp/server.3422707.448/stdout' +removed 'tests/tmp/server.3422707.448/stderr' +removed 'tests/tmp/redis.conf.3422707.154' +removed 'tests/tmp/server.3422707.962/stdout' +removed 'tests/tmp/server.3422707.962/stderr' +removed 'tests/tmp/server.3422707.300/stdout' +removed 'tests/tmp/server.3422707.300/stderr' +removed 'tests/tmp/server.3422707.834/stdout' +removed 'tests/tmp/server.3422707.834/stderr' +removed 'tests/tmp/redis.conf.3422707.959' +removed 'tests/tmp/server.3422707.723/stdout' +removed 'tests/tmp/server.3422707.723/stderr' +removed 'tests/tmp/redis.conf.3422707.788' +removed 'tests/tmp/redis.conf.3422707.303' +removed 'tests/tmp/redis.conf.3422707.557' +removed 'tests/tmp/server.convert-ziplist-hash-on-load.3422707.748/stdout' +removed 'tests/tmp/server.convert-ziplist-hash-on-load.3422707.748/stderr' +removed 'tests/tmp/server.convert-ziplist-hash-on-load.3422707.748/hash-ziplist.rdb' +removed 'tests/tmp/redis.conf.3422707.583' +removed 'tests/tmp/server.3422707.954/stdout' +removed 'tests/tmp/server.3422707.954/stderr' +removed 'tests/tmp/server.3422707.288/stdout' +removed 'tests/tmp/server.3422707.288/stderr' +removed 'tests/tmp/redis.conf.3422707.766' +removed 'tests/tmp/redis.conf.3422707.102' +removed 'tests/tmp/redis.conf.3422707.161' +removed 'tests/tmp/server.3422707.952/stdout' +removed 'tests/tmp/server.3422707.952/stderr' +removed 'tests/tmp/server.acl.3422707.139/stdout' +removed 'tests/tmp/server.acl.3422707.139/stderr' +removed 'tests/tmp/server.acl.3422707.139/user.acl' +removed 'tests/tmp/redis.conf.3422707.521' +removed 'tests/tmp/server.3422707.619/stdout' +removed 'tests/tmp/server.3422707.619/stderr' +removed 'tests/tmp/server.3422707.71/stdout' +removed 'tests/tmp/server.3422707.71/stderr' +removed 'tests/tmp/server.3422707.1024/stdout' +removed 'tests/tmp/server.3422707.1024/stderr' +removed 'tests/tmp/server.3422707.1024/dump.rdb' +removed 'tests/tmp/server.3422707.258/stdout' +removed 'tests/tmp/server.3422707.258/stderr' +removed 'tests/tmp/server.3422707.258/temp-3713356.rdb' +removed 'tests/tmp/redis.conf.3422707.855' +removed 'tests/tmp/redis.conf.3422707.905' +removed 'tests/tmp/server.3422707.548/stdout' +removed 'tests/tmp/server.3422707.548/stderr' +removed 'tests/tmp/server.3422707.236/stdout' +removed 'tests/tmp/server.3422707.236/stderr' +removed 'tests/tmp/server.3422707.236/temp-3701319.rdb' +removed 'tests/tmp/server.3422707.719/stdout' +removed 'tests/tmp/server.3422707.719/stderr' +removed 'tests/tmp/server.3422707.89/stdout' +removed 'tests/tmp/server.3422707.89/stderr' +removed 'tests/tmp/redis.conf.3422707.273' +removed 'tests/tmp/redis.conf.3422707.642' +removed 'tests/tmp/server.3422707.418/stdout' +removed 'tests/tmp/server.3422707.418/stderr' +removed 'tests/tmp/server.3422707.190/stdout' +removed 'tests/tmp/server.3422707.190/stderr' +removed 'tests/tmp/server.3422707.633/stdout' +removed 'tests/tmp/server.3422707.633/stderr' +removed 'tests/tmp/server.3422707.310/stdout' +removed 'tests/tmp/server.3422707.310/stderr' +removed 'tests/tmp/redis.conf.3422707.796' +removed 'tests/tmp/redis.conf.3422707.949' +removed 'tests/tmp/server.3422707.906/stdout' +removed 'tests/tmp/server.3422707.906/stderr' +removed 'tests/tmp/redis.conf.3422707.4' +removed 'tests/tmp/server.3422707.150/stdout' +removed 'tests/tmp/server.3422707.150/stderr' +removed 'tests/tmp/redis.conf.3422707.58' +removed 'tests/tmp/server.aof.3422707.450/stdout' +removed 'tests/tmp/server.aof.3422707.450/stderr' +removed 'tests/tmp/server.aof.3422707.450/appendonlydir/appendonly.aof.manifest' +removed 'tests/tmp/server.aof.3422707.450/appendonlydir/appendonly.aof.1.incr.aof' +removed 'tests/tmp/server.aof.3422707.450/appendonlydir/appendonly.aof.1.base.aof' +removed 'tests/tmp/server.3422707.304/stdout' +removed 'tests/tmp/server.3422707.304/stderr' +removed 'tests/tmp/redis.conf.3422707.622' +removed 'tests/tmp/server.3422707.876/stdout' +removed 'tests/tmp/server.3422707.876/stderr' +removed 'tests/tmp/server.3422707.324/stdout' +removed 'tests/tmp/server.3422707.324/stderr' +removed 'tests/tmp/server.3422707.737/stderr.261010181909.3827429' +removed 'tests/tmp/server.3422707.737/stdout.261010181908.3827291' +removed 'tests/tmp/server.3422707.737/stdout' +removed 'tests/tmp/server.3422707.737/stdout.261010181906.3826021' +removed 'tests/tmp/server.3422707.737/stderr' +removed 'tests/tmp/server.3422707.737/stderr.261010181906.3826021' +removed 'tests/tmp/server.3422707.737/stdout.261010181909.3827429' +removed 'tests/tmp/server.3422707.737/stderr.261010181908.3827291' +removed 'tests/tmp/server.3422707.783/stdout' +removed 'tests/tmp/server.3422707.783/stderr' +removed 'tests/tmp/server.3422707.888/stdout' +removed 'tests/tmp/server.3422707.888/stderr' +removed 'tests/tmp/server.3422707.608/stdout' +removed 'tests/tmp/server.3422707.608/stderr' +removed 'tests/tmp/redis.conf.3422707.529' +removed 'tests/tmp/server.3422707.856/stdout' +removed 'tests/tmp/server.3422707.856/stderr' +removed 'tests/tmp/redis.conf.3422707.72' +removed 'tests/tmp/server.3422707.272/stdout' +removed 'tests/tmp/server.3422707.272/stderr' +removed 'tests/tmp/redis.conf.3422707.201' +removed 'tests/tmp/redis.conf.3422707.575' +removed 'tests/tmp/server.3422707.137/stdout' +removed 'tests/tmp/server.3422707.137/stderr' +removed 'tests/tmp/redis.conf.3422707.706' +removed 'tests/tmp/server.3422707.731/stdout' +removed 'tests/tmp/server.3422707.731/stderr' +removed 'tests/tmp/redis.conf.3422707.293' +removed 'tests/tmp/server.3422707.13/stdout' +removed 'tests/tmp/server.3422707.13/stderr' +removed 'tests/tmp/server.3422707.996/stdout' +removed 'tests/tmp/server.3422707.996/stderr' +removed 'tests/tmp/redis.conf.3422707.68' +removed 'tests/tmp/redis.conf.3422707.383' +removed 'tests/tmp/redis.conf.3422707.770' +removed 'tests/tmp/server.3422707.364/stdout' +removed 'tests/tmp/server.3422707.364/stderr' +removed 'tests/tmp/redis.conf.3422707.630' +removed 'tests/tmp/redis.conf.3422707.299' +removed 'tests/tmp/server.3422707.972/stdout' +removed 'tests/tmp/server.3422707.972/stderr' +removed 'tests/tmp/redis.conf.3422707.662' +removed 'tests/tmp/redis.conf.3422707.42' +removed 'tests/tmp/server.3422707.308/stdout' +removed 'tests/tmp/server.3422707.308/stderr' +removed 'tests/tmp/server.3422707.99/stdout' +removed 'tests/tmp/server.3422707.99/stderr' +removed 'tests/tmp/server.3422707.992/stdout' +removed 'tests/tmp/server.3422707.992/stderr' +removed 'tests/tmp/redis.conf.3422707.774' +removed 'tests/tmp/server.3422707.314/stdout' +removed 'tests/tmp/server.3422707.314/stderr' +removed 'tests/tmp/redis.conf.3422707.474' +removed 'tests/tmp/redis.conf.3422707.183' +removed 'tests/tmp/redis.conf.3422707.349' +removed 'tests/tmp/server.3422707.87/stdout' +removed 'tests/tmp/server.3422707.87/stderr' +removed 'tests/tmp/server.3422707.408/temp-1791605777.3783384.rdb' +removed 'tests/tmp/server.3422707.408/stdout' +removed 'tests/tmp/server.3422707.408/stderr' +removed 'tests/tmp/redis.conf.3422707.750' +removed 'tests/tmp/server.3422707.282/stdout' +removed 'tests/tmp/server.3422707.282/stderr' +removed 'tests/tmp/redis.conf.3422707.599' +removed 'tests/tmp/redis.conf.3422707.151' +removed 'tests/tmp/redis.conf.3422707.317' +removed 'tests/tmp/redis.conf.3422707.331' +removed 'tests/tmp/server.3422707.250/stdout' +removed 'tests/tmp/server.3422707.250/stderr' +removed 'tests/tmp/server.3422707.61/stdout' +removed 'tests/tmp/server.3422707.61/stderr' +removed 'tests/tmp/redis.conf.3422707.957' +removed 'tests/tmp/server.3422707.966/stdout' +removed 'tests/tmp/server.3422707.966/stderr' +removed 'tests/tmp/redis.conf.3422707.857' +removed 'tests/tmp/redis.conf.3422707.225' +removed 'tests/tmp/redis.conf.3422707.205' +removed 'tests/tmp/redis.conf.3422707.235' +removed 'tests/tmp/redis.conf.3422707.60' +removed 'tests/tmp/server.3422707.848/stdout' +removed 'tests/tmp/server.3422707.848/stderr' +removed 'tests/tmp/server.3422707.715/stdout' +removed 'tests/tmp/server.3422707.715/stderr' +removed 'tests/tmp/redis.conf.3422707.607' +removed 'tests/tmp/server.3422707.113/stdout' +removed 'tests/tmp/server.3422707.113/stderr' +removed 'tests/tmp/redis.conf.3422707.873' +removed 'tests/tmp/redis.conf.3422707.335' +removed 'tests/tmp/redis.conf.3422707.409' +removed 'tests/tmp/server.3422707.210/stdout' +removed 'tests/tmp/server.3422707.210/stderr' +removed 'tests/tmp/server.3422707.858/stdout' +removed 'tests/tmp/server.3422707.858/stderr' +removed 'tests/tmp/server.3422707.224/stdout' +removed 'tests/tmp/server.3422707.224/stderr' +removed 'tests/tmp/redis.conf.3422707.391' +removed 'tests/tmp/server.3422707.63/stdout' +removed 'tests/tmp/server.3422707.63/stderr' +removed 'tests/tmp/server.3422707.111/stdout' +removed 'tests/tmp/server.3422707.111/stderr' +removed 'tests/tmp/server.3422707.799/stdout' +removed 'tests/tmp/server.3422707.799/stderr' +removed 'tests/tmp/redis.conf.3422707.648' +removed 'tests/tmp/redis.conf.3422707.700' +removed 'tests/tmp/redis.conf.3422707.171' +removed 'tests/tmp/server.3422707.3/stdout' +removed 'tests/tmp/server.3422707.3/stderr' +removed 'tests/tmp/server.3422707.574/stdout' +removed 'tests/tmp/server.3422707.574/stderr' +removed 'tests/tmp/redis.conf.3422707.965' +removed 'tests/tmp/server.3422707.602/stdout' +removed 'tests/tmp/server.3422707.602/stderr' +removed 'tests/tmp/redis.conf.3422707.361' +removed 'tests/tmp/redis.conf.3422707.353' +removed 'tests/tmp/redis.conf.3422707.760' +removed 'tests/tmp/server.convert-zipmap-hash-on-load.3422707.741/stdout' +removed 'tests/tmp/server.convert-zipmap-hash-on-load.3422707.741/hash-zipmap.rdb' +removed 'tests/tmp/server.convert-zipmap-hash-on-load.3422707.741/stderr' +removed 'tests/tmp/server.3422707.127/stdout' +removed 'tests/tmp/server.3422707.127/stderr' +removed 'tests/tmp/server.3422707.338/stdout' +removed 'tests/tmp/server.3422707.338/stderr' +removed 'tests/tmp/redis.conf.3422707.399' +removed 'tests/tmp/redis.conf.3422707.203' +removed 'tests/tmp/redis.conf.3422707.527' +removed 'tests/tmp/server.3422707.230/stdout' +removed 'tests/tmp/server.3422707.230/stderr' +removed 'tests/tmp/redis.conf.3422707.347' +removed 'tests/tmp/server.3422707.436/stdout' +removed 'tests/tmp/server.3422707.436/stderr' +removed 'tests/tmp/server.3422707.621/stdout' +removed 'tests/tmp/server.3422707.621/stderr' +removed 'tests/tmp/server.3422707.594/stdout' +removed 'tests/tmp/server.3422707.594/stderr' +removed 'tests/tmp/redis.conf.3422707.537' +removed 'tests/tmp/server.3422707.677/stdout' +removed 'tests/tmp/server.3422707.677/stderr' +removed 'tests/tmp/server.3422707.709/stdout' +removed 'tests/tmp/server.3422707.709/stderr' +removed 'tests/tmp/server.3422707.396/stdout' +removed 'tests/tmp/server.3422707.396/stderr' +removed 'tests/tmp/server.3422707.17/stdout' +removed 'tests/tmp/server.3422707.17/stderr' +removed 'tests/tmp/server.3422707.669/stdout' +removed 'tests/tmp/server.3422707.669/stderr' +removed 'tests/tmp/redis.conf.3422707.806' +removed 'tests/tmp/server.3422707.791/stdout' +removed 'tests/tmp/server.3422707.791/stderr' +removed 'tests/tmp/server.3422707.1004/stdout' +removed 'tests/tmp/server.3422707.1004/stderr' +removed 'tests/tmp/server.3422707.779/stdout' +removed 'tests/tmp/server.3422707.779/stderr' +removed 'tests/tmp/server.3422707.807/stdout' +removed 'tests/tmp/server.3422707.807/stderr' +removed 'tests/tmp/server.3422707.101/stdout' +removed 'tests/tmp/server.3422707.101/stderr' +removed 'tests/tmp/server.3422707.964/stdout' +removed 'tests/tmp/server.3422707.964/stderr' +removed 'tests/tmp/resetchannels.acl.3422707.145/stdout' +removed 'tests/tmp/resetchannels.acl.3422707.145/default.conf' +removed 'tests/tmp/resetchannels.acl.3422707.145/stderr' +removed 'tests/tmp/resetchannels.acl.3422707.145/nodefaultuser.acl' +removed 'tests/tmp/redis.conf.3422707.249' +removed 'tests/tmp/server.3422707.23/stdout' +removed 'tests/tmp/server.3422707.23/stderr' +removed 'tests/tmp/server.3422707.59/stdout' +removed 'tests/tmp/server.3422707.59/stderr' +removed 'tests/tmp/redis.conf.3422707.694' +removed 'tests/tmp/server.3422707.623/stdout' +removed 'tests/tmp/server.3422707.623/stderr' +removed 'tests/tmp/server.3422707.773/stdout' +removed 'tests/tmp/server.3422707.773/stderr' +removed 'tests/tmp/server.3422707.637/stdout' +removed 'tests/tmp/server.3422707.637/stderr' +removed 'tests/tmp/redis.conf.3422707.919' +removed 'tests/tmp/server.3422707.91/stdout' +removed 'tests/tmp/server.3422707.91/stderr' +removed 'tests/tmp/server.3422707.370/stdout' +removed 'tests/tmp/server.3422707.370/stderr' +removed 'tests/tmp/redis.conf.3422707.307' +removed 'tests/tmp/redis.conf.3422707.173' +removed 'tests/tmp/server.3422707.606/stdout' +removed 'tests/tmp/server.3422707.606/stderr' +removed 'tests/tmp/redis.conf.3422707.955' +removed 'tests/tmp/server.3422707.406/stdout' +removed 'tests/tmp/server.3422707.406/stderr' +removed 'tests/tmp/redis.conf.3422707.865' +removed 'tests/tmp/redis.conf.3422707.116' +removed 'tests/tmp/server.3422707.412/stdout' +removed 'tests/tmp/server.3422707.412/stderr' +removed 'tests/tmp/redis.conf.3422707.449' +removed 'tests/tmp/redis.conf.3422707.80' +removed 'tests/tmp/server.3422707.960/stdout' +removed 'tests/tmp/server.3422707.960/stderr' +removed 'tests/tmp/redis.conf.3422707.377' +removed 'tests/tmp/server.3422707.109/stdout' +removed 'tests/tmp/server.3422707.109/stderr' +removed 'tests/tmp/redis.conf.3422707.879' +removed 'tests/tmp/redis.conf.3422707.507' +removed 'tests/tmp/server.3422707.270/stdout' +removed 'tests/tmp/server.3422707.270/stderr' +removed 'tests/tmp/redis.conf.3422707.311' +removed 'tests/tmp/redis.conf.3422707.12' +removed 'tests/tmp/redis.conf.3422707.772' +removed 'tests/tmp/server.3422707.813/stdout' +removed 'tests/tmp/server.3422707.813/stderr' +removed 'tests/tmp/redis.conf.3422707.76' +removed 'tests/tmp/server.multi.aof.3422707.503/stdout' +removed 'tests/tmp/server.multi.aof.3422707.503/stderr' +removed 'tests/tmp/server.multi.aof.3422707.503/dump.rdb' +removed 'tests/tmp/server.3422707.789/stdout' +removed 'tests/tmp/server.3422707.789/stderr' +removed 'tests/tmp/server.3422707.926/stdout' +removed 'tests/tmp/server.3422707.926/stderr' +removed 'tests/tmp/server.3422707.691/stdout' +removed 'tests/tmp/server.3422707.691/stderr' +removed 'tests/tmp/redis.conf.3422707.971' +removed 'tests/tmp/server.3422707.1/stdout' +removed 'tests/tmp/server.3422707.1/stderr' +removed 'tests/tmp/redis.conf.3422707.363' +removed 'tests/tmp/server.3422707.501/stdout' +removed 'tests/tmp/server.3422707.501/stderr' +removed 'tests/tmp/redis.conf.3422707.126' +removed 'tests/tmp/redis.conf.3422707.672' +removed 'tests/tmp/redis.conf.3422707.513' +removed 'tests/tmp/server.3422707.336/stdout' +removed 'tests/tmp/server.3422707.336/stderr' +removed 'tests/tmp/server.3422707.5/stdout' +removed 'tests/tmp/server.3422707.5/stderr' +removed 'tests/tmp/redis.conf.3422707.185' +removed 'tests/tmp/redis.conf.3422707.385' +removed 'tests/tmp/server.3422707.998/stdout' +removed 'tests/tmp/server.3422707.998/stderr' +removed 'tests/tmp/redis.conf.3422707.269' +removed 'tests/tmp/server.3422707.55/stdout' +removed 'tests/tmp/server.3422707.55/stderr' +removed 'tests/tmp/redis.conf.3422707.724' +removed 'tests/tmp/redis.conf.3422707.808' +removed 'tests/tmp/redis.conf.3422707.48' +removed 'tests/tmp/server.3422707.234/stdout' +removed 'tests/tmp/server.3422707.234/stderr' +removed 'tests/tmp/server.3422707.912/stdout' +removed 'tests/tmp/server.3422707.912/stderr' +removed 'tests/tmp/redis.conf.3422707.565' +removed 'tests/tmp/redis.conf.3422707.209' +removed 'tests/tmp/server.3422707.262/stdout' +removed 'tests/tmp/server.3422707.262/stderr' +removed 'tests/tmp/redis.conf.3422707.925' +removed 'tests/tmp/redis.conf.3422707.315' +removed 'tests/tmp/server.3422707.41/stdout' +removed 'tests/tmp/server.3422707.41/stderr' +removed 'tests/tmp/server.rdb-corruption-test.3422707.610/stdout' +removed 'tests/tmp/server.rdb-corruption-test.3422707.610/stderr' +removed 'tests/tmp/server.rdb-corruption-test.3422707.610/corrupt_ziplist.rdb' +removed 'tests/tmp/redis.conf.3422707.26' +removed 'tests/tmp/redis.conf.3422707.909' +removed 'tests/tmp/server.3422707.487/stdout' +removed 'tests/tmp/server.3422707.487/stderr' +removed 'tests/tmp/redis.conf.3422707.339' +removed 'tests/tmp/server.convert-ziplist-hash-on-load.3422707.753/stdout' +removed 'tests/tmp/server.convert-ziplist-hash-on-load.3422707.753/stderr' +removed 'tests/tmp/server.convert-ziplist-hash-on-load.3422707.753/zset-ziplist.rdb' +removed 'tests/tmp/server.3422707.105/stdout' +removed 'tests/tmp/server.3422707.105/stderr' +removed 'tests/tmp/redis.conf.3422707.462' +removed 'tests/tmp/redis.conf.3422707.500' +removed 'tests/tmp/redis.conf.3422707.562' +removed 'tests/tmp/server.3422707.894/stdout' +removed 'tests/tmp/server.3422707.894/stderr' +removed 'tests/tmp/server.3422707.388/stdout' +removed 'tests/tmp/server.3422707.388/stderr' +removed 'tests/tmp/server.3422707.81/stdout' +removed 'tests/tmp/server.3422707.81/stderr' +removed 'tests/tmp/redis.conf.3422707.24' +removed 'tests/tmp/redis.conf.3422707.708' +removed 'tests/tmp/redis.conf.3422707.718' +removed 'tests/tmp/server.3422707.693/stdout' +removed 'tests/tmp/server.3422707.693/stderr' +removed 'tests/tmp/server.3422707.244/stdout' +removed 'tests/tmp/server.3422707.244/stderr' +removed 'tests/tmp/redis.conf.3422707.618' +removed 'tests/tmp/redis.conf.3422707.825' +removed 'tests/tmp/redis.conf.3422707.365' +removed 'tests/tmp/redis.conf.3422707.734' +removed 'tests/tmp/server.3422707.588/stdout' +removed 'tests/tmp/server.3422707.588/stderr' +removed 'tests/tmp/server.3422707.898/stdout' +removed 'tests/tmp/server.3422707.898/stderr' +removed 'tests/tmp/server.3422707.268/stdout' +removed 'tests/tmp/server.3422707.268/stderr' +removed 'tests/tmp/redis.conf.3422707.533' +removed 'tests/tmp/redis.conf.3422707.124' +removed 'tests/tmp/redis.conf.3422707.177' +removed 'tests/tmp/server.3422707.294/stdout' +removed 'tests/tmp/server.3422707.294/stderr' +removed 'tests/tmp/server.3422707.426/stdout' +removed 'tests/tmp/server.3422707.426/stderr' +removed 'tests/tmp/redis.conf.3422707.10' +removed 'tests/tmp/redis.conf.3422707.736' +removed 'tests/tmp/redis.conf.3422707.263' +removed 'tests/tmp/redis.conf.3422707.167' +removed 'tests/tmp/server.3422707.93/stdout' +removed 'tests/tmp/server.3422707.93/stderr' +removed 'tests/tmp/server.3422707.918/stdout' +removed 'tests/tmp/server.3422707.918/stderr' +removed 'tests/tmp/redis.conf.3422707.684' +removed 'tests/tmp/redis.conf.3422707.419' +removed 'tests/tmp/server.3422707.649/stdout' +removed 'tests/tmp/server.3422707.649/stderr' +removed 'tests/tmp/server.3422707.600/stdout' +removed 'tests/tmp/server.3422707.600/stderr' +removed 'tests/tmp/redis.conf.3422707.977' +removed 'tests/tmp/redis.conf.3422707.283' +removed 'tests/tmp/server.3422707.214/stdout' +removed 'tests/tmp/server.3422707.214/stderr' +removed 'tests/tmp/server.3422707.639/stdout' +removed 'tests/tmp/server.3422707.639/stderr' +removed 'tests/tmp/redis.conf.3422707.96' +removed 'tests/tmp/server.3422707.298/stdout' +removed 'tests/tmp/server.3422707.298/stderr' +removed 'tests/tmp/server.3422707.7/stdout' +removed 'tests/tmp/server.3422707.7/stderr' +removed 'tests/tmp/redis.conf.3422707.567' +removed 'tests/tmp/redis.conf.3422707.251' +removed 'tests/tmp/server.3422707.695/stdout' +removed 'tests/tmp/server.3422707.695/stderr' +removed 'tests/tmp/server.3422707.936/stdout' +removed 'tests/tmp/server.3422707.936/stderr' +removed 'tests/tmp/server.3422707.390/stdout' +removed 'tests/tmp/server.3422707.390/stderr' +removed 'tests/tmp/server.3422707.878/stdout' +removed 'tests/tmp/server.3422707.878/stderr' +removed 'tests/tmp/server.3422707.892/stdout' +removed 'tests/tmp/server.3422707.892/stderr' +removed 'tests/tmp/redis.conf.3422707.447' +removed 'tests/tmp/redis.conf.3422707.261' +removed 'tests/tmp/server.3422707.121/stdout' +removed 'tests/tmp/server.3422707.121/stderr' +removed 'tests/tmp/server.3422707.978/stdout' +removed 'tests/tmp/server.3422707.978/stderr' +removed 'tests/tmp/server.3422707.687/stdout' +removed 'tests/tmp/server.3422707.687/stderr' +removed 'tests/tmp/redis.conf.3422707.211' +removed 'tests/tmp/redis.conf.3422707.969' +removed 'tests/tmp/server.3422707.400/stdout' +removed 'tests/tmp/server.3422707.400/stderr' +removed 'tests/tmp/server.3422707.103/stdout' +removed 'tests/tmp/server.3422707.103/stderr' +removed 'tests/tmp/server.3422707.430/stdout' +removed 'tests/tmp/server.3422707.430/stderr' +removed 'tests/tmp/redis.conf.3422707.1023' +removed 'tests/tmp/server.3422707.1014/stdout' +removed 'tests/tmp/server.3422707.1014/stderr' +removed 'tests/tmp/server.3422707.360/stdout' +removed 'tests/tmp/server.3422707.360/stderr' +removed 'tests/tmp/server.3422707.854/stdout' +removed 'tests/tmp/server.3422707.854/stderr' +removed 'tests/tmp/redis.conf.3422707.343' +removed 'tests/tmp/redis.conf.3422707.494' +removed 'tests/tmp/server.3422707.930/stdout' +removed 'tests/tmp/server.3422707.930/stderr' +removed 'tests/tmp/redis.conf.3422707.373' +removed 'tests/tmp/redis.conf.3422707.951' +removed 'tests/tmp/server.3422707.286/stdout' +removed 'tests/tmp/server.3422707.286/stderr' +removed 'tests/tmp/server.3422707.598/stdout' +removed 'tests/tmp/server.3422707.598/stderr' +removed 'tests/tmp/server.3422707.402/stdout' +removed 'tests/tmp/server.3422707.402/stderr' +removed 'tests/tmp/redis.conf.3422707.50' +removed 'tests/tmp/redis.conf.3422707.780' +removed 'tests/tmp/server.3422707.870/stdout' +removed 'tests/tmp/server.3422707.870/stderr' +removed 'tests/tmp/redis.conf.3422707.187' +removed 'tests/tmp/server.3422707.178/stdout' +removed 'tests/tmp/server.3422707.178/stderr' +removed 'tests/tmp/server.3422707.584/stdout' +removed 'tests/tmp/server.3422707.584/stderr' +removed 'tests/tmp/redis.conf.3422707.138' +removed 'tests/tmp/server.3422707.242/stdout' +removed 'tests/tmp/server.3422707.242/stderr' +removed 'tests/tmp/redis.conf.3422707.991' +removed 'tests/tmp/server.3422707.868/stdout' +removed 'tests/tmp/server.3422707.868/stderr' +removed 'tests/tmp/resetchannels.acl.3422707.142/stdout' +removed 'tests/tmp/resetchannels.acl.3422707.142/default.conf' +removed 'tests/tmp/resetchannels.acl.3422707.142/stderr' +removed 'tests/tmp/resetchannels.acl.3422707.142/nodefaultuser.acl' +removed 'tests/tmp/redis.conf.3422707.313' +removed 'tests/tmp/redis.conf.3422707.745' +removed 'tests/tmp/server.3422707.316/stdout' +removed 'tests/tmp/server.3422707.316/stderr' +removed 'tests/tmp/server.3422707.75/stdout' +removed 'tests/tmp/server.3422707.75/stderr' +removed 'tests/tmp/redis.conf.3422707.551' +removed 'tests/tmp/redis.conf.3422707.90' +removed 'tests/tmp/redis.conf.3422707.678' +removed 'tests/tmp/server.3422707.31/stdout' +removed 'tests/tmp/server.3422707.31/stderr' make[1]: Leaving directory '/build/reproducible-path/redis-7.0.15' create-stamp debian/debhelper-build-stamp dh_prep @@ -5777,17 +7471,17 @@ dh_strip -a dh_makeshlibs -a dh_shlibdeps -a -dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/redis-tools/usr/bin/redis-check-aof debian/redis-tools/usr/bin/redis-benchmark debian/redis-tools/usr/bin/redis-check-rdb debian/redis-tools/usr/bin/redis-cli were not linked against liblzf.so.1 (they use none of the library's symbols) -dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/redis-tools/usr/bin/redis-check-aof debian/redis-tools/usr/bin/redis-benchmark debian/redis-tools/usr/bin/redis-check-rdb debian/redis-tools/usr/bin/redis-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/redis-tools/usr/bin/redis-benchmark debian/redis-tools/usr/bin/redis-check-rdb debian/redis-tools/usr/bin/redis-check-aof debian/redis-tools/usr/bin/redis-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/redis-tools/usr/bin/redis-benchmark debian/redis-tools/usr/bin/redis-check-rdb debian/redis-tools/usr/bin/redis-check-aof debian/redis-tools/usr/bin/redis-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 'redis' in '../redis_7.0.15-1~deb12u5_all.deb'. +dpkg-deb: building package 'redis-tools-dbgsym' in '../redis-tools-dbgsym_7.0.15-1~deb12u5_amd64.deb'. dpkg-deb: building package 'redis-sentinel' in '../redis-sentinel_7.0.15-1~deb12u5_amd64.deb'. -dpkg-deb: building package 'redis-server' in '../redis-server_7.0.15-1~deb12u5_amd64.deb'. dpkg-deb: building package 'redis-tools' in '../redis-tools_7.0.15-1~deb12u5_amd64.deb'. -dpkg-deb: building package 'redis-tools-dbgsym' in '../redis-tools-dbgsym_7.0.15-1~deb12u5_amd64.deb'. +dpkg-deb: building package 'redis' in '../redis_7.0.15-1~deb12u5_all.deb'. +dpkg-deb: building package 'redis-server' in '../redis-server_7.0.15-1~deb12u5_amd64.deb'. dpkg-genbuildinfo --build=binary -O../redis_7.0.15-1~deb12u5_amd64.buildinfo dpkg-genchanges --build=binary -O../redis_7.0.15-1~deb12u5_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -5795,12 +7489,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/3294034/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/3294034/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/1408063 and its subdirectories -I: Current time: Sat Sep 6 08:01:03 -12 2025 -I: pbuilder-time-stamp: 1757188863 +I: removing directory /srv/workspace/pbuilder/3294034 and its subdirectories +I: Current time: Sat Oct 10 19:16:07 +14 2026 +I: pbuilder-time-stamp: 1791609367