Arrow vector in Java(Scala) allocate byteBuffer error while read the bytes from Python pyarrow
- 主要语言
- Java
- 星标
- 94
- 派生
- 152
- 平均合并
- 3 天 16 小时
- 30 天内合并 PR
- 11
描述
I am using scala arrow 1.0.1 and pyarrow 1.0.1
Following error occurs when scala decode the byte that encoded from python.
tried to downgrade pyarrow to 0.17.0, 0.14.1, error still exists.
This is a loop function to decode the same data repeatedly. The error occurs sometimes, after an error occurs, following code could still work correctly.
```
Error stack trace java.nio.ByteBuffer.allocate(ByteBuffer.java:334)
com.intel.analytics.zoo.shaded.arrow.vector.ipc.message.MessageSerializer.readMessage(MessageSerializer.java:692)
com.intel.analytics.zoo.shaded.arrow.vector.ipc.message.MessageChannelReader.readNext(MessageChannelReader.java:57)
com.intel.analytics.zoo.shaded.arrow.vector.ipc.ArrowStreamReader.readSchema(ArrowStreamReader.java:164)
com.intel.analytics.zoo.shaded.arrow.vector.ipc.ArrowReader.initialize(ArrowReader.java:170)
com.intel.analytics.zoo.shaded.arrow.vector.ipc.ArrowReader.ensureInitialized(ArrowReader.java:161)
com.intel.analytics.zoo.shaded.arrow.vector.ipc.ArrowReader.getVectorSchemaRoot(ArrowReader.java:63)
```
How to fix it?
**Reporter**: [Litchy Soong](https://issues.apache.org/jira/browse/ARROW-10341)
**Note**: *This issue was originally created as [ARROW-10341](https://issues.apache.org/jira/browse/ARROW-10341). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*
贡献指南
调研方向
从 com.intel.analytics.zoo.shaded.arrow.vector.ipc.message.MessageSerializer.readMessage 开始,沿着 MessageChannelReader.readNext 和 ArrowStreamReader.readSchema 跟踪调用栈。重复执行 Scala 对 Python pyarrow 1.0.1 编码字节的读取,重点关注间歇性的 ByteBuffer 分配失败;当重复解码不再间歇性失败时即完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java, python, scala
- 领域
- data-engineering
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 25/100