apache / apache/arrow-java

Avro adapter: AvroStringConsumer should use readString instead of readBytes

未關閉
#832 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
Type: bug
主要語言
Java
星號
94
分支
152
平均合併
3 天 16 小時
30 天內合併 PR
11

描述

### Describe the bug, including details regarding any error messages, version, and platform.

Currently, `AvroStringConsumer` calls `decoder.readBytes` instead of `decoder.readString`. This can lead to exceptions when using `ResolvingDecoder`:

```
org.apache.avro.AvroTypeException: Attempt to process a bytes when a string was expected.

at org.apache.avro.io.parsing.Parser.advance(Parser.java:91)
at org.apache.avro.io.ResolvingDecoder.readBytes(ResolvingDecoder.java:236)
at org.apache.arrow.adapter.avro.consumers.AvroStringConsumer.consume(AvroStringConsumer.java:41)
```

貢獻指南

開啟貢獻指南

研究方向

從 AvroStringConsumer.java 中的 consume 方法開始,檢查 decoder 如何用於 Avro 字串。重現 issue 中描述的 ResolvingDecoder 情況,然後確認 consumer 能夠處理字串資料,而不會出現回報的 AvroTypeException。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
java
領域
data
Issue 類型
缺陷
難度
1/5
預估耗時
1 小時以內
活躍度
停滯
描述清晰度
描述清楚
新手友好度
55/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。