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]

Reply via email to