aglinxinyuan opened a new pull request, #5876: URL: https://github.com/apache/texera/pull/5876
### What changes were proposed in this PR? Pin behavior of three previously-untested Python-UDF descriptors in `common/workflow-operator/udf/python/`. No production-code changes. | Spec | Source class | Tests | | --- | --- | --- | | `PythonUDFOpDescV2Spec` | `PythonUDFOpDescV2` | 7 | | `PythonUDFSourceOpDescV2Spec` | `PythonUDFSourceOpDescV2` | 5 | | `PythonTableReducerOpDescSpec` | `PythonTableReducerOpDesc` | 6 | **Behavior pinned** | Surface | Contract | | --- | --- | | `operatorInfo` | exact name + `PYTHON_GROUP`; `PythonUDFOpDescV2` dynamic 1-in/1-out; `PythonUDFSourceOpDescV2` zero inputs / one output + `supportReconfiguration` | | `getPhysicalOp` | wires `OpExecWithCode(code, "python")`; port identities carried; rejects `workers <= 0` (`IllegalArgumentException`) | | Schema propagation | `PythonUDFOpDescV2`: `retainInputColumns=false` → only the output columns, `true` → input + output columns (full map keyed by the declared output port); `PythonUDFSourceOpDescV2`: `sourceSchema()` from the `columns` field; `PythonTableReducerOpDesc`: `getOutputSchemas` folds the lambda units and rejects the empty default | | Round-trip | config fields preserved through the polymorphic base | ### Any related issues, documentation, discussions? Closes #5873. ### How was this PR tested? - `sbt "WorkflowOperator/testOnly org.apache.texera.amber.operator.udf.python.PythonUDFOpDescV2Spec org.apache.texera.amber.operator.udf.python.source.PythonUDFSourceOpDescV2Spec org.apache.texera.amber.operator.udf.python.PythonTableReducerOpDescSpec"` — 18 tests, all green - `sbt "WorkflowOperator/Test/scalafmtCheck"` and `sbt "WorkflowOperator/Test/scalafix --check"` — clean - CI to confirm ### Was this PR authored or co-authored using generative AI tooling? Generated-by: Claude Code (Opus 4.8 [1M context]) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
