NoSuchMethodError with gRPC Java 1.79.0
- Langage dominant
- Java
- Étoiles
- 94
- Forks
- 152
- Merge moyen
- 3 j 16 h
- PR mergées (30 j)
- 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)
```
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez dans flight/flight-core/src/main/java/org/apache/arrow/flight/grpc/GetReadableBuffer.java à la ligne 91, puis suivez l’appel à ArrowMessage.frame indiqué dans la stack trace. Reproduisez le problème avec gRPC Java 1.79.0 et confirmez que le chemin Flight ne lève plus NoSuchMethodError ; utilisez les tests Flight existants pour vérifier la gestion du buffer concerné.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- grpc, java
- Domaine
- api, backend
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 35/100