Yicong Huang created SPARK-59415:
------------------------------------

             Summary: Introduce an extensible execution model for Python UDF 
eval types in the PySpark worker
                 Key: SPARK-59415
                 URL: https://issues.apache.org/jira/browse/SPARK-59415
             Project: Spark
          Issue Type: Umbrella
          Components: PySpark
    Affects Versions: 5.0.0
            Reporter: Yicong Huang


Following the serializer and eval-type refactor (SPARK-55388, SPARK-55384, 
SPARK-55724), the per-eval-type execution logic now lives in read_udfs in 
python/pyspark/worker.py. While that consolidation was intentional, read_udfs 
has grown into a large central dispatcher: every eval type is a branch in a 
single if/elif chain that selects a serializer, parses offsets, defines an 
execution closure, and returns the same runner contract.

This structure makes the shared execution lifecycle implicit and couples all 
eval types into one function. Adding or maintaining an eval type means 
extending the central chain rather than working within a self-contained unit, 
which raises the cost and risk of every change and makes the common contract 
hard to see and enforce.

This umbrella tracks the work to give Python UDF eval-type execution an 
extensible, self-describing structure so that each eval type can be reasoned 
about, tested, and evolved independently, with no change to the user-facing UDF 
API or the on-the-wire format.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to