@Override public void installPlugin(Plugin plugin) { pluginManager.installPlugin(plugin); }
private Class<?> resolveClass(Class<?> clazz, boolean resolve) { if (resolve) { resolveClass(clazz); } return clazz; }
public static void verifyJvmRequirements() { verifyJavaVersion(); verify64BitJvm(); verifyOsArchitecture(); verifyByteOrder(); verifyUsingG1Gc(); verifyFileDescriptor(); verifySlice(); }
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); }
public static QueryProgressStats createQueryProgressStats(BasicQueryStats queryStats) { return new QueryProgressStats( queryStats.getElapsedTime().toMillis(), queryStats.getQueuedTime().toMillis(), queryStats.getTotalCpuTime().toMillis(), queryStats.getTotalScheduledTime().toMillis(), queryStats.getUserMemoryReservation().toBytes(), queryStats.getPeakUserMemoryReservation().toBytes(), queryStats.getRawInputPositions(), queryStats.getRawInputDataSize().toBytes(), queryStats.isFullyBlocked(), queryStats.getProgressPercentage()); }
private static boolean isBlockedWaitingForMemory(BasicQueryInfo info) { BasicQueryStats stats = info.getQueryStats(); boolean isWaitingForMemory = stats.getBlockedReasons().contains(WAITING_FOR_MEMORY); if (!isWaitingForMemory) { return false; } // queries are not marked as fully blocked if there are no running drivers return stats.isFullyBlocked() || stats.getRunningDrivers() == 0; }
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); }
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 static boolean isLeaked(Map<QueryId, BasicQueryInfo> queryIdToInfo, QueryId queryId) { BasicQueryInfo queryInfo = queryIdToInfo.get(queryId); if (queryInfo == null) { return true; } DateTime queryEndTime = queryInfo.getQueryStats().getEndTime(); if (queryInfo.getState() == RUNNING || queryEndTime == null) { return false; } return secondsBetween(queryEndTime, now()).getSeconds() >= DEFAULT_LEAK_CLAIM_DELTA_SEC; }
@Override public BasicQueryInfo getBasicQueryInfo() { return new BasicQueryInfo(getQueryInfo()); }
public static void main(String[] args) { new PrestoServer().run(); }
@Test public void testVerifyJvmRequirements() { verifyJvmRequirements(); }
@Test public void testSystemTimeSanityCheck() { verifySystemTimeIsReasonable(); } }
@Inject public ThrowableMapper(ServerConfig config) { includeExceptionInResponse = config.isIncludeExceptionInResponse(); }
@Override public String getHeader(String name) { Enumeration<String> headers = getHeaders(name); return headers.hasMoreElements() ? headers.nextElement() : null; }
private static void assertRequest(boolean expression, String format, Object... args) { if (!expression) { throw badRequest(format(format, args)); } }
@BeforeClass public void setup() { runToCompletion("SELECT 1"); runToCompletion("SELECT 2"); runToCompletion("SELECT x FROM y"); }
@Override public BasicQueryInfo getBasicQueryInfo() { return new BasicQueryInfo(getQueryInfo()); }
public void installPlugin(Plugin plugin) { pluginManager.installPlugin(plugin); }