vespa icon indicating copy to clipboard operation
vespa copied to clipboard

Consider adding http zstd compression

Open jobergum opened this issue 2 years ago • 4 comments

Today we support gzip so Vespa delivers a gzip compressed response when the client uses "Accept-Encoding": "gzip", we could also support better and faster compression if we could understand "Accept-Encoding: zstd" and deliver a zstd compressed response. Also relevant for our feeding apis.

I believe this would be a great as it reduced egress cost for multi-cloud usages. curl has support for decompressing zstd compressed content as well https://daniel.haxx.se/blog/2020/08/19/curl-7-72-0-more-compression/

jobergum avatar Jul 26 '21 09:07 jobergum

Jetty has currently no builtin support for zstd encoded request/response content. We'll have to implement it ourself. On approach is to create a new Jetty handler + input/output interceptors for (de)compression of zstd content. Jetty's GzipHandler does that.

bjorncs avatar Aug 09 '21 13:08 bjorncs

I think for our internal feed api's it would make a lot of sense to support it, for query/read traffic where we don't do client implementations we could point to libraries supporting it for reducing network transfer cost.

jobergum avatar Aug 09 '21 14:08 jobergum

Consider featurerequest to Jetty, alt contribute in Jetty

johans1 avatar Aug 11 '21 12:08 johans1

Created feature request on Jetty's issue tracker: https://github.com/eclipse/jetty.project/issues/6600.

bjorncs avatar Aug 11 '21 13:08 bjorncs