private static void logQueryTimeline(BasicQueryInfo queryInfo) { DateTime queryStartTime = queryInfo.getQueryStats().getCreateTime(); DateTime queryEndTime = queryInfo.getQueryStats().getEndTime(); // query didn't finish cleanly if (queryStartTime == null || queryEndTime == null) { return; } long elapsed = max(queryEndTime.getMillis() - queryStartTime.getMillis(), 0); logQueryTimeline( queryInfo.getQueryId(), queryInfo.getSession().getTransactionId().map(TransactionId::toString).orElse(""), elapsed, elapsed, 0, 0, 0, queryStartTime, queryEndTime); }
private static void logQueryTimeline(BasicQueryInfo queryInfo) { DateTime queryStartTime = queryInfo.getQueryStats().getCreateTime(); DateTime queryEndTime = queryInfo.getQueryStats().getEndTime(); // query didn't finish cleanly if (queryStartTime == null || queryEndTime == null) { return; } long elapsed = max(queryEndTime.getMillis() - queryStartTime.getMillis(), 0); logQueryTimeline( queryInfo.getQueryId(), queryInfo.getSession().getTransactionId().map(TransactionId::toString).orElse(""), elapsed, elapsed, 0, 0, 0, queryStartTime, queryEndTime); }
private Set<String> captureQueries(Callable<?> action) throws Exception { Set<QueryId> queryIdsBefore = server.getQueryManager().getQueries().stream() .map(BasicQueryInfo::getQueryId) .collect(toImmutableSet()); action.call(); return server.getQueryManager().getQueries().stream() .filter(queryInfo -> !queryIdsBefore.contains(queryInfo.getQueryId())) .map(BasicQueryInfo::getQuery) .collect(toImmutableSet()); }
private Set<String> captureQueries(Callable<?> action) throws Exception { Set<QueryId> queryIdsBefore = server.getQueryManager().getQueries().stream() .map(BasicQueryInfo::getQueryId) .collect(toImmutableSet()); action.call(); return server.getQueryManager().getQueries().stream() .filter(queryInfo -> !queryIdsBefore.contains(queryInfo.getQueryId())) .map(BasicQueryInfo::getQuery) .collect(toImmutableSet()); }
private void cancelAllQueries() { QueryManager queryManager = coordinator.getQueryManager(); for (BasicQueryInfo queryInfo : queryManager.getQueries()) { if (!queryInfo.getState().isDone()) { queryManager.cancelQuery(queryInfo.getQueryId()); } } }
queryInfo.getQueryId().toString(), queryInfo.getSession().getTransactionId().map(TransactionId::toString), queryInfo.getQuery(),
queryInfo.getQueryId().toString(), queryInfo.getSession().getTransactionId().map(TransactionId::toString), queryInfo.getQuery(),
public void queryCreatedEvent(BasicQueryInfo queryInfo) { eventListenerManager.queryCreated( new QueryCreatedEvent( queryInfo.getQueryStats().getCreateTime().toDate().toInstant(), createQueryContext(queryInfo.getSession(), queryInfo.getResourceGroupId()), new QueryMetadata( queryInfo.getQueryId().toString(), queryInfo.getSession().getTransactionId().map(TransactionId::toString), queryInfo.getQuery(), QUEUED.toString(), queryInfo.getSelf(), Optional.empty(), Optional.empty()))); }
public void queryCreatedEvent(BasicQueryInfo queryInfo) { eventListenerManager.queryCreated( new QueryCreatedEvent( queryInfo.getQueryStats().getCreateTime().toDate().toInstant(), createQueryContext(queryInfo.getSession(), queryInfo.getResourceGroupId()), new QueryMetadata( queryInfo.getQueryId().toString(), queryInfo.getSession().getTransactionId().map(TransactionId::toString), queryInfo.getQuery(), QUEUED.toString(), queryInfo.getSelf(), Optional.empty(), Optional.empty()))); }
public static void waitForQueryState(DistributedQueryRunner queryRunner, QueryId queryId, Set<QueryState> expectedQueryStates) throws InterruptedException { QueryManager queryManager = queryRunner.getCoordinator().getQueryManager(); do { // Heartbeat all the running queries, so they don't die while we're waiting for (BasicQueryInfo queryInfo : queryManager.getQueries()) { if (queryInfo.getState() == RUNNING) { queryManager.recordHeartbeat(queryInfo.getQueryId()); } } MILLISECONDS.sleep(500); } while (!expectedQueryStates.contains(queryManager.getQueryState(queryId))); }
private static QueryStateInfo createQueryStateInfo( BasicQueryInfo queryInfo, Optional<ResourceGroupId> groupId, Optional<List<ResourceGroupInfo>> pathToRoot, Optional<QueryProgressStats> progress) { return new QueryStateInfo( queryInfo.getQueryId(), queryInfo.getState(), groupId, queryInfo.getQuery(), queryInfo.getQueryStats().getCreateTime(), queryInfo.getSession().getUser(), queryInfo.getSession().getSource(), queryInfo.getSession().getClientInfo(), queryInfo.getSession().getCatalog(), queryInfo.getSession().getSchema(), pathToRoot, progress); }
private static QueryStateInfo createQueryStateInfo( BasicQueryInfo queryInfo, Optional<ResourceGroupId> groupId, Optional<List<ResourceGroupInfo>> pathToRoot, Optional<QueryProgressStats> progress) { return new QueryStateInfo( queryInfo.getQueryId(), queryInfo.getState(), groupId, queryInfo.getQuery(), queryInfo.getQueryStats().getCreateTime(), queryInfo.getSession().getUser(), queryInfo.getSession().getSource(), queryInfo.getSession().getClientInfo(), queryInfo.getSession().getCatalog(), queryInfo.getSession().getSchema(), pathToRoot, progress); }
Optional.empty())); assertEquals(basicInfo.getQueryId().getId(), "0"); assertEquals(basicInfo.getState(), RUNNING); assertEquals(basicInfo.getMemoryPool().getId(), "reserved");
Optional.empty())); assertEquals(basicInfo.getQueryId().getId(), "0"); assertEquals(basicInfo.getState(), RUNNING); assertEquals(basicInfo.getMemoryPool().getId(), "reserved");