You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@texera.apache.org by GitBox <gi...@apache.org> on 2026/07/05 08:13:43 UTC

[GH] (texera/gh-readonly-queue/main/pr-6126-44ec60d25e63c337424bea8be569ac19b4df3d92): Workflow run "Required Checks" is working again!

The GitHub Actions job "Required Checks" on texera.git/gh-readonly-queue/main/pr-6126-44ec60d25e63c337424bea8be569ac19b4df3d92 has succeeded.
Run started by GitHub user aglinxinyuan (triggered by aglinxinyuan).

Head commit for run:
95684ebc5a6d642e0680c14003cf77bb01c102d2 / Xinyuan Lin <xi...@uci.edu>
refactor(engine): remove dead CacheSourceOpExec and OpExecSource plumbing (#6126)

### What changes were proposed in this PR?

Remove the dead `CacheSourceOpExec` executor and its `OpExecSource`
plumbing.

Cache source operators were replaced by input-port materialization
reader threads in #3425 (the symmetric follow-up to sink-operator
removal in #3312). The scheduler no longer inserts a cache-source read
op for a materialized link — it tags the downstream input port with the
URI directly:

```
Before (pre-#3425):  upstream OutputPort(URI) ──► [CacheSourceOpExec] ──► downstream InputPort
After  (#3425+):     upstream OutputPort(URI) ─────────────────────────► downstream InputPort(URI)
```

Since then `CacheSourceOpExec` has been unreachable:
`SpecialPhysicalOpFactory.newSourcePhysicalOp` — the only producer of an
`OpExecSource` init-info, which is what constructed `CacheSourceOpExec`
in `DataProcessorRPCHandlerInitializer.setupExecutor` — has no
production caller (its only references were its own spec).

Removed:

| Item | Location |
| --- | --- |
| `CacheSourceOpExec` |
`common/workflow-operator/.../source/cache/CacheSourceOpExec.scala` |
| `SpecialPhysicalOpFactory` (+ spec) |
`common/workflow-operator/.../operator/SpecialPhysicalOpFactory.scala` |
| `OpExecSource` match arm + now-unused imports |
`amber/.../worker/DataProcessorRPCHandlerInitializer.scala` |
| `OpExecSource` message + `opExecSource = 3` oneof field |
`common/workflow-core/.../protobuf/.../executor.proto` |

The `OpExecInitInfo` oneof is an internal controller↔worker wire format
(built and consumed within the same deployment;
`preserve_unknown_fields: false`), so dropping the field is safe. The
now-unused `virtualidentity.proto` import is dropped.

### Any related issues, documentation, discussions?

Closes #6125. The dead code was discovered during review of the
test-coverage PR #6098.

**Depends on #6132** (multi-region e2e integration test). Per review
feedback, the multi-region path — which is exactly what the removed
cache sources used to serve — gets end-to-end coverage **first** in
#6132; this removal then rides on top, and its CI re-runs that test to
prove the removal doesn't regress the path. Merge #6132 before this PR.

### How was this PR tested?

No behavioral change — pure dead-code removal.

- `sbt "WorkflowOperator/compile" "WorkflowExecutionService/compile"` —
green (proto regenerates; the `OpExecInitInfo` match remains exhaustive
without the `OpExecSource` case)
- `sbt "WorkflowExecutionService/scalafmtCheck"
"WorkflowExecutionService/scalafixAll --check"` — clean
- The multi-region e2e test in #6132 exercises the materialization
read/write path end-to-end; once that merges, this branch is rebased on
it.

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

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

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

With regards,
GitHub Actions via GitBox