Skip to content

[VQueues] Increase successive-merges limit and remove wasteful partial merges#4747

Open
AhmedSoliman wants to merge 1 commit into
mainfrom
pr4747
Open

[VQueues] Increase successive-merges limit and remove wasteful partial merges#4747
AhmedSoliman wants to merge 1 commit into
mainfrom
pr4747

Conversation

@AhmedSoliman
Copy link
Copy Markdown
Contributor

@AhmedSoliman AhmedSoliman commented May 18, 2026

Partial merges didn't add value and wasted precious CPU cycles since the updates cannot be merged
This change removes it and increase the limit of successive merges from 100 (way too low for vqueus) to 5000100 (way too low for vqueus) to 5000
which experimentally seems to be enough, but we may expose this as an advanced config option in the future if really needed.


Stack created with Sapling. Best reviewed with ReviewStack.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 18, 2026

Test Results

  8 files  ±0    8 suites  ±0   4m 50s ⏱️ ±0s
 60 tests ±0   60 ✅ ±0  0 💤 ±0  0 ❌ ±0 
267 runs  ±0  267 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit abe2628. ± Comparison against base commit 9da7b1a.

♻️ This comment has been updated with latest results.

@AhmedSoliman AhmedSoliman force-pushed the pr4747 branch 4 times, most recently from fe0d1b2 to 50391e4 Compare May 18, 2026 12:37
@AhmedSoliman AhmedSoliman marked this pull request as ready for review May 18, 2026 12:38
@AhmedSoliman AhmedSoliman requested a review from tillrohrmann May 18, 2026 12:38
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 50391e4aa4

ℹ️ 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".

Comment thread crates/worker-api/src/invoker/effects.rs Outdated
Comment thread crates/partition-store/src/vqueue_table/metadata.rs
…l merges

Partial merges didn't add value and wasted precious CPU cycles since the updates cannot be merged
This change removes it and increase the limit of successive merges from 100 (way too low for vqueus) to 5000100 (way too low for vqueus) to 5000
which experimentally seems to be enough, but we may expose this as an advanced config option in the future if really needed.
Copy link
Copy Markdown
Contributor

@tillrohrmann tillrohrmann left a comment

Choose a reason for hiding this comment

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

Thanks for creating this PR @AhmedSoliman. LGTM. +1 for merging.

The one question I had was why is it a good idea to make merges happening less likely when being stored in the memtable (increasing the max successive merges value)?

KeyKind::partial_merge,
);
cf_options.set_max_successive_merges(100);
cf_options.set_max_successive_merges(5000);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Increasing this value will make it less likely that merges are happening in the memtable, right? Is this something to prevent writes from becoming more expensive and delay the merges to happen during compactions?

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