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)