sourceOperator.noMoreSplits();
private Object selectSingleValue(SourceOperatorFactory operatorFactory, Type type, Split split, Session session) { SourceOperator operator = operatorFactory.createOperator(createDriverContext(session)); operator.addSplit(split); operator.noMoreSplits(); return selectSingleValue(operator, type); }
private static boolean executeFilter(SourceOperatorFactory operatorFactory, Split split, Session session) { SourceOperator operator = operatorFactory.createOperator(createDriverContext(session)); operator.addSplit(split); operator.noMoreSplits(); return executeFilter(operator); }
@Test public void testSimple() throws Exception { SourceOperator operator = createExchangeOperator(); operator.addSplit(newRemoteSplit(TASK_1_ID)); operator.addSplit(newRemoteSplit(TASK_2_ID)); operator.addSplit(newRemoteSplit(TASK_3_ID)); operator.noMoreSplits(); // add pages and close the buffers taskBuffers.getUnchecked(TASK_1_ID).addPages(10, true); taskBuffers.getUnchecked(TASK_2_ID).addPages(10, true); taskBuffers.getUnchecked(TASK_3_ID).addPages(10, true); // read the pages waitForPages(operator, 30); // wait for finished waitForFinished(operator); }
@Test public void testWaitForClose() throws Exception { SourceOperator operator = createExchangeOperator(); operator.addSplit(newRemoteSplit(TASK_1_ID)); operator.addSplit(newRemoteSplit(TASK_2_ID)); operator.addSplit(newRemoteSplit(TASK_3_ID)); operator.noMoreSplits(); // add pages and leave buffers open taskBuffers.getUnchecked(TASK_1_ID).addPages(1, false); taskBuffers.getUnchecked(TASK_2_ID).addPages(1, false); taskBuffers.getUnchecked(TASK_3_ID).addPages(1, false); // read 3 pages waitForPages(operator, 3); // verify state assertEquals(operator.isFinished(), false); assertEquals(operator.needsInput(), false); assertEquals(operator.getOutput(), null); // add more pages and close the buffers taskBuffers.getUnchecked(TASK_1_ID).addPages(2, true); taskBuffers.getUnchecked(TASK_2_ID).addPages(2, true); taskBuffers.getUnchecked(TASK_3_ID).addPages(2, true); // read all pages waitForPages(operator, 6); // wait for finished waitForFinished(operator); }
@Test public void testWaitForNoMoreSplits() throws Exception { SourceOperator operator = createExchangeOperator(); // add a buffer location containing one page and close the buffer operator.addSplit(newRemoteSplit(TASK_1_ID)); // add pages and leave buffers open taskBuffers.getUnchecked(TASK_1_ID).addPages(1, true); // read page waitForPages(operator, 1); // verify state assertEquals(operator.isFinished(), false); assertEquals(operator.needsInput(), false); assertEquals(operator.getOutput(), null); // add a buffer location operator.addSplit(newRemoteSplit(TASK_2_ID)); // set no more splits (buffer locations) operator.noMoreSplits(); // add two pages and close the last buffer taskBuffers.getUnchecked(TASK_2_ID).addPages(2, true); // read all pages waitForPages(operator, 2); // wait for finished waitForFinished(operator); }
@Test public void testFinish() throws Exception { SourceOperator operator = createExchangeOperator(); operator.addSplit(newRemoteSplit(TASK_1_ID)); operator.addSplit(newRemoteSplit(TASK_2_ID)); operator.addSplit(newRemoteSplit(TASK_3_ID)); operator.noMoreSplits(); // add pages and leave buffers open taskBuffers.getUnchecked(TASK_1_ID).addPages(1, false); taskBuffers.getUnchecked(TASK_2_ID).addPages(1, false); taskBuffers.getUnchecked(TASK_3_ID).addPages(1, false); // read 3 pages waitForPages(operator, 3); // verify state assertEquals(operator.isFinished(), false); assertEquals(operator.needsInput(), false); assertEquals(operator.getOutput(), null); // finish without closing buffers operator.finish(); // wait for finished waitForFinished(operator); }
operator.noMoreSplits();
operator.noMoreSplits();
operator.noMoreSplits();
operator.noMoreSplits();
sourceOperators.get(source.getPlanNodeId()).noMoreSplits();
private static boolean executeFilter(SourceOperatorFactory operatorFactory, Split split, Session session) { SourceOperator operator = operatorFactory.createOperator(createDriverContext(session)); operator.addSplit(split); operator.noMoreSplits(); return executeFilter(operator); }
private Object selectSingleValue(SourceOperatorFactory operatorFactory, Split split, Session session) { SourceOperator operator = operatorFactory.createOperator(createDriverContext(session)); operator.addSplit(split); operator.noMoreSplits(); return selectSingleValue(operator); }
@Test public void testSimple() throws Exception { SourceOperator operator = createExchangeOperator(); operator.addSplit(newRemoteSplit(TASK_1_ID)); operator.addSplit(newRemoteSplit(TASK_2_ID)); operator.addSplit(newRemoteSplit(TASK_3_ID)); operator.noMoreSplits(); // add pages and close the buffers taskBuffers.getUnchecked(TASK_1_ID).addPages(10, true); taskBuffers.getUnchecked(TASK_2_ID).addPages(10, true); taskBuffers.getUnchecked(TASK_3_ID).addPages(10, true); // read the pages waitForPages(operator, 30); // wait for finished waitForFinished(operator); }
@Test public void testWaitForClose() throws Exception { SourceOperator operator = createExchangeOperator(); operator.addSplit(newRemoteSplit(TASK_1_ID)); operator.addSplit(newRemoteSplit(TASK_2_ID)); operator.addSplit(newRemoteSplit(TASK_3_ID)); operator.noMoreSplits(); // add pages and leave buffers open taskBuffers.getUnchecked(TASK_1_ID).addPages(1, false); taskBuffers.getUnchecked(TASK_2_ID).addPages(1, false); taskBuffers.getUnchecked(TASK_3_ID).addPages(1, false); // read 3 pages waitForPages(operator, 3); // verify state assertEquals(operator.isFinished(), false); assertEquals(operator.needsInput(), false); assertEquals(operator.getOutput(), null); // add more pages and close the buffers taskBuffers.getUnchecked(TASK_1_ID).addPages(2, true); taskBuffers.getUnchecked(TASK_2_ID).addPages(2, true); taskBuffers.getUnchecked(TASK_3_ID).addPages(2, true); // read all pages waitForPages(operator, 6); // wait for finished waitForFinished(operator); }
@Test public void testFinish() throws Exception { SourceOperator operator = createExchangeOperator(); operator.addSplit(newRemoteSplit(TASK_1_ID)); operator.addSplit(newRemoteSplit(TASK_2_ID)); operator.addSplit(newRemoteSplit(TASK_3_ID)); operator.noMoreSplits(); // add pages and leave buffers open taskBuffers.getUnchecked(TASK_1_ID).addPages(1, false); taskBuffers.getUnchecked(TASK_2_ID).addPages(1, false); taskBuffers.getUnchecked(TASK_3_ID).addPages(1, false); // read 3 pages waitForPages(operator, 3); // verify state assertEquals(operator.isFinished(), false); assertEquals(operator.needsInput(), false); assertEquals(operator.getOutput(), null); // finish without closing buffers operator.finish(); // wait for finished waitForFinished(operator); }
@Test public void testWaitForNoMoreSplits() throws Exception { SourceOperator operator = createExchangeOperator(); // add a buffer location containing one page and close the buffer operator.addSplit(newRemoteSplit(TASK_1_ID)); // add pages and leave buffers open taskBuffers.getUnchecked(TASK_1_ID).addPages(1, true); // read page waitForPages(operator, 1); // verify state assertEquals(operator.isFinished(), false); assertEquals(operator.needsInput(), false); assertEquals(operator.getOutput(), null); // add a buffer location operator.addSplit(newRemoteSplit(TASK_2_ID)); // set no more splits (buffer locations) operator.noMoreSplits(); // add two pages and close the last buffer taskBuffers.getUnchecked(TASK_2_ID).addPages(2, true); // read all pages waitForPages(operator, 2); // wait for finished waitForFinished(operator); }