Diff of the two buildlogs: -- --- b1/build.log 2024-01-14 18:37:34.426619034 +0000 +++ b2/build.log 2024-01-14 19:55:33.764300161 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sat Feb 15 12:18:40 -12 2025 -I: pbuilder-time-stamp: 1739665120 +I: Current time: Mon Jan 15 08:37:41 +14 2024 +I: pbuilder-time-stamp: 1705257461 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bullseye-reproducible-base.tgz] I: copying local configuration @@ -18,7 +18,7 @@ I: copying [./redis_6.0.16-1+deb11u2.debian.tar.xz] I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' -gpgv: keyblock resource '/tmp/dpkg-verify-sig.Wg5jiPhw/trustedkeys.kbx': General error +gpgv: keyblock resource '/tmp/dpkg-verify-sig.kZLSQX1J/trustedkeys.kbx': General error gpgv: Signature made Wed Feb 16 21:59:21 2022 gpgv: using RSA key C2FE4BD271C139B86C533E461E953E27D4311E58 gpgv: Can't check signature: No public key @@ -38,53 +38,84 @@ dpkg-source: info: applying 0009-Send-the-readiness-notification-when-we-are-ready-to.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/78521/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/6838/tmp/hooks/D01_modify_environment starting +debug: Running on ionos12-i386. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Jan 14 18:43 /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/6838/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/6838/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='i386' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all,-fixfilepath parallel=16 ' - DISTRIBUTION='bullseye' - HOME='/root' - HOST_ARCH='i386' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="1" [2]="4" [3]="1" [4]="release" [5]="i686-pc-linux-gnu") + BASH_VERSION='5.1.4(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=i386 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all,-fixfilepath parallel=7 ' + DIRSTACK=() + DISTRIBUTION=bullseye + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=i686 + HOST_ARCH=i386 IFS=' ' - INVOCATION_ID='75eb5af68f004ac2b1920e17d948268d' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - LD_LIBRARY_PATH='/usr/lib/libeatmydata' - LD_PRELOAD='libeatmydata.so' - 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='78521' - PS1='# ' - PS2='> ' + INVOCATION_ID=adcc1ef76b104aebafeb88e01e3ab5dd + LANG=C + LANGUAGE=de_CH:de + LC_ALL=C + LD_LIBRARY_PATH=/usr/lib/libeatmydata + LD_PRELOAD=libeatmydata.so + MACHTYPE=i686-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=6838 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.88FtEJ9g/pbuilderrc_26tk --distribution bullseye --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.88FtEJ9g/b1 --logfile b1/build.log redis_6.0.16-1+deb11u2.dsc' - SUDO_GID='112' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://85.184.249.68: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.88FtEJ9g/pbuilderrc_XHCR --distribution bullseye --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.88FtEJ9g/b2 --logfile b2/build.log redis_6.0.16-1+deb11u2.dsc' + SUDO_GID=112 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://78.137.99.97:3128 I: uname -a - Linux ionos6-i386 6.1.0-17-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.69-1 (2023-12-30) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-17-686-pae #1 SMP PREEMPT_DYNAMIC Debian 6.1.69-1 (2023-12-30) i686 GNU/Linux I: ls -l /bin - total 5776 + total 5792 -rwxr-xr-x 1 root root 1367848 Mar 27 2022 bash -rwxr-xr-x 3 root root 38280 Jul 20 2020 bunzip2 -rwxr-xr-x 3 root root 38280 Jul 20 2020 bzcat @@ -142,7 +173,7 @@ -rwxr-xr-x 1 root root 46984 Sep 22 2020 rmdir -rwxr-xr-x 1 root root 22292 Sep 27 2020 run-parts -rwxr-xr-x 1 root root 125036 Dec 22 2018 sed - lrwxrwxrwx 1 root root 4 Feb 8 15:47 sh -> dash + lrwxrwxrwx 1 root root 9 Jan 14 18:43 sh -> /bin/bash -rwxr-xr-x 1 root root 34696 Sep 22 2020 sleep -rwxr-xr-x 1 root root 83880 Sep 22 2020 stty -rwsr-xr-x 1 root root 79396 Jan 20 2022 su @@ -168,7 +199,7 @@ -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/78521/tmp/hooks/D02_print_environment finished +I: user script /srv/workspace/pbuilder/6838/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -290,7 +321,7 @@ Get: 58 http://deb.debian.org/debian bullseye/main i386 tcl8.6 i386 8.6.11+dfsg-1 [124 kB] Get: 59 http://deb.debian.org/debian bullseye/main i386 tcl i386 8.6.11+1 [5788 B] Get: 60 http://deb.debian.org/debian bullseye/main i386 tcl-tls i386 1.7.22-2 [76.0 kB] -Fetched 27.3 MB in 1s (20.4 MB/s) +Fetched 27.3 MB in 9s (3044 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package bsdextrautils. (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 ... 17763 files and directories currently installed.) @@ -489,8 +520,8 @@ Setting up tzdata (2021a-1+deb11u10) ... Current default time zone: 'Etc/UTC' -Local time is now: Sun Feb 16 00:18:58 UTC 2025. -Universal Time is now: Sun Feb 16 00:18:58 UTC 2025. +Local time is now: Sun Jan 14 18:44:57 UTC 2024. +Universal Time is now: Sun Jan 14 18:44:57 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libjemalloc-dev (5.2.1-3) ... @@ -553,7 +584,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/redis-6.0.16/ && 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_6.0.16-1+deb11u2_source.changes +I: user script /srv/workspace/pbuilder/6838/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for bullseye +I: user script /srv/workspace/pbuilder/6838/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/redis-6.0.16/ && 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_6.0.16-1+deb11u2_source.changes dpkg-buildpackage: info: source package redis dpkg-buildpackage: info: source version 5:6.0.16-1+deb11u2 dpkg-buildpackage: info: source distribution bullseye-security @@ -565,7 +600,7 @@ debian/rules override_dh_auto_clean make[1]: Entering directory '/build/reproducible-path/redis-6.0.16' dh_auto_clean - make -j16 distclean + make -j7 distclean make[2]: Entering directory '/build/reproducible-path/redis-6.0.16' cd src && make distclean make[3]: Entering directory '/build/reproducible-path/redis-6.0.16/src' @@ -601,13 +636,13 @@ echo 'luaL_dostring(lua, "module = nil; require = nil; package = nil");' >>debian/lua_libs_debian.c # Build the non-bundled Lua libraries dh_auto_build --sourcedirectory=deps/lua/src -- lua_struct.o lua_cmsgpack.o - cd deps/lua/src && make -j16 "INSTALL=install --strip-program=true" lua_struct.o lua_cmsgpack.o + cd deps/lua/src && make -j7 "INSTALL=install --strip-program=true" lua_struct.o lua_cmsgpack.o make[2]: Entering directory '/build/reproducible-path/redis-6.0.16/deps/lua/src' cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lua_struct.o lua_struct.c cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lua_cmsgpack.o lua_cmsgpack.c make[2]: Leaving directory '/build/reproducible-path/redis-6.0.16/deps/lua/src' dh_auto_build --parallel -- V=1 USE_SYSTEM_JEMALLOC=yes USE_SYSTEM_LUA=yes USE_SYSTEM_HIREDIS=no USE_SYSTEMD=yes - make -j16 "INSTALL=install --strip-program=true" V=1 USE_SYSTEM_JEMALLOC=yes USE_SYSTEM_LUA=yes USE_SYSTEM_HIREDIS=no USE_SYSTEMD=yes + make -j7 "INSTALL=install --strip-program=true" V=1 USE_SYSTEM_JEMALLOC=yes USE_SYSTEM_LUA=yes USE_SYSTEM_HIREDIS=no USE_SYSTEMD=yes make[2]: Entering directory '/build/reproducible-path/redis-6.0.16' cd src && make all make[3]: Entering directory '/build/reproducible-path/redis-6.0.16/src' @@ -641,12 +676,12 @@ (echo "-g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf" > .make-cflags) (echo "-Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf -llua5.1-cjson -llua5.1-bitop ../deps/lua/src/lua_struct.o ../deps/lua/src/lua_cmsgpack.o" > .make-ldflags) MAKE linenoise -cd linenoise && make MAKE hiredis +cd linenoise && make cd hiredis && make static USE_SSL=1 -make[5]: Entering directory '/build/reproducible-path/redis-6.0.16/deps/hiredis' make[5]: Entering directory '/build/reproducible-path/redis-6.0.16/deps/linenoise' cc -Wall -Os -g -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -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-6.0.16/deps/hiredis' cc -std=c99 -pedantic -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -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 net.c cc -std=c99 -pedantic -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -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 hiredis.c cc -std=c99 -pedantic -c -O3 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -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 sds.c @@ -681,8 +716,6 @@ cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o replication.o -c replication.c cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o rdb.o -c rdb.c cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o t_string.o -c t_string.c -cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o t_list.o -c t_list.c -cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o t_set.o -c t_set.c rdb.c: In function 'rdbSave': rdb.c:1330:9: warning: 'free' is deprecated [-Wdeprecated-declarations] 1330 | free(cwdp); @@ -702,11 +735,15 @@ /usr/include/jemalloc/jemalloc.h:241:39: note: declared here 241 | JEMALLOC_EXPORT void JEMALLOC_NOTHROW je_free(void *ptr) | ^~~~~~~ +cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o t_list.o -c t_list.c +cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o t_set.o -c t_set.c cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o t_zset.o -c t_zset.c cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o t_hash.o -c t_hash.c cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o config.o -c config.c cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o aof.o -c aof.c cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o pubsub.o -c pubsub.c +cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o multi.o -c multi.c +cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o debug.o -c debug.c aof.c: In function 'startAppendOnly': aof.c:267:9: warning: 'free' is deprecated [-Wdeprecated-declarations] 267 | free(cwdp); @@ -717,8 +754,6 @@ /usr/include/jemalloc/jemalloc.h:241:39: note: declared here 241 | JEMALLOC_EXPORT void JEMALLOC_NOTHROW je_free(void *ptr) | ^~~~~~~ -cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o multi.o -c multi.c -cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o debug.o -c debug.c cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o sort.o -c sort.c cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o intset.o -c intset.c cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o syncio.o -c syncio.c @@ -728,9 +763,6 @@ cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o slowlog.o -c slowlog.c cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o scripting.o -c scripting.c cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o bio.o -c bio.c -cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o rio.o -c rio.c -cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o rand.o -c rand.c -cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o memtest.o -c memtest.c In file included from scripting.c:36: ../debian/lua_libs_debian.c: In function 'luaLoadLibraries': /usr/include/lua5.1/lauxlib.h:115:25: warning: value computed is not used [-Wunused-value] @@ -739,6 +771,9 @@ ../debian/lua_libs_debian.c:7:1: note: in expansion of macro 'luaL_dostring' 7 | luaL_dostring(lua, "module = nil; require = nil; package = nil"); | ^~~~~~~~~~~~~ +cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o rio.o -c rio.c +cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o rand.o -c rand.c +cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o memtest.o -c memtest.c cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o crcspeed.o -c crcspeed.c cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o crc64.o -c crc64.c cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o bitops.o -c bitops.c @@ -779,15 +814,15 @@ cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o mt19937-64.o -c mt19937-64.c cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o redis-cli.o -c redis-cli.c cc -std=c11 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -fdebug-prefix-map=/build/reproducible-path/redis-6.0.16=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/liblzf -I../deps/linenoise -DHAVE_LIBSYSTEMD -DUSE_JEMALLOC -I/usr/include/jemalloc/include -DUSE_OPENSSL -I/usr/include/lua5.1 -I../deps/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -o redis-benchmark.o -c redis-benchmark.c -cc -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf -llua5.1-cjson -llua5.1-bitop ../deps/lua/src/lua_struct.o ../deps/lua/src/lua_cmsgpack.o -g -ggdb -rdynamic -o redis-benchmark ae.o anet.o redis-benchmark.o adlist.o dict.o zmalloc.o siphash.o mt19937-64.o -llua5.1 -ljemalloc -lm -ldl -pthread -lrt -lsystemd ../deps/hiredis/libhiredis_ssl.a -lssl -lcrypto ../deps/hiredis/libhiredis.a cc -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf -llua5.1-cjson -llua5.1-bitop ../deps/lua/src/lua_struct.o ../deps/lua/src/lua_cmsgpack.o -g -ggdb -rdynamic -o redis-server adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crcspeed.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o lolwut.o lolwut5.o lolwut6.o acl.o gopher.o tracking.o connection.o tls.o sha256.o timeout.o setcpuaffinity.o mt19937-64.o -llua5.1 -ljemalloc -lm -ldl -pthread -lrt -lsystemd ../deps/hiredis/libhiredis_ssl.a -lssl -lcrypto ../deps/hiredis/libhiredis.a +cc -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf -llua5.1-cjson -llua5.1-bitop ../deps/lua/src/lua_struct.o ../deps/lua/src/lua_cmsgpack.o -g -ggdb -rdynamic -o redis-benchmark ae.o anet.o redis-benchmark.o adlist.o dict.o zmalloc.o siphash.o mt19937-64.o -llua5.1 -ljemalloc -lm -ldl -pthread -lrt -lsystemd ../deps/hiredis/libhiredis_ssl.a -lssl -lcrypto ../deps/hiredis/libhiredis.a +cc -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf -llua5.1-cjson -llua5.1-bitop ../deps/lua/src/lua_struct.o ../deps/lua/src/lua_cmsgpack.o -g -ggdb -rdynamic -o redis-cli anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o ae.o crcspeed.o crc64.o siphash.o crc16.o mt19937-64.o ../deps/linenoise/linenoise.o -llua5.1 -ljemalloc -lm -ldl -pthread -lrt -lsystemd ../deps/hiredis/libhiredis_ssl.a -lssl -lcrypto ../deps/hiredis/libhiredis.a install --strip-program=true redis-server redis-sentinel -install --strip-program=true redis-server redis-check-rdb -install --strip-program=true redis-server redis-check-aof -install: WARNING: ignoring --strip-program option as -s option was not specified -install: WARNING: ignoring --strip-program option as -s option was not specified +install: install --strip-program=true redis-server redis-check-rdb +WARNING: ignoring --strip-program option as -s option was not specified +install: install --strip-program=true redis-server redis-check-aof +WARNING: ignoring --strip-program option as -s option was not specified install: WARNING: ignoring --strip-program option as -s option was not specified -cc -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llzf -llua5.1-cjson -llua5.1-bitop ../deps/lua/src/lua_struct.o ../deps/lua/src/lua_cmsgpack.o -g -ggdb -rdynamic -o redis-cli anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o ae.o crcspeed.o crc64.o siphash.o crc16.o mt19937-64.o ../deps/linenoise/linenoise.o -llua5.1 -ljemalloc -lm -ldl -pthread -lrt -lsystemd ../deps/hiredis/libhiredis_ssl.a -lssl -lcrypto ../deps/hiredis/libhiredis.a Hint: It's a good idea to run 'make test' ;) @@ -800,27 +835,27 @@ # Generate a root CA and server certificate for testing ./utils/gen-test-certs.sh Generating RSA private key, 4096 bit long modulus (2 primes) -................................................................................++++ -....................................................++++ +.............................................++++ +.......................................................................................................................................................++++ e is 65537 (0x010001) Generating RSA private key, 2048 bit long modulus (2 primes) -...........................................+++++ -.................+++++ +...........+++++ +...............................................................+++++ e is 65537 (0x010001) Signature ok subject=O = Redis Test, CN = Server Getting CA Private Key Generating DH parameters, 2048 bit long safe prime, generator 2 This is going to take a long time -....................................+....................................................................................+...............................................................................................+......................................................................................+...................................................................................................................................................................................................................................................................+....................................................................................................................................................................................................................................................................+.............................................................................................................................................................................................................................................................+....................................................................................+.......................................................................................................................................................................................................................+............................+...............................................+..................................................................+............+..........................................................................................................................+.................................................................+................................................................................................................................................................................................................................................................................................................................................................................+..................................................................................+......................................................................................+..........+.........................................+.......................................................................................................................................+............................................................................................+............................+..............................................................................+..........................................................................................................................................................................+..................................................................................................................................+...................+.................................................................................................................+........................................................................................................+...........+........................................+............................................+.........................................................+......................................+..............................+................................................................................................................+..............................................+.................+......................+.....+............+...................................................................+..........................................................................................+................................+......+.........................................................................................+...................................................................................................................+...................................................................................................................................................................................................................................................+..........................................................................................+..........................................................................................................+.......................................................+.............................................................................................................+.....+.....................................+...+.........................................+.................................................................................................+................+...........................+........+.........+.........................+.......................................................................................................................................................................+.................................................................................................................................................+...................................................+.......+...............................................................................................................................................................+.........+.........................................................................+........................+...................................................................................................................................................................................................................................................................................+......................+...............................................................................+.......................................................................................................................................................................................................+..............................................................................................................................................+...................................................+........................................................................................................+.......................+...........................................................+.........................................................................................................................................+.......................................................+.....................................................................................................................+........+...............+.......................................................................+..............................................................................................................................................................................................................................................................................................................................+......................+..............................................................................................................+............................................+...........................................+.............................................................................................................................................................................................................................................................................................................................................+.+.....................................................................................................................................................................................+.........................................................................+...............+.......+......+.............................................................................................................................+......................................................+..................................................................................................................+...........+.........................+..................................+.......+......................................................................................+............................................................................................................................................................................................................................................................................................................+.....................................................................................................................................+..........+............+........................................................................................................................................................................+..........................................................................................................+...............................................................................................................................................................................................+..+.....................................................................................+..................................................................................................................+..........................................................+....................................................................................................+..........+..............+........................................................................................................+............................................................................................................+............................................................................................................................................................+...........................................................................................................................................+...................................................................................................................................................+...........................+......................................................++*++*++*++* +......................................................................................................................+..........................................................................................................................+.............................................................+...........................................................................................................+........+..........................................+..........................................................+.....................................................................................................+....................................................................................................................................................+...................................+...................................................................................................+............................................................................................................+.......+................+.....................+.....................................+................................................................................................................................................................................................................................................+....................................+................................................................+.................................................................+..............................................................................................................................+...............................................................................................................+......................................................................+......................................................................................+.................................................................+.....................................................+...............................+.....+......................................................................................+.......+................................................................................................+..............................................................................................+.....................................................................+................+...........................................................................+...............................+.............................+...................................................+.....................................................................................................+.......+..................................................................+....+....................................................+..............................................................+........................................................................................................................................................................+.............................+...............................................................+...+......................................................................................................................................................................................................+.................................................................................................................................................................................................................................................................................................................................................+.........................................................+................................................................................................................................................................................................................................................+..+.....................................................................+..................+......................................................................................................................+......................................................................................................................................................................................................................................................+.....................+......................................................................................+......................................................................................................+.................................................+.....................................................+......................................................................................................................................................................................................................................................................................+......................................................................................................................................................+...................................................................................................................................+.............................+.........................................................+..................................................................................................................................................................................................+..........................................................................................................................................................................+..............................................................................................................................................................................................................+.................................................................................................+....................................................................................................................................................................................................................................+..............+..........................................................+....................................................................+....+.....................................................................+.............+....................................................................................................................................+...........+............................................+......................................................................................................................................................................................................................................+................+................................+..................................................................................+..........+.................................................................................................................................................................................................................................................................+..................................................................................................................................................................+.........................+.+............................................................................................................................................+............................................................+......+.................................................+...................................+.........................................................+................................+........................................................................................................................................................................+............................+.....................+.....................................................................................................................................................................................................................................................+...............+......+..............................+........................................................................................................................................+........+................................................+.............................................................................................................................................................................................+...............+...................................................................................+........................+..................+...............................+..........................................................................................................................................+..............+.........................................+...................................................+...........................................................................................................................................................................................................................+................................................................+..................................................+...+...........+...............+....................+.........................................................................................................................................................+.....................................................................................................................................................................+............+.................................................+..............................+..........................................................................................+.............................................................+.........................................+.......................................+.............................................................................................................................................................................................+..............................................................................................+..................+.......+.............................................................................................+...................+.........+...........................................+.....+.............................................................................................................................................................................................+..............................................................................................................................................+....................................+.................................................................................................................................................................+..........+....................+..........................................................................................................................................................................................................................................................................................................................+............................................................................................................................................+............................................................................+......................................................................+.....................................................................................................................................................................+...............................................+.............+............................................+.................................+.........+.............................................................+......................................................................................................................................................+.................+.................................................................................................................................+.................................+........................................+.........................................................................................+.....+..............................................................................................................................+.......+....................+.....................................+.............................................................................................................................................+.......+..............................................+..............................................................+........+........+.+........+.......................................................+.........................................................................................................................................................................................+................+................................................................................................................................................................................................+.....................................................................................................................................................................................................................+....................................................+..........................................................................................................................................................................................................+........................+...................................................................................................................................................................................................................................................................+.............................................................+............................................................................................................................................................................+.............................................................................................+..........................................................................................................................+....................................+..............+....................................................................................................................................................................................................................................+....................................................................+....................................................................................................................+...........+.......................+...........................................+......................+............+...........................................................................................................................................................................................................................................+...........................................................+..+...............................+.......................................................+..............................................................+...............................+...................................................+.................................................................+....................................................................+............................................................................................................................................................................................................................................................+............................+...................................................................................................+..........................................................................+...............+............................................................................+........................................................................................................................................................................................+...............+.....+...........................................................................................................+...............................................................................................+...................+............................................................................+.........................................+.......................................................+.......+.............................................................................................................+........++*++*++*++* # Avoid race conditions in upstream testsuite ./runtest --clients 1 --tls || true Cleanup: may take some time... OK Starting test server at port 11111 -[ready]: 94717 +[ready]: 3956 Testing unit/printver Testing Redis version 6.0.16 (00000000) -[1/58 done]: unit/printver (0 seconds) +[1/58 done]: unit/printver (1 seconds) Testing unit/dump [ok]: DUMP / RESTORE are able to serialize / unserialize a simple key [ok]: RESTORE can set an arbitrary expire to the materialized key @@ -848,7 +883,7 @@ [ok]: MIGRATE with multiple keys: stress command rewriting [ok]: MIGRATE with multiple keys: delete just ack keys [ok]: MIGRATE AUTH: correct and wrong password cases -[2/58 done]: unit/dump (27 seconds) +[2/58 done]: unit/dump (35 seconds) Testing unit/auth [ok]: AUTH fails if there is no password configured server side [ok]: AUTH fails when a wrong password is given @@ -880,7 +915,7 @@ [ok]: test big number parsing [ok]: test bool parsing [ok]: Regression for a crash with blocking ops and pipelining -[4/58 done]: unit/protocol (1 seconds) +[4/58 done]: unit/protocol (3 seconds) Testing unit/keyspace [ok]: DEL against a single item [ok]: Vararg DEL @@ -936,7 +971,7 @@ [ok]: ZSCAN with PATTERN [ok]: ZSCAN scores: regression test for issue #2175 [ok]: SCAN regression test for issue #4906 -[6/58 done]: unit/scan (9 seconds) +[6/58 done]: unit/scan (17 seconds) Testing unit/type/string [ok]: SET and GET an item [ok]: SET and GET an empty item @@ -992,7 +1027,7 @@ [ok]: LCS indexes [ok]: LCS indexes with match len [ok]: LCS indexes with match len and minimum match len -[7/58 done]: unit/type/string (8 seconds) +[7/58 done]: unit/type/string (14 seconds) Testing unit/type/incr [ok]: INCR against non existing key [ok]: INCR against key created by incr itself @@ -1018,7 +1053,7 @@ [ok]: INCRBYFLOAT decrement [ok]: string to double with null terminator [ok]: No negative zero -[8/58 done]: unit/type/incr (0 seconds) +[8/58 done]: unit/type/incr (1 seconds) Testing unit/type/list [ok]: LPOS basic usage [ok]: LPOS RANK (positive and negative rank) option @@ -1147,14 +1182,14 @@ Testing unit/type/list-2 [ok]: LTRIM stress testing - linkedlist [ok]: LTRIM stress testing - ziplist -[10/58 done]: unit/type/list-2 (14 seconds) +[10/58 done]: unit/type/list-2 (24 seconds) Testing unit/type/list-3 [ok]: Explicit regression for a list bug [ok]: Regression for quicklist #3343 bug [ok]: Stress tester for #3343-alike bugs [ok]: ziplist implementation: value encoding and backlink [ok]: ziplist implementation: encoding stress testing -[11/58 done]: unit/type/list-3 (109 seconds) +[11/58 done]: unit/type/list-3 (123 seconds) Testing unit/type/set [ok]: SADD, SCARD, SISMEMBER, SMEMBERS basics - regular set [ok]: SADD, SCARD, SISMEMBER, SMEMBERS basics - intset @@ -1236,7 +1271,7 @@ [ok]: SMOVE with identical source and destination [ok]: SMOVE only notify dstset when the addition is successful [ok]: intsets implementation stress testing -[12/58 done]: unit/type/set (6 seconds) +[12/58 done]: unit/type/set (11 seconds) Testing unit/type/zset [ok]: Check encoding - ziplist [ok]: ZSET basic ZADD and score update - ziplist @@ -1408,7 +1443,7 @@ [ok]: BZPOPMIN with variadic ZADD [ok]: BZPOPMIN with zero timeout should block indefinitely [ok]: ZSET skiplist order consistency when elements are moved -[13/58 done]: unit/type/zset (11 seconds) +[13/58 done]: unit/type/zset (17 seconds) Testing unit/type/hash [ok]: HSET/HLEN - Small hash creation [ok]: Is the small hash encoded with a ziplist? @@ -1468,8 +1503,7 @@ [ok]: Hash fuzzing #1 - 512 fields [ok]: Hash fuzzing #2 - 512 fields [ok]: Stress test the hash ziplist -> hashtable encoding conversion -[ok]: Test HINCRBYFLOAT for correct float representation (issue #2846) -[14/58 done]: unit/type/hash (4 seconds) +[14/58 done]: unit/type/hash (7 seconds) Testing unit/type/stream [ok]: XADD can add entries into a stream that XRANGE can fetch [ok]: XADD IDs are incremental @@ -1509,7 +1543,7 @@ [ok]: Empty stream can be rewrite into AOF correctly [ok]: Stream can be rewrite into AOF correctly after XDEL lastid [ok]: XGROUP HELP should not have unexpected options -[15/58 done]: unit/type/stream (20 seconds) +[15/58 done]: unit/type/stream (41 seconds) Testing unit/type/stream-cgroups [ok]: XGROUP CREATE: creation and duplicate group name detection [ok]: XGROUP CREATE: automatic stream creation fails without MKSTREAM @@ -1535,7 +1569,7 @@ [ok]: Consumer group last ID propagation to slave (NOACK=0) [ok]: Consumer group last ID propagation to slave (NOACK=1) [ok]: Empty stream with no lastid can be rewrite into AOF correctly -[16/58 done]: unit/type/stream-cgroups (5 seconds) +[16/58 done]: unit/type/stream-cgroups (7 seconds) Testing unit/sort [ok]: Old Ziplist: SORT BY key [ok]: Old Ziplist: SORT BY key with limit @@ -1585,7 +1619,7 @@ [ok]: SORT speed, 100 element list BY hash field, 100 times [ok]: SORT speed, 100 element list directly, 100 times [ok]: SORT speed, 100 element list BY , 100 times -[17/58 done]: unit/sort (9 seconds) +[17/58 done]: unit/sort (17 seconds) Testing unit/expire [ok]: EXPIRE - set timeouts multiple times [ok]: EXPIRE - It should be still possible to read 'x' @@ -1614,7 +1648,7 @@ [ok]: SET command will remove expire [ok]: SET - use KEEPTTL option, TTL should not be removed [ok]: SET - use KEEPTTL option, TTL should not be removed after loadaof -[18/58 done]: unit/expire (15 seconds) +[18/58 done]: unit/expire (16 seconds) Testing unit/other [ok]: SAVE - make sure there are all the types as values [ok]: FUZZ stresser with data model binary @@ -1631,7 +1665,7 @@ [ok]: FLUSHDB [ok]: Perform a final SAVE to leave a clean DB on disk [ok]: Don't rehash if redis has child proecess -[19/58 done]: unit/other (9 seconds) +[19/58 done]: unit/other (15 seconds) Testing unit/multi [ok]: MUTLI / EXEC basics [ok]: DISCARD @@ -1674,12 +1708,12 @@ [ok]: exec with read commands and stale replica state change [ok]: EXEC with only read commands should not be rejected when OOM [ok]: EXEC with at least one use-memory command should fail -[20/58 done]: unit/multi (4 seconds) +[20/58 done]: unit/multi (6 seconds) Testing unit/quit [ok]: QUIT returns OK [ok]: Pipelined commands after QUIT must not be executed [ok]: Pipelined commands after QUIT that exceed read buffer size -[21/58 done]: unit/quit (0 seconds) +[21/58 done]: unit/quit (1 seconds) Testing unit/aofrw [ok]: AOF rewrite during write load: RDB preamble=yes [ok]: AOF rewrite during write load: RDB preamble=no @@ -1700,7 +1734,7 @@ [ok]: AOF rewrite of zset with skiplist encoding, int data [ok]: BGREWRITEAOF is delayed if BGSAVE is in progress [ok]: BGREWRITEAOF is refused if already in progress -[22/58 done]: unit/aofrw (49 seconds) +[22/58 done]: unit/aofrw (46 seconds) Testing unit/acl [ok]: Connections start with the default user [ok]: It is possible to create new users @@ -1749,11 +1783,11 @@ [ok]: LATENCY RESET is able to reset events [ok]: LATENCY of expire events are correctly collected [ok]: LATENCY HELP should not have unexpected options -[24/58 done]: unit/latency-monitor (8 seconds) +[24/58 done]: unit/latency-monitor (18 seconds) Testing integration/block-repl [ok]: First server should have role slave after SLAVEOF [ok]: Test replication with blocking lists and sorted sets operations -[25/58 done]: integration/block-repl (26 seconds) +[25/58 done]: integration/block-repl (27 seconds) Testing integration/replication [ok]: Slave enters handshake [ok]: Slave is able to detect timeout during handshake @@ -1772,22 +1806,67 @@ [ok]: ROLE in master reports master with a slave [ok]: ROLE in slave reports slave in connected state [ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=disabled +Waiting for process 24107 to exit... [ok]: Connect multiple replicas at the same time (issue #141), master diskless=no, replica diskless=swapdb [ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=disabled [ok]: Connect multiple replicas at the same time (issue #141), master diskless=yes, replica diskless=swapdb [ok]: Master stream is correctly processed while the replica has a script in -BUSY state +Waiting for process 28352 to exit... [ok]: slave fails full sync and diskless load swapdb recovers it +Waiting for process 28697 to exit... +Waiting for process 28697 to exit... +Waiting for process 28697 to exit... +Waiting for process 28697 to exit... +Waiting for process 28697 to exit... +Waiting for process 28697 to exit... +Waiting for process 28697 to exit... +Waiting for process 28697 to exit... +Waiting for process 28697 to exit... +Forcing process 28697 to exit... +Forcing process 28697 to exit... [ok]: diskless loading short read -[ok]: diskless no replicas drop during rdb pipe + +Logged warnings (pid 31264): +(none) + + +Logged warnings (pid 31252): +(none) + +[err]: diskless no replicas drop during rdb pipe in tests/integration/replication.tcl +rdb child didn't terminate [ok]: diskless slow replicas drop during rdb pipe +Waiting for process 5170 to exit... [ok]: diskless fast replicas drop during rdb pipe [ok]: diskless all replicas drop during rdb pipe -[ok]: diskless timeout replicas drop during rdb pipe -fork child is 104090 + +Logged warnings (pid 7315): +(none) + +Waiting for process 7303 to exit... +Waiting for process 7303 to exit... +Waiting for process 7303 to exit... +Waiting for process 7303 to exit... +Waiting for process 7303 to exit... +Waiting for process 7303 to exit... +Waiting for process 7303 to exit... +Waiting for process 7303 to exit... +Waiting for process 7303 to exit... +Forcing process 7303 to exit... + +Logged warnings (pid 7303): +(none) + +[err]: diskless timeout replicas drop during rdb pipe in tests/integration/replication.tcl +log message of '"*Diskless rdb transfer, done reading from pipe, 1 replicas still up*"' not found in ./tests/tmp/server.3956.162/stdout after line: 146 till line: 155 +Waiting for process 31211 to exit... +fork child is 9683 +Waiting for process 9535 to exit... +Waiting for process 9535 to exit... [ok]: diskless replication child being killed is collected [ok]: diskless replication read pipe cleanup [ok]: replicaof right after disconnection -[26/58 done]: integration/replication (196 seconds) +[26/58 done]: integration/replication (389 seconds) Testing integration/replication-2 [ok]: First server should have role slave after SLAVEOF [ok]: If min-slaves-to-write is honored, write is accepted @@ -1796,7 +1875,7 @@ [ok]: No write if min-slaves-max-lag is > of the slave lag [ok]: min-slaves-to-write is ignored by slaves [ok]: MASTER and SLAVE dataset should be identical after complex ops -[27/58 done]: integration/replication-2 (14 seconds) +[27/58 done]: integration/replication-2 (26 seconds) Testing integration/replication-3 [ok]: First server should have role slave after SLAVEOF [ok]: MASTER and SLAVE consistency with expire @@ -1804,7 +1883,7 @@ [ok]: First server should have role slave after SLAVEOF [ok]: MASTER and SLAVE consistency with EVALSHA replication [ok]: SLAVE can reload "lua" AUX RDB fields of duplicated scripts -[28/58 done]: integration/replication-3 (29 seconds) +[28/58 done]: integration/replication-3 (59 seconds) Testing integration/replication-4 [ok]: First server should have role slave after SLAVEOF [ok]: Test replication with parallel clients writing in different DBs @@ -1815,7 +1894,7 @@ [ok]: First server should have role slave after SLAVEOF [ok]: Replication: commands with many arguments (issue #1221) [ok]: Replication of SPOP command -- alsoPropagate() API -[29/58 done]: integration/replication-4 (27 seconds) +[29/58 done]: integration/replication-4 (57 seconds) Testing integration/replication-psync [ok]: Slave should be able to synchronize with the master [ok]: Detect write load to master @@ -1877,7 +1956,7 @@ [ok]: Slave should be able to synchronize with the master [ok]: Detect write load to master [ok]: Test replication partial resync: backlog expired (diskless: yes, swapdb, reconnect: 1) -[30/58 done]: integration/replication-psync (202 seconds) +[30/58 done]: integration/replication-psync (210 seconds) Testing integration/aof [ok]: Unfinished MULTI: Server should start if load-truncated is yes [ok]: Short read: Server should start if load-truncated is yes @@ -1900,7 +1979,7 @@ [ok]: AOF+EXPIRE: List should be empty [ok]: Redis should not try to convert DEL into EXPIREAT for EXPIRE -1 [ok]: AOF fsync always barrier issue -[31/58 done]: integration/aof (8 seconds) +[31/58 done]: integration/aof (9 seconds) Testing integration/rdb [ok]: RDB encoding loading test [ok]: Server started empty with non-existing RDB file @@ -1911,75 +1990,75 @@ [ok]: Test FLUSHALL aborts bgsave [ok]: bgsave resets the change counter [ok]: client freed during loading -[32/58 done]: integration/rdb (7 seconds) +[32/58 done]: integration/rdb (9 seconds) Testing integration/convert-zipmap-hash-on-load [ok]: RDB load zipmap hash: converts to ziplist [ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-entries is exceeded [ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-value is exceeded -[33/58 done]: integration/convert-zipmap-hash-on-load (0 seconds) +[33/58 done]: integration/convert-zipmap-hash-on-load (1 seconds) Testing integration/logging [ok]: Server is able to generate a stack trace on selected systems [34/58 done]: integration/logging (1 seconds) Testing integration/psync2 [ok]: PSYNC2: --- CYCLE 1 --- -[ok]: PSYNC2: [NEW LAYOUT] Set #1 as master -[ok]: PSYNC2: Set #0 to replicate from #1 -[ok]: PSYNC2: Set #2 to replicate from #0 -[ok]: PSYNC2: Set #3 to replicate from #0 -[ok]: PSYNC2: Set #4 to replicate from #1 +[ok]: PSYNC2: [NEW LAYOUT] Set #3 as master +[ok]: PSYNC2: Set #1 to replicate from #3 +[ok]: PSYNC2: Set #2 to replicate from #1 +[ok]: PSYNC2: Set #4 to replicate from #3 +[ok]: PSYNC2: Set #0 to replicate from #2 [ok]: PSYNC2: cluster is consistent after failover [ok]: PSYNC2: generate load while killing replication links -[ok]: PSYNC2: cluster is consistent after load (x = 48796) +[ok]: PSYNC2: cluster is consistent after load (x = 25165) [ok]: PSYNC2: total sum of full synchronizations is exactly 4 [ok]: PSYNC2: --- CYCLE 2 --- -[ok]: PSYNC2: [NEW LAYOUT] Set #1 as master +[ok]: PSYNC2: [NEW LAYOUT] Set #0 as master +[ok]: PSYNC2: Set #1 to replicate from #0 [ok]: PSYNC2: Set #2 to replicate from #1 -[ok]: PSYNC2: Set #4 to replicate from #2 -[ok]: PSYNC2: Set #3 to replicate from #2 -[ok]: PSYNC2: Set #0 to replicate from #3 +[ok]: PSYNC2: Set #4 to replicate from #1 +[ok]: PSYNC2: Set #3 to replicate from #4 [ok]: PSYNC2: cluster is consistent after failover [ok]: PSYNC2: generate load while killing replication links -[ok]: PSYNC2: cluster is consistent after load (x = 98297) +[ok]: PSYNC2: cluster is consistent after load (x = 50510) [ok]: PSYNC2: total sum of full synchronizations is exactly 4 [ok]: PSYNC2: --- CYCLE 3 --- -[ok]: PSYNC2: [NEW LAYOUT] Set #0 as master -[ok]: PSYNC2: Set #3 to replicate from #0 -[ok]: PSYNC2: Set #2 to replicate from #3 -[ok]: PSYNC2: Set #1 to replicate from #3 +[ok]: PSYNC2: [NEW LAYOUT] Set #3 as master [ok]: PSYNC2: Set #4 to replicate from #3 +[ok]: PSYNC2: Set #1 to replicate from #4 +[ok]: PSYNC2: Set #2 to replicate from #4 +[ok]: PSYNC2: Set #0 to replicate from #4 [ok]: PSYNC2: cluster is consistent after failover [ok]: PSYNC2: generate load while killing replication links -[ok]: PSYNC2: cluster is consistent after load (x = 153027) +[ok]: PSYNC2: cluster is consistent after load (x = 78555) [ok]: PSYNC2: total sum of full synchronizations is exactly 4 [ok]: PSYNC2: --- CYCLE 4 --- -[ok]: PSYNC2: [NEW LAYOUT] Set #4 as master -[ok]: PSYNC2: Set #0 to replicate from #4 -[ok]: PSYNC2: Set #3 to replicate from #4 -[ok]: PSYNC2: Set #1 to replicate from #3 -[ok]: PSYNC2: Set #2 to replicate from #1 +[ok]: PSYNC2: [NEW LAYOUT] Set #0 as master +[ok]: PSYNC2: Set #1 to replicate from #0 +[ok]: PSYNC2: Set #4 to replicate from #1 +[ok]: PSYNC2: Set #2 to replicate from #0 +[ok]: PSYNC2: Set #3 to replicate from #2 [ok]: PSYNC2: cluster is consistent after failover [ok]: PSYNC2: generate load while killing replication links -[ok]: PSYNC2: cluster is consistent after load (x = 208440) +[ok]: PSYNC2: cluster is consistent after load (x = 101098) [ok]: PSYNC2: total sum of full synchronizations is exactly 4 [ok]: PSYNC2: --- CYCLE 5 --- -[ok]: PSYNC2: [NEW LAYOUT] Set #3 as master -[ok]: PSYNC2: Set #1 to replicate from #3 -[ok]: PSYNC2: Set #4 to replicate from #1 -[ok]: PSYNC2: Set #2 to replicate from #1 -[ok]: PSYNC2: Set #0 to replicate from #4 +[ok]: PSYNC2: [NEW LAYOUT] Set #0 as master +[ok]: PSYNC2: Set #2 to replicate from #0 +[ok]: PSYNC2: Set #3 to replicate from #2 +[ok]: PSYNC2: Set #4 to replicate from #0 +[ok]: PSYNC2: Set #1 to replicate from #4 [ok]: PSYNC2: cluster is consistent after failover [ok]: PSYNC2: generate load while killing replication links -[ok]: PSYNC2: cluster is consistent after load (x = 272422) +[ok]: PSYNC2: cluster is consistent after load (x = 121483) [ok]: PSYNC2: total sum of full synchronizations is exactly 4 [ok]: PSYNC2: --- CYCLE 6 --- -[ok]: PSYNC2: [NEW LAYOUT] Set #1 as master -[ok]: PSYNC2: Set #4 to replicate from #1 -[ok]: PSYNC2: Set #0 to replicate from #1 -[ok]: PSYNC2: Set #3 to replicate from #4 +[ok]: PSYNC2: [NEW LAYOUT] Set #0 as master +[ok]: PSYNC2: Set #3 to replicate from #0 +[ok]: PSYNC2: Set #1 to replicate from #0 [ok]: PSYNC2: Set #2 to replicate from #1 +[ok]: PSYNC2: Set #4 to replicate from #1 [ok]: PSYNC2: cluster is consistent after failover [ok]: PSYNC2: generate load while killing replication links -[ok]: PSYNC2: cluster is consistent after load (x = 326127) +[ok]: PSYNC2: cluster is consistent after load (x = 143745) [ok]: PSYNC2: total sum of full synchronizations is exactly 4 [ok]: PSYNC2: Bring the master back again for next test [ok]: PSYNC2: Partial resync after restart using RDB aux fields @@ -1987,23 +2066,22 @@ [35/58 done]: integration/psync2 (47 seconds) Testing integration/psync2-reg [ok]: PSYNC2 #3899 regression: setup -[ok]: PSYNC2 #3899 regression: kill first replica -[ok]: PSYNC2 #3899 regression: kill first replica [ok]: PSYNC2 #3899 regression: kill chained replica [ok]: PSYNC2 #3899 regression: kill first replica [ok]: PSYNC2 #3899 regression: kill first replica [ok]: PSYNC2 #3899 regression: kill chained replica +[ok]: PSYNC2 #3899 regression: kill chained replica [ok]: PSYNC2 #3899 regression: kill first replica [ok]: PSYNC2 #3899 regression: kill first replica -[ok]: PSYNC2 #3899 regression: kill chained replica -[ok]: PSYNC2 #3899 regression: kill chained replica [ok]: PSYNC2 #3899 regression: kill first replica [ok]: PSYNC2 #3899 regression: kill first replica [ok]: PSYNC2 #3899 regression: kill first replica -[ok]: PSYNC2 #3899 regression: kill chained replica [ok]: PSYNC2 #3899 regression: kill first replica [ok]: PSYNC2 #3899 regression: kill chained replica -[ok]: PSYNC2 #3899 regression: kill first replica +[ok]: PSYNC2 #3899 regression: kill chained replica +[ok]: PSYNC2 #3899 regression: kill chained replica +[ok]: PSYNC2 #3899 regression: kill chained replica +[ok]: PSYNC2 #3899 regression: kill chained replica [ok]: PSYNC2 #3899 regression: kill chained replica [ok]: PSYNC2 #3899 regression: kill first replica [ok]: PSYNC2 #3899 regression: kill first replica @@ -2020,7 +2098,7 @@ [ok]: Make the old master a replica of the new one and check conditions [ok]: test various edge cases of repl topology changes with missing pings at the end [ok]: Chained replicas disconnect when replica re-connect with the same master -[37/58 done]: integration/psync2-pingoff (20 seconds) +[37/58 done]: integration/psync2-pingoff (23 seconds) Testing integration/redis-cli [ok]: Interactive CLI: INFO response should be printed raw [ok]: Interactive CLI: Status reply @@ -2043,7 +2121,7 @@ [ok]: Dumping an RDB [ok]: Connecting as a replica [ok]: Piping raw protocol -[38/58 done]: integration/redis-cli (8 seconds) +[38/58 done]: integration/redis-cli (9 seconds) Testing unit/pubsub [ok]: Pub/Sub PING [ok]: PUBLISH/SUBSCRIBE basics @@ -2071,7 +2149,7 @@ [ok]: Keyspace notifications: expired events (background expire) [ok]: Keyspace notifications: evicted events [ok]: Keyspace notifications: test CONFIG GET/SET of event flags -[39/58 done]: unit/pubsub (1 seconds) +[39/58 done]: unit/pubsub (2 seconds) Testing unit/slowlog [ok]: SLOWLOG - check that it starts with an empty log [ok]: SLOWLOG - only logs commands taking more time than specified @@ -2174,7 +2252,7 @@ [ok]: PRNG is seeded randomly for command replication [ok]: Using side effects is not a problem with command replication [ok]: Test scripting debug protocol parsing -[41/58 done]: unit/scripting (9 seconds) +[41/58 done]: unit/scripting (18 seconds) Testing unit/maxmemory [ok]: Without maxmemory small integers are shared [ok]: With maxmemory and non-LRU policy integers are still shared @@ -2198,7 +2276,7 @@ [ok]: slave buffer are counted correctly [ok]: replica buffer don't induce eviction [ok]: client tracking don't cause eviction feedback loop -[42/58 done]: unit/maxmemory (34 seconds) +[42/58 done]: unit/maxmemory (57 seconds) Testing unit/introspection [ok]: CLIENT LIST [ok]: MONITOR can log executed commands @@ -2211,7 +2289,7 @@ [ok]: After CLIENT SETNAME, connection can still be closed [ok]: CONFIG sanity [ok]: CONFIG REWRITE sanity -[43/58 done]: unit/introspection (0 seconds) +[43/58 done]: unit/introspection (1 seconds) Testing unit/introspection-2 [ok]: TTL, TYPE and EXISTS do not alter the last access time of a key [ok]: TOUCH alters the last access time of a key @@ -2221,10 +2299,10 @@ [ok]: command stats for BRPOP [ok]: command stats for MULTI [ok]: command stats for scripts -[44/58 done]: unit/introspection-2 (7 seconds) +[44/58 done]: unit/introspection-2 (6 seconds) Testing unit/limits [ok]: Check if maxclients works refusing connections -[45/58 done]: unit/limits (1 seconds) +[45/58 done]: unit/limits (2 seconds) Testing unit/obuf-limits [ok]: Client output buffer hard limit is enforced [ok]: Client output buffer soft limit is not enforced if time is not overreached @@ -2232,7 +2310,7 @@ [ok]: No response for single command if client output buffer hard limit is enforced [ok]: No response for multi commands in pipeline if client output buffer limit is enforced [ok]: Execute transactions completely even if client output buffer limit is enforced -[46/58 done]: unit/obuf-limits (25 seconds) +[46/58 done]: unit/obuf-limits (32 seconds) Testing unit/bitops [ok]: BITCOUNT returns 0 against non existing key [ok]: BITCOUNT returns 0 with out of range indexes @@ -2276,7 +2354,7 @@ [ok]: BITPOS bit=0 changes behavior if end is given [ok]: BITPOS bit=1 fuzzy testing using SETBIT [ok]: BITPOS bit=0 fuzzy testing using SETBIT -[47/58 done]: unit/bitops (2 seconds) +[47/58 done]: unit/bitops (3 seconds) Testing unit/bitfield [ok]: BITFIELD signed SET and GET basics [ok]: BITFIELD unsigned SET and GET basics @@ -2294,7 +2372,7 @@ [ok]: BITFIELD: setup slave [ok]: BITFIELD: write on master, read on slave [ok]: BITFIELD_RO fails when write option is used -[48/58 done]: unit/bitfield (2 seconds) +[48/58 done]: unit/bitfield (3 seconds) Testing unit/geo [ok]: GEOADD create [ok]: GEOADD update @@ -2320,7 +2398,7 @@ [ok]: GEORANGE STOREDIST option: plain usage [ok]: GEORANGE STOREDIST option: COUNT ASC and DESC [ok]: GEOADD + GEORANGE randomized test -[49/58 done]: unit/geo (18 seconds) +[49/58 done]: unit/geo (31 seconds) Testing unit/memefficiency [ok]: Memory efficiency with values in range 32 [ok]: Memory efficiency with values in range 64 @@ -2334,12 +2412,12 @@ [err]: Active defrag big list in tests/unit/memefficiency.tcl defrag not started. -Logged warnings (pid 114760): +Logged warnings (pid 29996): (none) [err]: Active defrag edge case in tests/unit/memefficiency.tcl defrag not started. -[50/58 done]: unit/memefficiency (101 seconds) +[50/58 done]: unit/memefficiency (201 seconds) Testing unit/hyperloglog [ok]: HyperLogLog self test passes [ok]: PFADD without arguments creates an HLL value @@ -2361,20 +2439,20 @@ [ok]: PFCOUNT multiple-keys merge returns cardinality of union #2 [ok]: PFDEBUG GETREG returns the HyperLogLog raw registers [ok]: PFADD / PFCOUNT cache invalidation works -[51/58 done]: unit/hyperloglog (67 seconds) +[51/58 done]: unit/hyperloglog (73 seconds) Testing unit/lazyfree [ok]: UNLINK can reclaim memory in background [ok]: FLUSHDB ASYNC can reclaim memory in background -[52/58 done]: unit/lazyfree (2 seconds) +[52/58 done]: unit/lazyfree (1 seconds) Testing unit/wait [ok]: Setup slave [ok]: WAIT should acknowledge 1 additional copy of the data [ok]: WAIT should not acknowledge 2 additional copies of the data [ok]: WAIT should not acknowledge 1 additional copy if slave is blocked -[53/58 done]: unit/wait (6 seconds) +[53/58 done]: unit/wait (7 seconds) Testing unit/pendingquerybuf [ok]: pending querybuf: check size of pending_querybuf after set a big value -[54/58 done]: unit/pendingquerybuf (8 seconds) +[54/58 done]: unit/pendingquerybuf (9 seconds) Testing unit/tls [ok]: TLS: Not accepting non-TLS connections on a TLS port [ok]: TLS: Verify tls-auth-clients behaves as expected @@ -2408,60 +2486,60 @@ The End Execution time of different units: - 0 seconds - unit/printver - 27 seconds - unit/dump + 1 seconds - unit/printver + 35 seconds - unit/dump 1 seconds - unit/auth - 1 seconds - unit/protocol + 3 seconds - unit/protocol 1 seconds - unit/keyspace - 9 seconds - unit/scan - 8 seconds - unit/type/string - 0 seconds - unit/type/incr + 17 seconds - unit/scan + 14 seconds - unit/type/string + 1 seconds - unit/type/incr 13 seconds - unit/type/list - 14 seconds - unit/type/list-2 - 109 seconds - unit/type/list-3 - 6 seconds - unit/type/set - 11 seconds - unit/type/zset - 4 seconds - unit/type/hash - 20 seconds - unit/type/stream - 5 seconds - unit/type/stream-cgroups - 9 seconds - unit/sort - 15 seconds - unit/expire - 9 seconds - unit/other - 4 seconds - unit/multi - 0 seconds - unit/quit - 49 seconds - unit/aofrw + 24 seconds - unit/type/list-2 + 123 seconds - unit/type/list-3 + 11 seconds - unit/type/set + 17 seconds - unit/type/zset + 7 seconds - unit/type/hash + 41 seconds - unit/type/stream + 7 seconds - unit/type/stream-cgroups + 17 seconds - unit/sort + 16 seconds - unit/expire + 15 seconds - unit/other + 6 seconds - unit/multi + 1 seconds - unit/quit + 46 seconds - unit/aofrw 1 seconds - unit/acl - 8 seconds - unit/latency-monitor - 26 seconds - integration/block-repl - 196 seconds - integration/replication - 14 seconds - integration/replication-2 - 29 seconds - integration/replication-3 - 27 seconds - integration/replication-4 - 202 seconds - integration/replication-psync - 8 seconds - integration/aof - 7 seconds - integration/rdb - 0 seconds - integration/convert-zipmap-hash-on-load + 18 seconds - unit/latency-monitor + 27 seconds - integration/block-repl + 389 seconds - integration/replication + 26 seconds - integration/replication-2 + 59 seconds - integration/replication-3 + 57 seconds - integration/replication-4 + 210 seconds - integration/replication-psync + 9 seconds - integration/aof + 9 seconds - integration/rdb + 1 seconds - integration/convert-zipmap-hash-on-load 1 seconds - integration/logging 47 seconds - integration/psync2 23 seconds - integration/psync2-reg - 20 seconds - integration/psync2-pingoff - 8 seconds - integration/redis-cli - 1 seconds - unit/pubsub + 23 seconds - integration/psync2-pingoff + 9 seconds - integration/redis-cli + 2 seconds - unit/pubsub 1 seconds - unit/slowlog - 9 seconds - unit/scripting - 34 seconds - unit/maxmemory - 0 seconds - unit/introspection - 7 seconds - unit/introspection-2 - 1 seconds - unit/limits - 25 seconds - unit/obuf-limits - 2 seconds - unit/bitops - 2 seconds - unit/bitfield - 18 seconds - unit/geo - 101 seconds - unit/memefficiency - 67 seconds - unit/hyperloglog - 2 seconds - unit/lazyfree - 6 seconds - unit/wait - 8 seconds - unit/pendingquerybuf + 18 seconds - unit/scripting + 57 seconds - unit/maxmemory + 1 seconds - unit/introspection + 6 seconds - unit/introspection-2 + 2 seconds - unit/limits + 32 seconds - unit/obuf-limits + 3 seconds - unit/bitops + 3 seconds - unit/bitfield + 31 seconds - unit/geo + 201 seconds - unit/memefficiency + 73 seconds - unit/hyperloglog + 1 seconds - unit/lazyfree + 7 seconds - unit/wait + 9 seconds - unit/pendingquerybuf 1 seconds - unit/tls 2 seconds - unit/tracking 1 seconds - unit/oom-score-adj @@ -2469,6 +2547,10 @@ !!! WARNING The following tests failed: +*** [err]: diskless no replicas drop during rdb pipe in tests/integration/replication.tcl +rdb child didn't terminate +*** [err]: diskless timeout replicas drop during rdb pipe in tests/integration/replication.tcl +log message of '"*Diskless rdb transfer, done reading from pipe, 1 replicas still up*"' not found in ./tests/tmp/server.3956.162/stdout after line: 146 till line: 155 *** [err]: Active defrag in tests/unit/memefficiency.tcl defrag not started. *** [err]: Active defrag big keys in tests/unit/memefficiency.tcl @@ -2500,435 +2582,442 @@ Starting redis #18 at port 30018 Starting redis #19 at port 30019 Testing unit: 00-base.tcl -12:43:13> (init) Restart killed instances: OK -12:43:13> Cluster nodes are reachable: OK -12:43:14> Cluster nodes hard reset: OK -12:43:14> Cluster Join and auto-discovery test: OK -12:43:17> Before slots allocation, all nodes report cluster failure: OK -12:43:17> Different nodes have different IDs: OK -12:43:17> It is possible to perform slot allocation: OK -12:43:17> After the join, every node gets a different config epoch: OK -12:43:17> Nodes should report cluster_state is ok now: OK -12:43:21> It is possible to write and read from the cluster: OK +09:25:02> (init) Restart killed instances: OK +09:25:02> Cluster nodes are reachable: OK +09:25:03> Cluster nodes hard reset: OK +09:25:03> Cluster Join and auto-discovery test: OK +09:25:07> Before slots allocation, all nodes report cluster failure: OK +09:25:07> Different nodes have different IDs: OK +09:25:07> It is possible to perform slot allocation: OK +09:25:08> After the join, every node gets a different config epoch: OK +09:25:08> Nodes should report cluster_state is ok now: OK +09:25:11> It is possible to write and read from the cluster: OK Testing unit: 01-faildet.tcl -12:43:21> (init) Restart killed instances: OK -12:43:21> Cluster nodes are reachable: OK -12:43:21> Cluster nodes hard reset: OK -12:43:22> Cluster Join and auto-discovery test: OK -12:43:26> Before slots allocation, all nodes report cluster failure: OK -12:43:26> Create a 5 nodes cluster: OK -12:43:30> Cluster should start ok: OK -12:43:30> Killing two slave nodes: OK -12:43:30> Cluster should be still up: OK -12:43:30> Killing one master node: OK -12:43:30> Cluster should be down now: OK -12:43:34> Restarting master node: OK -12:43:35> Cluster should be up again: OK +09:25:11> (init) Restart killed instances: OK +09:25:11> Cluster nodes are reachable: OK +09:25:11> Cluster nodes hard reset: OK +09:25:12> Cluster Join and auto-discovery test: OK +09:25:15> Before slots allocation, all nodes report cluster failure: OK +09:25:15> Create a 5 nodes cluster: OK +09:25:19> Cluster should start ok: OK +09:25:19> Killing two slave nodes: OK +09:25:19> Cluster should be still up: OK +09:25:20> Killing one master node: OK +09:25:20> Cluster should be down now: OK +09:25:24> Restarting master node: OK +09:25:25> Cluster should be up again: OK Testing unit: 02-failover.tcl -12:43:41> (init) Restart killed instances: redis/5 redis/6 OK -12:43:42> Cluster nodes are reachable: OK -12:43:42> Cluster nodes hard reset: OK -12:43:43> Cluster Join and auto-discovery test: OK -12:43:46> Before slots allocation, all nodes report cluster failure: OK -12:43:46> Create a 5 nodes cluster: OK -12:43:50> Cluster is up: OK -12:43:50> Cluster is writable: OK -12:43:51> Instance #5 is a slave: OK -12:43:51> Instance #5 synced with the master: OK -12:43:51> Killing one master node: OK -12:43:51> Wait for failover: OK -12:43:56> Cluster should eventually be up again: OK -12:43:56> Cluster is writable: OK -12:43:56> Instance #5 is now a master: OK -12:43:56> Restarting the previously killed master node: OK -12:43:57> Instance #0 gets converted into a slave: OK +09:25:31> (init) Restart killed instances: redis/5 redis/6 OK +09:25:34> Cluster nodes are reachable: OK +09:25:34> Cluster nodes hard reset: OK +09:25:37> Cluster Join and auto-discovery test: OK +09:25:41> Before slots allocation, all nodes report cluster failure: OK +09:25:41> Create a 5 nodes cluster: OK +09:25:44> Cluster is up: OK +09:25:44> Cluster is writable: OK +09:25:45> Instance #5 is a slave: OK +09:25:45> Instance #5 synced with the master: OK +09:25:45> Killing one master node: OK +09:25:45> Wait for failover: OK +09:25:50> Cluster should eventually be up again: OK +09:25:51> Cluster is writable: OK +09:25:52> Instance #5 is now a master: OK +09:25:52> Restarting the previously killed master node: OK +09:25:53> Instance #0 gets converted into a slave: OK Testing unit: 03-failover-loop.tcl -12:43:57> (init) Restart killed instances: OK -12:43:57> Cluster nodes are reachable: OK -12:43:57> Cluster nodes hard reset: OK -12:43:57> Cluster Join and auto-discovery test: OK -12:44:01> Before slots allocation, all nodes report cluster failure: OK -12:44:01> Create a 5 nodes cluster: OK -12:44:05> Cluster is up: OK +09:25:53> (init) Restart killed instances: OK +09:25:53> Cluster nodes are reachable: OK +09:25:53> Cluster nodes hard reset: OK +09:25:54> Cluster Join and auto-discovery test: OK +09:25:58> Before slots allocation, all nodes report cluster failure: OK +09:25:58> Create a 5 nodes cluster: OK +09:26:03> Cluster is up: OK --- Iteration 19 --- -12:44:05> Cluster is writable before failover: OK -12:44:05> Killing node #6: OK -12:44:05> Cluster should eventually be up again: OK -12:44:05> Cluster is writable again: OK -12:44:06> Restarting node #6: OK -12:44:06> Instance #6 is now a slave: OK -12:44:06> We can read back the value we set before: OK +09:26:04> Cluster is writable before failover: OK +09:26:05> Killing node #9: OK +09:26:05> Cluster should eventually be up again: OK +09:26:05> Cluster is writable again: OK +09:26:05> Restarting node #9: OK +09:26:07> Instance #9 is now a slave: OK +09:26:07> We can read back the value we set before: OK --- Iteration 18 --- -12:44:06> Cluster is writable before failover: OK -12:44:06> Killing node #6: OK -12:44:06> Cluster should eventually be up again: OK -12:44:06> Cluster is writable again: OK -12:44:06> Restarting node #6: OK -12:44:07> Instance #6 is now a slave: OK -12:44:07> We can read back the value we set before: OK +09:26:07> Cluster is writable before failover: OK +09:26:08> Killing node #8: OK +09:26:08> Cluster should eventually be up again: OK +09:26:08> Cluster is writable again: OK +09:26:08> Restarting node #8: OK +09:26:08> Instance #8 is now a slave: OK +09:26:08> We can read back the value we set before: OK --- Iteration 17 --- -12:44:07> Wait for slave of #1 to sync: OK -12:44:08> Cluster is writable before failover: OK -12:44:08> Killing node #1: OK -12:44:08> Wait failover by #6 with old epoch 2: OK -12:44:13> Cluster should eventually be up again: OK -12:44:13> Cluster is writable again: OK -12:44:14> Restarting node #1: OK -12:44:14> Instance #1 is now a slave: OK -12:44:14> We can read back the value we set before: OK +09:26:09> Wait for slave of #0 to sync: OK +09:26:09> Cluster is writable before failover: OK +09:26:10> Killing node #0: OK +09:26:10> Wait failover by #5 with old epoch 1: OK +09:26:15> Cluster should eventually be up again: OK +09:26:16> Cluster is writable again: OK +09:26:16> Restarting node #0: OK +09:26:17> Instance #0 is now a slave: OK +09:26:17> We can read back the value we set before: OK --- Iteration 16 --- -12:44:15> Wait for slave of #6 to sync: OK -12:44:15> Cluster is writable before failover: OK -12:44:15> Killing node #6: OK -12:44:16> Wait failover by #1 with old epoch 21: OK -12:44:20> Cluster should eventually be up again: OK -12:44:20> Cluster is writable again: OK -12:44:21> Restarting node #6: OK -12:44:22> Instance #6 is now a slave: OK -12:44:22> We can read back the value we set before: OK +09:26:17> Cluster is writable before failover: OK +09:26:18> Killing node #7: OK +09:26:18> Cluster should eventually be up again: OK +09:26:18> Cluster is writable again: OK +09:26:18> Restarting node #7: OK +09:26:19> Instance #7 is now a slave: OK +09:26:19> We can read back the value we set before: OK --- Iteration 15 --- -12:44:22> Cluster is writable before failover: OK -12:44:22> Killing node #7: OK -12:44:22> Cluster should eventually be up again: OK -12:44:22> Cluster is writable again: OK -12:44:22> Restarting node #7: OK -12:44:23> Instance #7 is now a slave: OK -12:44:23> We can read back the value we set before: OK +09:26:19> Cluster is writable before failover: OK +09:26:19> Killing node #7: OK +09:26:19> Cluster should eventually be up again: OK +09:26:19> Cluster is writable again: OK +09:26:19> Restarting node #7: OK +09:26:20> Instance #7 is now a slave: OK +09:26:20> We can read back the value we set before: OK --- Iteration 14 --- -12:44:23> Wait for slave of #2 to sync: OK -12:44:24> Cluster is writable before failover: OK -12:44:24> Killing node #2: OK -12:44:24> Wait failover by #7 with old epoch 3: OK -12:44:29> Cluster should eventually be up again: OK -12:44:29> Cluster is writable again: OK -12:44:29> Restarting node #2: OK -12:44:30> Instance #2 is now a slave: OK -12:44:30> We can read back the value we set before: OK +09:26:20> Wait for slave of #1 to sync: OK +09:26:20> Cluster is writable before failover: OK +09:26:20> Killing node #1: OK +09:26:20> Wait failover by #6 with old epoch 2: OK +09:26:25> Cluster should eventually be up again: OK +09:26:25> Cluster is writable again: OK +09:26:26> Restarting node #1: OK +09:26:27> Instance #1 is now a slave: OK +09:26:27> We can read back the value we set before: OK --- Iteration 13 --- -12:44:30> Cluster is writable before failover: OK -12:44:30> Killing node #8: OK -12:44:30> Cluster should eventually be up again: OK -12:44:30> Cluster is writable again: OK -12:44:30> Restarting node #8: OK -12:44:31> Instance #8 is now a slave: OK -12:44:31> We can read back the value we set before: OK +09:26:27> Cluster is writable before failover: OK +09:26:28> Killing node #9: OK +09:26:28> Cluster should eventually be up again: OK +09:26:28> Cluster is writable again: OK +09:26:28> Restarting node #9: OK +09:26:29> Instance #9 is now a slave: OK +09:26:29> We can read back the value we set before: OK --- Iteration 12 --- -12:44:31> Cluster is writable before failover: OK -12:44:31> Killing node #5: OK -12:44:31> Cluster should eventually be up again: OK -12:44:31> Cluster is writable again: OK -12:44:31> Restarting node #5: OK -12:44:32> Instance #5 is now a slave: OK -12:44:32> We can read back the value we set before: OK +09:26:29> Wait for slave of #2 to sync: OK +09:26:29> Cluster is writable before failover: OK +09:26:29> Killing node #2: OK +09:26:29> Wait failover by #7 with old epoch 3: OK +09:26:33> Cluster should eventually be up again: OK +09:26:33> Cluster is writable again: OK +09:26:35> Restarting node #2: OK +09:26:37> Instance #2 is now a slave: OK +09:26:37> We can read back the value we set before: OK --- Iteration 11 --- -12:44:32> Cluster is writable before failover: OK -12:44:32> Killing node #8: OK -12:44:32> Cluster should eventually be up again: OK -12:44:32> Cluster is writable again: OK -12:44:32> Restarting node #8: OK -12:44:33> Instance #8 is now a slave: OK -12:44:33> We can read back the value we set before: OK +09:26:39> Wait for slave of #5 to sync: OK +09:26:39> Cluster is writable before failover: OK +09:26:39> Killing node #5: OK +09:26:39> Wait failover by #0 with old epoch 21: OK +09:26:44> Cluster should eventually be up again: OK +09:26:44> Cluster is writable again: OK +09:26:44> Restarting node #5: OK +09:26:45> Instance #5 is now a slave: OK +09:26:45> We can read back the value we set before: OK --- Iteration 10 --- -12:44:33> Wait for slave of #0 to sync: OK -12:44:33> Cluster is writable before failover: OK -12:44:33> Killing node #0: OK -12:44:33> Wait failover by #5 with old epoch 1: OK -12:44:39> Cluster should eventually be up again: OK -12:44:39> Cluster is writable again: OK -12:44:39> Restarting node #0: OK -12:44:40> Instance #0 is now a slave: OK -12:44:40> We can read back the value we set before: OK +09:26:45> Wait for slave of #3 to sync: OK +09:26:45> Cluster is writable before failover: OK +09:26:45> Killing node #3: OK +09:26:45> Wait failover by #8 with old epoch 4: OK +09:26:50> Cluster should eventually be up again: OK +09:26:51> Cluster is writable again: OK +09:26:53> Restarting node #3: OK +09:26:54> Instance #3 is now a slave: OK +09:26:54> We can read back the value we set before: OK --- Iteration 9 --- -12:44:40> Cluster is writable before failover: OK -12:44:40> Killing node #2: OK -12:44:40> Cluster should eventually be up again: OK -12:44:40> Cluster is writable again: OK -12:44:40> Restarting node #2: OK -12:44:41> Instance #2 is now a slave: OK -12:44:41> We can read back the value we set before: OK +09:26:55> Wait for slave of #6 to sync: OK +09:26:55> Cluster is writable before failover: OK +09:26:55> Killing node #6: OK +09:26:55> Wait failover by #1 with old epoch 22: OK +09:27:00> Cluster should eventually be up again: OK +09:27:00> Cluster is writable again: OK +09:27:00> Restarting node #6: OK +09:27:01> Instance #6 is now a slave: OK +09:27:01> We can read back the value we set before: OK --- Iteration 8 --- -12:44:41> Wait for slave of #7 to sync: OK -12:44:42> Cluster is writable before failover: OK -12:44:42> Killing node #7: OK -12:44:42> Wait failover by #2 with old epoch 23: OK -12:44:46> Cluster should eventually be up again: OK -12:44:46> Cluster is writable again: OK -12:44:47> Restarting node #7: OK -12:44:47> Instance #7 is now a slave: OK -12:44:47> We can read back the value we set before: OK +09:27:01> Cluster is writable before failover: OK +09:27:01> Killing node #3: OK +09:27:01> Cluster should eventually be up again: OK +09:27:01> Cluster is writable again: OK +09:27:02> Restarting node #3: OK +09:27:02> Instance #3 is now a slave: OK +09:27:02> We can read back the value we set before: OK --- Iteration 7 --- -12:44:48> Cluster is writable before failover: OK -12:44:48> Killing node #0: OK -12:44:48> Cluster should eventually be up again: OK -12:44:48> Cluster is writable again: OK -12:44:48> Restarting node #0: OK -12:44:48> Instance #0 is now a slave: OK -12:44:48> We can read back the value we set before: OK +09:27:02> Cluster is writable before failover: OK +09:27:02> Killing node #6: Waiting for process 7664 to exit... +Waiting for process 7664 to exit... +Waiting for process 7664 to exit... +Waiting for process 7664 to exit... +Waiting for process 7664 to exit... +Waiting for process 7664 to exit... +Waiting for process 7664 to exit... +Waiting for process 7664 to exit... +Waiting for process 7664 to exit... +Forcing process 7664 to exit... +OK +09:27:43> Cluster should eventually be up again: OK +09:27:43> Cluster is writable again: OK +09:27:43> Restarting node #6: OK +09:27:44> Instance #6 is now a slave: OK +09:27:44> We can read back the value we set before: OK --- Iteration 6 --- -12:44:49> Wait for slave of #5 to sync: OK -12:44:49> Cluster is writable before failover: OK -12:44:49> Killing node #5: OK -12:44:50> Wait failover by #0 with old epoch 24: OK -12:44:54> Cluster should eventually be up again: OK -12:44:54> Cluster is writable again: OK -12:44:55> Restarting node #5: OK -12:44:55> Instance #5 is now a slave: OK -12:44:55> We can read back the value we set before: OK +09:27:44> Cluster is writable before failover: OK +09:27:45> Killing node #9: OK +09:27:45> Cluster should eventually be up again: OK +09:27:45> Cluster is writable again: OK +09:27:45> Restarting node #9: OK +09:27:46> Instance #9 is now a slave: OK +09:27:46> We can read back the value we set before: OK --- Iteration 5 --- -12:44:55> Cluster is writable before failover: OK -12:44:55> Killing node #5: OK -12:44:55> Cluster should eventually be up again: OK -12:44:55> Cluster is writable again: OK -12:44:56> Restarting node #5: OK -12:44:56> Instance #5 is now a slave: OK -12:44:56> We can read back the value we set before: OK +09:27:46> Cluster is writable before failover: OK +09:27:46> Killing node #6: OK +09:27:46> Cluster should eventually be up again: OK +09:27:46> Cluster is writable again: OK +09:27:47> Restarting node #6: OK +09:27:48> Instance #6 is now a slave: OK +09:27:48> We can read back the value we set before: OK --- Iteration 4 --- -12:44:56> Wait for slave of #2 to sync: OK -12:44:56> Cluster is writable before failover: OK -12:44:57> Killing node #2: OK -12:44:57> Wait failover by #7 with old epoch 25: OK -12:45:01> Cluster should eventually be up again: OK -12:45:01> Cluster is writable again: OK -12:45:02> Restarting node #2: OK -12:45:02> Instance #2 is now a slave: OK -12:45:02> We can read back the value we set before: OK +09:27:48> Cluster is writable before failover: OK +09:27:48> Killing node #6: OK +09:27:48> Cluster should eventually be up again: OK +09:27:48> Cluster is writable again: OK +09:27:48> Restarting node #6: OK +09:27:50> Instance #6 is now a slave: OK +09:27:50> We can read back the value we set before: OK --- Iteration 3 --- -12:45:02> Cluster is writable before failover: OK -12:45:02> Killing node #8: OK -12:45:02> Cluster should eventually be up again: OK -12:45:03> Cluster is writable again: OK -12:45:03> Restarting node #8: OK -12:45:03> Instance #8 is now a slave: OK -12:45:03> We can read back the value we set before: OK +09:27:51> Wait for slave of #7 to sync: OK +09:27:51> Cluster is writable before failover: OK +09:27:51> Killing node #7: OK +09:27:51> Wait failover by #2 with old epoch 23: OK +09:27:55> Cluster should eventually be up again: OK +09:27:55> Cluster is writable again: OK +09:27:55> Restarting node #7: OK +09:27:56> Instance #7 is now a slave: OK +09:27:56> We can read back the value we set before: OK --- Iteration 2 --- -12:45:04> Wait for slave of #4 to sync: OK -12:45:04> Cluster is writable before failover: OK -12:45:04> Killing node #4: OK -12:45:04> Wait failover by #9 with old epoch 5: OK -12:45:08> Cluster should eventually be up again: OK -12:45:08> Cluster is writable again: OK -12:45:09> Restarting node #4: OK -12:45:09> Instance #4 is now a slave: OK -12:45:09> We can read back the value we set before: OK +09:27:57> Cluster is writable before failover: OK +09:27:57> Killing node #7: OK +09:27:57> Cluster should eventually be up again: OK +09:27:57> Cluster is writable again: OK +09:27:57> Restarting node #7: OK +09:27:57> Instance #7 is now a slave: OK +09:27:57> We can read back the value we set before: OK --- Iteration 1 --- -12:45:09> Cluster is writable before failover: OK -12:45:09> Killing node #6: OK -12:45:10> Cluster should eventually be up again: OK -12:45:10> Cluster is writable again: OK -12:45:10> Restarting node #6: OK -12:45:10> Instance #6 is now a slave: OK -12:45:10> We can read back the value we set before: OK -12:45:10> Post condition: current_epoch >= my_epoch everywhere: OK +09:27:58> Cluster is writable before failover: OK +09:27:58> Killing node #3: OK +09:27:58> Cluster should eventually be up again: OK +09:27:58> Cluster is writable again: OK +09:27:58> Restarting node #3: OK +09:27:58> Instance #3 is now a slave: OK +09:27:58> We can read back the value we set before: OK +09:27:58> Post condition: current_epoch >= my_epoch everywhere: OK Testing unit: 04-resharding.tcl -12:45:10> (init) Restart killed instances: OK -12:45:10> Cluster nodes are reachable: OK -12:45:11> Cluster nodes hard reset: OK -12:45:11> Cluster Join and auto-discovery test: OK -12:45:17> Before slots allocation, all nodes report cluster failure: OK -12:45:17> Create a 5 nodes cluster: OK -12:45:21> Cluster is up: OK -12:45:21> Enable AOF in all the instances: OK -12:45:21> Cluster consistency during live resharding: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...Starting resharding...W......W........................................................................W..............................................................................................................W................................................W.......................................................................W.................................................................................................................W............................................................................W................................................................................................W...............................................................................................................W............................................................................W.................................................................................W............................................................................................WWWWWWWW...Starting resharding...W...............................................................W.....................................................................................W..............................................................................................................................................................................W...................................................................................................................................W..............................................................................W..........................................................................................................W..................................................................................................................W.............................................................................................W..........................................................................................................................................W..........................Starting resharding...WW....................................*** Please fix your cluster problems before resharding -..................................WWWWWWWW...Starting resharding...WW.....................................................................................................................................W...........................................................................W.....................................................................................................W........................................................................................................................W...........................................................................................................................W.....................................................................W..........................................................................................................W..................................W....................................................................W............................................................................................................................................W..............................WWWWWWWW...Starting resharding...WW...............................................................W............................................................................................................................................W.................................................................................W.........................................................................................................................W...................................................................................................W................................................................................................W.....................................................................................................W................................................................................................................................................W............................................................................................................................................W......................................WWWWWWWWW...Starting resharding...W.........W............................................................................................................................W..............................................................................................W............................................................................W.........................................................................................................................................W.......................................................W.............................................................................W............................................................................................................W...................................................................................................................................................................W..........................................................................................W....................................................WWWWWWWWWOK -12:47:24> Verify 50000 keys for consistency with logical content: OK -12:47:39> Crash and restart all the instances: OK -12:47:55> Cluster should eventually be up again: OK -12:47:57> Verify 50000 keys after the crash & restart: OK -12:48:14> Disable AOF in all the instances: OK -12:48:14> Verify slaves consistency: OK +09:27:59> (init) Restart killed instances: OK +09:27:59> Cluster nodes are reachable: OK +09:27:59> Cluster nodes hard reset: OK +09:28:01> Cluster Join and auto-discovery test: OK +09:28:06> Before slots allocation, all nodes report cluster failure: OK +09:28:06> Create a 5 nodes cluster: OK +09:28:10> Cluster is up: OK +09:28:10> Enable AOF in all the instances: OK +09:28:10> Cluster consistency during live resharding: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...Starting resharding...WWW......W.............................................W............................................................................................................W.........................................W...............................................................W.......................................................................................................W...........................................................................W...........................................................................W.........................................................................................W.....................................................................W..................................................W................................................................................W...................................................................W..............................................................................................................WWWW...Starting resharding...WW.....................W......................................................W..........................................................W...................................................................W...............................................................................................................................................W..............................................................................................................W....................................W........................................................................................................................W.....................................................W.....................................................................................W................................................................W....................................................................................W..................................................................................W...................WWWWW...Starting resharding...WW............................................................W.............................................................................................W.............................................................................W....................................................W............................................................................W...........................................................................W....................................W........................................W.................................................................W........................................................................................................W...............................................................W...............................................................W................................................W................................................................................W.........................................W.........WWW...Starting resharding...WWW............................................................W...........................................................................................W.................................................................................................W................................................................................................................W....................................W..............................................................................................W.............................................................W..................................................................W...........................................W....................................................W................................................................................................................W.....................................................W.....................................W..................................................................WWWW...Starting resharding...W...........................................................................W..........................................................................W.........................................................................................................W...................................................................W............................................W..........................................W....................................................................W..........................................................................................................W.......................................W......................................................................W.............................................................................W......................................................................W.....................................................................W.......................................................................W..................WWWWWOK +09:33:44> Verify 50000 keys for consistency with logical content: OK +09:34:05> Crash and restart all the instances: OK +09:34:23> Cluster should eventually be up again: OK +09:34:25> Verify 50000 keys after the crash & restart: OK +09:34:48> Disable AOF in all the instances: OK +09:34:48> Verify slaves consistency: OK Testing unit: 05-slave-selection.tcl -12:48:16> (init) Restart killed instances: OK -12:48:16> Cluster nodes are reachable: OK -12:48:16> Cluster nodes hard reset: OK -12:48:17> Cluster Join and auto-discovery test: OK -12:48:21> Before slots allocation, all nodes report cluster failure: OK -12:48:21> Create a 5 nodes cluster: OK -12:48:25> Cluster is up: OK -12:48:25> The first master has actually two slaves: OK -12:48:25> Slaves of #0 are instance #5 and #10 as expected: OK -12:48:25> Instance #5 and #10 synced with the master: OK -12:48:25> Slaves are both able to receive and acknowledge writes: OK -12:48:25> Write data while slave #10 is paused and can't receive it: OK -12:48:36> Wait for instance #5 (and not #10) to turn into a master: OK -12:48:41> Wait for the node #10 to return alive before ending the test: OK -12:48:41> Cluster should eventually be up again: OK -12:48:41> Node #10 should eventually replicate node #5: OK -12:48:41> (init) Restart killed instances: redis/0 OK -12:48:42> Cluster nodes are reachable: OK -12:48:42> Cluster nodes hard reset: OK -12:48:42> Cluster Join and auto-discovery test: OK -12:48:45> Before slots allocation, all nodes report cluster failure: OK -12:48:45> Create a 3 nodes cluster: OK -12:48:48> Cluster is up: OK -12:48:48> The first master has actually 5 slaves: OK -12:48:48> Slaves of #0 are instance #3, #6, #9, #12 and #15 as expected: OK -12:48:48> Instance #3, #6, #9, #12 and #15 synced with the master: OK -12:48:48> New Master down consecutively: OK +09:34:51> (init) Restart killed instances: OK +09:34:51> Cluster nodes are reachable: OK +09:34:51> Cluster nodes hard reset: OK +09:34:52> Cluster Join and auto-discovery test: OK +09:34:57> Before slots allocation, all nodes report cluster failure: OK +09:34:57> Create a 5 nodes cluster: OK +09:35:01> Cluster is up: OK +09:35:02> The first master has actually two slaves: OK +09:35:02> Slaves of #0 are instance #5 and #10 as expected: OK +09:35:02> Instance #5 and #10 synced with the master: OK +09:35:02> Slaves are both able to receive and acknowledge writes: OK +09:35:03> Write data while slave #10 is paused and can't receive it: OK +09:35:13> Wait for instance #5 (and not #10) to turn into a master: OK +09:35:18> Wait for the node #10 to return alive before ending the test: OK +09:35:18> Cluster should eventually be up again: OK +09:35:18> Node #10 should eventually replicate node #5: OK +09:35:18> (init) Restart killed instances: redis/0 OK +09:35:19> Cluster nodes are reachable: OK +09:35:19> Cluster nodes hard reset: OK +09:35:19> Cluster Join and auto-discovery test: OK +09:35:24> Before slots allocation, all nodes report cluster failure: OK +09:35:24> Create a 3 nodes cluster: OK +09:35:29> Cluster is up: OK +09:35:29> The first master has actually 5 slaves: OK +09:35:29> Slaves of #0 are instance #3, #6, #9, #12 and #15 as expected: OK +09:35:29> Instance #3, #6, #9, #12 and #15 synced with the master: OK +09:35:29> New Master down consecutively: OK Testing unit: 06-slave-stop-cond.tcl -12:49:19> (init) Restart killed instances: redis/0 redis/6 redis/9 redis/12 redis/15 OK -12:49:22> Cluster nodes are reachable: OK -12:49:22> Cluster nodes hard reset: OK -12:49:22> Cluster Join and auto-discovery test: OK -12:49:27> Before slots allocation, all nodes report cluster failure: OK -12:49:27> Create a 5 nodes cluster: OK -12:49:31> Cluster is up: OK -12:49:31> The first master has actually one slave: OK -12:49:31> Slaves of #0 is instance #5 as expected: OK -12:49:31> Instance #5 synced with the master: OK -12:49:31> Lower the slave validity factor of #5 to the value of 2: OK -12:49:31> Break master-slave link and prevent further reconnections: OK -12:49:51> Slave #5 is reachable and alive: OK -12:49:51> Slave #5 should not be able to failover: OK -12:50:01> Cluster should be down: OK +09:36:03> (init) Restart killed instances: redis/0 redis/3 redis/6 redis/9 redis/15 OK +09:36:10> Cluster nodes are reachable: OK +09:36:10> Cluster nodes hard reset: OK +09:36:10> Cluster Join and auto-discovery test: OK +09:36:14> Before slots allocation, all nodes report cluster failure: OK +09:36:14> Create a 5 nodes cluster: OK +09:36:20> Cluster is up: OK +09:36:20> The first master has actually one slave: OK +09:36:20> Slaves of #0 is instance #5 as expected: OK +09:36:20> Instance #5 synced with the master: OK +09:36:20> Lower the slave validity factor of #5 to the value of 2: OK +09:36:20> Break master-slave link and prevent further reconnections: OK +09:36:40> Slave #5 is reachable and alive: OK +09:36:40> Slave #5 should not be able to failover: OK +09:36:50> Cluster should be down: OK Testing unit: 07-replica-migration.tcl -12:50:01> (init) Restart killed instances: redis/0 OK -12:50:02> Cluster nodes are reachable: OK -12:50:02> Cluster nodes hard reset: OK -12:50:02> Cluster Join and auto-discovery test: OK -12:50:05> Before slots allocation, all nodes report cluster failure: OK -12:50:05> Create a 5 nodes cluster: OK -12:50:09> Cluster is up: OK -12:50:09> Each master should have two replicas attached: OK -12:50:09> Killing all the slaves of master #0 and #1: OK -12:50:14> Master #0 should have at least one replica: OK -12:50:20> Master #1 should have at least one replica: OK -12:50:20> Master #2 should have at least one replica: OK -12:50:20> Master #3 should have at least one replica: OK -12:50:20> Master #4 should have at least one replica: OK -12:50:20> (init) Restart killed instances: redis/5 redis/6 redis/10 redis/11 OK -12:50:23> Cluster nodes are reachable: OK -12:50:23> Cluster nodes hard reset: OK -12:50:23> Cluster Join and auto-discovery test: OK -12:50:30> Before slots allocation, all nodes report cluster failure: OK -12:50:30> Create a 5 nodes cluster: OK -12:50:34> Cluster is up: OK -12:50:34> Kill slave #7 of master #2. Only slave left is #12 now: OK -12:50:34> Killing master node #2, #12 should failover: OK -12:50:34> Wait for failover: OK -12:50:39> Cluster should eventually be up again: OK -12:50:39> Cluster is writable: OK -12:50:40> Instance 12 is now a master without slaves: OK -12:50:40> Master #12 should get at least one migrated replica: OK +09:36:50> (init) Restart killed instances: redis/0 OK +09:36:51> Cluster nodes are reachable: OK +09:36:51> Cluster nodes hard reset: OK +09:36:52> Cluster Join and auto-discovery test: OK +09:36:59> Before slots allocation, all nodes report cluster failure: OK +09:36:59> Create a 5 nodes cluster: OK +09:37:03> Cluster is up: OK +09:37:03> Each master should have two replicas attached: OK +09:37:03> Killing all the slaves of master #0 and #1: OK +09:37:08> Master #0 should have at least one replica: OK +09:37:15> Master #1 should have at least one replica: OK +09:37:16> Master #2 should have at least one replica: OK +09:37:17> Master #3 should have at least one replica: OK +09:37:17> Master #4 should have at least one replica: OK +09:37:17> (init) Restart killed instances: redis/5 redis/6 redis/10 redis/11 OK +09:37:20> Cluster nodes are reachable: OK +09:37:20> Cluster nodes hard reset: OK +09:37:24> Cluster Join and auto-discovery test: OK +09:37:28> Before slots allocation, all nodes report cluster failure: OK +09:37:28> Create a 5 nodes cluster: OK +09:37:32> Cluster is up: OK +09:37:32> Kill slave #7 of master #2. Only slave left is #12 now: OK +09:37:32> Killing master node #2, #12 should failover: OK +09:37:32> Wait for failover: OK +09:37:38> Cluster should eventually be up again: OK +09:37:38> Cluster is writable: OK +09:37:39> Instance 12 is now a master without slaves: OK +09:37:39> Master #12 should get at least one migrated replica: OK Testing unit: 08-update-msg.tcl -12:50:44> (init) Restart killed instances: redis/2 redis/7 OK -12:50:46> Cluster nodes are reachable: OK -12:50:46> Cluster nodes hard reset: OK -12:50:46> Cluster Join and auto-discovery test: OK -12:50:51> Before slots allocation, all nodes report cluster failure: OK -12:50:51> Create a 5 nodes cluster: OK -12:50:55> Cluster is up: OK -12:50:55> Cluster is writable: OK -12:50:55> Instance #5 is a slave: OK -12:50:55> Instance #5 synced with the master: OK -12:50:55> Killing one master node: OK -12:50:56> Wait for failover: OK -12:51:00> Cluster should eventually be up again: OK -12:51:00> Cluster is writable: OK -12:51:00> Instance #5 is now a master: OK -12:51:00> Killing the new master #5: OK -12:51:01> Cluster should be down now: OK -12:51:04> Restarting the old master node: OK -12:51:05> Instance #0 gets converted into a slave: OK -12:51:05> Restarting the new master node: OK -12:51:05> Cluster is up again: OK +09:37:44> (init) Restart killed instances: redis/2 redis/7 OK +09:37:47> Cluster nodes are reachable: OK +09:37:47> Cluster nodes hard reset: OK +09:37:49> Cluster Join and auto-discovery test: OK +09:37:55> Before slots allocation, all nodes report cluster failure: OK +09:37:55> Create a 5 nodes cluster: OK +09:37:58> Cluster is up: OK +09:37:58> Cluster is writable: OK +09:37:59> Instance #5 is a slave: OK +09:37:59> Instance #5 synced with the master: OK +09:37:59> Killing one master node: OK +09:37:59> Wait for failover: OK +09:38:03> Cluster should eventually be up again: OK +09:38:05> Cluster is writable: OK +09:38:05> Instance #5 is now a master: OK +09:38:05> Killing the new master #5: OK +09:38:06> Cluster should be down now: OK +09:38:09> Restarting the old master node: OK +09:38:11> Instance #0 gets converted into a slave: OK +09:38:11> Restarting the new master node: OK +09:38:12> Cluster is up again: OK Testing unit: 09-pubsub.tcl -12:51:12> (init) Restart killed instances: OK -12:51:12> Cluster nodes are reachable: OK -12:51:12> Cluster nodes hard reset: OK -12:51:12> Cluster Join and auto-discovery test: OK -12:51:16> Before slots allocation, all nodes report cluster failure: OK -12:51:16> Create a 5 nodes cluster: OK -12:51:20> Test publishing to master: OK -12:51:20> Test publishing to slave: OK +09:38:16> (init) Restart killed instances: OK +09:38:16> Cluster nodes are reachable: OK +09:38:16> Cluster nodes hard reset: OK +09:38:18> Cluster Join and auto-discovery test: OK +09:38:22> Before slots allocation, all nodes report cluster failure: OK +09:38:22> Create a 5 nodes cluster: OK +09:38:26> Test publishing to master: OK +09:38:26> Test publishing to slave: OK Testing unit: 10-manual-failover.tcl -12:51:20> (init) Restart killed instances: OK -12:51:20> Cluster nodes are reachable: OK -12:51:20> Cluster nodes hard reset: OK -12:51:20> Cluster Join and auto-discovery test: OK -12:51:24> Before slots allocation, all nodes report cluster failure: OK -12:51:24> Create a 5 nodes cluster: OK -12:51:28> Cluster is up: OK -12:51:28> Cluster is writable: OK -12:51:29> Instance #5 is a slave: OK -12:51:29> Instance #5 synced with the master: OK -12:51:29> Send CLUSTER FAILOVER to #5, during load: WWWWWWWWWWOK -12:51:34> Wait for failover: OK -12:51:34> Cluster should eventually be up again: OK -12:51:34> Cluster is writable: OK -12:51:35> Instance #5 is now a master: OK -12:51:35> Verify 50000 keys for consistency with logical content: OK -12:51:37> Instance #0 gets converted into a slave: OK -12:51:37> (init) Restart killed instances: OK -12:51:37> Cluster nodes are reachable: OK -12:51:37> Cluster nodes hard reset: OK -12:51:38> Cluster Join and auto-discovery test: OK -12:51:42> Before slots allocation, all nodes report cluster failure: OK -12:51:42> Create a 5 nodes cluster: OK -12:51:46> Cluster is up: OK -12:51:46> Cluster is writable: OK -12:51:47> Instance #5 is a slave: OK -12:51:47> Instance #5 synced with the master: OK -12:51:47> Make instance #0 unreachable without killing it: OK -12:51:47> Send CLUSTER FAILOVER to instance #5: OK -12:51:47> Instance #5 is still a slave after some time (no failover): OK -12:51:52> Wait for instance #0 to return back alive: OK -12:51:57> (init) Restart killed instances: OK -12:51:57> Cluster nodes are reachable: OK -12:51:57> Cluster nodes hard reset: OK -12:51:57> Cluster Join and auto-discovery test: OK -12:52:02> Before slots allocation, all nodes report cluster failure: OK -12:52:02> Create a 5 nodes cluster: OK -12:52:06> Cluster is up: OK -12:52:06> Cluster is writable: OK -12:52:07> Instance #5 is a slave: OK -12:52:07> Instance #5 synced with the master: OK -12:52:07> Make instance #0 unreachable without killing it: OK -12:52:07> Send CLUSTER FAILOVER to instance #5: OK -12:52:07> Instance #5 is a master after some time: OK -12:52:07> Wait for instance #0 to return back alive: OK +09:38:26> (init) Restart killed instances: OK +09:38:26> Cluster nodes are reachable: OK +09:38:26> Cluster nodes hard reset: OK +09:38:28> Cluster Join and auto-discovery test: OK +09:38:34> Before slots allocation, all nodes report cluster failure: OK +09:38:34> Create a 5 nodes cluster: OK +09:38:38> Cluster is up: OK +09:38:38> Cluster is writable: OK +09:38:39> Instance #5 is a slave: OK +09:38:39> Instance #5 synced with the master: OK +09:38:39> Send CLUSTER FAILOVER to #5, during load: WWWWWWWWWWOK +09:38:45> Wait for failover: OK +09:38:45> Cluster should eventually be up again: OK +09:38:45> Cluster is writable: OK +09:38:45> Instance #5 is now a master: OK +09:38:45> Verify 50000 keys for consistency with logical content: OK +09:38:50> Instance #0 gets converted into a slave: OK +09:38:50> (init) Restart killed instances: OK +09:38:50> Cluster nodes are reachable: OK +09:38:50> Cluster nodes hard reset: OK +09:38:51> Cluster Join and auto-discovery test: OK +09:38:56> Before slots allocation, all nodes report cluster failure: OK +09:38:56> Create a 5 nodes cluster: OK +09:39:00> Cluster is up: OK +09:39:00> Cluster is writable: OK +09:39:01> Instance #5 is a slave: OK +09:39:01> Instance #5 synced with the master: OK +09:39:01> Make instance #0 unreachable without killing it: OK +09:39:01> Send CLUSTER FAILOVER to instance #5: OK +09:39:01> Instance #5 is still a slave after some time (no failover): OK +09:39:06> Wait for instance #0 to return back alive: OK +09:39:11> (init) Restart killed instances: OK +09:39:11> Cluster nodes are reachable: OK +09:39:12> Cluster nodes hard reset: OK +09:39:17> Cluster Join and auto-discovery test: OK +09:39:21> Before slots allocation, all nodes report cluster failure: OK +09:39:21> Create a 5 nodes cluster: OK +09:39:25> Cluster is up: OK +09:39:25> Cluster is writable: OK +09:39:26> Instance #5 is a slave: OK +09:39:26> Instance #5 synced with the master: OK +09:39:26> Make instance #0 unreachable without killing it: OK +09:39:26> Send CLUSTER FAILOVER to instance #5: OK +09:39:26> Instance #5 is a master after some time: OK +09:39:26> Wait for instance #0 to return back alive: OK Testing unit: 11-manual-takeover.tcl -12:52:17> (init) Restart killed instances: OK -12:52:17> Cluster nodes are reachable: OK -12:52:17> Cluster nodes hard reset: OK -12:52:17> Cluster Join and auto-discovery test: OK -12:52:22> Before slots allocation, all nodes report cluster failure: OK -12:52:22> Create a 5 nodes cluster: OK -12:52:26> Cluster is up: OK -12:52:26> Cluster is writable: OK -12:52:27> Killing majority of master nodes: OK -12:52:27> Cluster should eventually be down: OK -12:52:31> Use takeover to bring slaves back: OK -12:52:31> Cluster should eventually be up again: OK -12:52:34> Cluster is writable: OK -12:52:34> Instance #5, #6, #7 are now masters: OK -12:52:34> Restarting the previously killed master nodes: OK -12:52:36> Instance #0, #1, #2 gets converted into a slaves: OK +09:39:36> (init) Restart killed instances: OK +09:39:36> Cluster nodes are reachable: OK +09:39:36> Cluster nodes hard reset: OK +09:39:37> Cluster Join and auto-discovery test: OK +09:39:40> Before slots allocation, all nodes report cluster failure: OK +09:39:40> Create a 5 nodes cluster: OK +09:39:44> Cluster is up: OK +09:39:44> Cluster is writable: OK +09:39:45> Killing majority of master nodes: OK +09:39:45> Cluster should eventually be down: OK +09:39:50> Use takeover to bring slaves back: OK +09:39:50> Cluster should eventually be up again: OK +09:39:53> Cluster is writable: OK +09:39:54> Instance #5, #6, #7 are now masters: OK +09:39:54> Restarting the previously killed master nodes: OK +09:39:56> Instance #0, #1, #2 gets converted into a slaves: OK Testing unit: 12-replica-migration-2.tcl -12:52:36> (init) Restart killed instances: OK -12:52:36> Cluster nodes are reachable: OK -12:52:36> Cluster nodes hard reset: OK -12:52:37> Cluster Join and auto-discovery test: OK -12:52:40> Before slots allocation, all nodes report cluster failure: OK -12:52:41> Create a 5 nodes cluster: OK -12:52:44> Cluster is up: OK -12:52:44> Each master should have at least two replicas attached: OK -12:52:44> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) +09:39:56> (init) Restart killed instances: OK +09:39:56> Cluster nodes are reachable: OK +09:39:56> Cluster nodes hard reset: OK +09:39:56> Cluster Join and auto-discovery test: OK +09:40:02> Before slots allocation, all nodes report cluster failure: OK +09:40:02> Create a 5 nodes cluster: OK +09:40:05> Cluster is up: OK +09:40:05> Each master should have at least two replicas attached: OK +09:40:05> 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 876 slots from 127.0.0.1:30000 to 127.0.0.1:30004 -############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################ -Moving 813 slots from 127.0.0.1:30000 to 127.0.0.1:30001 -############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################# -Moving 789 slots from 127.0.0.1:30000 to 127.0.0.1:30003 -##################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### -Moving 773 slots from 127.0.0.1:30000 to 127.0.0.1:30002 -##################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### +Moving 869 slots from 127.0.0.1:30000 to 127.0.0.1:30002 +##################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### +Moving 835 slots from 127.0.0.1:30000 to 127.0.0.1:30001 +################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### +Moving 799 slots from 127.0.0.1:30000 to 127.0.0.1:30003 +############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### +Moving 790 slots from 127.0.0.1:30000 to 127.0.0.1:30004 +###################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### OK -12:55:18> Master #0 should lose its replicas: OK -12:55:19> Resharding back some slot to master #0: >>> Performing Cluster Check (using node 127.0.0.1:30000) +09:48:39> Master #0 should lose its replicas: OK +09:48:40> 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... @@ -2943,90 +3032,90 @@ Moving 11 slots from 127.0.0.1:30004 to 127.0.0.1:30000 ########### OK -12:55:32> Master #0 should re-acquire one or more replicas: OK +09:48:56> Master #0 should re-acquire one or more replicas: OK Testing unit: 13-no-failover-option.tcl -12:55:36> (init) Restart killed instances: OK -12:55:36> Cluster nodes are reachable: OK -12:55:36> Cluster nodes hard reset: OK -12:55:36> Cluster Join and auto-discovery test: OK -12:55:39> Before slots allocation, all nodes report cluster failure: OK -12:55:39> Create a 5 nodes cluster: OK -12:55:43> Cluster is up: OK -12:55:43> Cluster is writable: OK -12:55:44> Instance #5 is a slave: OK -12:55:44> Instance #5 synced with the master: OK -12:55:44> The nofailover flag is propagated: OK -12:55:45> Killing one master node: OK -12:55:45> Cluster should be still down after some time: OK -12:55:55> Instance #5 is still a slave: OK -12:55:55> Restarting the previously killed master node: OK +09:48:58> (init) Restart killed instances: OK +09:48:58> Cluster nodes are reachable: OK +09:48:58> Cluster nodes hard reset: OK +09:48:59> Cluster Join and auto-discovery test: OK +09:49:05> Before slots allocation, all nodes report cluster failure: OK +09:49:05> Create a 5 nodes cluster: OK +09:49:09> Cluster is up: OK +09:49:09> Cluster is writable: OK +09:49:10> Instance #5 is a slave: OK +09:49:10> Instance #5 synced with the master: OK +09:49:10> The nofailover flag is propagated: OK +09:49:12> Killing one master node: OK +09:49:12> Cluster should be still down after some time: OK +09:49:22> Instance #5 is still a slave: OK +09:49:22> Restarting the previously killed master node: OK Testing unit: 14-consistency-check.tcl -12:55:56> (init) Restart killed instances: OK -12:55:56> Cluster nodes are reachable: OK -12:55:56> Cluster nodes hard reset: OK -12:55:56> Cluster Join and auto-discovery test: OK -12:56:00> Before slots allocation, all nodes report cluster failure: OK -12:56:00> Create a 5 nodes cluster: OK -12:56:04> Cluster should start ok: OK -12:56:04> Cluster is writable: OK -12:56:05> Slave expired keys is loaded when restarted: appendonly=no: OK -12:56:10> Slave expired keys is loaded when restarted: appendonly=yes: OK +09:49:23> (init) Restart killed instances: OK +09:49:23> Cluster nodes are reachable: OK +09:49:23> Cluster nodes hard reset: OK +09:49:23> Cluster Join and auto-discovery test: OK +09:49:27> Before slots allocation, all nodes report cluster failure: OK +09:49:27> Create a 5 nodes cluster: OK +09:49:32> Cluster should start ok: OK +09:49:32> Cluster is writable: OK +09:49:32> Slave expired keys is loaded when restarted: appendonly=no: OK +09:49:38> Slave expired keys is loaded when restarted: appendonly=yes: OK Testing unit: 15-cluster-slots.tcl -12:56:15> (init) Restart killed instances: OK -12:56:15> Cluster nodes are reachable: OK -12:56:15> Cluster nodes hard reset: OK -12:56:15> Cluster Join and auto-discovery test: OK -12:56:19> Before slots allocation, all nodes report cluster failure: OK -12:56:19> Create a 5 nodes cluster: OK -12:56:22> Cluster is up: OK -12:56:22> Cluster is writable: OK -12:56:23> Instance #5 is a slave: OK -12:56:23> client do not break when cluster slot: OK -12:56:28> client can handle keys with hash tag: OK +09:49:45> (init) Restart killed instances: OK +09:49:45> Cluster nodes are reachable: OK +09:49:45> Cluster nodes hard reset: OK +09:49:48> Cluster Join and auto-discovery test: OK +09:49:53> Before slots allocation, all nodes report cluster failure: OK +09:49:53> Create a 5 nodes cluster: OK +09:49:59> Cluster is up: OK +09:50:00> Cluster is writable: OK +09:50:03> Instance #5 is a slave: OK +09:50:03> client do not break when cluster slot: OK +09:50:07> client can handle keys with hash tag: OK Testing unit: 16-transactions-on-replica.tcl -12:56:28> (init) Restart killed instances: OK -12:56:28> Cluster nodes are reachable: OK -12:56:28> Cluster nodes hard reset: OK -12:56:29> Cluster Join and auto-discovery test: OK -12:56:35> Before slots allocation, all nodes report cluster failure: OK -12:56:35> Create a primary with a replica: OK -12:56:40> Cluster should start ok: OK -12:56:40> Cant read from replica without READONLY: OK -12:56:40> Can read from replica after READONLY: OK -12:56:40> Can preform HSET primary and HGET from replica: OK -12:56:40> Can MULTI-EXEC transaction of HGET operations from replica: OK -12:56:40> MULTI-EXEC with write operations is MOVED: OK -12:56:40> read-only blocking operations from replica: OK +09:50:07> (init) Restart killed instances: OK +09:50:07> Cluster nodes are reachable: OK +09:50:07> Cluster nodes hard reset: OK +09:50:09> Cluster Join and auto-discovery test: OK +09:50:14> Before slots allocation, all nodes report cluster failure: OK +09:50:14> Create a primary with a replica: OK +09:50:19> Cluster should start ok: OK +09:50:19> Cant read from replica without READONLY: OK +09:50:19> Can read from replica after READONLY: OK +09:50:19> Can preform HSET primary and HGET from replica: OK +09:50:19> Can MULTI-EXEC transaction of HGET operations from replica: OK +09:50:19> MULTI-EXEC with write operations is MOVED: OK +09:50:19> read-only blocking operations from replica: OK Testing unit: 17-diskless-load-swapdb.tcl -12:56:40> (init) Restart killed instances: OK -12:56:40> Cluster nodes are reachable: OK -12:56:40> Cluster nodes hard reset: OK -12:56:40> Cluster Join and auto-discovery test: OK -12:56:43> Before slots allocation, all nodes report cluster failure: OK -12:56:43> Create a primary with a replica: OK -12:56:48> Cluster should start ok: OK -12:56:48> Cluster is writable: OK -12:56:48> Right to restore backups when fail to diskless load : OK +09:50:19> (init) Restart killed instances: OK +09:50:19> Cluster nodes are reachable: OK +09:50:19> Cluster nodes hard reset: OK +09:50:19> Cluster Join and auto-discovery test: OK +09:50:23> Before slots allocation, all nodes report cluster failure: OK +09:50:23> Create a primary with a replica: OK +09:50:28> Cluster should start ok: OK +09:50:28> Cluster is writable: OK +09:50:29> Right to restore backups when fail to diskless load : OK Cleaning up... -killing stale instance 80463 -killing stale instance 80618 -killing stale instance 81106 -killing stale instance 81723 -killing stale instance 81813 -killing stale instance 82045 -killing stale instance 82211 -killing stale instance 82351 -killing stale instance 82563 -killing stale instance 99705 -killing stale instance 99832 -killing stale instance 111499 -killing stale instance 111563 -killing stale instance 111763 -killing stale instance 116042 -killing stale instance 119774 -killing stale instance 15059 -killing stale instance 61355 -killing stale instance 72012 +killing stale instance 11535 +killing stale instance 11590 +killing stale instance 11651 +killing stale instance 11662 +killing stale instance 11684 +killing stale instance 11703 +killing stale instance 11713 +killing stale instance 11730 +killing stale instance 11745 +killing stale instance 12531 +killing stale instance 12589 +killing stale instance 12957 +killing stale instance 12966 +killing stale instance 12974 +killing stale instance 13200 +killing stale instance 13358 +killing stale instance 14174 +killing stale instance 17907 +killing stale instance 18224 GOOD! No errors. ./runtest-sentinel || true Starting sentinel #0 at port 20000 @@ -3040,96 +3129,96 @@ Starting redis #3 at port 30003 Starting redis #4 at port 30004 Testing unit: 00-base.tcl -12:57:21> (init) Restart killed instances: OK -12:57:21> (init) Remove old master entry from sentinels: OK -12:57:21> (init) Create a master-slaves cluster of 5 instances: OK -12:57:22> (init) Sentinels can start monitoring a master: OK -12:57:22> (init) Sentinels can talk with the master: OK -12:57:22> (init) Sentinels are able to auto-discover other sentinels: OK -12:57:24> (init) Sentinels are able to auto-discover slaves: OK -12:57:24> Basic failover works if the master is down: OK -12:57:28> New master 127.0.0.1:30003 role matches: OK -12:57:28> All the other slaves now point to the new master: OK -12:57:28> The old master eventually gets reconfigured as a slave: OK -12:57:38> ODOWN is not possible without N (quorum) Sentinels reports: OK -12:57:38> Failover is not possible without majority agreement: OK -12:57:38> Failover works if we configure for absolute agreement: OK -12:57:43> New master 127.0.0.1:30001 role matches: OK +09:51:09> (init) Restart killed instances: OK +09:51:09> (init) Remove old master entry from sentinels: OK +09:51:09> (init) Create a master-slaves cluster of 5 instances: OK +09:51:10> (init) Sentinels can start monitoring a master: OK +09:51:11> (init) Sentinels can talk with the master: OK +09:51:11> (init) Sentinels are able to auto-discover other sentinels: OK +09:51:12> (init) Sentinels are able to auto-discover slaves: OK +09:51:12> Basic failover works if the master is down: OK +09:51:16> New master 127.0.0.1:30003 role matches: OK +09:51:16> All the other slaves now point to the new master: OK +09:51:16> The old master eventually gets reconfigured as a slave: OK +09:51:27> ODOWN is not possible without N (quorum) Sentinels reports: OK +09:51:27> Failover is not possible without majority agreement: OK +09:51:28> Failover works if we configure for absolute agreement: OK +09:51:33> New master 127.0.0.1:30004 role matches: OK Testing unit: 01-conf-update.tcl -12:57:43> (init) Restart killed instances: OK -12:57:43> (init) Remove old master entry from sentinels: OK -12:57:43> (init) Create a master-slaves cluster of 5 instances: OK -12:57:44> (init) Sentinels can start monitoring a master: OK -12:57:44> (init) Sentinels can talk with the master: OK -12:57:44> (init) Sentinels are able to auto-discover other sentinels: OK -12:57:46> (init) Sentinels are able to auto-discover slaves: OK -12:57:46> We can failover with Sentinel 1 crashed: OK -12:57:49> After Sentinel 1 is restarted, its config gets updated: OK -12:57:49> New master 127.0.0.1:30003 role matches: OK +09:51:33> (init) Restart killed instances: OK +09:51:33> (init) Remove old master entry from sentinels: OK +09:51:33> (init) Create a master-slaves cluster of 5 instances: OK +09:51:34> (init) Sentinels can start monitoring a master: OK +09:51:35> (init) Sentinels can talk with the master: OK +09:51:35> (init) Sentinels are able to auto-discover other sentinels: OK +09:51:36> (init) Sentinels are able to auto-discover slaves: OK +09:51:36> We can failover with Sentinel 1 crashed: OK +09:51:40> After Sentinel 1 is restarted, its config gets updated: OK +09:51:40> New master 127.0.0.1:30003 role matches: OK Testing unit: 02-slaves-reconf.tcl -12:57:49> (init) Restart killed instances: OK -12:57:49> (init) Remove old master entry from sentinels: OK -12:57:49> (init) Create a master-slaves cluster of 5 instances: OK -12:57:51> (init) Sentinels can start monitoring a master: OK -12:57:51> (init) Sentinels can talk with the master: OK -12:57:51> (init) Sentinels are able to auto-discover other sentinels: OK -12:57:54> (init) Sentinels are able to auto-discover slaves: OK -12:57:54> Check that slaves replicate from current master: OK -12:57:54> Crash the master and force a failover: OK -12:57:58> Check that slaves replicate from current master: OK -12:58:19> Kill a slave instance: OK -12:58:19> Crash the master and force a failover: OK -12:58:23> Check that slaves replicate from current master: OK -12:58:35> Wait for failover to end: OK -12:58:35> Restart killed slave and test replication of slaves again...: OK -12:58:35> Check that slaves replicate from current master: OK +09:51:40> (init) Restart killed instances: OK +09:51:40> (init) Remove old master entry from sentinels: OK +09:51:40> (init) Create a master-slaves cluster of 5 instances: OK +09:51:41> (init) Sentinels can start monitoring a master: OK +09:51:41> (init) Sentinels can talk with the master: OK +09:51:41> (init) Sentinels are able to auto-discover other sentinels: OK +09:51:43> (init) Sentinels are able to auto-discover slaves: OK +09:51:43> Check that slaves replicate from current master: OK +09:51:43> Crash the master and force a failover: OK +09:51:47> Check that slaves replicate from current master: OK +09:52:08> Kill a slave instance: OK +09:52:08> Crash the master and force a failover: OK +09:52:51> Check that slaves replicate from current master: OK +09:53:02> Wait for failover to end: OK +09:53:02> Restart killed slave and test replication of slaves again...: OK +09:53:02> Check that slaves replicate from current master: OK Testing unit: 03-runtime-reconf.tcl Testing unit: 04-slave-selection.tcl Testing unit: 05-manual.tcl -12:58:56> (init) Restart killed instances: OK -12:58:56> (init) Remove old master entry from sentinels: OK -12:58:56> (init) Create a master-slaves cluster of 5 instances: OK -12:58:57> (init) Sentinels can start monitoring a master: OK -12:58:57> (init) Sentinels can talk with the master: OK -12:58:57> (init) Sentinels are able to auto-discover other sentinels: OK -12:58:59> (init) Sentinels are able to auto-discover slaves: OK -12:58:59> Manual failover works: OK -12:59:00> New master 127.0.0.1:30001 role matches: OK -12:59:00> All the other slaves now point to the new master: OK -12:59:00> The old master eventually gets reconfigured as a slave: OK +09:53:23> (init) Restart killed instances: OK +09:53:23> (init) Remove old master entry from sentinels: OK +09:53:23> (init) Create a master-slaves cluster of 5 instances: OK +09:53:24> (init) Sentinels can start monitoring a master: OK +09:53:25> (init) Sentinels can talk with the master: OK +09:53:25> (init) Sentinels are able to auto-discover other sentinels: OK +09:53:27> (init) Sentinels are able to auto-discover slaves: OK +09:53:27> Manual failover works: OK +09:53:28> New master 127.0.0.1:30004 role matches: OK +09:53:28> All the other slaves now point to the new master: OK +09:53:28> The old master eventually gets reconfigured as a slave: OK Testing unit: 06-ckquorum.tcl -12:59:10> (init) Restart killed instances: OK -12:59:10> (init) Remove old master entry from sentinels: OK -12:59:10> (init) Create a master-slaves cluster of 5 instances: OK -12:59:11> (init) Sentinels can start monitoring a master: OK -12:59:11> (init) Sentinels can talk with the master: OK -12:59:11> (init) Sentinels are able to auto-discover other sentinels: OK -12:59:13> (init) Sentinels are able to auto-discover slaves: OK -12:59:13> CKQUORUM reports OK and the right amount of Sentinels: OK -12:59:13> CKQUORUM detects quorum cannot be reached: OK -12:59:13> CKQUORUM detects failover authorization cannot be reached: OK +09:53:38> (init) Restart killed instances: OK +09:53:38> (init) Remove old master entry from sentinels: OK +09:53:38> (init) Create a master-slaves cluster of 5 instances: OK +09:53:40> (init) Sentinels can start monitoring a master: OK +09:53:40> (init) Sentinels can talk with the master: OK +09:53:40> (init) Sentinels are able to auto-discover other sentinels: OK +09:53:42> (init) Sentinels are able to auto-discover slaves: OK +09:53:42> CKQUORUM reports OK and the right amount of Sentinels: OK +09:53:42> CKQUORUM detects quorum cannot be reached: OK +09:53:42> CKQUORUM detects failover authorization cannot be reached: OK Testing unit: 07-down-conditions.tcl -12:59:19> (init) Restart killed instances: OK -12:59:19> (init) Remove old master entry from sentinels: OK -12:59:19> (init) Create a master-slaves cluster of 5 instances: OK -12:59:19> (init) Sentinels can start monitoring a master: OK -12:59:19> (init) Sentinels can talk with the master: OK -12:59:19> (init) Sentinels are able to auto-discover other sentinels: OK -12:59:21> (init) Sentinels are able to auto-discover slaves: OK -12:59:21> Crash the majority of Sentinels to prevent failovers for this unit: OK -12:59:21> SDOWN is triggered by non-responding but not crashed instance: OK -12:59:31> SDOWN is triggered by crashed instance: OK -12:59:35> SDOWN is triggered by masters advertising as slaves: OK -13:00:12> SDOWN is triggered by misconfigured instance repling with errors: OK -13:00:14> SDOWN is triggered if we rename PING to PONG: OK +09:53:47> (init) Restart killed instances: OK +09:53:47> (init) Remove old master entry from sentinels: OK +09:53:48> (init) Create a master-slaves cluster of 5 instances: OK +09:53:48> (init) Sentinels can start monitoring a master: OK +09:53:48> (init) Sentinels can talk with the master: OK +09:53:48> (init) Sentinels are able to auto-discover other sentinels: OK +09:53:50> (init) Sentinels are able to auto-discover slaves: OK +09:53:50> Crash the majority of Sentinels to prevent failovers for this unit: OK +09:53:50> SDOWN is triggered by non-responding but not crashed instance: OK +09:54:00> SDOWN is triggered by crashed instance: OK +09:54:03> SDOWN is triggered by masters advertising as slaves: OK +09:54:41> SDOWN is triggered by misconfigured instance repling with errors: OK +09:54:43> SDOWN is triggered if we rename PING to PONG: OK Cleaning up... -killing stale instance 80477 -killing stale instance 80522 -killing stale instance 80540 -killing stale instance 80574 -killing stale instance 98672 -killing stale instance 110854 -killing stale instance 115427 +killing stale instance 19258 +killing stale instance 19273 +killing stale instance 19281 +killing stale instance 19293 +killing stale instance 21022 +killing stale instance 22614 +killing stale instance 22849 GOOD! No errors. make[1]: Leaving directory '/build/reproducible-path/redis-6.0.16' create-stamp debian/debhelper-build-stamp @@ -3162,18 +3251,18 @@ 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-rdb debian/redis-tools/usr/bin/redis-cli debian/redis-tools/usr/bin/redis-benchmark debian/redis-tools/usr/bin/redis-check-aof were not linked against librt.so.1 (they use none of the library's symbols) -dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/redis-tools/usr/bin/redis-check-rdb debian/redis-tools/usr/bin/redis-cli debian/redis-tools/usr/bin/redis-benchmark debian/redis-tools/usr/bin/redis-check-aof were not linked against liblzf.so.1 (they use none of the library's symbols) -dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/redis-tools/usr/bin/redis-check-rdb debian/redis-tools/usr/bin/redis-cli debian/redis-tools/usr/bin/redis-benchmark debian/redis-tools/usr/bin/redis-check-aof were not linked against libatomic.so.1 (they use none of the library's symbols) +dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/redis-tools/usr/bin/redis-cli debian/redis-tools/usr/bin/redis-check-rdb debian/redis-tools/usr/bin/redis-benchmark debian/redis-tools/usr/bin/redis-check-aof were not linked against libatomic.so.1 (they use none of the library's symbols) +dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/redis-tools/usr/bin/redis-cli debian/redis-tools/usr/bin/redis-check-rdb debian/redis-tools/usr/bin/redis-benchmark debian/redis-tools/usr/bin/redis-check-aof were not linked against librt.so.1 (they use none of the library's symbols) +dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/redis-tools/usr/bin/redis-cli debian/redis-tools/usr/bin/redis-check-rdb debian/redis-tools/usr/bin/redis-benchmark debian/redis-tools/usr/bin/redis-check-aof 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-tools' in '../redis-tools_6.0.16-1+deb11u2_i386.deb'. -dpkg-deb: building package 'redis' in '../redis_6.0.16-1+deb11u2_all.deb'. -dpkg-deb: building package 'redis-server' in '../redis-server_6.0.16-1+deb11u2_i386.deb'. dpkg-deb: building package 'redis-tools-dbgsym' in '../redis-tools-dbgsym_6.0.16-1+deb11u2_i386.deb'. +dpkg-deb: building package 'redis' in '../redis_6.0.16-1+deb11u2_all.deb'. +dpkg-deb: building package 'redis-tools' in '../redis-tools_6.0.16-1+deb11u2_i386.deb'. dpkg-deb: building package 'redis-sentinel' in '../redis-sentinel_6.0.16-1+deb11u2_i386.deb'. +dpkg-deb: building package 'redis-server' in '../redis-server_6.0.16-1+deb11u2_i386.deb'. dpkg-genbuildinfo --build=binary dpkg-genchanges --build=binary >../redis_6.0.16-1+deb11u2_i386.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -3181,12 +3270,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/6838/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/6838/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/78521 and its subdirectories -I: Current time: Sat Feb 15 13:00:29 -12 2025 -I: pbuilder-time-stamp: 1739667629 +I: removing directory /srv/workspace/pbuilder/6838 and its subdirectories +I: Current time: Mon Jan 15 09:55:33 +14 2024 +I: pbuilder-time-stamp: 1705262133