[
https://issues.apache.org/jira/browse/KYLIN-5331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
sibing.zhang updated KYLIN-5331:
--------------------------------
Description:
The conditions in the query are mutually exclusive: CUSTOMER.C_NATION in
('INDONESIA') and CUSTOMER.C_NATION in ('KENYA'), the result of the aggregation
query is empty, and return "Add Segment is advised when the query is out of
service range in query condition mutex".But the actual segment data exists.
*root cause:*
When the query is in the select realization and prune segment steps, all
segments are returned directly in the case of a full build. However, in the
case of incrementally build, if the filter conditions are mutually exclusive,
an empty list will be returned, which will cause the subsequent logic to find
that the segment is not hit, and set the returned result to be empty. The two
behave inconsistently.
*fix design:*
Modify the logic of prune segments. When prune segment, if the filter condition
is false (mutually exclusive), all segments are returned directly. When prune
segments, if the filter condition is false, the relevant information will be
returned to the front end, and the front end will judge whether the query
exceeds the range of the segment based on this information, so as to display
the returned information.
was:The conditions in the query are mutually exclusive: CUSTOMER.C_NATION in
('INDONESIA') and CUSTOMER.C_NATION in ('KENYA'), the result of the aggregation
query is empty, and return "Add Segment is advised when the query is out of
service range in query condition mutex".But the actual segment data exists.
> When the where conditions in sql are mutually exclusive, the aggregate query
> incrementally built data results in empty
> ----------------------------------------------------------------------------------------------------------------------
>
> Key: KYLIN-5331
> URL: https://issues.apache.org/jira/browse/KYLIN-5331
> Project: Kylin
> Issue Type: Bug
> Affects Versions: 5.0-alpha
> Reporter: sibing.zhang
> Priority: Major
> Fix For: 5.0-alpha
>
>
> The conditions in the query are mutually exclusive: CUSTOMER.C_NATION in
> ('INDONESIA') and CUSTOMER.C_NATION in ('KENYA'), the result of the
> aggregation query is empty, and return "Add Segment is advised when the query
> is out of service range in query condition mutex".But the actual segment data
> exists.
> *root cause:*
> When the query is in the select realization and prune segment steps, all
> segments are returned directly in the case of a full build. However, in the
> case of incrementally build, if the filter conditions are mutually exclusive,
> an empty list will be returned, which will cause the subsequent logic to find
> that the segment is not hit, and set the returned result to be empty. The two
> behave inconsistently.
> *fix design:*
> Modify the logic of prune segments. When prune segment, if the filter
> condition is false (mutually exclusive), all segments are returned directly.
> When prune segments, if the filter condition is false, the relevant
> information will be returned to the front end, and the front end will judge
> whether the query exceeds the range of the segment based on this information,
> so as to display the returned information.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)