Task Summary
Three Python-UDF operator descriptors under common/workflow-operator/udf/python/ have no <srcClassName>Spec.scala. Each pins operator metadata, physical-op wiring, schema propagation, and JSON round-trip.
Scope
| Source class |
Lines |
What's currently un-pinned |
udf/python/PythonUDFOpDescV2.scala |
211 |
operatorInfo (Python UDF, PYTHON_GROUP, dynamic ports); getPhysicalOp wiring OpExecWithCode(code, "python") with the workers branch + pveName validation; schema propagation (retainInputColumns + outputColumns, collision throws); round-trip |
udf/python/source/PythonUDFSourceOpDescV2.scala |
124 |
operatorInfo (1-out Python UDF, PYTHON_GROUP, zero inputs / one output); sourceSchema() from the columns field; round-trip |
udf/python/PythonTableReducerOpDesc.scala |
67 |
operatorInfo (Python Table Reducer, PYTHON_GROUP); getOutputSchemas folds the lambdaAttributeUnits into the output schema (throws on the empty default); round-trip |
Out of scope
No production-code changes. One <srcClassName>Spec.scala per source class.
Task Type
Task Summary
Three Python-UDF operator descriptors under
common/workflow-operator/udf/python/have no<srcClassName>Spec.scala. Each pins operator metadata, physical-op wiring, schema propagation, and JSON round-trip.Scope
udf/python/PythonUDFOpDescV2.scalaPython UDF, PYTHON_GROUP, dynamic ports); getPhysicalOp wiringOpExecWithCode(code, "python")with theworkersbranch +pveNamevalidation; schema propagation (retainInputColumns + outputColumns, collision throws); round-tripudf/python/source/PythonUDFSourceOpDescV2.scala1-out Python UDF, PYTHON_GROUP, zero inputs / one output);sourceSchema()from thecolumnsfield; round-tripudf/python/PythonTableReducerOpDesc.scalaPython Table Reducer, PYTHON_GROUP);getOutputSchemasfolds thelambdaAttributeUnitsinto the output schema (throws on the empty default); round-tripOut of scope
No production-code changes. One
<srcClassName>Spec.scalaper source class.Task Type