ProtoSchemaConverter renders invalid schema for oneof in unwrap mode
Maintainer antworten meist innerhalb von 4 Tagen
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 45/100
Rechercherichtung
Beginne in parquet-protobuf/src/main/java/org/apache/parquet/proto/ProtoSchemaConverter.java bei der Behandlung von unwrap repetition und prüfe anschließend das TestProto3.OneOfTestMessage-Fixture und seine Tests. Aktiviere die Validierung in parquet-protobuf/src/test/java/org/apache/parquet/proto/TestUtils.java und füge Testabdeckung für den unwrap mode hinzu. Als abgeschlossen gilt die Aufgabe, wenn die oneof-Konvertierung ein gültiges Schema erzeugt und der relevante read path getestet wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- Vorherrschende Sprache
- Java
- Sterne
- 3.1k
- Forks
- 1.6k
- Ø Merge
- 5 T. 13 Std.
- Gemergte PRs (30 T.)
- 31
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus apache/parquet-java
-
Row-group copying collides for distinct column paths with the same dot stringEvtl. vergeben @costas-db hat das vor 20 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
apache/parquet-java#3829 ·
Maintainer antworten meist innerhalb von 4 Tagen
-
Binary statistics truncation test ignores its configured truncation lengthEvtl. vergeben @dhruv-15-03 hat das vor 22 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
apache/parquet-java#3820 ·
Maintainer antworten meist innerhalb von 4 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
apache/parquet-java#3767 ·
Maintainer antworten meist innerhalb von 4 Tagen
-
Remove duplicate LICENSE and NOTICE files from benchmark JARsEvtl. vergeben @efegokdemir hat das vor 25 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
apache/parquet-java#3695 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 4 Tagen
-
null_count is omitted for large columns in parquet filesEvtl. vergeben @efegokdemir hat das vor 23 Tagen übernommen. OffenType: bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
apache/parquet-java#3574 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 4 Tagen
Alle Issues in apache/parquet-java
Ähnliche Issues
-
NullPointerException when a `DeserializationProblemHandler` returns `null` for `byte[]` (single value unwrapped) and `char[]` elementsEvtl. vergeben @Marti2203 hat das heute übernommen. Offen
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 88/100
FasterXML/jackson-databind#6300 ·
Maintainer antworten meist innerhalb von 1 Tag
-
content good first issue
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 95/100
cpinitiative/usaco-guide#6699 ·
Maintainer antworten meist innerhalb von 1 Tag
-
BC remittance upload: a claim MSP refused (S03) is saved with a blank status instead of refused (F)Offentype: bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
carlos-emr/carlos#4933 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
apache/rocketmq-dashboard#6925 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Vakore/ZappierGames#147 ·