-
Notifications
You must be signed in to change notification settings - Fork 9
Add ability to tune per-log batching behavior #43
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
Conversation
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
c1220be to
e367275
Compare
cdf570e to
969df88
Compare
- Restore old log behavior by setting default 'max_sequence_skips' to 0 - Rework PoolState::take() to return an Option indicating whether or not we sequencing can be skipped are no new entries or entries that don't make up a full tile. - Set additionalProperties:false in JSON schema
…atchers - Add ability to set num_batchers to zero so the frontend worker connects directly to the sequencer. - Remove MAX_IN_FLIGHT check from batcher. If we need some sort of rate-limiting in the batchers, we can add it later based on operational experience.
Add an option to the configuration to disable the deduplication cache, which is useful for running tests and benchmarks against a log.
8a44f7c to
ded12d5
Compare
When a pending entry has been queued for longer than the timeout, it will be included in the next sequencing regardless of how many times it has exceeded the number of allowed skipped sequencings.
The value in the channel will persist even after the sender is dropped, so remove the comment. According to https://docs.rs/tokio/latest/tokio/sync/watch/index.html#closing, "The value in the channel will not be dropped until the sender and all receivers have been dropped."
ded12d5 to
c913c38
Compare
cjpatton
reviewed
Jun 4, 2025
Contributor
cjpatton
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still working my way through the stack, but I got to a point where I have question I want to answer before I keep looking.
cjpatton
approved these changes
Jun 5, 2025
rozbb
approved these changes
Jun 5, 2025
Contributor
rozbb
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice!
* Change disable_dedup -> enable_dedup * Use const generics to supply default values in config * Fix comment for sequence_skip_threshold_millis, as setting it to 0 makes it Some(0) in the code, while not specifying makes it None
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.
c913c38 Fix comment about dropped channels
The value in the channel will persist even after the sender is dropped,
so remove the comment. According to
https://docs.rs/tokio/latest/tokio/sync/watch/index.html#closing, "The
value in the channel will not be dropped until the sender and all
receivers have been dropped."
f721b0c Add breakdown of full vs partial tiles to metrics
a053648 Add ability to set a maximum timeout for skipped entries
When a pending entry has been queued for longer than the timeout, it
will be included in the next sequencing regardless of how many times it
has exceeded the number of allowed skipped sequencings.
859df92 Add option to disable deduplication checks
Add an option to the configuration to disable the deduplication cache,
which is useful for running tests and benchmarks against a log.
a16ee94 Add batcher parameters to log configuration, and allow setting zero batchers
connects directly to the sequencer.
rate-limiting in the batchers, we can add it later based on
operational experience.
0f92d2a Allow skipping checkpoint creation when there are no entries to sequence
we sequencing can be skipped are no new entries or entries that don't
make up a full tile.
e9d76c0 Specify sequence interval in milliseconds instead of seconds