The GitHub Actions job "Required Checks" on texera.git/loop-single-input has 
failed.
Run started by GitHub user aglinxinyuan (triggered by aglinxinyuan).

Head commit for run:
63480b329986dcadb5b065188320bfa9a9dd199f / Xinyuan Lin <[email protected]>
fix(workflow-operator): disallow multiple links into a loop operator's input 
port

A Loop Start with two upstream operators feeding its single input port was
accepted by the GUI but rejected at StartWorkflow with "expected exactly
one reader URI, got 2" (discussion #6966). Nothing in the editor hinted
that the plan was invalid until the run failed.

InputPort already has a `disallowMultiLinks` flag that the frontend honors
in two places -- the editor refuses to draw a second link into such a port
(workflow-editor.component.ts) and workflow validation requires exactly one
input (validation-workflow.service.ts, via
WorkflowUtilService.inputPortToPortDescription which maps the backend flag
onto the operator predicate). The loop operators simply never set it.

Set it on the shared LoopOpDesc input port, so it applies to both Loop
Start and Loop End: every reader on a materialized input port replays that
port's states independently, so a second link would deliver the loop state
twice per iteration (double `update`, double back-edge), and a Loop Start
additionally needs a single reader for the scheduler to resolve its
bookkeeping URIs from.

No frontend change is needed. The scheduler's `require` stays as a
defense-in-depth backstop for programmatically built plans.

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

With regards,
GitHub Actions via GitBox

Reply via email to