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

Use Bifrost Appender API in Shuffler #2659

Closed

Conversation

slinkydeveloper
Copy link
Contributor

No description provided.

Copy link
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 @slinkydeveloper. I am not 100% sure whether caching the Appender makes a significant performance improvement (best if we measured it). It seems that creating an Appender involves a few atomic variable writes. What could make a bigger difference is to use the BackgroundAppender. But this requires a bigger refactoring. Hence, I would suggest to close this PR unless the measurements say something else.

move |msg| {
let bifrost = bifrost.clone();
async move {
append_envelope_to_bifrost(&bifrost, Arc::new(msg)).await?;
Copy link
Contributor

Choose a reason for hiding this comment

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

I am not sure whether creating Appenders is so expensive. It looks that we might save a few atomic writes. Did you measure the impact of your changes? What could make a difference is the usage of the BackgroundAppender which also supports batching of appends. But this will require a bigger refactoring of the shuffler to make it work, I believe.

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