[
https://issues.apache.org/jira/browse/KYLIN-5525?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17716127#comment-17716127
]
Yaguang Jia commented on KYLIN-5525:
------------------------------------
The metadata related objects in Kylin are prohibited to modify the variables if
they are not in the transaction after they are fetched from the manager,
because the object cache is globally shared and can cause various metadata
problems.
Here it happens that multiple threads execute the init method of the model, and
an error occurs because the model has been initiated before the object is taken
out, so this is a redundant operation and needs to be removed
But at the same time, we found that
ColExcludedChecker#collectExcludedComputedColumns has more than one call down,
such as from the model list, and when the model list is called down, because
model is of type NDataModelResponse, this class is not from If you do not init
the class, then you can init it.
Kylin中元数据相关的对象,在从 manager 取出来后,如果不在事务内,是禁止修改变量的,因为对象缓存是全局共用的,会引发各种元数据问题。
这里正好多个线程执行 model 的init 方法,就会出现错误,因为 model 在对象取出来之前,已经进行 init 动作了,所以这个是多余操作,需要删除
但同时发现,ColExcludedChecker#collectExcludedComputedColumns
有多个调用下去的地方,比如从模型列表调用下去,模型列表调用下去时,由于 model 是 NDataModelResponse 类型,这个类不是从
dataflow manager 中取出来的,会存在没有 init 的情况,所以直接删除 init 方法不行,需要加个变量查看是否 init 过,没有
init 过时,进行 init 操作
> When the excluded column is enabled and the query hits multiple identical
> models at the same time, the query may push down
> --------------------------------------------------------------------------------------------------------------------------
>
> Key: KYLIN-5525
> URL: https://issues.apache.org/jira/browse/KYLIN-5525
> Project: Kylin
> Issue Type: Bug
> Reporter: Yaguang Jia
> Priority: Critical
>
> When there is only a table index, union all and its two subqueries can
> respond quickly. When the aggregate index is added, the subquery can hit the
> model, but the union all statement is pushdown
>
> 当只有明细索引时,union all及其两个子查询都能很快响应,当增加了聚合索引后,子查询可以击中模型,但是union all语句走了下压
--
This message was sent by Atlassian Jira
(v8.20.10#820010)