-
Notifications
You must be signed in to change notification settings - Fork 68
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
Adding GRPC S2 compression implementation #582
base: main
Are you sure you want to change the base?
Conversation
Looks as if you need to run |
I got some more feedback from @pstibrany, we might want to support S2 directly in Mimir instead of going via dskit (to avoid bloating dskit's dependencies). Could you open a (draft?) PR to Mimir, so we can try to come up with a solution there? Thanks! |
Sure, let me do that |
@aknuds1 : not sure how to do that on Mimir level, will try to do that tomorrow. |
What @pstibrany suggests is to add a dskit extension point, to allow configuring a custom compression type from Mimir. If you just open a draft Mimir PR depending on this dskit branch, I'll help you shape it into something acceptable :) It's easier for me to see how to do it when I have a Mimir PR. |
Ah, for example app. Just did, together with rebase. |
Sure, I can do that. I didn't do that before because latest Mimir was not compatible with latest dskit, let me try one more time. I created 2 special branches in dskit for 2.12.0 ans 2.13.0 releases, based on corresponding dskit commits:
|
Opened draft PR - grafana/mimir#9292 |
What this PR does:
Adding S2 compression into GRPC encoding.
Which issue(s) this PR fixes:
Fixes #8522
Checklist
CHANGELOG.md
updated - the order of entries should be[CHANGE]
,[FEATURE]
,[ENHANCEMENT]
,[BUGFIX]
Implementation mostly taken from https://github.com/mostynb/go-grpc-compression/blob/main/internal/s2/s2.go
Also added snappy grpc compression benchmark, to match with S2: