apache / apache/arrow-java

Arrow 13.0.0: org.apache.arrow.flight.FlightRuntimeException: CANCELLED: Failed to stream message

Aberta
#170 5 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Java
Estrelas
94
Forks
152
Merge médio
3d 16h
PRs com merge (30d)
11

Descrição

### 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

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece em org.apache.arrow.flight.auth2.ClientHandshakeWrapper.doClientHandshake e na serialização gerada de Flight.HandshakeRequest mostrada no stack trace. Compare o comportamento e as dependências do cliente Java entre Arrow 12.0.1 e 13.0.0, reproduzindo o handshake entre as aplicações Java e Python no Kubernetes. A tarefa estará concluída quando flightClient.handshake() for concluído sem o erro de framing ou o loop infinito de novas tentativas.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
grpc, java, kubernetes, python
Domínio
api, distributed-systems
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.