apache / apache/arrow-java

[Java] ORC JNI bridge should use the C data interface

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

Beschreibung

Right now the ORC JNI bridge uses some custom buffer passing which only seems to handle primitive arrays correctly (child array buffers and dictionaries are not considered):
https://github.com/apache/arrow/blob/master/cpp/src/jni/orc/jni_wrapper.cpp#L263-L265

Instead, it should use the C data interface, which is now implemented in Java.

**Reporter**: [Antoine Pitrou](https://issues.apache.org/jira/browse/ARROW-15754) / @pitrou

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Start with cpp/src/jni/orc/jni_wrapper.cpp around lines 263-265 and review the Java C data interface implementation. Trace how the ORC JNI bridge currently passes buffers, then verify that the interface covers child array buffers and dictionaries. Done means the bridge uses the C data interface for those cases.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
c, cpp, java
Bereich
data-engineering
Issue-Typ
Refactoring
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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