apache / apache/parquet-java

parquet-avro logical type support broke ability to use avro reflection with generics.

オープン
#1,482 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
Component: Avro Component: Parquet Priority: Minor Type: bug
主要言語
Java
スター
3.1k
フォーク
1.6k
平均マージ
3日 12時間
マージ済み PR(30日)
33

説明

Impacts 1.9.0 and 1.8.2.

Assuming the fieldClass is a concrete class (which it is for all of the logical types) is an incorrect assumption when generics are used.

Statistics {
T field1
T field2
}

SetStatistics extends Statistics> {}

Solution is to check if the fieldClass is abstract/interface/raw object.

**Reporter**: [Evan McClain](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=aeroevan) / @aeroevan
**Assignee**: [Evan McClain](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=aeroevan) / @aeroevan
#### Original Issue Attachments:
- [0001-Do-not-pass-knownClass-if-it-is-abstract-interface.patch](https://issues.apache.org/jira/secure/attachment/12850491/0001-Do-not-pass-knownClass-if-it-is-abstract-interface.patch)

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

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

Statistics と SetStatistics extends Statistics> の例を使用して、Avro のリフレクション失敗を再現します。fieldClass 周辺の parquet-avro の論理型処理を調査し、添付されたパッチと比較します。抽象クラス、インターフェース、または raw の Object クラスを既知のクラスとして渡さなくても、ジェネリックリフレクションが機能すれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
data-engineering
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。