-
Notifications
You must be signed in to change notification settings - Fork 52
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
broker: apply the flush interval when evaluating journal suspension
Previously, a journal was eliglble for suspension as soon as all of its fragments were persisted. Though this is safe and correct, it doesn't account for raced evaluations in the broader context of a busy cluster with other topology changes and journal churn. Specifically, a journal with regular appends may be temporarily eligble for suspension only because its toplogy was recently changed, causing its fragments to be flushed. Worse, the journal's suspension (and soon, re-activation) may trigger churn which causes *other* journals to flush and themselves become suspended. Groups of journals may also have correlated write schedules, such as journals which are written once daily at midnight. We'd like to avoid thundering herds of journal suspensions and re-activations that might impact other journals due to assignment churn. To resolve this, prevent a journal from being suspended until its fragments are fully remote AND are at-least as old as its configured flush interval (or 24h, if not defined).
- Loading branch information
1 parent
ce74741
commit f172f5b
Showing
4 changed files
with
31 additions
and
9 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