NoSuchMethodError with gRPC Java 1.79.0
- 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.
We noticed `NoSuchMethodError`s with the gRPC Java 1.79.0 upgrade. It's because `ReadableBuffer.readBytes(ByteBuffer)` was dropped in https://github.com/grpc/grpc-java/commit/738782fb050ec94b9bf1c795cf2299b90a6ce327. It is used here: https://github.com/apache/arrow-java/blob/8e84e4c8bbe041f362690e4ea54280ec682dbb1f/flight/flight-core/src/main/java/org/apache/arrow/flight/grpc/GetReadableBuffer.java#L91
```
Caused by: java.lang.NoSuchMethodError: 'void io.grpc.internal.ReadableBuffer.readBytes(java.nio.ByteBuffer)'
at org.apache.arrow.flight.grpc.GetReadableBuffer.readIntoBuffer(GetReadableBuffer.java:91)
at org.apache.arrow.flight.ArrowMessage.frame(ArrowMessage.java:323)
at org.apache.arrow.flight.ArrowMessage$ArrowMessageHolderMarshaller.parse(ArrowMessage.java:575)
at org.apache.arrow.flight.ArrowMessage$ArrowMessageHolderMarshaller.parse(ArrowMessage.java:560)
at io.grpc.MethodDescriptor.parseResponse(MethodDescriptor.java:284)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInternal(ClientCallImpl.java:662)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInContext(ClientCallImpl.java:649)
```
Contributor guide
Research direction
Start in flight/flight-core/src/main/java/org/apache/arrow/flight/grpc/GetReadableBuffer.java at line 91, then trace the call from ArrowMessage.frame shown in the stack trace. Reproduce with gRPC Java 1.79.0 and confirm the Flight path no longer raises NoSuchMethodError; use the existing Flight tests to verify the affected buffer handling.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- grpc, java
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100