Yicong-Huang opened a new pull request, #5019:
URL: https://github.com/apache/texera/pull/5019

   ### What changes were proposed in this PR?
   
   Add `WorkflowCompilerSpec` in amber with 6 direct unit cases pinning the 
compiler's contract:
   
   - physical-plan shape: each logical op produces ≥1 physical op; logical link 
translates to a physical link between the corresponding physical op ids
   - storage-port collection: terminal logical op's non-internal output port 
lands in `context.workflowSettings.outputPortsNeedingStorage`; 
`opsToViewResult` additively pulls a non-terminal op into the storage set; a 
single source op (out-degree 0) is treated as terminal
   - strict-mode error semantics: scan source with no `fileName` raises out of 
`compile` (no `errorList`, fail-fast path)
   
   Behavioral regressions in `WorkflowCompiler.expandLogicalPlan` are caught 
today only transitively by 9 e2e/scheduler specs through 
`TestUtils.buildWorkflow`. A dedicated spec locates failures at the compiler 
boundary instead of surfacing them as opaque engine errors, and provides a 
stable anchor for the planned consolidation with `workflow-compiling-service`'s 
compiler copy.
   
   Not in scope: the Python codegen `#EXCEPTION DURING CODE GENERATION:` regex 
branch — requires a `PythonOperatorDescriptor` subclass whose 
`generatePythonCode()` throws; deferred so this initial PR stays focused.
   
   ### Any related issues, documentation, discussions?
   
   Closes #5018.
   
   ### How was this PR tested?
   
   `sbt "WorkflowExecutionService/testOnly 
org.apache.texera.workflow.WorkflowCompilerSpec"` — 6 passed, 0 failed. 
`WorkflowExecutionService/Test/scalafmtCheck` and 
`WorkflowExecutionService/Test/compile` clean.
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Opus 4.7 (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]

Reply via email to