private QueryStateInfo getQueryStateInfo(BasicQueryInfo queryInfo) { Optional<ResourceGroupId> groupId = queryInfo.getResourceGroupId(); if (queryInfo.getState() == QUEUED) { return createQueuedQueryStateInfo( queryInfo, groupId, groupId.map(resourceGroupManager::getPathToRoot)); } return createQueryStateInfo(queryInfo, groupId); }
QueryStateInfo query = createQueuedQueryStateInfo( new BasicQueryInfo(createQueryInfo("query_root_a_x", QUEUED, "SELECT 1")), Optional.of(rootAX.getId()), Optional.of(ImmutableList.of(rootAX.getInfo(), rootA.getInfo(), root.getInfo()))); assertEquals(query.getQuery(), "SELECT 1"); assertEquals(query.getQueryId().toString(), "query_root_a_x"); assertEquals(query.getQueryState(), QUEUED); assertEquals(query.getProgress(), Optional.empty()); List<ResourceGroupInfo> chainInfo = query.getPathToRoot().get();
public static QueryStateInfo createQueuedQueryStateInfo(BasicQueryInfo queryInfo, Optional<ResourceGroupId> group, Optional<List<ResourceGroupInfo>> pathToRoot) { return createQueryStateInfo(queryInfo, group, pathToRoot, Optional.empty()); }
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); }
assertEquals(rootInfo.getRunningQueries().size(), 1); QueryStateInfo queryInfo = rootInfo.getRunningQueries().get(0); assertEquals(queryInfo.getResourceGroupId(), Optional.of(rootB.getId()));
QueryStateInfo query = createQueuedQueryStateInfo( new BasicQueryInfo(createQueryInfo("query_root_a_x", QUEUED, "SELECT 1")), Optional.of(rootAX.getId()), Optional.of(ImmutableList.of(rootAX.getInfo(), rootA.getInfo(), root.getInfo()))); assertEquals(query.getQuery(), "SELECT 1"); assertEquals(query.getQueryId().toString(), "query_root_a_x"); assertEquals(query.getQueryState(), QUEUED); assertEquals(query.getProgress(), Optional.empty()); List<ResourceGroupInfo> chainInfo = query.getPathToRoot().get();
public static QueryStateInfo createQueuedQueryStateInfo(BasicQueryInfo queryInfo, Optional<ResourceGroupId> group, Optional<List<ResourceGroupInfo>> pathToRoot) { return createQueryStateInfo(queryInfo, group, pathToRoot, Optional.empty()); }
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); }
assertEquals(rootInfo.getRunningQueries().size(), 1); QueryStateInfo queryInfo = rootInfo.getRunningQueries().get(0); assertEquals(queryInfo.getResourceGroupId(), Optional.of(rootB.getId()));
private QueryStateInfo getQueryStateInfo(BasicQueryInfo queryInfo) { Optional<ResourceGroupId> groupId = queryInfo.getResourceGroupId(); if (queryInfo.getState() == QUEUED) { return createQueuedQueryStateInfo( queryInfo, groupId, groupId.map(resourceGroupManager::getPathToRoot)); } return createQueryStateInfo(queryInfo, groupId); }
private List<QueryStateInfo> getAggregatedRunningQueriesInfo() { synchronized (root) { if (subGroups.isEmpty()) { return runningQueries.stream() .map(ManagedQueryExecution::getBasicQueryInfo) .map(queryInfo -> createQueryStateInfo(queryInfo, Optional.of(id))) .collect(toImmutableList()); } return subGroups.values().stream() .map(InternalResourceGroup::getAggregatedRunningQueriesInfo) .flatMap(List::stream) .collect(toImmutableList()); } }
private List<QueryStateInfo> getAggregatedRunningQueriesInfo() { synchronized (root) { if (subGroups.isEmpty()) { return runningQueries.stream() .map(ManagedQueryExecution::getBasicQueryInfo) .map(queryInfo -> createQueryStateInfo(queryInfo, Optional.of(id))) .collect(toImmutableList()); } return subGroups.values().stream() .map(InternalResourceGroup::getAggregatedRunningQueriesInfo) .flatMap(List::stream) .collect(toImmutableList()); } }
public static QueryStateInfo createQueryStateInfo(BasicQueryInfo queryInfo, Optional<ResourceGroupId> group) { Optional<QueryProgressStats> progress = Optional.empty(); if (!queryInfo.getState().isDone() && queryInfo.getState() != QUEUED) { progress = Optional.of(createQueryProgressStats(queryInfo.getQueryStats())); } return createQueryStateInfo(queryInfo, group, Optional.empty(), progress); }
public static QueryStateInfo createQueryStateInfo(BasicQueryInfo queryInfo, Optional<ResourceGroupId> group) { Optional<QueryProgressStats> progress = Optional.empty(); if (!queryInfo.getState().isDone() && queryInfo.getState() != QUEUED) { progress = Optional.of(createQueryProgressStats(queryInfo.getQueryStats())); } return createQueryStateInfo(queryInfo, group, Optional.empty(), progress); }