-
Notifications
You must be signed in to change notification settings - Fork 466
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
catalog: Combine epoch and deploy generation (#29269)
Previously, the catalog used both the epoch and the deploy generation as fencing tokens. However, they were both written to the catalog as separate entries and at different times. This complicated the fencing logic and often resulted in fencing errors with less information than we wanted. This commit combines the epoch and deploy generation into a single fencing token that is always written to the catalog atomically. It utilizes the `FenceToken` update kind which was added in a previous commit. Since the epoch and fence token must be available before the catalog is opened (i.e. before migrations are run), this commit needs to handle both epochs and fence tokens. In the next release we can fully remove the `Epoch` update kind. Additionally, fence errors can indicate with certainty whether the fence is due to the deploy generation or epoch. Therefore, we can remove the halt varint of `unwrap_or_terminate` which was used when we weren't sure if the deploy generation had increased. Works towards resolving #29199 --------- Co-authored-by: Dennis Felsing <[email protected]>
- Loading branch information
Showing
12 changed files
with
488 additions
and
330 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.