Vsevolod Ostapenko created KYLIN-3249:
-----------------------------------------

             Summary: Default hybrid cube priority should be the same as of a 
regular cube
                 Key: KYLIN-3249
                 URL: https://issues.apache.org/jira/browse/KYLIN-3249
             Project: Kylin
          Issue Type: Bug
          Components: Query Engine
    Affects Versions: v2.2.0
         Environment: HDP 2.5.6, Kylin 2.2
            Reporter: Vsevolod Ostapenko


Hybrid cubes are assigned default priority lower than regular cubes, which 
leads to incorrect selection of a hybrid cube while a regular non-hybridized 
cube with lower cost is available.

For example, model has a wide cube with full set of metrics and narrower cube 
with top-N entries for a subset of metrics.

If wide cube is hybridized (due to a new metric addition), but top-N cube 
remains unchanged and non-hybridized, top-N cube will be no longer queried, 
'causing query performance degradation.

The issue can beĀ tracked to theĀ 
query/src/main/java/org/apache/kylin/query/routing/Candidate.java, where hybrid 
cubes are assigned priority 0, while regular cubes are assigned priority of 1.
This unconditional priority assignment is incorrect as it only holds for cases 
when there is only one cube "type" in the model or when all the cubes are 
hybridized at the same time.

Simplest fix is to have hybrid priority to be the same as of a regular cube.
Plus, as an enhancement to the cube selection algorithm a new rule can be 
implemented that will filter out regular candidate cubes that are included into 
candidate hybrid cubes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to