public class OrderedPartitionSenderCreator extends Object implements RootCreator<OrderedPartitionSender>
The FragmentExecutor is only aware of the operators in the tree that it has a reference too. In the case of the
OrderedPartitionSenderCreator, an upstream RecordBatch is wrapped in an
OrderedPartitionRecordBatch. Since the
OrderedPartitionRecordBatch is instantiated in the creator the
FragmentExecutor does not have a reference to it. So when the FragmentExecutor
closes the operators it closes the original operator, but not not the wrapping OrderedPartitionSenderCreator. This is an issue since the
OrderedPartitionSenderCreator allocates VectorContainers which are consequentially never released.
PartitionSenderRootExec whether to close the wrapped
operator.
| Constructor and Description |
|---|
OrderedPartitionSenderCreator() |
| Modifier and Type | Method and Description |
|---|---|
RootExec |
getRoot(ExecutorFragmentContext context,
OrderedPartitionSender config,
List<RecordBatch> children) |
public RootExec getRoot(ExecutorFragmentContext context, OrderedPartitionSender config, List<RecordBatch> children) throws ExecutionSetupException
getRoot in interface RootCreator<OrderedPartitionSender>ExecutionSetupExceptionCopyright © 2021 The Apache Software Foundation. All rights reserved.