public OperatorContext addOperatorContext(int operatorId, PlanNodeId planNodeId, String operatorType) { checkArgument(operatorId >= 0, "operatorId is negative"); for (OperatorContext operatorContext : operatorContexts) { checkArgument(operatorId != operatorContext.getOperatorId(), "A context already exists for operatorId %s", operatorId); } OperatorContext operatorContext = new OperatorContext( operatorId, planNodeId, operatorType, this, notificationExecutor, driverMemoryContext.newMemoryTrackingContext()); operatorContexts.add(operatorContext); return operatorContext; }
private void assertMemoryRevokingRequestedFor(OperatorContext... operatorContexts) { ImmutableSet<OperatorContext> operatorContextsSet = ImmutableSet.copyOf(operatorContexts); operatorContextsSet.forEach( operatorContext -> assertTrue(operatorContext.isMemoryRevokingRequested(), "expected memory requested for operator " + operatorContext.getOperatorId())); Sets.difference(allOperatorContexts, operatorContextsSet).forEach( operatorContext -> assertFalse(operatorContext.isMemoryRevokingRequested(), "expected memory not requested for operator " + operatorContext.getOperatorId())); }
t, "Error closing operator %s for task %s", operator.getOperatorContext().getOperatorId(), driverContext.getTaskId()); t, "Error freeing all allocated memory for operator %s for task %s", operator.getOperatorContext().getOperatorId(), driverContext.getTaskId());
public OperatorContext addOperatorContext(int operatorId, PlanNodeId planNodeId, String operatorType, long maxMemoryReservation) { checkArgument(operatorId >= 0, "operatorId is negative"); for (OperatorContext operatorContext : operatorContexts) { checkArgument(operatorId != operatorContext.getOperatorId(), "A context already exists for operatorId %s", operatorId); } OperatorContext operatorContext = new OperatorContext(operatorId, planNodeId, operatorType, this, executor, maxMemoryReservation); operatorContexts.add(operatorContext); return operatorContext; }
t, "Error closing operator %s for task %s", operator.getOperatorContext().getOperatorId(), driverContext.getTaskId()); t, "Error freeing memory for operator %s for task %s", operator.getOperatorContext().getOperatorId(), driverContext.getTaskId()); t, "Error freeing system memory for operator %s for task %s", operator.getOperatorContext().getOperatorId(), driverContext.getTaskId());