コード例 #1
0
ファイル: TestSqlTask.java プロジェクト: rayzhang123/presto
  @Test
  public void testAbort() throws Exception {
    SqlTask sqlTask = createInitialTask();

    TaskInfo taskInfo =
        sqlTask.updateTask(
            SESSION,
            PLAN_FRAGMENT,
            ImmutableList.of(new TaskSource(TABLE_SCAN_NODE_ID, ImmutableSet.of(SPLIT), true)),
            INITIAL_EMPTY_OUTPUT_BUFFERS
                .withBuffer("out", new UnpartitionedPagePartitionFunction())
                .withNoMoreBufferIds());
    assertEquals(taskInfo.getState(), TaskState.RUNNING);

    taskInfo = sqlTask.getTaskInfo();
    assertEquals(taskInfo.getState(), TaskState.RUNNING);

    sqlTask.abortTaskResults("out");

    taskInfo = sqlTask.getTaskInfo(taskInfo.getState()).get(1, TimeUnit.SECONDS);
    assertEquals(taskInfo.getState(), TaskState.FINISHED);

    taskInfo = sqlTask.getTaskInfo();
    assertEquals(taskInfo.getState(), TaskState.FINISHED);
  }
コード例 #2
0
ファイル: TestSqlTask.java プロジェクト: rayzhang123/presto
  @Test
  public void testEmptyQuery() throws Exception {
    SqlTask sqlTask = createInitialTask();

    TaskInfo taskInfo =
        sqlTask.updateTask(
            SESSION, PLAN_FRAGMENT, ImmutableList.<TaskSource>of(), INITIAL_EMPTY_OUTPUT_BUFFERS);
    assertEquals(taskInfo.getState(), TaskState.RUNNING);

    taskInfo = sqlTask.getTaskInfo();
    assertEquals(taskInfo.getState(), TaskState.RUNNING);

    taskInfo =
        sqlTask.updateTask(
            SESSION,
            PLAN_FRAGMENT,
            ImmutableList.of(
                new TaskSource(TABLE_SCAN_NODE_ID, ImmutableSet.<ScheduledSplit>of(), true)),
            INITIAL_EMPTY_OUTPUT_BUFFERS.withNoMoreBufferIds());
    assertEquals(taskInfo.getState(), TaskState.FINISHED);

    taskInfo = sqlTask.getTaskInfo();
    assertEquals(taskInfo.getState(), TaskState.FINISHED);
  }
コード例 #3
0
ファイル: TestSqlTask.java プロジェクト: rayzhang123/presto
  @Test
  public void testCancel() throws Exception {
    SqlTask sqlTask = createInitialTask();

    TaskInfo taskInfo =
        sqlTask.updateTask(
            SESSION, PLAN_FRAGMENT, ImmutableList.<TaskSource>of(), INITIAL_EMPTY_OUTPUT_BUFFERS);
    assertEquals(taskInfo.getState(), TaskState.RUNNING);
    assertNull(taskInfo.getStats().getEndTime());

    taskInfo = sqlTask.getTaskInfo();
    assertEquals(taskInfo.getState(), TaskState.RUNNING);
    assertNull(taskInfo.getStats().getEndTime());

    taskInfo = sqlTask.cancel();
    assertEquals(taskInfo.getState(), TaskState.CANCELED);
    assertNotNull(taskInfo.getStats().getEndTime());

    taskInfo = sqlTask.getTaskInfo();
    assertEquals(taskInfo.getState(), TaskState.CANCELED);
    assertNotNull(taskInfo.getStats().getEndTime());
  }
コード例 #4
0
ファイル: TestSqlTask.java プロジェクト: rayzhang123/presto
  @Test
  public void testSimpleQuery() throws Exception {
    SqlTask sqlTask = createInitialTask();

    TaskInfo taskInfo =
        sqlTask.updateTask(
            SESSION,
            PLAN_FRAGMENT,
            ImmutableList.of(new TaskSource(TABLE_SCAN_NODE_ID, ImmutableSet.of(SPLIT), true)),
            INITIAL_EMPTY_OUTPUT_BUFFERS
                .withBuffer("out", new UnpartitionedPagePartitionFunction())
                .withNoMoreBufferIds());
    assertEquals(taskInfo.getState(), TaskState.RUNNING);

    taskInfo = sqlTask.getTaskInfo();
    assertEquals(taskInfo.getState(), TaskState.RUNNING);

    BufferResult results = sqlTask.getTaskResults("out", 0, new DataSize(1, Unit.MEGABYTE)).get();
    assertEquals(results.isBufferClosed(), false);
    assertEquals(results.getPages().size(), 1);
    assertEquals(results.getPages().get(0).getPositionCount(), 1);

    results =
        sqlTask
            .getTaskResults(
                "out",
                results.getToken() + results.getPages().size(),
                new DataSize(1, Unit.MEGABYTE))
            .get();
    assertEquals(results.isBufferClosed(), true);
    assertEquals(results.getPages().size(), 0);

    taskInfo = sqlTask.getTaskInfo(taskInfo.getState()).get(1, TimeUnit.SECONDS);
    assertEquals(taskInfo.getState(), TaskState.FINISHED);
    taskInfo = sqlTask.getTaskInfo();
    assertEquals(taskInfo.getState(), TaskState.FINISHED);
  }