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

Remove compress filter #1053

Open
Jake-Shadle opened this issue Dec 19, 2024 · 0 comments
Open

Remove compress filter #1053

Jake-Shadle opened this issue Dec 19, 2024 · 0 comments
Labels
kind/breaking Changes to functionality, API, etc. kind/cleanup Refactoring code, fixing up documentation, etc

Comments

@Jake-Shadle
Copy link
Collaborator

The compress filter makes no sense for Quilkin IMHO, and it's a special case that is inhibiting coming changes.

For context, the compress filter can both compress and decompress packets, using either brotli or lz4. However, Quilkin is a UDP proxy only, with no knowledge of packet contents other than what is configured for filters such as TokenRouter, Match, etc, it doesn't know anything about how individual packets might relate to one another. Since it operates on a packet level, and assuming an MTU of 1500 (ethernet), the benefits of both compression and decompression use cases are practically worthless.

In the compression case, the savings are generally going to be minimal at such small sizes due the overhead of the compression header.

In the decompression case, it's possible for a packet to decompress to size larger than the MTU, causing it to fragment and thus have increased likelihood of the packet(s) being dropped during transit to their destination.

The only use case I can think of where compression/decompression would be useful for Quilkin to implement is in a situation where neither the client or server implementation is controlled by the entity proxying the traffic, and one side requires compression that the other side doesn't support. I'm skeptical this use case exists.

Leave a comment if you actually do use this filter and why, but if no one does by the end of January next year, I think we should remove it, removing a special case and getting rid of dependencies, improving compile times.

@Jake-Shadle Jake-Shadle added kind/bug Something isn't working kind/cleanup Refactoring code, fixing up documentation, etc kind/breaking Changes to functionality, API, etc. and removed kind/bug Something isn't working labels Dec 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/breaking Changes to functionality, API, etc. kind/cleanup Refactoring code, fixing up documentation, etc
Projects
None yet
Development

No branches or pull requests

1 participant