diff --git a/presto-main/src/main/java/com/facebook/presto/operator/index/IndexBuildDriverFactoryProvider.java b/presto-main/src/main/java/com/facebook/presto/operator/index/IndexBuildDriverFactoryProvider.java index 9dbd22a2a236b..056319a8136da 100644 --- a/presto-main/src/main/java/com/facebook/presto/operator/index/IndexBuildDriverFactoryProvider.java +++ b/presto-main/src/main/java/com/facebook/presto/operator/index/IndexBuildDriverFactoryProvider.java @@ -32,6 +32,7 @@ public class IndexBuildDriverFactoryProvider { + private static final String INDEX_BUILDER = "IndexBuilder"; private final int pipelineId; private final int outputOperatorId; private final PlanNodeId planNodeId; @@ -82,7 +83,7 @@ public DriverFactory createSnapshot(int pipelineId, IndexSnapshotBuilder indexSn false, ImmutableList.builder() .addAll(coreOperatorFactories) - .add(new PagesIndexBuilderOperatorFactory(outputOperatorId, planNodeId, indexSnapshotBuilder)) + .add(new PagesIndexBuilderOperatorFactory(outputOperatorId, planNodeId, indexSnapshotBuilder, INDEX_BUILDER)) .build(), OptionalInt.empty(), UNGROUPED_EXECUTION, @@ -99,7 +100,7 @@ public DriverFactory createStreaming(PageBuffer pageBuffer, Page indexKeyTuple) operatorFactories.add(dynamicTupleFilterFactory.get().filterWithTuple(indexKeyTuple)); } - operatorFactories.add(new PageBufferOperatorFactory(outputOperatorId, planNodeId, pageBuffer)); + operatorFactories.add(new PageBufferOperatorFactory(outputOperatorId, planNodeId, pageBuffer, INDEX_BUILDER)); return new DriverFactory(pipelineId, inputDriver, false, operatorFactories.build(), OptionalInt.empty(), UNGROUPED_EXECUTION, Optional.empty()); } diff --git a/presto-main/src/main/java/com/facebook/presto/operator/index/PageBufferOperator.java b/presto-main/src/main/java/com/facebook/presto/operator/index/PageBufferOperator.java index 2bb981758ba04..8695a67f9422c 100644 --- a/presto-main/src/main/java/com/facebook/presto/operator/index/PageBufferOperator.java +++ b/presto-main/src/main/java/com/facebook/presto/operator/index/PageBufferOperator.java @@ -33,18 +33,20 @@ public static class PageBufferOperatorFactory private final int operatorId; private final PlanNodeId planNodeId; private final PageBuffer pageBuffer; + private final String operatorType; - public PageBufferOperatorFactory(int operatorId, PlanNodeId planNodeId, PageBuffer pageBuffer) + public PageBufferOperatorFactory(int operatorId, PlanNodeId planNodeId, PageBuffer pageBuffer, String operatorType) { this.operatorId = operatorId; this.planNodeId = requireNonNull(planNodeId, "planNodeId is null"); this.pageBuffer = requireNonNull(pageBuffer, "pageBuffer is null"); + this.operatorType = requireNonNull(operatorType, "operatorType is null"); } @Override public Operator createOperator(DriverContext driverContext) { - OperatorContext operatorContext = driverContext.addOperatorContext(operatorId, planNodeId, PageBufferOperator.class.getSimpleName()); + OperatorContext operatorContext = driverContext.addOperatorContext(operatorId, planNodeId, operatorType); return new PageBufferOperator(operatorContext, pageBuffer); } @@ -56,7 +58,7 @@ public void noMoreOperators() @Override public OperatorFactory duplicate() { - return new PageBufferOperatorFactory(operatorId, planNodeId, pageBuffer); + return new PageBufferOperatorFactory(operatorId, planNodeId, pageBuffer, operatorType); } } diff --git a/presto-main/src/main/java/com/facebook/presto/operator/index/PagesIndexBuilderOperator.java b/presto-main/src/main/java/com/facebook/presto/operator/index/PagesIndexBuilderOperator.java index faf68e6efcc64..b06852b3be1f7 100644 --- a/presto-main/src/main/java/com/facebook/presto/operator/index/PagesIndexBuilderOperator.java +++ b/presto-main/src/main/java/com/facebook/presto/operator/index/PagesIndexBuilderOperator.java @@ -35,13 +35,15 @@ public static class PagesIndexBuilderOperatorFactory private final int operatorId; private final PlanNodeId planNodeId; private final IndexSnapshotBuilder indexSnapshotBuilder; + private final String operatorType; private boolean closed; - public PagesIndexBuilderOperatorFactory(int operatorId, PlanNodeId planNodeId, IndexSnapshotBuilder indexSnapshotBuilder) + public PagesIndexBuilderOperatorFactory(int operatorId, PlanNodeId planNodeId, IndexSnapshotBuilder indexSnapshotBuilder, String operatorType) { this.operatorId = operatorId; this.planNodeId = requireNonNull(planNodeId, "planNodeId is null"); this.indexSnapshotBuilder = requireNonNull(indexSnapshotBuilder, "indexSnapshotBuilder is null"); + this.operatorType = requireNonNull(operatorType, "operatorType is null"); } @Override @@ -49,7 +51,7 @@ public Operator createOperator(DriverContext driverContext) { checkState(!closed, "Factory is already closed"); - OperatorContext operatorContext = driverContext.addOperatorContext(operatorId, planNodeId, PagesIndexBuilderOperator.class.getSimpleName()); + OperatorContext operatorContext = driverContext.addOperatorContext(operatorId, planNodeId, operatorType); return new PagesIndexBuilderOperator(operatorContext, indexSnapshotBuilder); } @@ -62,7 +64,7 @@ public void noMoreOperators() @Override public OperatorFactory duplicate() { - return new PagesIndexBuilderOperatorFactory(operatorId, planNodeId, indexSnapshotBuilder); + return new PagesIndexBuilderOperatorFactory(operatorId, planNodeId, indexSnapshotBuilder, operatorType); } } diff --git a/presto-main/src/test/java/com/facebook/presto/operator/TestHashJoinOperator.java b/presto-main/src/test/java/com/facebook/presto/operator/TestHashJoinOperator.java index 8d489e1a8df83..6d6ad18d0c37e 100644 --- a/presto-main/src/test/java/com/facebook/presto/operator/TestHashJoinOperator.java +++ b/presto-main/src/test/java/com/facebook/presto/operator/TestHashJoinOperator.java @@ -113,6 +113,7 @@ public class TestHashJoinOperator private static final LookupJoinOperators LOOKUP_JOIN_OPERATORS = new LookupJoinOperators(); private static final SingleStreamSpillerFactory SINGLE_STREAM_SPILLER_FACTORY = new DummySpillerFactory(); private static final PartitioningSpillerFactory PARTITIONING_SPILLER_FACTORY = new GenericPartitioningSpillerFactory(SINGLE_STREAM_SPILLER_FACTORY); + private static final String PAGE_BUFFER = "PageBuffer"; private ExecutorService executor; private ScheduledExecutorService scheduledExecutor; @@ -444,7 +445,7 @@ private void innerJoinWithSpill(boolean probeHashEnabled, List whenSp ValuesOperatorFactory valuesOperatorFactory = new ValuesOperatorFactory(17, new PlanNodeId("values"), probePages.build()); PageBuffer pageBuffer = new PageBuffer(10); - PageBufferOperatorFactory pageBufferOperatorFactory = new PageBufferOperatorFactory(18, new PlanNodeId("pageBuffer"), pageBuffer); + PageBufferOperatorFactory pageBufferOperatorFactory = new PageBufferOperatorFactory(18, new PlanNodeId(PAGE_BUFFER), pageBuffer, PAGE_BUFFER); Driver joinDriver = Driver.createDriver( joinDriverContext, @@ -561,7 +562,7 @@ public void testInnerJoinWithSpillWithEarlyTermination() ValuesOperatorFactory valuesOperatorFactory2 = new ValuesOperatorFactory(18, new PlanNodeId("values2"), probe2Pages.build()); ValuesOperatorFactory valuesOperatorFactory3 = new ValuesOperatorFactory(18, new PlanNodeId("values3"), ImmutableList.of()); PageBuffer pageBuffer = new PageBuffer(10); - PageBufferOperatorFactory pageBufferOperatorFactory = new PageBufferOperatorFactory(19, new PlanNodeId("pageBuffer"), pageBuffer); + PageBufferOperatorFactory pageBufferOperatorFactory = new PageBufferOperatorFactory(19, new PlanNodeId(PAGE_BUFFER), pageBuffer, PAGE_BUFFER); Driver joinDriver1 = Driver.createDriver( joinDriverContext1,