apache / apache/arrow-java

[FlightRPC] Remove sketchy gRPC reflection code

Open
#939 4 comments 1 reaction 1 assignee Claimed by @tadeja View on GitHub
help wanted Type: bug
Dominant language
Java
Stars
94
Forks
152
Avg merge
3d 16h
Merged PRs (30d)
11

Description

### 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()](https://grpc.github.io/grpc-java/javadoc/io/grpc/HasByteBuffer.html)+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()](https://grpc.github.io/grpc-java/javadoc/io/grpc/Detachable.html).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.