public abstract class AbstractMuxExchange extends AbstractExchange
Exchange.ParallelizationDependency
Modifier and Type | Field and Description |
---|---|
protected org.apache.drill.shaded.guava.com.google.common.collect.ArrayListMultimap<Integer,MinorFragmentEndpoint> |
receiverToSenderMapping |
protected Map<Integer,MinorFragmentEndpoint> |
senderToReceiverMapping |
receiverLocations, receiverMajorFragmentId, senderLocations, senderMajorFragmentId
child
INIT_ALLOCATION, initialAllocation, MAX_ALLOCATION, maxAllocation, userName
Constructor and Description |
---|
AbstractMuxExchange(PhysicalOperator child) |
Modifier and Type | Method and Description |
---|---|
protected void |
createSenderReceiverMapping() |
ParallelizationInfo |
getReceiverParallelizationInfo(List<CoordinationProtos.DrillbitEndpoint> senderFragmentEndpoints)
Default receiver parallelization width range is [1, Integer.MAX_VALUE] and affinity to nodes where sender
fragments are running.
|
Sender |
getSender(int minorFragmentId,
PhysicalOperator child)
Get the Sender associated with the given minorFragmentId.
|
protected List<MinorFragmentEndpoint> |
getSenders(int minorFragmentId) |
accept, getDefaultAffinityMap, getOperatorType, getParallelizationDependency, getReceiverMemory, getSenderMemory, getSenderParallelizationInfo, isExecutable, setupReceivers, setupReceivers, setupSenders, setupSenders
getChild, getNewWithChild, getNewWithChildren, iterator
accept, getCost, getInitialAllocation, getMaxAllocation, getOperatorId, getSVMode, getUserName, isBufferedOperator, setCost, setMaxAllocation, setOperatorId
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getChild, getReceiver
getCost, getInitialAllocation, getMaxAllocation, getNewWithChildren, getOperatorId, getSVMode, getUserName, isBufferedOperator, setCost, setMaxAllocation, setOperatorId
accept
forEach, iterator, spliterator
protected Map<Integer,MinorFragmentEndpoint> senderToReceiverMapping
protected org.apache.drill.shaded.guava.com.google.common.collect.ArrayListMultimap<Integer,MinorFragmentEndpoint> receiverToSenderMapping
public AbstractMuxExchange(PhysicalOperator child)
public ParallelizationInfo getReceiverParallelizationInfo(List<CoordinationProtos.DrillbitEndpoint> senderFragmentEndpoints)
AbstractExchange
getReceiverParallelizationInfo
in interface Exchange
getReceiverParallelizationInfo
in class AbstractExchange
senderFragmentEndpoints
- Endpoints assigned to receiver fragment if available, otherwise an empty list.ParallelizationInfo
.public Sender getSender(int minorFragmentId, PhysicalOperator child)
Exchange
minorFragmentId
- The minor fragment id, must be in the range [0, fragment.width).child
- The feeding node for the requested sender.protected final List<MinorFragmentEndpoint> getSenders(int minorFragmentId)
protected void createSenderReceiverMapping()
Copyright © 1970 The Apache Software Foundation. All rights reserved.