apache / apache/arrow-java

[Java] UnionListWriter does not behave properly when multiple lists are written in the same list

Offen
#296 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Type: bug
Vorherrschende Sprache
Java
Sterne
94
Forks
152
Ø Merge
3 T. 16 Std.
Gemergte PRs (30 T.)
11

Beschreibung

if you run the following code:
```Java
ListVector listVector = new ListVector("list", allocator, null);
listVector.allocateNew();
UnionListWriter listWriter = new UnionListWriter(listVector);

listWriter.start();
listWriter.startList();

listWriter.list("a").startList();
listWriter.list("a").bigInt().writeBigInt(1);
listWriter.list("a").bigInt().writeBigInt(2);
listWriter.list("a").bigInt().writeBigInt(3);
listWriter.list("a").endList();

listWriter.list("a").startList();
listWriter.list("a").bigInt().writeBigInt(4);
listWriter.list("a").bigInt().writeBigInt(5);
listWriter.list("a").endList();

listWriter.endList();
listWriter.end();

listWriter.setValueCount(1);
```

listVector will contain:
```
[{"a":[1,2,3,4,5]}]
```
Instead of
```
[{"a":[1,2,3],[4,5]}]
```

**Reporter**: [Abdel Hakim Deneche](https://issues.apache.org/jira/browse/ARROW-307) / @adeneche

**Note**: *This issue was originally created as [ARROW-307](https://issues.apache.org/jira/browse/ARROW-307). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit UnionListWriter und dem im Reproducer gezeigten ListVector-Setup und führe dann das Beispiel aus, um zu beobachten, wie wiederholte list("a")-Abschnitte gespeichert werden. Verfolge das Writer-Verhalten für verschachtelte Listen und füge einen auf dem Beispiel basierenden Regressionstest hinzu. Erledigt ist die Aufgabe, wenn der Wert als [{"a":[1,2,3],[4,5]}] statt als eine einzige abgeflachte Liste dargestellt wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
data
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.