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