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, and I use a try catch block to include the code. And after an error occurs, following code could still work correctly, but after the first error occurs, following error would happen more frequently.
> 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-10342)
**Note**: *This issue was originally created as [ARROW-10342](https://issues.apache.org/jira/browse/ARROW-10342). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*
贡献指南
调研方向
首先使用 Python 生成的字节重现重复解码循环,然后从 ArrowReader 和 ArrowStreamReader 经过 MessageChannelReader 和 MessageSerializer 跟踪调用栈。该 issue 未指定源文件或测试;当数据可以重复解码且不再间歇性出现 ByteBuffer 分配失败时,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java, python, scala
- 领域
- data-engineering
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 25/100