Skip to content

QQ: checkpointing frequency improvements (backport #11964) #12023

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

Merged
merged 2 commits into from
Aug 16, 2024

Conversation

mergify[bot]
Copy link

@mergify mergify bot commented Aug 16, 2024

The current approach takes too many checkpoints which affects performance negatively, especially with large backlogs.

This PR takes an approach more similar to what was done for release cursors in 3.13.x.

Also add a force_checkpoint aux command that the purge operation
emits - this can also be used to try to force a checkpoint

The checkpointing config can be changed by setting the the quorum_queue_checkpoint_config persistent term:

persistent_term:set(quorum_queue_checkpoint_config, {MinIntervalMs, MinIndexes, MaxIndexes}).

the current values are: {1000, 4096, 666667} which means it will take a checkpoint at most every 1s as long as at least 4096 indexes have been applied. The min indexes between each checkpoint will grow in line with the message backlog up to at most 666667.


This is an automatic backport of pull request #11964 done by Mergify.

kjnilsson and others added 2 commits August 16, 2024 00:50
it was in 3.13.x.

Also add a force_checkpoint aux command that the purge operation
emits - this can also be used to try to force a checkpoint

(cherry picked from commit 0f1f27c)
Also remove a resolved TODO about conversion for the `last_checkpoint`
field.

(cherry picked from commit 9ca77f8)
@mergify mergify bot added the bazel label Aug 16, 2024
@michaelklishin michaelklishin merged commit c6aaa50 into v4.0.x Aug 16, 2024
197 checks passed
@michaelklishin michaelklishin deleted the mergify/bp/v4.0.x/pr-11964 branch August 16, 2024 02:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants