• Binbin's avatar
    Fix unstable test: replication with parallel clients writing in different DBs (#11782) · 03347d04
    Binbin authored
    Failure happens in FreeBSD daily:
    ```
    *** [err]: Test replication with parallel clients writing in different DBs in tests/integration/replication-4.tcl
    Expected [::redis::redisHandle2 dbsize] > 0 (context: type eval line 19 cmd {assert {[$master dbsize] > 0}} proc ::test)
    ```
    
    The test is failing because db 9 has no data (default db), and
    according to the log, we can see that db 9 does not have a key:
    ```
     ### Starting test Test replication with parallel clients writing in different DBs in tests/integration/replication-4.tcl
    3338:S 03 Feb 2023 00:15:18.723 - DB 11: 1 keys (0 volatile) in 4 slots HT.
    3338:S 03 Feb 2023 00:15:18.723 - DB 12: 141 keys (0 volatile) in 256 slots HT.
    ```
    
    We use `wait_for_condition` to ensure that parallel clients have
    written data before calling stop_bg_complex_data. At the same time,
    `wait_for_condition` is also used to remove the above `after 1000`,
    which can save time in most cases.
    03347d04
replication-4.tcl 10.2 KB