You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "Hongrong Cao (Jira)" <ji...@apache.org> on 2023/11/16 03:28:00 UTC
[jira] [Commented] (KYLIN-5711) When the cluster contains query nodes, configuring the parameter kylin.query.share-state-switch-implement=jdbc will result in big query error
[ https://issues.apache.org/jira/browse/KYLIN-5711?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17786591#comment-17786591 ]
Hongrong Cao commented on KYLIN-5711:
-------------------------------------
h2. Root Cause
"The query node restores metadata from Hdfs when it starts up, which changes kylin.metadata.url to @hdfs", causing the JdbcShareStateStore to fail to retrieve the real metadata url based on KylinConfig. getInstanceFromEnv().getMetadataUrl(), which results in a failure to get the real metadata url. getInstanceFromEnv().getMetadataUrl() to get the real metadata url, which leads to the subsequent error report (reported sandbox what can not be connected)
!image-2023-11-16-11-26-21-749.png|width=756,height=527!
!image-2023-11-16-11-27-24-225.png|width=821,height=520!
h2. Fix Design
Backup the value of "kylin.metadata.url" before the "kylinConfig.setProperty("kylin.metadata.url", kylinConfig.getMetadataUrlPrefix() + "@hdfs");" logic. "kylin.metadata.url" to the "kylin.jdbc.share.state.url" property of KylinConfigBase.
The code reference is as follows.
!image-2023-11-16-11-21-11-650.png|width=693,height=347!
To get the metadata url in JdbcShareStateStore use the above backup value getJdbcShareStateUrl().
The code reference is as follows.
!image-2023-11-16-11-25-33-742.png!
> When the cluster contains query nodes, configuring the parameter kylin.query.share-state-switch-implement=jdbc will result in big query error
> ---------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: KYLIN-5711
> URL: https://issues.apache.org/jira/browse/KYLIN-5711
> Project: Kylin
> Issue Type: Bug
> Reporter: Hongrong Cao
> Priority: Major
> Attachments: image-2023-11-16-11-21-11-650.png, image-2023-11-16-11-25-33-742.png, image-2023-11-16-11-26-21-749.png, image-2023-11-16-11-27-24-225.png
>
>
> After deploying multiple nodes on different machines and configuring the flow limiting parameter kylin.query.share-state-switch-implement=jdbc, the large query flow limiting reports null pointer exception.
> This has been reproduced locally:
> Deploy job node on machine A
> Deploy query node on machine B
> Querying a large query with flow limiting turned on results in a null pointer exception.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)