apache/arrow-java

[FlightRPC] Remove sketchy gRPC reflection code

开放

#939 创建于 2025年12月29日

 (4 条评论) (1 个反应) (1 位负责人)Java (132 个派生)auto 404
Type: bughelp wanted

仓库指标

星标
 (89 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

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().

贡献者指南