GitHub user xborder edited a comment on the discussion: How to enable Gzip or 
Zstd compression on Java based Arrow Flight Service

Are you referring to gRPC-level compression or IPC compression?
- gRPC-level: It looks doable. FlightServer.Builder uses 
[NettyServerBuilder](https://grpc.github.io/grpc-java/javadoc/io/grpc/netty/NettyServerBuilder.html),
 which you can extend to configure transport compression via 
compressorRegistry() (outgoing) and decompressorRegistry() (incoming). 
Likewise, FlightClient.Builder creates a 
[NettyChannelBuilder](https://github.com/apache/arrow-java/blob/8d3fe93d493188f0d3df59028cfd852be2085820/flight/flight-core/src/main/java/org/apache/arrow/flight/FlightClient.java#L827)
 that supports the same APIs. So there’s a plausible path here.
- IPC compression: I experimented with this a bit in the context of 
https://github.com/apache/arrow-java/pull/937. 
[VectorUnloader](https://github.com/apache/arrow-java/blob/b9e40fa0a90143eef36ca53d2f937f2fef494402/vector/src/main/java/org/apache/arrow/vector/VectorUnloader.java#L62)
  already appears to support data compression. What seems to be missing is 
initializing OutboundStreamListenerImpl with a codec. I did a quick 
[tested](https://github.com/xborder/arrow-java/commit/5489d106d9a10289b94edeefa3066acb3edab6f8#diff-a715f331d1a7c6178b02e73b0f8c3232e8dd5707c927df5de94ebc9479b5e5d0)
 that seemed to work, but it needs a more thorough review.


BTW, java implementation of arrow was moved to 
[arrow-java](https://github.com/apache/arrow-java)

GitHub link: 
https://github.com/apache/arrow/discussions/48720#discussioncomment-15414913

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]

Reply via email to