Class BaseMailboxReceiveOperator
- java.lang.Object
-
- org.apache.pinot.query.runtime.operator.MultiStageOperator
-
- org.apache.pinot.query.runtime.operator.BaseMailboxReceiveOperator
-
- All Implemented Interfaces:
AutoCloseable,Operator<TransferableBlock>
- Direct Known Subclasses:
MailboxReceiveOperator,SortedMailboxReceiveOperator
public abstract class BaseMailboxReceiveOperator extends MultiStageOperator
Base class to be used by the various MailboxReceiveOperators such as the sorted and non-sorted versions. This class contains the common logic needed for MailboxReceive BaseMailboxReceiveOperator receives mailbox from mailboxService from sendingStageInstances. We use sendingStageInstance to deduce mailboxId and fetch the content from mailboxService. When exchangeType is Singleton, we find the mapping mailbox for the mailboxService. If not found, use empty list. When exchangeType is non-Singleton, we pull from each instance in round-robin way to get matched mailbox content.
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.calcite.rel.RelDistribution.Type_exchangeTypeprotected List<String>_mailboxIdsprotected MailboxService_mailboxService-
Fields inherited from class org.apache.pinot.query.runtime.operator.MultiStageOperator
_context, _opChainStats, _operatorId
-
-
Constructor Summary
Constructors Constructor Description BaseMailboxReceiveOperator(OpChainExecutionContext context, org.apache.calcite.rel.RelDistribution.Type exchangeType, int senderStageId)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcancel(Throwable t)voidclose()List<MultiStageOperator>getChildOperators()List<String>getMailboxIds()protected BlockingMultiStreamConsumer.OfTransferableBlockgetMultiConsumer()-
Methods inherited from class org.apache.pinot.query.runtime.operator.MultiStageOperator
getNextBlock, getOperatorId, nextBlock, shouldCollectStats
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.pinot.core.common.Operator
explainPlan, getExecutionStatistics, getIndexSegment, prepareForExplainPlan, toExplainString
-
-
-
-
Field Detail
-
_mailboxService
protected final MailboxService _mailboxService
-
_exchangeType
protected final org.apache.calcite.rel.RelDistribution.Type _exchangeType
-
-
Constructor Detail
-
BaseMailboxReceiveOperator
public BaseMailboxReceiveOperator(OpChainExecutionContext context, org.apache.calcite.rel.RelDistribution.Type exchangeType, int senderStageId)
-
-
Method Detail
-
getMultiConsumer
protected BlockingMultiStreamConsumer.OfTransferableBlock getMultiConsumer()
-
getChildOperators
public List<MultiStageOperator> getChildOperators()
- Specified by:
getChildOperatorsin interfaceOperator<TransferableBlock>- Overrides:
getChildOperatorsin classMultiStageOperator
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable- Overrides:
closein classMultiStageOperator
-
cancel
public void cancel(Throwable t)
- Overrides:
cancelin classMultiStageOperator
-
-