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

test(pageserver): add small tenant compaction #11049

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

skyzh
Copy link
Member

@skyzh skyzh commented Feb 28, 2025

Problem

close #10881

Summary of changes

Mock a tenant with very small amount of data.

Copy link

github-actions bot commented Feb 28, 2025

7777 tests run: 7398 passed, 0 failed, 379 skipped (full report)


Code coverage* (full report)

  • functions: 32.8% (8643 of 26351 functions)
  • lines: 48.6% (73214 of 150784 lines)

* collected from Rust tests only


The comment gets automatically updated with the latest test results
7b02756 at 2025-03-03T17:23:46.832Z :recycle:

@skyzh skyzh marked this pull request as ready for review February 28, 2025 18:26
@skyzh skyzh requested review from problame and arpad-m and removed request for problame February 28, 2025 18:26
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.

Could you add a comment why we are enabling the compaction period and sleeping? Generally we don't like sleeps in our code as they bring unreliability.

For exceptional cases, it's okay I think but then we should make sure to document why the case is exceptional (for example, to test the compaction timer or something.

@skyzh
Copy link
Member Author

skyzh commented Mar 3, 2025

Could you add a comment why we are enabling the compaction period and sleeping? Generally we don't like sleeps in our code as they bring unreliability.

For exceptional cases, it's okay I think but then we should make sure to document why the case is exceptional (for example, to test the compaction timer or something.

The test creates a very small tenant and see if everything works with it. Given that the amount of data written is small and the operation is short, I put a timeout here to let tasks run in the background (i.e., gc/compaction run using the timeout). But now I feel a better way is to simply use the compaction API, which doesn't require a timeout.

Ready for review again :)

@skyzh skyzh requested a review from arpad-m March 3, 2025 16:06
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.

small tenant compaction tests to catch issues like #10548
2 participants