apache / apache/arrow-java

[Vector][ExtensionType] ComplexCopier requires that extension types' holder readers implement getField

Ouverte
#1,109 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Type: bug
Langage dominant
Java
Étoiles
94
Forks
152
Merge moyen
3 j 16 h
PR mergées (30 j)
11

Description

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

https://github.com/apache/arrow-java/pull/892 made efforts to streamline and simplify extension readers and writers. In this, `ComplexCopier.copy` relies on `FieldReader.getField` being defined for extension types.

Usages of `ComplexCopier.copy` with readers backed by vector, e.g., `UuidReaderImpl` and `VariantReaderImpl` that do have `getField` implementation, should be OK (as there is concrete notion of Field). However, if holder readers, namely, `NullableUuidHolderReaderImpl` or `NullableVariantHolderReaderImpl` are used this results in an NPE.

Having said that `getField` method for holder readers appears to be a misnomer as we do not have a notion of a field for the holders. This can be seen from the absence of `getField` overrides for primitive types.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par lire ComplexCopier.copy et comparez les implémentations de getField dans UuidReaderImpl et VariantReaderImpl avec NullableUuidHolderReaderImpl et NullableVariantHolderReaderImpl. Reproduisez la NPE avec un lecteur d’extension basé sur un holder, puis vérifiez que la copie ne nécessite plus d’implémentation getField inappropriée pour les holders.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
data
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.