apache / apache/parquet-java

Variant getFieldByKey() on large objects silently fails if variant metadata is unsorted

未关闭
#3,529 4 条评论 0 个 reaction 已指派 1 人 已被 @nssalian 认领 在 GitHub 查看
Type: bug
主要语言
Java
星标
3.1k
派生
1.6k
平均合并
3 天 12 小时
30 天内合并 PR
33

描述

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

Variant method getFieldByKey(String key) looks up a key by simple walk if key count < 32, binary search if above that. But the binary search assumes the metadata is sorted. This is optional according to the format spec; there's a bit in the variant to indicate whether or not a variant's metadata is unsorted

the test `testUnsortedMetadataObject()` does test unsorted support -but it only checks on a small enough object that binary search isn't involved

### Component(s)

Core

贡献指南

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

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

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