Hyukjin Kwon created SPARK-60960:
------------------------------------

             Summary: Keep executionInfo per DataFrame, and the operation id of 
every ExecutePlan error, in Spark Connect Rust as PySpark does
                 Key: SPARK-60960
                 URL: https://issues.apache.org/jira/browse/SPARK-60960
             Project: Spark
          Issue Type: Bug
          Components: Connect
    Affects Versions: connect-rust-4.3.0
            Reporter: Hyukjin Kwon


In PySpark Connect, {{DataFrame.executionInfo}} is the information of the last 
execution of that DataFrame, and {{None}} before one, and every error of an 
{{ExecutePlan}} request carries the request's operation id. The Rust-backed 
Python client differs:

* {{a = spark.range(3); a.collect(); b = spark.range(5); b.executionInfo}} 
gives the information of {{a}}'s execution; PySpark gives {{None}}. The client 
keeps the last execution of the session, so a DataFrame shows another one's 
metrics and operation id, also across threads.
* {{spark.catalog.setCurrentDatabase("nope")}} raises an {{AnalysisException}} 
whose {{operation_id}} is {{None}}; PySpark gives the request's operation id. 
The catalog operations and {{writeStream.start()}} send their {{ExecutePlan}} 
requests without the operation id of the reattachable path.

Keep the execution information per DataFrame, and the operation id of every 
ExecutePlan error, as PySpark does.




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