private boolean isFinalStageInfo(StageInfo stageInfo) { List<StageInfo> subStages = getSubStagesOf(operatorContext.getDriverContext().getTaskId().getStageId(), stageInfo); return subStages.stream().allMatch(StageInfo::isFinalStageInfo); }
public AssignUniqueIdOperator(OperatorContext operatorContext, AtomicLong rowIdPool) { this.operatorContext = requireNonNull(operatorContext, "operatorContext is null"); this.rowIdPool = requireNonNull(rowIdPool, "rowIdPool is null"); TaskId fullTaskId = operatorContext.getDriverContext().getTaskId(); uniqueValueMask = (((long) fullTaskId.getStageId().getId()) << 54) | (((long) fullTaskId.getId()) << 40); requestValues(); }
@Override public Page getOutput() { if (!finishing) { return null; } QueryInfo queryInfo = queryPerformanceFetcher.getQueryInfo(operatorContext.getDriverContext().getTaskId().getQueryId()); checkState(queryInfo.getOutputStage().isPresent(), "Output stage is missing"); checkState(queryInfo.getOutputStage().get().getSubStages().size() == 1, "Expected one sub stage of explain node"); if (!hasFinalStageInfo(queryInfo.getOutputStage().get())) { return null; } String plan = textDistributedPlan(queryInfo.getOutputStage().get().getSubStages().get(0), functionRegistry, operatorContext.getSession(), verbose); BlockBuilder builder = VARCHAR.createBlockBuilder(null, 1); VARCHAR.writeString(builder, plan); outputConsumed = true; return new Page(builder.build()); }
t, "Error destroying driver for task %s", driverContext.getTaskId());
driverContext.getTaskId().getStageId().getId(), driverContext.getPipelineContext().getPipelineId(), operatorId,
"Error closing operator %s for task %s", operator.getOperatorContext().getOperatorId(), driverContext.getTaskId()); "Error freeing memory for operator %s for task %s", operator.getOperatorContext().getOperatorId(), driverContext.getTaskId()); "Error freeing system memory for operator %s for task %s", operator.getOperatorContext().getOperatorId(), driverContext.getTaskId()); t, "Error destroying driver for task %s", driverContext.getTaskId());