DB Tsai created SPARK-60701:
-------------------------------

             Summary: Decode owned Arrow IPC result buffers without 
intermediate stream copies in Spark Connect Rust
                 Key: SPARK-60701
                 URL: https://issues.apache.org/jira/browse/SPARK-60701
             Project: Spark
          Issue Type: Improvement
          Components: Connect
    Affects Versions: connect-rust-4.3.0
            Reporter: DB Tsai
            Assignee: DB Tsai
             Fix For: connect-rust-4.3.0


After PR108 C Stream export, frozen combined toArrow return-long-w50-b10000 
still15.86ms vsPython11.59ms and large-string11.30vs8.38ms. 
DataFrame.collect_record_batches owns each protocol ArrowBatch Vec but 
decode_arrow_record_batches borrows it into Cursor+StreamReader, which 
allocates and copies message bodies. Evaluate Arrow58.3 StreamDecoder with an 
owned Arrow Buffer to reuse compatible underlying bytes, retaining automatic 
alignment copying, validation and lifetime ownership. Scope the record-batch 
result decoding path, distinct from PR108 C Stream export and PR112 typed row 
decode. Preserve multi-batch IPC/dictionaries/schema/error/truncated/empty 
stream semantics and capture_execution. Verify exported values remain valid 
after stream/response/DataFrame drop. Require same PR108 dependency on both 
frozen benchmark sides, unchanged harness and independent all-cell/schema 
correctness including nested/null/string/dictionary/alignment cases. Publish 
only if meaningful measured throughput/RSS gains without guard regression. No 
unsafe or unchecked Arrow validation, no JVM.



--
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