From 66837192ac0f641f73849ba9d79289bda9903451 Mon Sep 17 00:00:00 2001 From: Zhong Date: Tue, 11 Jul 2017 10:02:22 +0800 Subject: [PATCH] APACHE-KYLIN-2719: fix serviceStartTime of CubeVisitService by changing it to be a local variable --- .../cube/v2/coprocessor/endpoint/CubeVisitService.java | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java index cde127e..e72734e 100644 --- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java +++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java @@ -82,8 +82,6 @@ public class CubeVisitService extends CubeVisitProtos.CubeVisitService implement private RegionCoprocessorEnvironment env; - private long serviceStartTime; - abstract static class BaseCellListIterator implements CellListIterator { @Override public final void remove() { @@ -210,11 +208,11 @@ public class CubeVisitService extends CubeVisitProtos.CubeVisitService implement return ret; } - private void appendProfileInfo(StringBuilder sb, String info) { + private void appendProfileInfo(StringBuilder sb, String info, long serviceStartTime) { if (info != null) { sb.append(info); } - sb.append("@" + (System.currentTimeMillis() - this.serviceStartTime)); + sb.append("@" + (System.currentTimeMillis() - serviceStartTime)); sb.append(","); } @@ -232,7 +230,7 @@ public class CubeVisitService extends CubeVisitProtos.CubeVisitService implement String queryId = request.hasQueryId() ? request.getQueryId() : "UnknownId"; try (SetThreadName ignored = new SetThreadName("Query %s", queryId)) { - this.serviceStartTime = System.currentTimeMillis(); + final long serviceStartTime = System.currentTimeMillis(); region = (HRegion)env.getRegion(); region.startRegionOperation(); @@ -252,7 +250,7 @@ public class CubeVisitService extends CubeVisitProtos.CubeVisitService implement StorageSideBehavior behavior = StorageSideBehavior.valueOf(scanReq.getStorageBehavior()); final List hbaseRawScans = deserializeRawScans(ByteBuffer.wrap(HBaseZeroCopyByteString.zeroCopyGetBytes(request.getHbaseRawScan()))); - appendProfileInfo(sb, "start latency: " + (this.serviceStartTime - scanReq.getStartTime())); + appendProfileInfo(sb, "start latency: " + (serviceStartTime - scanReq.getStartTime()), serviceStartTime); final List cellListsForeachRawScan = Lists.newArrayList(); @@ -281,7 +279,7 @@ public class CubeVisitService extends CubeVisitProtos.CubeVisitService implement counter++; } } - appendProfileInfo(sb, "scanned " + counter); + appendProfileInfo(sb, "scanned " + counter, serviceStartTime); } if (behavior.ordinal() < StorageSideBehavior.SCAN_FILTER_AGGR_CHECKMEM.ordinal()) { @@ -343,7 +341,7 @@ public class CubeVisitService extends CubeVisitProtos.CubeVisitService implement finalScanner.close(); } - appendProfileInfo(sb, "agg done"); + appendProfileInfo(sb, "agg done", serviceStartTime); logger.info("Total scanned {} rows and {} bytes", cellListIterator.getTotalScannedRowCount(), cellListIterator.getTotalScannedRowBytes()); @@ -360,7 +358,7 @@ public class CubeVisitService extends CubeVisitProtos.CubeVisitService implement compressedAllRows = CompressionUtils.compress(allRows); } - appendProfileInfo(sb, "compress done"); + appendProfileInfo(sb, "compress done", serviceStartTime); logger.info("Size of final result = {} ({} before compressing)", compressedAllRows.length, allRows.length); OperatingSystemMXBean operatingSystemMXBean = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean(); @@ -368,7 +366,7 @@ public class CubeVisitService extends CubeVisitProtos.CubeVisitService implement double freePhysicalMemorySize = operatingSystemMXBean.getFreePhysicalMemorySize(); double freeSwapSpaceSize = operatingSystemMXBean.getFreeSwapSpaceSize(); - appendProfileInfo(sb, "server stats done"); + appendProfileInfo(sb, "server stats done", serviceStartTime); sb.append(" debugGitTag:" + debugGitTag); CubeVisitProtos.CubeVisitResponse.Builder responseBuilder = CubeVisitProtos.CubeVisitResponse.newBuilder(); -- 2.5.4 (Apple Git-61)