[ 
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)

Reply via email to