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

refactor(pageserver): make partitioning an ArcSwap #10377

Merged
merged 2 commits into from
Jan 16, 2025

Conversation

skyzh
Copy link
Member

@skyzh skyzh commented Jan 13, 2025

Problem

gc-compaction needs the partitioning data to decide the job split. This refactor allows concurrent access/computing the partitioning.

Summary of changes

Make partitioning an ArcSwap so that others can access the partitioning while we compute it. Fully eliminate the repartition is called concurrently warning when gc-compaction is going on.

Signed-off-by: Alex Chi Z <chi@neon.tech>
@skyzh skyzh requested a review from a team as a code owner January 13, 2025 20:59
@skyzh skyzh requested review from VladLazar and arpad-m January 13, 2025 20:59
Copy link

github-actions bot commented Jan 13, 2025

7315 tests run: 6939 passed, 0 failed, 376 skipped (full report)


Flaky tests (1)

Postgres 17

Code coverage* (full report)

  • functions: 33.7% (8425 of 25027 functions)
  • lines: 49.1% (70394 of 143241 lines)

* collected from Rust tests only


The comment gets automatically updated with the latest test results
21b5dea at 2025-01-15T22:14:45.069Z :recycle:

Signed-off-by: Alex Chi Z <chi@neon.tech>
@skyzh skyzh requested a review from arpad-m January 15, 2025 21:20
Copy link
Member

@arpad-m arpad-m left a comment

Choose a reason for hiding this comment

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

Very beautiful, thank you!

@skyzh skyzh added this pull request to the merge queue Jan 16, 2025
Merged via the queue into main with commit cccc196 Jan 16, 2025
84 checks passed
@skyzh skyzh deleted the skyzh/repartition-arcswap branch January 16, 2025 15:34
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

Successfully merging this pull request may close these issues.

2 participants