[Java] ArrowMessage failed to parse compressed grpc stream
- Vorherrschende Sprache
- Java
- Sterne
- 94
- Forks
- 152
- Ø Merge
- 3 T. 16 Std.
- Gemergte PRs (30 T.)
- 11
Beschreibung
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.*
Beitragsleitfaden
Rechercherichtung
Beginnen Sie in ArrowMessage.frame und untersuchen Sie die Behandlung von read-tag für komprimierte gRPC-Streams, insbesondere im Hinblick auf stream.available und InvalidProtocolBufferException. Sehen Sie sich den verknüpften PR #9147 an und überprüfen Sie, dass gzip-komprimierte Eingaben erfolgreich geparst werden, ohne dass der Stream vorzeitig als verfügbar behandelt wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- grpc, java
- Bereich
- api, backend
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 15/100