Sun BiaoBiao created KYLIN-5367: ----------------------------------- Summary: fix updata layoutHits error in fusion model Key: KYLIN-5367 URL: https://issues.apache.org/jira/browse/KYLIN-5367 Project: Kylin Issue Type: Bug Affects Versions: 5.0-alpha Reporter: Sun BiaoBiao Assignee: Sun BiaoBiao Fix For: 5.0-alpha
【Root Cause】 对于融合模型,里面会同时存在批模型和融合模型。 # 如果match流模型的layout,”流数据”会显示在页面。在realization表中,会同时加入流模型和批模型的记录。而批模型的layout_id为0。这条layout_id是无效的。 !163e04f9-05b6-4413-b34a-7f6fd9bee432#media-blob-url=true&id=8c7abb3d-3c5a-41b9-8bbd-524dc7ec6a69&collection=&contextId=92770&mimeType=image/png&name=image-20221024-025659.png&size=21025&height=84&width=958&alt=! # 如果match批模型的layout,”流数据”不会显示在页面。在realization表中,model属性中会存入融合模型的modelId,查询历史在更新索引使用次数时,直接使用了融合模型的modelId对应的dataflow来更新错误。{*}索引ID查看索引详情 和 索引引用次数中需要将融合模型中Id 转换为批modelId来更新。{*} !89cf8ab3-967a-4736-b099-dda60e4c7c3d#media-blob-url=true&id=37a91471-6758-4748-b0c3-8356fd0d9f36&collection=&contextId=92770&mimeType=image/png&name=image-20221021-094820.png&size=17293&height=108&width=912&alt=! # 如果批模型和流模型同时MATCH的话,则都会显示。在realization表中,如果融合模型查询中,有流模型被matched到,则两个模型记录都会被加入到表中。批模型中有基础索引,而流模型中没有基础索引,索引编号的起点会不一样。流模型索引ID 50001和批模型索引ID1有着相同的维度和度量。 !b99a9444-44a2-40c7-9643-e76dbf0d6bc9#media-blob-url=true&id=e12c13a2-1c84-4e4c-8e8d-b9d40affd8db&collection=&contextId=92770&mimeType=image/png&name=image-20221019-115209.png&size=90033&height=575&width=823&alt=! 4. 查询击中缓存时,会将融合模型中,批模型的名字显示出来是因为在{{{}QueryCacheManager{}}}.{{{}searchSuccessCache{}}}方法中未对模型做转换 !7173989b-74df-4ced-8fed-1f9362852d8d#media-blob-url=true&id=8f6c484e-9cab-4de0-987b-9fe91b13d966&collection=&contextId=92770&mimeType=image/png&name=image-20221031-062916.png&size=76647&height=370&width=742&alt=! 【Fix Design】 1. 针对上述No2,match批模型的layout的场景, 在查询历史和查询过程中,将融合模型的ID转换为批modelId,用时融合模型的ID转换为批modelId来更新索引使用次数。 !214a9af5-1690-47cb-8e6b-e66789f714c1#media-blob-url=true&id=62a78753-e5e9-40ff-982e-fd5e2ab2c6ad&collection=&contextId=92770&mimeType=image/png&name=image-20221101-020240.png&size=57195&height=306&width=827&alt=! 2. 针对上述No4, 查询击中缓存时,会将融合模型中,批模型的名字显示出来是因为在{{{}QueryCacheManager{}}}.{{{}searchSuccessCache{}}}方法中未对模型做转换 !b6c98360-063e-4039-9b68-1545e43761a4#media-blob-url=true&id=ebbea909-e004-4d9d-8e39-736250ff23ba&collection=&contextId=92770&mimeType=image/png&name=image-20221101-020205.png&size=59255&height=270&width=869&alt=! -- This message was sent by Atlassian Jira (v8.20.10#820010)