apache/arrow-java

[FlightRPC] Remove sketchy gRPC reflection code

Aperta

#939 aperta il 29 dic 2025

 (4 commenti) (1 reazione) (1 assegnatario)Java (132 fork)auto 404
Type: bughelp wanted

Metriche repository

Star
 (89 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

Describe the bug, including details regarding any error messages, version, and platform.

https://github.com/grpc/grpc-java/pull/12579

There are public methods to get ownership of the internal ByteBuffers, instead of having to use reflection (which, did we actually ever need it in the first place?)

There's no need to dig into our internals for accessing the ByteBuffer (which is what GetReadableBuffer reports to do). We have zero-copy APIs. They can use HasByteBuffer.getByteBuffer()+InputStream.skip() to loop through the ByteBuffers. If they want to access all the byte buffers simultaneously (as skip() will deallocate the last byte buffer, just like read() does), then they can use InputStream.mark(). If they want to take over ownership of the ByteBuffers, then they can use Detachable.detach().

Guida contributor