/** * invoked by program */ public static void resetCurrent() { QueryContext queryContext = CURRENT_CTX.get(); if (queryContext != null) { RUNNING_CTX_MAP.remove(queryContext.getQueryId()); CURRENT_CTX.remove(); } }
@Override protected QueryContext initialValue() { QueryContext queryContext = new QueryContext(); RUNNING_CTX_MAP.put(queryContext.getQueryId(), queryContext); return queryContext; } };
@Override public int compare(QueryContext o1, QueryContext o2) { if (o2.getAccumulatedMillis() > o1.getAccumulatedMillis()) { return 1; } else if (o2.getAccumulatedMillis() < o1.getAccumulatedMillis()) { return -1; } else { return o1.getQueryId().compareTo(o2.getQueryId()); } } });
if (querySegmentCacheEnabled) { try { logger.info("Query-{}: try to get segment result from cache for segment:{}", queryContext.getQueryId(), cubeSeg); calculatedSegmentQueryCacheKey = getSegmentQueryCacheKey(scanRequest); if (segmentResult == null) { logger.info("Query-{}: no segment result is cached for segment:{}, take time:{}ms", queryContext.getQueryId(), cubeSeg, spendTime); } else { logger.info("Query-{}: get segment result from cache for segment:{}, take time:{}ms", queryContext.getQueryId(), cubeSeg, spendTime); if (segmentResult.getCubeSegmentStatisticsBytes() != null) { queryContext.addCubeSegmentStatistics(storageContext.ctxId, final String queryId = queryContext.getQueryId(); if (queryId != null) { builder.setQueryId(queryId); queryContext.getQueryId(), Integer.toHexString(System.identityHashCode(scanRequest))); for (final Pair<byte[], byte[]> epRange : getEPKeyRanges(cuboidBaseShard, shardNum, totalShards)) { executorService.submit(new Runnable() {
final SegmentQueryResult.Builder segmentQueryResultBuilder, final String segmentQueryCacheKey) { final String queryId = queryContext.getQueryId();
try (SetThreadName ignored = new SetThreadName("Query %s", queryContext.getQueryId())) { SQLResponse sqlResponse = null; String sql = sqlRequest.getSql(); logQuery(queryContext.getQueryId(), sqlRequest, sqlResponse); try { recordMetric(sqlRequest, sqlResponse);
sqlResponse = query(sqlRequest, queryContext.getQueryId()); } else if (kylinConfig.isPushDownEnabled() && kylinConfig.isPushDownUpdateEnabled()) { sqlResponse = update(sqlRequest);
/** * invoked by program */ public static void resetCurrent() { QueryContext queryContext = CURRENT_CTX.get(); if (queryContext != null) { RUNNING_CTX_MAP.remove(queryContext.getQueryId()); CURRENT_CTX.remove(); } }
@Override protected QueryContext initialValue() { QueryContext queryContext = new QueryContext(); RUNNING_CTX_MAP.put(queryContext.getQueryId(), queryContext); return queryContext; } };
@Override public int compare(QueryContext o1, QueryContext o2) { if (o2.getAccumulatedMillis() > o1.getAccumulatedMillis()) { return 1; } else if (o2.getAccumulatedMillis() < o1.getAccumulatedMillis()) { return -1; } else { return o1.getQueryId().compareTo(o2.getQueryId()); } } });
if (querySegmentCacheEnabled) { try { logger.info("Query-{}: try to get segment result from cache for segment:{}", queryContext.getQueryId(), cubeSeg); calculatedSegmentQueryCacheKey = getSegmentQueryCacheKey(scanRequest); if (segmentResult == null) { logger.info("Query-{}: no segment result is cached for segment:{}, take time:{}ms", queryContext.getQueryId(), cubeSeg, spendTime); } else { logger.info("Query-{}: get segment result from cache for segment:{}, take time:{}ms", queryContext.getQueryId(), cubeSeg, spendTime); if (segmentResult.getCubeSegmentStatisticsBytes() != null) { queryContext.addCubeSegmentStatistics(storageContext.ctxId, final String queryId = queryContext.getQueryId(); if (queryId != null) { builder.setQueryId(queryId); queryContext.getQueryId(), Integer.toHexString(System.identityHashCode(scanRequest))); for (final Pair<byte[], byte[]> epRange : getEPKeyRanges(cuboidBaseShard, shardNum, totalShards)) { executorService.submit(new Runnable() {
final SegmentQueryResult.Builder segmentQueryResultBuilder, final String segmentQueryCacheKey) { final String queryId = queryContext.getQueryId();