txn_libmo: preserve confirmed_lsn after reading a PROMOTE
Previously we assumed that every PROMOTE request changes limbo owner, and thus limbo should have confirmed_lsn = 0 after the request is processed, because new confirmed lsn is yet unknown. This is not true for PROMOTE requests coming in JOIN or saved in snapshot: such requests don't change limbo owner: they are like savepoints, they notify the instance of the current limbo state. Such promotions may be detected by the rule replica_id (old limbo owner) == origin_id (new limbo owner) So, for the sake of correct split-brain detection, confirmed_lsn should be nonzero after such promotions. Part-of #5295 NO_DOC=internal change NO_TEST=tested in future commits NO_CHANGELOG=internal change
Loading
Please register or sign in to comment