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)