DB Tsai created SPARK-61100:
-------------------------------

             Summary: Preserve tuple compatibility for Python Row objects
                 Key: SPARK-61100
                 URL: https://issues.apache.org/jira/browse/SPARK-61100
             Project: Spark
          Issue Type: Bug
          Components: Connect
    Affects Versions: connect-rust-4.3.0
            Reporter: DB Tsai


Official PySpark Row is a tuple subclass. The Rust-backed Python Row is a 
native extension class, so isinstance(Row(a=1), tuple) is false and tuple-aware 
serializers such as json.dumps cannot encode it. Row.__fields__ also returns a 
fresh list, so in-place mutation is lost. Preserve the public tuple Row 
contract for constructed, collected and nested rows, including pickle, 
equality/hash and field metadata, with regression tests. Measure the 
result-materialization tradeoff.

Observed by source inspection of public apache/spark-connect-rust master 
83d74462ec41012993176cf3af99017576688eb8. Runtime regression tests will 
accompany the fix.




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