NoSuchMethodError with gRPC Java 1.79.0
- Lenguaje dominante
- Java
- Estrellas
- 94
- Forks
- 152
- Merge medio
- 3 d 16 h
- PR fusionados (30 d)
- 11
Descripción
### 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)
```
Guía de contribución
Línea de trabajo
Comienza en flight/flight-core/src/main/java/org/apache/arrow/flight/grpc/GetReadableBuffer.java en la línea 91 y, a continuación, sigue la llamada a ArrowMessage.frame mostrada en el stack trace. Reproduce el problema con gRPC Java 1.79.0 y confirma que la ruta de Flight ya no genera NoSuchMethodError; usa las pruebas existentes de Flight para verificar el manejo del búfer afectado.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- grpc, java
- Área
- api, backend
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bien especificado
- Aptitud para principiantes
- 35/100