apache / apache/parquet-java

Array Index OutOf Bounds Exception when fall Back Dictionary Encoded Data

未关闭
#2,488 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
Component: Java Component: Parquet Priority: Major Type: bug
主要语言
Java
星标
3.1k
派生
1.6k
平均合并
3 天 12 小时
30 天内合并 PR
33

描述

java.lang.ArrayIndexOutOfBoundsException: 39782
\n\tat org.apache.parquet.column.values.dictionary.DictionaryValuesWriter$PlainBinaryDictionaryValuesWriter.fallBackDictionaryEncodedData(DictionaryValuesWriter.java:284)
\n\tat org.apache.parquet.column.values.dictionary.DictionaryValuesWriter.fallBackAllValuesTo(DictionaryValuesWriter.java:123)
\n\tat org.apache.parquet.column.values.fallback.FallbackValuesWriter.fallBack(FallbackValuesWriter.java:147)
\n\tat org.apache.parquet.column.values.fallback.FallbackValuesWriter.checkFallback(FallbackValuesWriter.java:141)
\n\tat org.apache.parquet.column.values.fallback.FallbackValuesWriter.writeBytes(FallbackValuesWriter.java:163)
\n\tat org.apache.parquet.column.impl.ColumnWriterV1.write(ColumnWriterV1.java:201)
\n\tat org.apache.parquet.io.MessageColumnIO$MessageColumnIORecordConsumer.addBinary(MessageColumnIO.java:467)
\n\tat org.apache.parquet.io.RecordConsumerLoggingWrapper.addBinary(RecordConsumerLoggingWrapper.java:119)
\n\tat org.apache.parquet.example.data.simple.BinaryValue.writeValue(BinaryValue.java:45)
\n\tat org.apache.parquet.example.data.simple.SimpleGroup.writeValue(SimpleGroup.java:229)
\n\tat org.apache.parquet.example.data.GroupWriter.writeGroup(GroupWriter.java:51)
\n\tat org.apache.parquet.example.data.GroupWriter.write(GroupWriter.java:37)
\n\tat org.apache.parquet.hadoop.example.GroupWriteSupport.write(GroupWriteSupport.java:79)
\n\tat org.apache.parquet.hadoop.example.GroupWriteSupport.write(GroupWriteSupport.java:36)
\n\tat org.apache.parquet.hadoop.InternalParquetRecordWriter.write(InternalParquetRecordWriter.java:123)
\n\tat org.apache.parquet.hadoop.ParquetWriter.write(ParquetWriter.java:293)

**Reporter**: [jiangbo](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=jiangbo)

**Note**: *This issue was originally created as [PARQUET-1852](https://issues.apache.org/jira/browse/PARQUET-1852). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*

贡献指南

这个仓库没有索引到贡献指南

调研方向

从 DictionaryValuesWriter.java 的 fallBackDictionaryEncodedData(第 284 行)开始,跟踪经过 DictionaryValuesWriter.java、FallbackValuesWriter.java 和 ColumnWriterV1.java 的 fallback 调用。确定会产生报告的 ArrayIndexOutOfBoundsException 的输入,并验证 fallback 路径能够在不抛出该异常的情况下处理它;如果识别出已有的测试入口,则添加回归覆盖。

由索引模型根据 Issue 内容生成。

评估

技术栈
java
领域
data-engineering
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
30/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。