Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Scheduler to not persist SchedulingPlan and accept equivalent placements #2242

Open
Tracked by #1815
tillrohrmann opened this issue Nov 7, 2024 · 0 comments

Comments

@tillrohrmann
Copy link
Contributor

tillrohrmann commented Nov 7, 2024

Right now the Scheduler persists its SchedulingPlan to the metadata store as a way to synchronize on it (in case there are multiple CCs running). With #2238, this is no longer strictly required. Especially, we add support to the Scheduler to also accept equivalent placement decisions that were originally taken by a different cluster controller. That way it is not tragic if there is a short period where multiple CCs believe that they are the leader.

tillrohrmann added a commit to tillrohrmann/restate that referenced this issue Nov 15, 2024
This commit adds an periodic SchedulingPlan check which allows multiple
Schedulers to eventually agree on the same SchedulingPlan. Before, it could
happen that there are two Schedulers that have different SchedulingPlans
(e.g. one still having an older version). If those plans are contradicting,
then the Schedulers would instruct nodes differently. The periodic update
helps preventing this situation.

Note: This logic can be removed once we allow the scheduler to accept
equivalent partition processor placements. See restatedev#2242.
tillrohrmann added a commit to tillrohrmann/restate that referenced this issue Nov 15, 2024
This commit adds an periodic SchedulingPlan check which allows multiple
Schedulers to eventually agree on the same SchedulingPlan. Before, it could
happen that there are two Schedulers that have different SchedulingPlans
(e.g. one still having an older version). If those plans are contradicting,
then the Schedulers would instruct nodes differently. The periodic update
helps preventing this situation.

Note: This logic can be removed once we allow the scheduler to accept
equivalent partition processor placements. See restatedev#2242.
tillrohrmann added a commit to tillrohrmann/restate that referenced this issue Nov 22, 2024
This commit adds an periodic SchedulingPlan check which allows multiple
Schedulers to eventually agree on the same SchedulingPlan. Before, it could
happen that there are two Schedulers that have different SchedulingPlans
(e.g. one still having an older version). If those plans are contradicting,
then the Schedulers would instruct nodes differently. The periodic update
helps preventing this situation.

Note: This logic can be removed once we allow the scheduler to accept
equivalent partition processor placements. See restatedev#2242.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant