[ 
https://issues.apache.org/jira/browse/SPARK-61212?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated SPARK-61212:
-----------------------------------
    Labels: pull-request-available  (was: )

> Normalize Arrow map child names in the Rust Spark Connect local input API
> -------------------------------------------------------------------------
>
>                 Key: SPARK-61212
>                 URL: https://issues.apache.org/jira/browse/SPARK-61212
>             Project: Spark
>          Issue Type: Bug
>          Components: Connect
>    Affects Versions: connect-rust-4.3.0
>            Reporter: DB Tsai
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: connect-rust-4.3.0
>
>
> The public Rust SparkSession::create_dataframe_from_arrow API serializes the 
> default Arrow Rust MapBuilder child names (keys and values). Spark Java 
> ArrowColumnVector expects key and value, so analyzing or collecting a 
> nonempty local map relation fails with a NullPointerException in 
> ArrowColumnVector.MapAccessor. A zero-row relation also retains the 
> incompatible IPC field names. Maps nested in lists or structs have the same 
> mismatch.
> Normalize Arrow map entry/key/value names to entries/key/value on the public 
> Arrow-import boundary for inline and chunked uploads, including empty input. 
> Preserve schema metadata, nullability, ordering flags and slices, and share 
> the original value/offset/validity buffers during normalization. Keep raw 
> byte-based LocalRelation construction transparent.
> Rust regression tests cover IPC names, nested containers, metadata and buffer 
> sharing, original schema mismatch validation, and live inline/chunked round 
> trips against Spark. The live tests fail on unpatched upstream 
> 925dc876f63f1f779fe176f62575a0aa96cc6886 and pass with the normalization 
> patch.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to