Hyukjin Kwon created SPARK-61117:
------------------------------------

             Summary: Call the hooks of SparkSession.Hook before each 
execution, in the Python client as PySpark does
                 Key: SPARK-61117
                 URL: https://issues.apache.org/jira/browse/SPARK-61117
             Project: Spark
          Issue Type: Bug
          Components: Connect
    Affects Versions: connect-rust-4.3.0
            Reporter: Hyukjin Kwon


In PySpark 4.3.0, {{SparkSession.Builder._registerHook(factory)}} registers a 
factory of {{SparkSession.Hook}}. The session calls each factory with itself. 
Before it sends each {{ExecutePlanRequest}}, the client calls the 
{{on_execute_plan}} of each hook with the request, and sends the request that 
the hook returns, with the operation ID of the original.

The Python client accepts {{_registerHook}} but calls neither the factories nor 
the hooks, so a hook that adds tags to a request or changes its plan has no 
effect.

The fix is to call the factories when the session is created, and the hooks 
before each execution of the Rust transport, with the request as a message of 
the generated {{pyspark.sql.connect.proto}} (SPARK-61111).




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