本文整理了Java中com.facebook.presto.execution.QueryManager.failQuery
方法的一些代码示例,展示了QueryManager.failQuery
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryManager.failQuery
方法的具体详情如下:
包路径:com.facebook.presto.execution.QueryManager
类名称:QueryManager
方法名:failQuery
[英]Attempts to fail the query for the specified reason. If the query is already in a final state, the call is ignored. If the query does not exist, the call is ignored.
[中]由于指定的原因,试图使查询失败。如果查询已经处于最终状态,则调用将被忽略。如果查询不存在,则忽略该调用。
代码示例来源: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 testFailQuery()
throws Exception
{
QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();
QueryId queryId = queryManager.createQueryId();
queryManager.createQuery(
queryId,
new TestingSessionContext(TEST_SESSION),
"SELECT * FROM lineitem")
.get();
// wait until query starts running
while (true) {
QueryState state = queryManager.getQueryState(queryId);
if (state.isDone()) {
fail("unexpected query state: " + state);
}
if (state == RUNNING) {
break;
}
Thread.sleep(100);
}
// cancel query
queryManager.failQuery(queryId, new PrestoException(GENERIC_INTERNAL_ERROR, "mock exception"));
QueryInfo queryInfo = queryManager.getFullQueryInfo(queryId);
assertEquals(queryInfo.getState(), FAILED);
assertEquals(queryInfo.getErrorCode(), GENERIC_INTERNAL_ERROR.toErrorCode());
assertNotNull(queryInfo.getFailureInfo());
assertEquals(queryInfo.getFailureInfo().getMessage(), "mock exception");
}
代码示例来源:origin: prestodb/presto
@Test(timeOut = 60_000L)
public void testLegacyQueryContext()
throws Exception
{
QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();
QueryId queryId = queryManager.createQueryId();
queryManager.createQuery(
queryId,
new TestingSessionContext(TEST_SESSION),
"SELECT * FROM lineitem")
.get();
waitForQueryState(queryRunner, queryId, RUNNING);
// cancel query
queryManager.failQuery(queryId, new PrestoException(GENERIC_INTERNAL_ERROR, "mock exception"));
// assert that LegacyQueryContext is used instead of the DefaultQueryContext
SqlTaskManager taskManager = (SqlTaskManager) queryRunner.getServers().get(0).getTaskManager();
assertInstanceOf(taskManager.getQueryContext(queryId), LegacyQueryContext.class);
}
}
代码示例来源:origin: prestodb/presto
queryManager.failQuery(queryId, cause);
代码示例来源: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: com.facebook.presto/presto-tests
@Test(timeOut = 60_000L)
public void testFailQuery()
throws Exception
{
QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();
QueryId queryId = queryManager.createQueryId();
queryManager.createQuery(
queryId,
new TestingSessionContext(TEST_SESSION),
"SELECT * FROM lineitem")
.get();
// wait until query starts running
while (true) {
QueryState state = queryManager.getQueryState(queryId);
if (state.isDone()) {
fail("unexpected query state: " + state);
}
if (state == RUNNING) {
break;
}
Thread.sleep(100);
}
// cancel query
queryManager.failQuery(queryId, new PrestoException(GENERIC_INTERNAL_ERROR, "mock exception"));
QueryInfo queryInfo = queryManager.getFullQueryInfo(queryId);
assertEquals(queryInfo.getState(), FAILED);
assertEquals(queryInfo.getErrorCode(), GENERIC_INTERNAL_ERROR.toErrorCode());
assertNotNull(queryInfo.getFailureInfo());
assertEquals(queryInfo.getFailureInfo().getMessage(), "mock exception");
}
代码示例来源:origin: com.facebook.presto/presto-tests
@Test(timeOut = 60_000L)
public void testLegacyQueryContext()
throws Exception
{
QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();
QueryId queryId = queryManager.createQueryId();
queryManager.createQuery(
queryId,
new TestingSessionContext(TEST_SESSION),
"SELECT * FROM lineitem")
.get();
waitForQueryState(queryRunner, queryId, RUNNING);
// cancel query
queryManager.failQuery(queryId, new PrestoException(GENERIC_INTERNAL_ERROR, "mock exception"));
// assert that LegacyQueryContext is used instead of the DefaultQueryContext
SqlTaskManager taskManager = (SqlTaskManager) queryRunner.getServers().get(0).getTaskManager();
assertInstanceOf(taskManager.getQueryContext(queryId), LegacyQueryContext.class);
}
}
内容来源于网络,如有侵权,请联系作者删除!