public OperatorContext(int operatorId, PlanNodeId planNodeId, String operatorType, DriverContext driverContext, Executor executor, long maxMemoryReservation)
{
checkArgument(operatorId >= 0, "operatorId is negative");
this.operatorId = operatorId;
this.planNodeId = requireNonNull(planNodeId, "planNodeId is null");
this.maxMemoryReservation = maxMemoryReservation;
this.operatorType = requireNonNull(operatorType, "operatorType is null");
this.driverContext = requireNonNull(driverContext, "driverContext is null");
this.systemMemoryContext = new OperatorSystemMemoryContext(this.driverContext);
this.executor = requireNonNull(executor, "executor is null");
SettableFuture<Object> future = SettableFuture.create();
future.set(null);
this.memoryFuture.set(future);
collectTimings = driverContext.isVerboseStats() && driverContext.isCpuTimerEnabled();
}