ProtoSchemaConverter renders invalid schema for oneof in unwrap mode
Les mainteneurs répondent en général sous 2 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 45/100
Piste de recherche
Commencez dans parquet-protobuf/src/main/java/org/apache/parquet/proto/ProtoSchemaConverter.java, au niveau de la gestion de unwrap repetition, puis examinez le fixture TestProto3.OneOfTestMessage et ses tests. Activez la validation dans parquet-protobuf/src/test/java/org/apache/parquet/proto/TestUtils.java et ajoutez une couverture pour le unwrap mode. Le travail est terminé lorsque la conversion de oneof produit un schéma valide et que le read path concerné est testé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Describe the bug, including details regarding any error messages, version, and platform.
When unwrap is enabled all fields of the TestProto3.OneOfTestMessage will be required.
message TestProto3.OneOfTestMessage {
required int32 first = 1;
required int32 second = 2;
}
This will never work but tests are missing for unwrap of TestProto3.OneOfTestMessage
The required repetition is added here:
https://github.com/apache/parquet-java/blob/73a4430af6c40f8eb246ad4911eb6d103c9a2abe/parquet-protobuf/src/main/java/org/apache/parquet/proto/ProtoSchemaConverter.java#L278
This could be caught early by adding withValidation(true) here:
https://github.com/apache/parquet-java/blob/73a4430af6c40f8eb246ad4911eb6d103c9a2abe/parquet-protobuf/src/test/java/org/apache/parquet/proto/TestUtils.java#L221
If validation is disabled it will fail when trying to read one of the non-existing fields in the oneof.
Is there really a need for setting all primitive fields in unwrap to required?
Component(s)
No response
- Langage dominant
- Java
- Étoiles
- 3.1k
- Forks
- 1.6k
- Merge moyen
- 4 j 9 h
- PR mergées (30 j)
- 32
Préparer son environnement
Nous n'avons pas encore vérifié les fichiers d'installation de ce projet. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de apache/parquet-java
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
apache/parquet-java#3820 ·
Les mainteneurs répondent en général sous 2 jours
-
Type: bug
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
apache/parquet-java#3792 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
-
Make PageReader AutoCloseableOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
apache/parquet-java#3767 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
apache/parquet-java#3695 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
apache/parquet-java#3667 ·
Les mainteneurs répondent en général sous 2 jours
Toutes les issues de apache/parquet-java
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
refinedmods/refinedstorage2#1414 · 1 commentaire ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
In Java's `LongBoundedSum`, setting `lower` to `Long.MIN_VALUE` under-estimates the sensitivityOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 73/100
google/differential-privacy#489 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
ScyllaDB Manual: 3 broken linksOuvertelink-check link-check:manual
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100