The GitHub Actions job "Required Checks" on texera.git/main has failed.
Run started by GitHub user github-merge-queue[bot] (triggered by 
github-merge-queue[bot]).

Head commit for run:
f5cf00a8b1b7a91d18b2505b4b3de3dfcfdcbdd2 / Xinyuan Lin <[email protected]>
test(workflow-operator): add unit test coverage for map/filter/flatmap abstract 
LogicalOp bases (#5796)

### What changes were proposed in this PR?

Pin behavior of three tiny abstract `LogicalOp` bases in
`common/workflow-operator/`. Two of them (`MapOpDesc`, `FilterOpDesc`)
carry a `runtimeReconfiguration` override that delegates to
`newOpDesc.getPhysicalOp` and wraps the result in `Success((_, None))` —
drift in that delegation (swapped arg order, accidental `Failure` wrap,
surprise `StateTransferFunc`) would land silently. No production-code
changes.

| Spec | Source class | Tests |
| --- | --- | --- |
| `FlatMapOpDescSpec` | `FlatMapOpDesc` | 4 |
| `MapOpDescSpec` | `MapOpDesc` | 6 |
| `FilterOpDescSpec` | `FilterOpDesc` | 6 |

All three spec files follow the `<srcClassName>Spec.scala` one-to-one
convention.

**Behavior pinned (per descriptor)**

| Surface | Contract |
| --- | --- |
| Abstract-class shape | `Modifier.isAbstract(classOf[X])` |
| LogicalOp inheritance | upcast compiles; `case _: LogicalOp` matches a
concrete subclass |
| `runtimeReconfiguration` (Map/Filter only) | delegates to
`newOpDesc.getPhysicalOp(workflowId, executionId)` |
| Argument isolation | `oldOpDesc.getPhysicalOp` is **not** called |
| Result wrapping | returns `Success` with `(_, None)` for the
`StateTransferFunc` slot |
| Exception propagation | a throw from `newOpDesc.getPhysicalOp` is
**not** caught — it propagates up |

The specs use minimal `StubMapDesc` / `StubFilterDesc` subclasses that
record every `getPhysicalOp` call so the delegation is observable
end-to-end. Sentinel returns use `null.asInstanceOf[PhysicalOp]` — the
production code only passes the return value to `Success(...)` without
inspecting it, so the cast is safe for these tests.

### Any related issues, documentation, discussions?

Closes #5793.

### How was this PR tested?

Pure unit-test additions; verified locally with:

- `sbt \"WorkflowOperator/testOnly
org.apache.texera.amber.operator.flatmap.FlatMapOpDescSpec
org.apache.texera.amber.operator.map.MapOpDescSpec
org.apache.texera.amber.operator.filter.FilterOpDescSpec\"` — 16 tests,
all green
- `sbt \"WorkflowOperator/Test/scalafmtCheck\"` — clean
- CI to confirm

### Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Opus 4.7 [1M context])

Report URL: https://github.com/apache/texera/actions/runs/27862474314

With regards,
GitHub Actions via GitBox

Reply via email to