KYLIN [ INFO ] 12-13 23:42:26.326 org.apache.kylin.rest.service.QueryService.doQueryWithCache(QueryService.java:358) from http-bio-7070-exec-7 > Check query permission in 0 ms. KYLIN [ DEBUG ] 12-13 23:42:26.326 org.apache.kylin.common.util.CheckUtil.checkCondition(CheckUtil.java:40) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > query cache disabled in KylinConfig KYLIN [ INFO ] 12-13 23:42:26.326 org.apache.kylin.rest.service.QueryService.doQueryWithCache(QueryService.java:394) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Using project: Skyrim22 KYLIN [ INFO ] 12-13 23:42:26.327 org.apache.kylin.rest.service.QueryService.doQueryWithCache(QueryService.java:395) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > The original query: select act_type, sum(act_times), count(cc) ascc2 from ( select act_type, item_id, ua.uid, sum(ACTIVE_MINUTES) as act_times, count(*) as cc from useraction as ua left join userinfo as ui on ua.uid = ui.uid where ua.uid >= 1 group by act_type, ua.uid, item_id ) group by act_type KYLIN [ INFO ] 12-13 23:42:26.331 org.apache.kylin.rest.service.QueryService.queryWithSqlMassage(QueryService.java:610) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > The corrected query: select act_type, sum(act_times), count(cc) ascc2 from ( select act_type, item_id, ua.uid, sum(ACTIVE_MINUTES) as act_times, count(*) as cc from useraction as ua left join userinfo as ui on ua.uid = ui.uid where ua.uid >= 1 group by act_type, ua.uid, item_id ) group by act_type LIMIT 10 EXECUTION PLAN BEFORE REWRITE OLAPToEnumerableConverter OLAPLimitRel(ctx=[], fetch=[10]) OLAPAggregateRel(group=[{0}], EXPR$1=[SUM($1)], ASCC2=[COUNT()], ctx=[]) OLAPProjectRel(ACT_TYPE=[$0], ACT_TIMES=[$3], ctx=[]) OLAPAggregateRel(group=[{0, 1, 2}], ACT_TIMES=[SUM($3)], CC=[COUNT()], ctx=[]) OLAPProjectRel(ACT_TYPE=[$1], UID=[$0], ITEM_ID=[$2], ACTIVE_MINUTES=[$4], ctx=[]) OLAPFilterRel(condition=[>=($0, 1)], ctx=[]) OLAPJoinRel(condition=[=($0, $11)], joinType=[left], ctx=[]) OLAPTableScan(table=[[DEMO_USER_ACT, USERACTION]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]) OLAPTableScan(table=[[DEMO_USER_ACT, USERINFO]], ctx=[], fields=[[0, 1, 2]]) EXECUTION PLAN AFTER OLAPCONTEXT IS SET OLAPToEnumerableConverter OLAPLimitRel(ctx=[0@null], fetch=[10]) OLAPAggregateRel(group=[{0}], EXPR$1=[SUM($1)], ASCC2=[COUNT()], ctx=[0@null]) OLAPProjectRel(ACT_TYPE=[$0], ACT_TIMES=[$3], ctx=[0@null]) OLAPAggregateRel(group=[{0, 1, 2}], ACT_TIMES=[SUM($3)], CC=[COUNT()], ctx=[0@null]) OLAPProjectRel(ACT_TYPE=[$1], UID=[$0], ITEM_ID=[$2], ACTIVE_MINUTES=[$4], ctx=[0@null]) OLAPFilterRel(condition=[>=($0, 1)], ctx=[0@null]) OLAPJoinRel(condition=[=($0, $11)], joinType=[left], ctx=[0@null]) OLAPTableScan(table=[[DEMO_USER_ACT, USERACTION]], ctx=[0@null], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]) OLAPTableScan(table=[[DEMO_USER_ACT, USERINFO]], ctx=[0@null], fields=[[0, 1, 2]]) KYLIN [ INFO ] 12-13 23:42:26.376 org.apache.kylin.query.routing.QueryRouter.selectRealization(QueryRouter.java:58) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Find candidates by table DEMO_USER_ACT.USERACTION and project=Skyrim22 : CUBE[name=Model1Cube1] KYLIN [ INFO ] 12-13 23:42:26.376 org.apache.kylin.query.routing.RoutingRule.applyRules(RoutingRule.java:51) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Applying rule: class org.apache.kylin.query.routing.rules.RemoveBlackoutRealizationsRule, realizations before: [CUBE[name=Model1Cube1]], realizations after: [CUBE[name=Model1Cube1]] KYLIN [ INFO ] 12-13 23:42:26.376 org.apache.kylin.query.routing.RoutingRule.applyRules(RoutingRule.java:51) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Applying rule: class org.apache.kylin.query.routing.rules.RemoveUncapableRealizationsRule, realizations before: [CUBE[name=Model1Cube1]], realizations after: [CUBE[name=Model1Cube1]] KYLIN [ INFO ] 12-13 23:42:26.376 org.apache.kylin.query.routing.rules.RealizationSortRule.apply(RealizationSortRule.java:40) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > CUBE[name=Model1Cube1] priority 1 cost 94. KYLIN [ INFO ] 12-13 23:42:26.376 org.apache.kylin.query.routing.RoutingRule.applyRules(RoutingRule.java:51) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Applying rule: class org.apache.kylin.query.routing.rules.RealizationSortRule, realizations before: [CUBE[name=Model1Cube1]], realizations after: [CUBE[name=Model1Cube1]] KYLIN [ INFO ] 12-13 23:42:26.377 org.apache.kylin.query.routing.QueryRouter.selectRealization(QueryRouter.java:75) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > The realizations remaining: [CUBE[name=Model1Cube1]],and the final chosen one for current olap context 0 is CUBE[name=Model1Cube1] EXECUTION PLAN AFTER REWRITE OLAPToEnumerableConverter EnumerableLimit(fetch=[10]) EnumerableAggregate(group=[{0}], EXPR$1=[SUM($1)], ASCC2=[COUNT()]) EnumerableCalc(expr#0..4=[{inputs}], ACT_TYPE=[$t0], ACT_TIMES=[$t3]) EnumerableAggregate(group=[{0, 1, 2}], SUM=[SUM($5)], COUNT=[$SUM0($4)]) EnumerableCalc(expr#0..13=[{inputs}], expr#14=[1], expr#15=[>=($t0, $t14)], ACT_TYPE=[$t1], UID=[$t0], ITEM_ID=[$t2], ACTIVE_MINUTES=[$t4], _KY_COUNT__=[$t7], _KY_SUM_USERACTION_ACTIVE_MINUTES_=[$t8], $condition=[$t15]) OLAPJoinRel(condition=[=($0, $11)], joinType=[left], ctx=[0@CUBE[name=Model1Cube1]]) OLAPTableScan(table=[[DEMO_USER_ACT, USERACTION]], ctx=[0@CUBE[name=Model1Cube1]], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]) OLAPTableScan(table=[[DEMO_USER_ACT, USERINFO]], ctx=[0@CUBE[name=Model1Cube1]], fields=[[0, 1, 2]]) org.apache.kylin.query.relnode.OLAPContext@6cfe93a3 - EnumerableLimit#3473 org.apache.kylin.query.relnode.OLAPContext@6cfe93a3 - EnumerableAggregate#3472 org.apache.kylin.query.relnode.OLAPContext@6cfe93a3 - EnumerableCalc#3471 org.apache.kylin.query.relnode.OLAPContext@6cfe93a3 - EnumerableAggregate#3470 org.apache.kylin.query.relnode.OLAPContext@6cfe93a3 - EnumerableCalc#3469 org.apache.kylin.query.relnode.OLAPContext@6cfe93a3 - rel#3452:OLAPJoinRel.OLAP.[](left=rel#3150:OLAPTableScan.OLAP.[](table=[DEMO_USER_ACT, USERACTION],ctx=,fields=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]),right=rel#3151:OLAPTableScan.OLAP.[](table=[DEMO_USER_ACT, USERINFO],ctx=,fields=[0, 1, 2]),condition==($0, $11),joinType=left,ctx=) /* 1 */ public static class Record3_0 implements java.io.Serializable { /* 2 */ public double f0; /* 3 */ public boolean f1; /* 4 */ public long f2; /* 5 */ public Record3_0() {} /* 6 */ public boolean equals(Object o) { /* 7 */ if (this == o) { /* 8 */ return true; /* 9 */ } /* 10 */ if (!(o instanceof Record3_0)) { /* 11 */ return false; /* 12 */ } /* 13 */ return this.f0 == ((Record3_0) o).f0 && this.f1 == ((Record3_0) o).f1 && this.f2 == ((Record3_0) o).f2; /* 14 */ } /* 15 */ /* 16 */ public int hashCode() { /* 17 */ int h = 0; /* 18 */ h = org.apache.calcite.runtime.Utilities.hash(h, this.f0); /* 19 */ h = org.apache.calcite.runtime.Utilities.hash(h, this.f1); /* 20 */ h = org.apache.calcite.runtime.Utilities.hash(h, this.f2); /* 21 */ return h; /* 22 */ } /* 23 */ /* 24 */ public int compareTo(Record3_0 that) { /* 25 */ int c; /* 26 */ c = org.apache.calcite.runtime.Utilities.compare(this.f0, that.f0); /* 27 */ if (c != 0) { /* 28 */ return c; /* 29 */ } /* 30 */ c = org.apache.calcite.runtime.Utilities.compare(this.f1, that.f1); /* 31 */ if (c != 0) { /* 32 */ return c; /* 33 */ } /* 34 */ c = org.apache.calcite.runtime.Utilities.compare(this.f2, that.f2); /* 35 */ if (c != 0) { /* 36 */ return c; /* 37 */ } /* 38 */ return 0; /* 39 */ } /* 40 */ /* 41 */ public String toString() { /* 42 */ return "{f0=" + this.f0 + ", f1=" + this.f1 + ", f2=" + this.f2 + "}"; /* 43 */ } /* 44 */ /* 45 */ } /* 46 */ /* 47 */ org.apache.calcite.DataContext root; /* 48 */ /* 49 */ public org.apache.calcite.linq4j.Enumerable bind(final org.apache.calcite.DataContext root0) { /* 50 */ root = root0; /* 51 */ final org.apache.calcite.linq4j.Enumerable _inputEnumerable = ((org.apache.kylin.query.schema.OLAPTable) root.getRootSchema().getSubSchema("DEMO_USER_ACT").getTable("USERACTION")).executeOLAPQuery(root, 0); /* 52 */ final org.apache.calcite.linq4j.AbstractEnumerable child = new org.apache.calcite.linq4j.AbstractEnumerable(){ /* 53 */ public org.apache.calcite.linq4j.Enumerator enumerator() { /* 54 */ return new org.apache.calcite.linq4j.Enumerator(){ /* 55 */ public final org.apache.calcite.linq4j.Enumerator inputEnumerator = _inputEnumerable.enumerator(); /* 56 */ public void reset() { /* 57 */ inputEnumerator.reset(); /* 58 */ } /* 59 */ /* 60 */ public boolean moveNext() { /* 61 */ while (inputEnumerator.moveNext()) { /* 62 */ final Long inp0_ = (Long) ((Object[]) inputEnumerator.current())[0]; /* 63 */ if (inp0_ != null && inp0_.longValue() >= 1L) { /* 64 */ return true; /* 65 */ } /* 66 */ } /* 67 */ return false; /* 68 */ } /* 69 */ /* 70 */ public void close() { /* 71 */ inputEnumerator.close(); /* 72 */ } /* 73 */ /* 74 */ public Object current() { /* 75 */ final Object[] current = (Object[]) inputEnumerator.current(); /* 76 */ return new Object[] { /* 77 */ current[1], /* 78 */ current[0], /* 79 */ current[2], /* 80 */ current[4], /* 81 */ current[7], /* 82 */ current[8]}; /* 83 */ } /* 84 */ /* 85 */ }; /* 86 */ } /* 87 */ /* 88 */ }; /* 89 */ final org.apache.calcite.linq4j.Enumerable _inputEnumerable0 = child.groupBy(new org.apache.calcite.linq4j.function.Function1() { /* 90 */ public java.util.List apply(Object[] a0) { /* 91 */ return org.apache.calcite.runtime.FlatLists.of(a0[0] == null ? (String) null : a0[0].toString(), (Long) a0[1], (Long) a0[2]); /* 92 */ } /* 93 */ public Object apply(Object a0) { /* 94 */ return apply( /* 95 */ (Object[]) a0); /* 96 */ } /* 97 */ } /* 98 */ , new org.apache.calcite.linq4j.function.Function0() { /* 99 */ public Object apply() { /* 100 */ double SUMa0s0; /* 101 */ boolean SUMa0s1; /* 102 */ SUMa0s1 = false; /* 103 */ SUMa0s0 = 0; /* 104 */ long $SUM0a1s0; /* 105 */ $SUM0a1s0 = 0; /* 106 */ Record3_0 record0; /* 107 */ record0 = new Record3_0(); /* 108 */ record0.f0 = SUMa0s0; /* 109 */ record0.f1 = SUMa0s1; /* 110 */ record0.f2 = $SUM0a1s0; /* 111 */ return record0; /* 112 */ } /* 113 */ } /* 114 */ , new org.apache.calcite.linq4j.function.Function2() { /* 115 */ public Record3_0 apply(Record3_0 acc, Object[] in) { /* 116 */ final Double inp5_ = (Double) in[5]; /* 117 */ if (inp5_ != null) { /* 118 */ acc.f1 = true; /* 119 */ acc.f0 = acc.f0 + inp5_.doubleValue(); /* 120 */ } /* 121 */ acc.f2 = acc.f2 + org.apache.calcite.runtime.SqlFunctions.toLong(in[4]); /* 122 */ return acc; /* 123 */ } /* 124 */ public Record3_0 apply(Object acc, Object in) { /* 125 */ return apply( /* 126 */ (Record3_0) acc, /* 127 */ (Object[]) in); /* 128 */ } /* 129 */ } /* 130 */ , new org.apache.calcite.linq4j.function.Function2() { /* 131 */ public Object[] apply(org.apache.calcite.runtime.FlatLists.ComparableList key, Record3_0 acc) { /* 132 */ return new Object[] { /* 133 */ key.get(0) == null ? (String) null : key.get(0).toString(), /* 134 */ (Long) key.get(1), /* 135 */ (Long) key.get(2), /* 136 */ acc.f1 ? Double.valueOf(acc.f0) : (Double) null, /* 137 */ acc.f2}; /* 138 */ } /* 139 */ public Object[] apply(Object key, Object acc) { /* 140 */ return apply( /* 141 */ (org.apache.calcite.runtime.FlatLists.ComparableList) key, /* 142 */ (Record3_0) acc); /* 143 */ } /* 144 */ } /* 145 */ ); /* 146 */ final org.apache.calcite.linq4j.AbstractEnumerable child0 = new org.apache.calcite.linq4j.AbstractEnumerable(){ /* 147 */ public org.apache.calcite.linq4j.Enumerator enumerator() { /* 148 */ return new org.apache.calcite.linq4j.Enumerator(){ /* 149 */ public final org.apache.calcite.linq4j.Enumerator inputEnumerator = _inputEnumerable0.enumerator(); /* 150 */ public void reset() { /* 151 */ inputEnumerator.reset(); /* 152 */ } /* 153 */ /* 154 */ public boolean moveNext() { /* 155 */ return inputEnumerator.moveNext(); /* 156 */ } /* 157 */ /* 158 */ public void close() { /* 159 */ inputEnumerator.close(); /* 160 */ } /* 161 */ /* 162 */ public Object current() { /* 163 */ final Object[] current = (Object[]) inputEnumerator.current(); /* 164 */ return new Object[] { /* 165 */ current[0], /* 166 */ current[3]}; /* 167 */ } /* 168 */ /* 169 */ }; /* 170 */ } /* 171 */ /* 172 */ }; /* 173 */ return child0.groupBy(new org.apache.calcite.linq4j.function.Function1() { /* 174 */ public String apply(Object[] a0) { /* 175 */ return a0[0] == null ? (String) null : a0[0].toString(); /* 176 */ } /* 177 */ public Object apply(Object a0) { /* 178 */ return apply( /* 179 */ (Object[]) a0); /* 180 */ } /* 181 */ } /* 182 */ , new org.apache.calcite.linq4j.function.Function0() { /* 183 */ public Object apply() { /* 184 */ double SUMa0s0; /* 185 */ boolean SUMa0s1; /* 186 */ SUMa0s1 = false; /* 187 */ SUMa0s0 = 0; /* 188 */ long COUNTa1s0; /* 189 */ COUNTa1s0 = 0L; /* 190 */ Record3_0 record0; /* 191 */ record0 = new Record3_0(); /* 192 */ record0.f0 = SUMa0s0; /* 193 */ record0.f1 = SUMa0s1; /* 194 */ record0.f2 = COUNTa1s0; /* 195 */ return record0; /* 196 */ } /* 197 */ } /* 198 */ , new org.apache.calcite.linq4j.function.Function2() { /* 199 */ public Record3_0 apply(Record3_0 acc, Object[] in) { /* 200 */ final Double inp1_ = (Double) in[1]; /* 201 */ if (inp1_ != null) { /* 202 */ acc.f1 = true; /* 203 */ acc.f0 = acc.f0 + inp1_.doubleValue(); /* 204 */ } /* 205 */ acc.f2++; /* 206 */ return acc; /* 207 */ } /* 208 */ public Record3_0 apply(Object acc, Object in) { /* 209 */ return apply( /* 210 */ (Record3_0) acc, /* 211 */ (Object[]) in); /* 212 */ } /* 213 */ } /* 214 */ , new org.apache.calcite.linq4j.function.Function2() { /* 215 */ public Object[] apply(String key, Record3_0 acc) { /* 216 */ return new Object[] { /* 217 */ key, /* 218 */ acc.f1 ? Double.valueOf(acc.f0) : (Double) null, /* 219 */ acc.f2}; /* 220 */ } /* 221 */ public Object[] apply(Object key, Object acc) { /* 222 */ return apply( /* 223 */ (String) key, /* 224 */ (Record3_0) acc); /* 225 */ } /* 226 */ } /* 227 */ ).take(10); /* 228 */ } /* 229 */ /* 230 */ /* 231 */ public Class getElementType() { /* 232 */ return java.lang.Object[].class; /* 233 */ } /* 234 */ /* 235 */ KYLIN [ DEBUG ] 12-13 23:42:26.412 org.apache.kylin.query.enumerator.OLAPEnumerator.queryStorage(OLAPEnumerator.java:105) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > query storage... KYLIN [ DEBUG ] 12-13 23:42:26.412 org.apache.kylin.storage.gtrecord.GTCubeStorageQueryBase.isNeedStorageAggregation(GTCubeStorageQueryBase.java:328) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Does not need storage aggregation KYLIN [ INFO ] 12-13 23:42:26.412 org.apache.kylin.storage.gtrecord.GTCubeStorageQueryBase.isExactAggregation(GTCubeStorageQueryBase.java:614) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > exactAggregation is true, cuboid id is {0} KYLIN [ INFO ] 12-13 23:42:26.412 org.apache.kylin.storage.gtrecord.GTCubeStorageQueryBase.getQueryFilterMask(GTCubeStorageQueryBase.java:309) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Filter column set for query: %s KYLIN [ INFO ] 12-13 23:42:26.413 org.apache.kylin.storage.gtrecord.GTCubeStorageQueryBase.getQueryFilterMask(GTCubeStorageQueryBase.java:318) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Filter mask is: {0} KYLIN [ INFO ] 12-13 23:42:26.413 org.apache.kylin.storage.StorageContext.applyLimitPushDown(StorageContext.java:168) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Enabling limit push down: 10 at level: LIMIT_ON_SCAN KYLIN [ DEBUG ] 12-13 23:42:26.413 org.apache.kylin.storage.gtrecord.GTCubeStorageQueryBase.enableStreamAggregateIfBeneficial(GTCubeStorageQueryBase.java:493) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Aggregate partition results is not beneficial because no storage aggregation KYLIN [ INFO ] 12-13 23:42:26.413 org.apache.kylin.storage.gtrecord.GTCubeStorageQueryBase.getStorageQueryRequest(GTCubeStorageQueryBase.java:189) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Cuboid identified: cube=Model1Cube1, cuboidId=14, groupsD=[DEMO_USER_ACT.USERACTION.ITEM_ID, DEMO_USER_ACT.USERACTION.ACT_TYPE, DEMO_USER_ACT.USERACTION.UID], filterD=[DEMO_USER_ACT.USERACTION.UID], limitPushdown=10, limitLevel=LIMIT_ON_SCAN, storageAggr=false KYLIN [ DEBUG ] 12-13 23:42:26.414 org.apache.kylin.cube.common.SegmentPruner.check(SegmentPruner.java:94) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Pruner passed on segment Model1Cube1[FULL_BUILD] KYLIN [ INFO ] 12-13 23:42:26.414 org.apache.kylin.storage.gtrecord.CubeSegmentScanner.(CubeSegmentScanner.java:60) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Init CubeSegmentScanner for segment FULL_BUILD KYLIN [ DEBUG ] 12-13 23:42:26.415 org.apache.kylin.storage.hbase.cube.v2.CubeHBaseRPC.getCoprocessorTimeoutMillis(CubeHBaseRPC.java:315) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > hbase.rpc.timeout = 90000 ms, use 81000 ms as timeout for coprocessor KYLIN [ INFO ] 12-13 23:42:26.416 org.apache.kylin.storage.hbase.cube.v2.CubeHBaseEndpointRPC.getGTScanner(CubeHBaseEndpointRPC.java:164) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Serialized scanRequestBytes 666 bytes, rawScanBytesString 44 bytes KYLIN [ INFO ] 12-13 23:42:26.416 org.apache.kylin.storage.hbase.cube.v2.CubeHBaseEndpointRPC.getGTScanner(CubeHBaseEndpointRPC.java:167) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > The scan 5cc77d2e for segment Model1Cube1[FULL_BUILD] is as below with 1 separate raw scans, shard part of start/end key is set to 0 KYLIN [ INFO ] 12-13 23:42:26.416 org.apache.kylin.storage.hbase.cube.v2.CubeHBaseRPC.logScan(CubeHBaseRPC.java:288) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Visiting hbase table KYLIN_7CEEJMQBA7: cuboid exact match, from 14 to 14 Start: \x00\x00\x00\x00\x00\x00\x00\x00\x00\x0E\x00\x00\x00 (\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0E\x00\x00\x00) Stop: \x00\x00\x00\x00\x00\x00\x00\x00\x00\x0E\xFF\xFF\xFF\x00 (\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0E\xFF\xFF\xFF\x00), No Fuzzy Key KYLIN [ DEBUG ] 12-13 23:42:26.417 org.apache.kylin.storage.hbase.cube.v2.CubeHBaseEndpointRPC.getGTScanner(CubeHBaseEndpointRPC.java:174) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Submitting rpc to 1 shards starting from shard 0, scan range count 1 KYLIN [ DEBUG ] 12-13 23:42:26.417 org.apache.kylin.storage.hbase.cube.v2.CubeHBaseEndpointRPC.getGTScanner(CubeHBaseEndpointRPC.java:220) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Submitting rpc to 1 shards starting from shard 0, scan range count 1 KYLIN [ INFO ] 12-13 23:42:26.417 org.apache.kylin.common.KylinConfig.getSitePropertiesFile(KylinConfig.java:324) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Use KYLIN_CONF=/Users/xiaoxiang.yu/IntelliJ_IDEA_Project/SourceKylin/server/../examples/test_case_data/sandbox KYLIN [ INFO ] 12-13 23:42:26.418 org.apache.kylin.storage.gtrecord.SequentialCubeTupleIterator.(SequentialCubeTupleIterator.java:73) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Using SortedIteratorMergerWithLimit to merge segment results KYLIN [ DEBUG ] 12-13 23:42:26.418 org.apache.kylin.query.enumerator.OLAPEnumerator.queryStorage(OLAPEnumerator.java:117) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > return TupleIterator... KYLIN [ INFO ] 12-13 23:42:26.418 org.apache.kylin.storage.hbase.cube.v2.CubeHBaseEndpointRPC$2.call(CubeHBaseEndpointRPC.java:277) from kylin-coproc--pool14-t12 > Query-acb12454-cf5a-524d-ee63-6084d8144a5b: send request to the init region server sandbox.hortonworks.com on table KYLIN_7CEEJMQBA7 KYLIN [ INFO ] 12-13 23:42:26.446 org.apache.kylin.storage.hbase.cube.v2.CubeHBaseEndpointRPC$3.update(CubeHBaseEndpointRPC.java:344) from kylin-coproc--pool14-t12 > Endpoint RPC returned from HTable KYLIN_7CEEJMQBA7 Shard \x4B\x59\x4C\x49\x4E\x5F\x37\x43\x45\x45\x4A\x4D\x51\x42\x41\x37\x2C\x2C\x31\x35\x34\x34\x37\x31\x31\x33\x34\x30\x37\x33\x35\x2E\x36\x63\x61\x33\x30\x35\x35\x30\x30\x31\x36\x33\x37\x30\x62\x38\x34\x34\x39\x32\x33\x30\x30\x37\x65\x65\x30\x30\x63\x33\x65\x31\x2E on host: sandbox.hortonworks.com.Total scanned row: 10. Total scanned bytes: 530. Total filtered row: 0. Total aggred row: 0. Time elapsed in EP: 3(ms). Server CPU usage: 0.020496224379719524, server physical mem left: 2.180370432E9, server swap mem left:4.942471168E9.Etc message: start latency: 15470@1,agg done@2,compress done@2,server stats done@3, debugGitTag:null.Normal Complete: true.Compressed row size: 125 KYLIN [ DEBUG ] 12-13 23:42:26.446 org.apache.kylin.common.util.CompressionUtils.decompress(CompressionUtils.java:71) from kylin-coproc--pool14-t12 > Original: 125 bytes. Decompressed: 120 bytes. Time: 0 KYLIN [ DEBUG ] 12-13 23:42:26.446 org.apache.kylin.storage.gtrecord.SortMergedPartitionResultIterator.hasNext(SortMergedPartitionResultIterator.java:76) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Using SortMergedPartitionResultIterator to merge 1 partition results out of 1 partitions KYLIN [ INFO ] 12-13 23:42:26.452 org.apache.kylin.rest.service.QueryService.buildSqlResponse(QueryService.java:1113) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Processed rows for each storageContext: 10 KYLIN [ INFO ] 12-13 23:42:26.453 org.apache.kylin.rest.service.QueryService.queryAndUpdateCache(QueryService.java:471) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > Stats of SQL response: isException: false, duration: 127, total scan count 10 KYLIN [ DEBUG ] 12-13 23:42:26.453 org.apache.kylin.common.util.CheckUtil.checkCondition(CheckUtil.java:40) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > query cache is disabled KYLIN [ INFO ] 12-13 23:42:26.453 org.apache.kylin.rest.service.QueryService.logQuery(QueryService.java:352) from Query acb12454-cf5a-524d-ee63-6084d8144a5b-52 > ==========================[QUERY]=============================== Query Id: acb12454-cf5a-524d-ee63-6084d8144a5b SQL: select act_type, sum(act_times), count(cc) ascc2 from ( select act_type, item_id, ua.uid, sum(ACTIVE_MINUTES) as act_times, count(*) as cc from useraction as ua left join userinfo as ui on ua.uid = ui.uid where ua.uid >= 1 group by act_type, ua.uid, item_id ) group by act_type User: ADMIN Success: true Duration: 0.127 Project: Skyrim22 Realization Names: [CUBE[name=Model1Cube1]] Cuboid Ids: [14] Total scan count: 10 Total scan bytes: 530 Result row count: 4 Accept Partial: true Is Partial Result: false Hit Exception Cache: false Storage cache used: false Is Query Push-Down: false Is Prepare: false Trace URL: null Message: null ==========================[QUERY]===============================