You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "Shaofeng SHI (JIRA)" <ji...@apache.org> on 2016/11/22 05:32:58 UTC
[jira] [Commented] (KYLIN-1684) query on table "kylin_sales" return
empty resultset after cube "kylin_sales_cube" which generated by sample.sh
is ready
[ https://issues.apache.org/jira/browse/KYLIN-1684?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15685753#comment-15685753 ]
Shaofeng SHI commented on KYLIN-1684:
-------------------------------------
I changed my mind, the option 1 is more reasonable, user need to fix the environment sisue at first; otherwise Kylin would miss such a key information for making a query plan. KYLIN-2221 will correct this.
> query on table "kylin_sales" return empty resultset after cube "kylin_sales_cube" which generated by sample.sh is ready
> -----------------------------------------------------------------------------------------------------------------------
>
> Key: KYLIN-1684
> URL: https://issues.apache.org/jira/browse/KYLIN-1684
> Project: Kylin
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: v1.5.1
> Environment: cluster:
> hadoop-2.6.0
> hbase-0.98.8
> hive-0.14.0
> Reporter: wangxianbin
> Assignee: wangxianbin
> Fix For: v1.5.3
>
> Attachments: 1.5.1-release-hotfix-KYLIN-1684-query-on-table-kylin_sales-return-empty-r.patch, log for Build Base Cuboid Data.png, log when run query.png
>
>
> there is a check for "InputRecords" in CubeStorageQuery search method which seem like unnecessary, as follow:
> List<CubeSegmentScanner> scanners = Lists.newArrayList();
> for (CubeSegment cubeSeg : cubeInstance.getSegments(SegmentStatusEnum.READY)) {
> CubeSegmentScanner scanner;
> if (cubeSeg.getInputRecords() == 0) {
> logger.info("Skip cube segment {} because its input record is 0", cubeSeg);
> continue;
> }
> scanner = new CubeSegmentScanner(cubeSeg, cuboid, dimensionsD, groupsD, metrics, filterD, !isExactAggregation);
> scanners.add(scanner);
> }
> if (scanners.isEmpty())
> return ITupleIterator.EMPTY_TUPLE_ITERATOR;
> return new SequentialCubeTupleIterator(scanners, cuboid, dimensionsD, metrics, returnTupleInfo, context);
> this check will cause query return empty resultset, even there is data in storage engine.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)