com.facebook.presto.execution.QueryManager.getQueryInfo()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(7.3k)|赞(0)|评价(0)|浏览(156)

本文整理了Java中com.facebook.presto.execution.QueryManager.getQueryInfo方法的一些代码示例,展示了QueryManager.getQueryInfo的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryManager.getQueryInfo方法的具体详情如下:
包路径:com.facebook.presto.execution.QueryManager
类名称:QueryManager
方法名:getQueryInfo

QueryManager.getQueryInfo介绍

暂无

代码示例

代码示例来源:origin: prestodb/presto

@GET
  @Path("{queryId}")
  @Produces(MediaType.APPLICATION_JSON)
  public QueryStateInfo getQueryStateInfo(@PathParam("queryId") String queryId)
      throws WebApplicationException
  {
    try {
      return getQueryStateInfo(queryManager.getQueryInfo(new QueryId(queryId)));
    }
    catch (NoSuchElementException e) {
      throw new WebApplicationException(NOT_FOUND);
    }
  }
}

代码示例来源:origin: prestodb/presto

private Response failQuery(QueryId queryId, PrestoException queryException)
{
  requireNonNull(queryId, "queryId is null");
  try {
    QueryState state = queryManager.getQueryState(queryId);
    // check before killing to provide the proper error code (this is racy)
    if (state.isDone()) {
      return Response.status(Status.CONFLICT).build();
    }
    queryManager.failQuery(queryId, queryException);
    // verify if the query was failed (if not, we lost the race)
    if (!queryException.getErrorCode().equals(queryManager.getQueryInfo(queryId).getErrorCode())) {
      return Response.status(Status.CONFLICT).build();
    }
    return Response.status(Status.OK).build();
  }
  catch (NoSuchElementException e) {
    return Response.status(Status.GONE).build();
  }
}

代码示例来源:origin: prestodb/presto

@Test(timeOut = 60_000L)
  public void testQueryCpuLimit()
      throws Exception
  {
    try (DistributedQueryRunner queryRunner = builder().setSingleExtraProperty("query.max-cpu-time", "1ms").build()) {
      QueryId queryId = createQuery(queryRunner, TEST_SESSION, "SELECT COUNT(*) FROM lineitem");
      waitForQueryState(queryRunner, queryId, FAILED);
      QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();
      BasicQueryInfo queryInfo = queryManager.getQueryInfo(queryId);
      assertEquals(queryInfo.getState(), FAILED);
      assertEquals(queryInfo.getErrorCode(), EXCEEDED_CPU_LIMIT.toErrorCode());
    }
  }
}

代码示例来源:origin: prestodb/presto

private void testRejection()
    throws Exception
{
  try (DistributedQueryRunner queryRunner = createQueryRunner()) {
    queryRunner.installPlugin(new ResourceGroupManagerPlugin());
    queryRunner.getCoordinator().getResourceGroupManager().get().setConfigurationManager("file", ImmutableMap.of("resource-groups.config-file", getResourceFilePath("resource_groups_config_dashboard.json")));
    QueryId queryId = createQuery(queryRunner, newRejectionSession(), LONG_LASTING_QUERY);
    waitForQueryState(queryRunner, queryId, FAILED);
    QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();
    assertEquals(queryManager.getQueryInfo(queryId).getErrorCode(), QUERY_REJECTED.toErrorCode());
  }
}

代码示例来源:origin: prestodb/presto

@UsedByGeneratedCode
public void killQuery(String queryId, String message)
{
  QueryId query = parseQueryId(queryId);
  try {
    QueryState state = queryManager.getQueryState(query);
    // check before killing to provide the proper error message (this is racy)
    if (state.isDone()) {
      throw new PrestoException(NOT_SUPPORTED, "Target query is not running: " + queryId);
    }
    queryManager.failQuery(query, createKillQueryException(message));
    // verify if the query was killed (if not, we lost the race)
    if (!ADMINISTRATIVELY_KILLED.toErrorCode().equals(queryManager.getQueryInfo(query).getErrorCode())) {
      throw new PrestoException(NOT_SUPPORTED, "Target query is not running: " + queryId);
    }
  }
  catch (NoSuchElementException e) {
    throw new PrestoException(NOT_FOUND, "Target query not found: " + queryId);
  }
}

代码示例来源:origin: prestodb/presto

BasicQueryInfo queryInfo = server.getQueryManager().getQueryInfo(new QueryId(queryResults.getId()));

