Search in sources :

Example 1 with BatchExecNode

use of org.apache.flink.table.planner.plan.nodes.exec.batch.BatchExecNode in project flink by apache.

the class DeadlockBreakupProcessor method process.

@Override
public ExecNodeGraph process(ExecNodeGraph execGraph, ProcessorContext context) {
    if (!execGraph.getRootNodes().stream().allMatch(r -> r instanceof BatchExecNode)) {
        throw new TableException("Only BatchExecNode DAG are supported now.");
    }
    InputPriorityConflictResolver resolver = new InputPriorityConflictResolver(execGraph.getRootNodes(), InputProperty.DamBehavior.END_INPUT, StreamExchangeMode.BATCH, context.getPlanner().getConfiguration());
    resolver.detectAndResolve();
    return execGraph;
}
Also used : BatchExecNode(org.apache.flink.table.planner.plan.nodes.exec.batch.BatchExecNode) StreamExchangeMode(org.apache.flink.streaming.api.transformations.StreamExchangeMode) InputPriorityConflictResolver(org.apache.flink.table.planner.plan.nodes.exec.processor.utils.InputPriorityConflictResolver) InputProperty(org.apache.flink.table.planner.plan.nodes.exec.InputProperty) TableException(org.apache.flink.table.api.TableException) ExecNodeGraph(org.apache.flink.table.planner.plan.nodes.exec.ExecNodeGraph) TableException(org.apache.flink.table.api.TableException) BatchExecNode(org.apache.flink.table.planner.plan.nodes.exec.batch.BatchExecNode) InputPriorityConflictResolver(org.apache.flink.table.planner.plan.nodes.exec.processor.utils.InputPriorityConflictResolver)

Aggregations

StreamExchangeMode (org.apache.flink.streaming.api.transformations.StreamExchangeMode)1 TableException (org.apache.flink.table.api.TableException)1 ExecNodeGraph (org.apache.flink.table.planner.plan.nodes.exec.ExecNodeGraph)1 InputProperty (org.apache.flink.table.planner.plan.nodes.exec.InputProperty)1 BatchExecNode (org.apache.flink.table.planner.plan.nodes.exec.batch.BatchExecNode)1 InputPriorityConflictResolver (org.apache.flink.table.planner.plan.nodes.exec.processor.utils.InputPriorityConflictResolver)1