@Override
public Operator createOperator(DriverContext driverContext)
{
checkState(!closed, "Factory is already closed");
LookupSourceFactory lookupSourceFactory = joinBridgeManager.getJoinBridge(driverContext.getLifespan());
OperatorContext operatorContext = driverContext.addOperatorContext(operatorId, planNodeId, LookupJoinOperator.class.getSimpleName());
lookupSourceFactory.setTaskContext(driverContext.getPipelineContext().getTaskContext());
joinBridgeManager.probeOperatorCreated(driverContext.getLifespan());
return new LookupJoinOperator(
operatorContext,
probeTypes,
buildOutputTypes,
joinType,
lookupSourceFactory,
joinProbeFactory,
() -> joinBridgeManager.probeOperatorClosed(driverContext.getLifespan()),
totalOperatorsCount,
probeHashGenerator,
partitioningSpillerFactory);
}