代码示例来源:origin: uk.co.nichesolutions.presto/presto-main

@GET
@Path("{queryId}")
public Response getQueryInfo(@PathParam("queryId") QueryId queryId)
{
  requireNonNull(queryId, "queryId is null");
  try {
    QueryInfo queryInfo = queryManager.getQueryInfo(queryId);
    return Response.ok(queryInfo).build();
  }
  catch (NoSuchElementException e) {
    return Response.status(Status.GONE).build();
  }
}

代码示例来源:origin: uk.co.nichesolutions.presto/presto-main

public synchronized QueryResults getResults(long token, UriInfo uriInfo, Duration maxWaitTime)
    throws InterruptedException
{
  // is the a repeated request for the last results?
  String requestedPath = uriInfo.getAbsolutePath().getPath();
  if (lastResultPath != null && requestedPath.equals(lastResultPath)) {
    // tell query manager we are still interested in the query
    queryManager.getQueryInfo(queryId);
    queryManager.recordHeartbeat(queryId);
    return lastResult;
  }
  if (token < resultId.get()) {
    throw new WebApplicationException(Status.GONE);
  }
  // if this is not a request for the next results, return not found
  if (lastResult.getNextUri() == null || !requestedPath.equals(lastResult.getNextUri().getPath())) {
    // unknown token
    throw new WebApplicationException(Status.NOT_FOUND);
  }
  return getNextResults(uriInfo, maxWaitTime);
}

代码示例来源:origin: uk.co.nichesolutions.presto/presto-tests

private static void waitForQueryState(DistributedQueryRunner queryRunner, QueryId queryId, Set<QueryState> expectedQueryStates)
    throws InterruptedException
{
  QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();
  do {
    MILLISECONDS.sleep(500);
  }
  while (!expectedQueryStates.contains(queryManager.getQueryInfo(queryId).getState()));
}

代码示例来源:origin: uk.co.nichesolutions.presto/presto-main

QueryInfo queryInfo = queryManager.getQueryInfo(queryId);
while (maxWait.toMillis() > 1 && !isQueryStarted(queryInfo)) {
  queryManager.recordHeartbeat(queryId);
  maxWait = queryManager.waitForStateChange(queryId, queryInfo.getState(), maxWait);
  queryInfo = queryManager.getQueryInfo(queryId);

代码示例来源:origin: uk.co.nichesolutions.presto/presto-main

QueryInfo queryInfo = queryManager.getQueryInfo(queryId);
queryManager.recordHeartbeat(queryId);
  queryInfo = queryManager.getQueryInfo(queryId);

代码示例来源:origin: uk.co.nichesolutions.presto/presto-main

query = manager.getQueryInfo(QueryId.valueOf(queryId));

代码示例来源:origin: com.facebook.presto/presto-tests

@Test(timeOut = 60_000L)
  public void testQueryCpuLimit()
      throws Exception
  {
    try (DistributedQueryRunner queryRunner = builder().setSingleExtraProperty("query.max-cpu-time", "1ms").build()) {
      QueryId queryId = createQuery(queryRunner, TEST_SESSION, "SELECT COUNT(*) FROM lineitem");
      waitForQueryState(queryRunner, queryId, FAILED);
      QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();
      BasicQueryInfo queryInfo = queryManager.getQueryInfo(queryId);
      assertEquals(queryInfo.getState(), FAILED);
      assertEquals(queryInfo.getErrorCode(), EXCEEDED_CPU_LIMIT.toErrorCode());
    }
  }
}

代码示例来源:origin: com.facebook.presto/presto-tests

private void testRejection()
    throws Exception
{
  try (DistributedQueryRunner queryRunner = createQueryRunner()) {
    queryRunner.installPlugin(new ResourceGroupManagerPlugin());
    queryRunner.getCoordinator().getResourceGroupManager().get().setConfigurationManager("file", ImmutableMap.of("resource-groups.config-file", getResourceFilePath("resource_groups_config_dashboard.json")));
    QueryId queryId = createQuery(queryRunner, newRejectionSession(), LONG_LASTING_QUERY);
    waitForQueryState(queryRunner, queryId, FAILED);
    QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();
    assertEquals(queryManager.getQueryInfo(queryId).getErrorCode(), QUERY_REJECTED.toErrorCode());
  }
}

代码示例来源:origin: uk.co.nichesolutions.presto/presto-main

QueryInfo queryInfo = server.getQueryManager().getQueryInfo(new QueryId(queryResults.getId()));

相关文章