public class WorkProcessorPipelineSourceOperator extends Object implements SourceOperator
| Modifier and Type | Class and Description |
|---|---|
static class |
WorkProcessorPipelineSourceOperator.WorkProcessorPipelineSourceOperatorFactory |
NOT_BLOCKED| Modifier and Type | Method and Description |
|---|---|
void |
addInput(Page page)
Adds an input page to the operator.
|
Supplier<Optional<UpdatablePageSource>> |
addSplit(Split split) |
void |
close()
This method will always be called before releasing the Operator reference.
|
static List<OperatorFactory> |
convertOperators(int operatorId,
List<OperatorFactory> operatorFactories) |
void |
finish()
Notifies the operator that no more pages will be added and the
operator should finish processing and flush results.
|
void |
finishMemoryRevoke()
Clean up and release resources after completed memory revoking.
|
OperatorContext |
getOperatorContext() |
Page |
getOutput()
Gets an output page from the operator.
|
PlanNodeId |
getSourceId() |
com.google.common.util.concurrent.ListenableFuture<?> |
isBlocked()
Returns a future that will be completed when the operator becomes
unblocked.
|
boolean |
isFinished()
Is this operator completely finished processing and no more
output pages will be produced.
|
boolean |
needsInput()
Returns true if and only if this operator can accept an input page.
|
void |
noMoreSplits() |
com.google.common.util.concurrent.ListenableFuture<?> |
startMemoryRevoke()
After calling this method operator should revoke all reserved revocable memory.
|
public static List<OperatorFactory> convertOperators(int operatorId, List<OperatorFactory> operatorFactories)
public PlanNodeId getSourceId()
getSourceId in interface SourceOperatorpublic Supplier<Optional<UpdatablePageSource>> addSplit(Split split)
addSplit in interface SourceOperatorpublic void noMoreSplits()
noMoreSplits in interface SourceOperatorpublic OperatorContext getOperatorContext()
getOperatorContext in interface Operatorpublic boolean needsInput()
OperatorneedsInput in interface Operatorpublic void addInput(Page page)
OperatorneedsInput() returns true.public Page getOutput()
Operatorpublic com.google.common.util.concurrent.ListenableFuture<?> startMemoryRevoke()
Operator
Spawned threads can not modify OperatorContext because it's not thread safe.
For this purpose implement Operator.finishMemoryRevoke()
Since memory revoking signal is delivered asynchronously to the Operator, implementation must gracefully handle the case when there no longer is any revocable memory allocated.
After this method is called on Operator the Driver is disallowed to call any
processing methods on it (isBlocked/needsInput/addInput/getOutput) until
Operator.finishMemoryRevoke() is called.
startMemoryRevoke in interface Operatorpublic void finishMemoryRevoke()
OperatorfinishMemoryRevoke in interface Operatorpublic void finish()
Operatorpublic boolean isFinished()
OperatorisFinished in interface Operatorpublic com.google.common.util.concurrent.ListenableFuture<?> isBlocked()
OperatorNOT_BLOCKED.public void close()
Operatorclose in interface Operatorclose in interface AutoCloseableCopyright © 2012–2019. All rights reserved.