@Internal public class InputPriorityConflictResolver extends InputPriorityGraphGenerator
InputPriorityGraphGenerator
.
This class resolve conflicts by inserting a BatchExecExchange
into the conflicting
input.
graph
Constructor and Description |
---|
InputPriorityConflictResolver(List<ExecNode<?>> roots,
InputProperty.DamBehavior safeDamBehavior,
StreamExchangeMode exchangeMode,
ReadableConfig tableConfig)
Create a
InputPriorityConflictResolver for the given ExecNode graph. |
Modifier and Type | Method and Description |
---|---|
void |
detectAndResolve() |
protected void |
resolveInputPriorityConflict(ExecNode<?> node,
int higherInput,
int lowerInput) |
createTopologyGraph
public InputPriorityConflictResolver(List<ExecNode<?>> roots, InputProperty.DamBehavior safeDamBehavior, StreamExchangeMode exchangeMode, ReadableConfig tableConfig)
InputPriorityConflictResolver
for the given ExecNode
graph.roots
- the first layer of nodes on the output side of the graphsafeDamBehavior
- when checking for conflicts we'll ignore the edges with InputProperty.DamBehavior
stricter or equal than thisexchangeMode
- when a conflict occurs we'll insert an BatchExecExchange
node
with this exchange mode to resolve conflictpublic void detectAndResolve()
protected void resolveInputPriorityConflict(ExecNode<?> node, int higherInput, int lowerInput)
resolveInputPriorityConflict
in class InputPriorityGraphGenerator
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.