replication: fix a hang on final join retry
Since the introduction of synchronous replication it became possible for final join to fail on master side due to not being able to gather acks for some tx around _cluster registration. A replica receives an error in this case: either ER_SYNC_ROLLBACK or ER_SYNC_QUORUM_TIMEOUT. The errors lead to applier retrying final join, but with wrong state, APPLIER_REGISTER, which should be used only on an anonymous replica. This lead to a hang in fiber executing box.cfg, because it waited for APPLIER_JOINED state, which was never entered. Part-of #5566
Loading
Please register or sign in to comment