Arrow 13.0.0: org.apache.arrow.flight.FlightRuntimeException: CANCELLED: Failed to stream message
- Vorherrschende Sprache
- Java
- Sterne
- 94
- Forks
- 152
- Ø Merge
- 3 T. 16 Std.
- Gemergte PRs (30 T.)
- 11
Beschreibung
### Describe the bug, including details regarding any error messages, version, and platform.
Hello All,
I would like to ask your help in the following issue I am facing with.
I have a Java and a Python application in different pods running on Kubernetes. A running Arrow Flight server is on the Python side.
Arrow version: 13.0.0 (everything worked fine with version 12.0.1)
**flightClient.handshake();** throws this error and the method is in an infinite loop:
```BASH
org.apache.arrow.flight.FlightRuntimeException: CANCELLED: Failed to stream message
at org.apache.arrow.flight.CallStatus.toRuntimeException(CallStatus.java:131)
at org.apache.arrow.flight.grpc.StatusUtils.fromGrpcRuntimeException(StatusUtils.java:164)
at org.apache.arrow.flight.grpc.StatusUtils.fromThrowable(StatusUtils.java:185)
at org.apache.arrow.flight.auth2.ClientHandshakeWrapper.doClientHandshake(ClientHandshakeWrapper.java:59)
at org.apache.arrow.flight.FlightClient.handshake(FlightClient.java:212)
at ...
Caused by: io.grpc.StatusRuntimeException: INTERNAL: Failed to frame message
at io.grpc.Status.asRuntimeException(Status.java:530)
at io.grpc.internal.MessageFramer.writePayload(MessageFramer.java:154)
at io.grpc.internal.AbstractStream.writeMessage(AbstractStream.java:66)
at io.grpc.internal.ForwardingClientStream.writeMessage(ForwardingClientStream.java:37)
at io.grpc.internal.DelayedStream.writeMessage(DelayedStream.java:278)
at io.grpc.internal.RetriableStream$1SendMessageEntry.runWith(RetriableStream.java:567)
at io.grpc.internal.RetriableStream.delayOrExecute(RetriableStream.java:544)
at io.grpc.internal.RetriableStream.sendMessage(RetriableStream.java:575)
at io.grpc.internal.ClientCallImpl.sendMessageInternal(ClientCallImpl.java:525)
at io.grpc.internal.ClientCallImpl.sendMessage(ClientCallImpl.java:513)
at io.grpc.ForwardingClientCall.sendMessage(ForwardingClientCall.java:37)
at io.grpc.stub.ClientCalls$CallToStreamObserverAdapter.onNext(ClientCalls.java:378)
at org.apache.arrow.flight.auth2.ClientHandshakeWrapper.doClientHandshake(ClientHandshakeWrapper.java:48)
... 21 more
Caused by: java.lang.UnsupportedOperationException: This is supposed to be overridden by subclasses.
at com.google.protobuf.GeneratedMessageV3.getUnknownFields(GeneratedMessageV3.java:302)
at org.apache.arrow.flight.impl.Flight$HandshakeRequest.getSerializedSize(Flight.java:328)
at io.grpc.protobuf.lite.ProtoInputStream.available(ProtoInputStream.java:108)
at io.grpc.internal.MessageFramer.getKnownLength(MessageFramer.java:208)
at io.grpc.internal.MessageFramer.writePayload(MessageFramer.java:138)
... 32 more
```
### Component(s)
Java
Beitragsleitfaden
Rechercherichtung
Beginnen Sie bei org.apache.arrow.flight.auth2.ClientHandshakeWrapper.doClientHandshake und der generierten Flight.HandshakeRequest-Serialisierung, die im Stack Trace angezeigt wird. Vergleichen Sie das Verhalten und die Abhängigkeiten des Java-Clients zwischen Arrow 12.0.1 und 13.0.0, und reproduzieren Sie den Handshake zwischen den Java- und Python-Anwendungen in Kubernetes. Erledigt ist die Aufgabe, wenn flightClient.handshake() ohne den Framing-Fehler oder die Endlosschleife bei Wiederholungsversuchen abgeschlossen wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- grpc, java, kubernetes, python
- Bereich
- api, distributed-systems
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100