ProtoRecordConverter might wrongly cast a Message.Builder to Message
- Vorherrschende Sprache
- Java
- Sterne
- 3.1k
- Forks
- 1.6k
- Ø Merge
- 3 T. 12 Std.
- Gemergte PRs (30 T.)
- 33
Beschreibung
ProtoRecordConverter returns current record as follows:
```Java
public T getCurrentRecord() {
if (buildBefore) {
return (T) this.reusedBuilder.build();
} else {
return (T) this.reusedBuilder;
}
}
```
However this might fail if T is subclass of Message and buildBefore == false, since it's actually casting a Message.Builder instance to Message type.
**Reporter**: [Wu Xiang](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=wxiang7)
**Assignee**: [Reuben Kuhnert](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=sircodesalot) / @sircodesalotOfTheRound
**Note**: *This issue was originally created as [PARQUET-388](https://issues.apache.org/jira/browse/PARQUET-388). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne bei ProtoRecordConverter#getCurrentRecord und untersuche die im Issue beschriebenen reusedBuilder- und buildBefore-Pfade. Reproduziere den Fall, in dem der aktuelle Datensatztyp eine Message-Unterklasse ist und buildBefore false ist, und überprüfe anschließend, dass der zurückgegebene Wert den erwarteten Message-Typ hat, ohne dass ein Cast-Fehler auftritt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- data-engineering
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100