Chunk-merge compact concurrency - #793
Merged
Merged
Conversation
rkistner
added this pull request to stack #794
September 10, 2026 11:09
🦋 Changeset detectedLatest commit: 02c1732 The changes in this PR will be included in the next version bump. This PR includes changesets to release 12 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
rkistner
force-pushed
the
compact-concurrency
branch
from
September 10, 2026 11:23
9574f2e to
72268b0
Compare
rkistner
marked this pull request as ready for review
September 10, 2026 11:49
This comment was marked as resolved.
This comment was marked as resolved.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 72268b06bd
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
stevensJourney
previously approved these changes
Sep 10, 2026
stevensJourney
left a comment
Collaborator
There was a problem hiding this comment.
The changes look logical and good to me.
stack merge was automatically disabled
September 10, 2026 14:53
Pull Request is not mergeable
rkistner
force-pushed
the
compact-concurrency
branch
from
September 10, 2026 15:01
eb3c847 to
02c1732
Compare
stevensJourney
approved these changes
Sep 10, 2026
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This adds a new
storage.chunk_compaction_concurrencyoption that allows chunk-merge compaction (specific tostorage_version: 4) to run concurrently on different buckets.The main motivation is S3 latency: If we process each bucket sequentially, the S3 latency can dominate the overhead, significantly slowing down compaction. This specifically has an effect for the chunk-merge compaction running after initial replication, since it blocks the activation of the new sync config, and can currently run significantly longer than the initial replication itself.
An existing workaround is running multiple concurrent compaction workers, but this approach is much simpler, especially for the compaction after initial replication.
Full compaction continues processing buckets sequentially, since it is typically much heavier in terms of processing. This may change in the future.
The default concurrency is 2 for inline MongoDB storage 4 when using object storage. This can likely be increased further, but we're keeping the defaults conservative for now. From testing, a concurrency of 4x is sufficient to make the impact of the chunk-merge low on the overall replication time.
AI Usage
Implemented using Codex gpt-6-astra.