|
Ran
|
Jobs
1
|
Files
476
|
Run time
12s
|
Badge
README BADGES
|
push
github
replication: fix waiting for remote ballot updates during bootstrap There was a problem in applier_wait_bootstrap_leader_uuid_is_set(): * it didn't set an error cause when the ballot watcher was dead, leading to a segfault when trying to diag_add() to the cause. * it didn't expect the ballot watcher to exit without an error before the bootstrap leader uuid is known, hanging forever. The first issue could be reproduced by trying to bootstrap a replicaset consisting of both "old" (Tarantool 2.10 or less) and "new" instances. Or by bootstrapping a replicaset consisting of "new" instances and stopping some of them in a specific manner. The second issue could be reproduced only by manually broadcasting an empty "internal.ballot" event. Fix both issues. The first one by setting an ER_UNKNOWN error when the ballot watcher fiber is dead. And the second one by checking if the ballot watcher has died during waiting for the ballot update. The test only covers the first issue: the second one can only happen with manual intervention and is hard to test: it involves broadcasting an empty "internal.ballot" from the replica while it's still connecting to remote nodes during an initial `box.cfg{}` call. Closes #8757 NO_DOC=bugfix (cherry picked from commit 1c25efb4b)
62097 of 114102 branches covered (54.42%)
93110 of 108622 relevant lines covered (85.72%)
3040383.74 hits per line
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 5287365697.1 | 0 |
85.72 |
GitHub Action Run |