[Java] ArrowMessage failed to parse compressed grpc stream
- Linguagem predominante
- Java
- Estrelas
- 94
- Forks
- 152
- Merge médio
- 3d 16h
- PRs com merge (30d)
- 11
Descrição
InvalidProtocolBufferException will be thrown in ArrowMessage.frame if we use gzip compress in Grpc.
The reason is stream.available will still be 1 after we read compressed data. There should be another attempt read to change InflaterInputStream.reachEOF to be true, and make stream.available to be 0.
Thus we need check stream.available after read tag from stream.
**Reporter**: [Jackey Lee](https://issues.apache.org/jira/browse/ARROW-11177) / @jackylee-ch
#### PRs and other links:
- [GitHub Pull Request apache/arrow#9147](https://github.com/apache/arrow/pull/9147)
**Note**: *This issue was originally created as [ARROW-11177](https://issues.apache.org/jira/browse/ARROW-11177). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*
Guia de contribuição
Direção de pesquisa
Comece em ArrowMessage.frame e inspecione o tratamento de read-tag para streams gRPC compactados, prestando atenção a stream.available e InvalidProtocolBufferException. Revise o PR #9147 vinculado e verifique se a entrada compactada com gzip é analisada com sucesso sem que o stream seja tratado como disponível prematuramente.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- grpc, java
- Domínio
- api, backend
- Tipo de issue
- Bug
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Estagnada
- Clareza
- Claramente especificada
- Facilidade para iniciantes
- 15/100