private Operator createTableWriterOperator(BlockingPageSink blockingPageSink) { PageSinkManager pageSinkManager = new PageSinkManager(); pageSinkManager.addConnectorPageSinkProvider(CONNECTOR_ID, new ConstantPageSinkProvider(blockingPageSink)); return createTableWriterOperator(pageSinkManager, new DevNullOperatorFactory(1, new PlanNodeId("test")), ImmutableList.of(BIGINT, VARBINARY)); }
@Test public void testTableWriterInfo() { PageSinkManager pageSinkManager = new PageSinkManager(); pageSinkManager.addConnectorPageSinkProvider(CONNECTOR_ID, new ConstantPageSinkProvider(new TableWriteInfoTestPageSink())); TableWriterOperator tableWriterOperator = (TableWriterOperator) createTableWriterOperator( pageSinkManager, new DevNullOperatorFactory(1, new PlanNodeId("test")), ImmutableList.of(BIGINT, VARBINARY)); RowPagesBuilder rowPagesBuilder = rowPagesBuilder(BIGINT); for (int i = 0; i < 100; i++) { rowPagesBuilder.addSequencePage(100, 0); } List<Page> pages = rowPagesBuilder.build(); long peakMemoryUsage = 0; long validationCpuNanos = 0; for (int i = 0; i < pages.size(); i++) { Page page = pages.get(i); peakMemoryUsage += page.getRetainedSizeInBytes(); validationCpuNanos += page.getPositionCount(); tableWriterOperator.addInput(page); TableWriterInfo info = tableWriterOperator.getInfo(); assertEquals(info.getPageSinkPeakMemoryUsage(), peakMemoryUsage); assertEquals((long) (info.getValidationCpuTime().getValue(NANOSECONDS)), validationCpuNanos); } }
throws Exception PageSinkManager pageSinkManager = new PageSinkManager(); pageSinkManager.addConnectorPageSinkProvider(CONNECTOR_ID, new ConstantPageSinkProvider(new TableWriteInfoTestPageSink())); ImmutableList<Type> outputTypes = ImmutableList.of(BIGINT, VARBINARY, BIGINT);
nodeSchedulerConfig, new NodeTaskMap(finalizerService)); this.pageSinkManager = new PageSinkManager(); CatalogManager catalogManager = new CatalogManager(); this.transactionManager = InMemoryTransactionManager.create(
new IndexManager(), nodePartitioningManager, new PageSinkManager(), new MockExchangeClientSupplier(), new ExpressionCompiler(metadata, pageFunctionCompiler),
new NodeSchedulerConfig().setIncludeCoordinator(true), new NodeTaskMap(finalizerService)); this.pageSinkManager = new PageSinkManager(); this.transactionManager = TransactionManager.create( new TransactionManagerConfig().setIdleTimeout(new Duration(1, TimeUnit.DAYS)),
private Operator createTableWriterOperator(BlockingPageSink blockingPageSink) { PageSinkManager pageSinkProvider = new PageSinkManager(); pageSinkProvider.addConnectorPageSinkProvider(CONNECTOR_ID, new ConstantPageSinkProvider(blockingPageSink)); TableWriterOperator.TableWriterOperatorFactory factory = new TableWriterOperator.TableWriterOperatorFactory( 0, new PlanNodeId("test"), pageSinkProvider, new TableWriterNode.CreateHandle(new OutputTableHandle( CONNECTOR_ID, new ConnectorTransactionHandle() {}, new ConnectorOutputTableHandle() {})), ImmutableList.of(0), Optional.empty(), TEST_SESSION); return factory.createOperator(createTaskContext(executor, TEST_SESSION) .addPipelineContext(true, true) .addDriverContext()); }
public static LocalExecutionPlanner createTestingPlanner() { MetadataManager metadata = MetadataManager.createTestMetadataManager(); PageSourceManager pageSourceManager = new PageSourceManager(); pageSourceManager.addConnectorPageSourceProvider("test", new TestingPageSourceProvider()); // we don't start the finalizer so nothing will be collected, which is ok for a test FinalizerService finalizerService = new FinalizerService(); NodeScheduler nodeScheduler = new NodeScheduler( new LegacyNetworkTopology(), new InMemoryNodeManager(), new NodeSchedulerConfig().setIncludeCoordinator(true), new NodeTaskMap(finalizerService)); NodePartitioningManager nodePartitioningManager = new NodePartitioningManager(nodeScheduler); return new LocalExecutionPlanner( metadata, new SqlParser(), pageSourceManager, new IndexManager(), nodePartitioningManager, new PageSinkManager(), new MockExchangeClientSupplier(), new ExpressionCompiler(metadata), new IndexJoinLookupStats(), new CompilerConfig(), new TaskManagerConfig()); }