aglinxinyuan opened a new issue, #5719: URL: https://github.com/apache/texera/issues/5719
### Feature Summary Some operators only run correctly under MATERIALIZED execution mode (e.g. the loop operators, whose back-edge is a cross-region materialized state channel). Today there is no way for an operator to declare that constraint, so a workflow containing such an operator can be submitted in PIPELINED mode and then fail or misbehave at runtime, with the UI showing one mode while the engine ran another. ### Proposed Solution or Design - Add a `requiresMaterializedExecution: Boolean = false` flag to `LogicalOp` (the base operator descriptor). Operators that need materialized execution override it to `true`; everyone else inherits `false`. - Add `WorkflowExecutionService.validateExecutionMode(operators, settings)`: if the submitted execution mode is not MATERIALIZED and any operator requires it, reject the submission with an actionable error rather than silently coercing the mode. Call it at workflow submission. - Key the check off the flag, not a specific operator class, so the service does not depend on which operators happen to need materialization (and a plan with only a Loop End, no Loop Start, is still caught). Default `false` keeps every existing operator's behavior unchanged (no operator requires materialized mode yet); the flag becomes active when an operator opts in. ### Affected Area - Workflow Engine (Amber) -- 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]
