Search in sources :

Example 1 with TestingSplit

use of com.facebook.presto.testing.TestingSplit in project presto by prestodb.

the class TestSourcePartitionedScheduler method testScheduleSlowSplitSource.

@Test
public void testScheduleSlowSplitSource() throws Exception {
    QueuedSplitSource queuedSplitSource = new QueuedSplitSource(TestingSplit::createRemoteSplit);
    StageExecutionPlan plan = createPlan(queuedSplitSource);
    NodeTaskMap nodeTaskMap = new NodeTaskMap(finalizerService);
    SqlStageExecution stage = createSqlStageExecution(plan, nodeTaskMap);
    SourcePartitionedScheduler scheduler = getSourcePartitionedScheduler(plan, stage, nodeManager, nodeTaskMap, 1);
    // schedule with no splits - will block
    ScheduleResult scheduleResult = scheduler.schedule();
    assertFalse(scheduleResult.isFinished());
    assertFalse(scheduleResult.getBlocked().isDone());
    assertEquals(scheduleResult.getNewTasks().size(), 0);
    assertEquals(stage.getAllTasks().size(), 0);
    queuedSplitSource.addSplits(1);
    assertTrue(scheduleResult.getBlocked().isDone());
}
Also used : NodeTaskMap(com.facebook.presto.execution.NodeTaskMap) StageExecutionPlan(com.facebook.presto.sql.planner.StageExecutionPlan) TestingSplit(com.facebook.presto.testing.TestingSplit) SqlStageExecution(com.facebook.presto.execution.SqlStageExecution) Test(org.testng.annotations.Test)

Aggregations

NodeTaskMap (com.facebook.presto.execution.NodeTaskMap)1 SqlStageExecution (com.facebook.presto.execution.SqlStageExecution)1 StageExecutionPlan (com.facebook.presto.sql.planner.StageExecutionPlan)1 TestingSplit (com.facebook.presto.testing.TestingSplit)1 Test (org.testng.annotations.Test)1