redis / redis

Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.
http://redis.io
Other
66.1k stars 23.68k forks source link

[3.2.6] 1 test fails: Test replication partial resync: ok psync (diskless: yes, reconnect: 1) in tests/integration/replication-psync.tcl #3664

Closed jean-christophe-manciot closed 7 years ago

jean-christophe-manciot commented 7 years ago

Ubuntu 16.10 4.8.0-30 Redis commit 3.2.6 Redis commit 3.2.7 (updated on 02/02/17)

        echo --------
        echo Cleaning
        echo --------
        chown -R actionmystique:actionmystique *
        cd git-redis
        sudo -u actionmystique -H git-reset-clean-pull-checkout.sh $branch $tag

        echo ---------
        echo Compiling
        echo ---------
        sudo -u actionmystique -H make

        echo --------
        echo Testing
        echo --------
        sudo -u actionmystique -H make test
OR as root:
        make test

both lead to:

...
[38/42 done]: unit/aofrw (44 seconds)
[ok]: Test replication partial resync: backlog expired (diskless: no, reconnect: 1)
[ok]: Client output buffer soft limit is not enforced if time is not overreached
[ok]: Slave should be able to synchronize with the master
[ok]: Detect write load to master
[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, reconnect: 0)
[ok]: Slave should be able to synchronize with the master
[ok]: Detect write load to master
[err]: Test replication partial resync: ok psync (diskless: yes, reconnect: 1) in tests/integration/replication-psync.tcl
Expected condition '[s -1 sync_partial_ok] > 0' to be true ([s -1 sync_partial_ok] > 0)
[ok]: Client output buffer soft limit is enforced if time is overreached
[39/42 done]: unit/obuf-limits (58 seconds)
[ok]: Slave should be able to synchronize with the master
[ok]: Detect write load to master
[ok]: Test replication partial resync: no backlog (diskless: yes, reconnect: 1)
[ok]: Slave should be able to synchronize with the master
[ok]: Detect write load to master
[ok]: Stress tester for #3343-alike bugs
[ok]: Connect multiple slaves at the same time (issue #141), diskless=yes
[ok]: Test replication partial resync: ok after delay (diskless: yes, reconnect: 1)
Waiting for process 25831 to exit...
[ok]: ziplist implementation: value encoding and backlink
[ok]: Slave should be able to synchronize with the master
[ok]: Detect write load to master
Waiting for process 25822 to exit...
[ok]: ziplist implementation: encoding stress testing
[40/42 done]: unit/type/list-3 (105 seconds)
Waiting for process 25814 to exit...
[ok]: Test replication partial resync: backlog expired (diskless: yes, reconnect: 1)
Waiting for process 25814 to exit...
Waiting for process 26141 to exit...
Waiting for process 25814 to exit...
Waiting for process 26141 to exit...
[41/42 done]: integration/replication-psync (115 seconds)
Waiting for process 25800 to exit...
Waiting for process 25800 to exit...
[42/42 done]: integration/replication (128 seconds)

                   The End

Execution time of different units:
  1 seconds - unit/printver
  1 seconds - unit/type/incr
  1 seconds - unit/auth
  1 seconds - unit/scan
  0 seconds - unit/quit
  2 seconds - unit/protocol
  2 seconds - unit/keyspace
  2 seconds - unit/multi
  6 seconds - unit/type/hash
  8 seconds - unit/type/set
  9 seconds - unit/other
  10 seconds - unit/type/zset
  10 seconds - unit/sort
  10 seconds - unit/type/string
  1 seconds - integration/logging
  1 seconds - integration/rdb
  11 seconds - unit/expire
  1 seconds - unit/pubsub
  1 seconds - integration/convert-zipmap-hash-on-load
  0 seconds - unit/introspection
  1 seconds - unit/slowlog
  4 seconds - integration/aof
  2 seconds - unit/limits
  13 seconds - unit/type/list
  1 seconds - unit/bitfield
  3 seconds - unit/bitops
  16 seconds - unit/type/list-2
  6 seconds - unit/maxmemory
  15 seconds - integration/replication-2
  7 seconds - unit/introspection-2
  7 seconds - unit/scripting
  5 seconds - unit/memefficiency
  29 seconds - unit/dump
  16 seconds - unit/hyperloglog
  29 seconds - integration/replication-3
  19 seconds - unit/geo
  35 seconds - integration/replication-4
  44 seconds - unit/aofrw
  58 seconds - unit/obuf-limits
  105 seconds - unit/type/list-3
  115 seconds - integration/replication-psync
  128 seconds - integration/replication

!!! WARNING The following tests failed:

*** [err]: Test replication partial resync: ok psync (diskless: yes, reconnect: 1) in tests/integration/replication-psync.tcl
Expected condition '[s -1 sync_partial_ok] > 0' to be true ([s -1 sync_partial_ok] > 0)
Cleanup: may take some time... OK
Makefile:225: recipe for target 'test' failed
make[1]: *** [test] Error 1
gamedev8 commented 7 years ago

+1

jesperhag commented 7 years ago

Same as #2715

jean-christophe-manciot commented 7 years ago

Exact same issue with 3.2.7.

kylebakerio commented 7 years ago

same with current stable

onokje commented 7 years ago

I have it as well. Ubuntu 16, current stable. Can i ignore it?

gutzeit commented 7 years ago

@onokje try apt-get update && apt-get install -y wget gcc make tcl git ruby

ccding commented 7 years ago

@gutzeit doesn't help

ccding commented 7 years ago

the same for 3.2.8

ElliotGilchrist commented 7 years ago

@gutzeit That fixed it for me on Ubuntu 16.04 and Redis 3.2.8

gutzeit commented 7 years ago

@ccding please tell us the error message.

ccding commented 7 years ago

@gutzeit exactly the same error as posted above

farmisen commented 7 years ago

exact same error with 3.2.8. $ uname -a Linux the-machine 4.4.0-66-generic #87-Ubuntu SMP Fri Mar 3 15:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

MarcFord commented 7 years ago

For Ubuntu 16 I was able to get tests to pass by limiting the number of CPU's used taskset -c 0 make test

jean-christophe-manciot commented 7 years ago

Debian people have found a workaround, in https://github.com/lamby/pkg-redis, in debian/rules:

    # Avoid **race conditions** in upstream testsuite. (#830500)
    ./runtest
    ./runtest-sentinel

All tests run fine when building the commits debian/3%3.2.8-3 and debian/4%4.0-1.

antirez commented 7 years ago

Hello, this was fixed in commit 3f068b92b98c664ccefb457103068583879609e3

Juwon-Kim commented 6 years ago

what the fucking galaxy is this?

cryptozeny commented 5 years ago

same on redis-3.0.6 where is the fix?

[err]: Test replication partial resync: ok psync (diskless: yes, reconnect: 1) in tests/integration/replication-psync.tcl