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

storage controller: tenant scheduling policy #7262

Merged
merged 4 commits into from Mar 28, 2024
Merged

Conversation

jcsp
Copy link
Contributor

@jcsp jcsp commented Mar 27, 2024

Problem

In the event of bugs with scheduling or reconciliation, we need to be able to switch this off at a per-tenant granularity.

This is intended to mitigate risk of issues with #7181, which makes scheduling more involved.

Closes: #7103

Summary of changes

  • Introduce a scheduling policy per tenant, with API to set it
  • Refactor persistent.rs helpers for updating tenants to be more general
  • Add tests

Checklist before requesting a review

  • I have performed a self-review of my code.
  • If it is a core feature, I have added thorough tests.
  • Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
  • If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

  • Do not forget to reformat commit message to not include the above checklist

@jcsp jcsp added t/feature Issue type: feature, for new features or requests c/storage/controller Component: Storage Controller labels Mar 27, 2024
@jcsp jcsp requested a review from VladLazar March 27, 2024 17:56
@jcsp jcsp requested a review from a team as a code owner March 27, 2024 17:56
Copy link

github-actions bot commented Mar 27, 2024

2736 tests run: 2598 passed, 0 failed, 138 skipped (full report)


Flaky tests (2)

Postgres 16

  • test_compute_pageserver_connection_stress: debug

Postgres 14

  • test_pageserver_init_node_id: debug

Code coverage* (full report)

  • functions: 28.1% (6310 of 22443 functions)
  • lines: 46.9% (44318 of 94441 lines)

* collected from Rust tests only


The comment gets automatically updated with the latest test results
b273dce at 2024-03-28T14:33:29.767Z :recycle:

Copy link
Contributor

@VladLazar VladLazar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. The most substantive comment is the one about inflight reconciles.

@jcsp jcsp enabled auto-merge (squash) March 28, 2024 13:46
@jcsp jcsp merged commit 6633332 into main Mar 28, 2024
49 checks passed
@jcsp jcsp deleted the jcsp/storcon-scheduling-policy branch March 28, 2024 14:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c/storage/controller Component: Storage Controller t/feature Issue type: feature, for new features or requests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

storage_controller: escape hatch to prevent node flapping
2 participants