You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "Guoliang Sun (Jira)" <ji...@apache.org> on 2025/02/13 09:05:00 UTC

[jira] [Comment Edited] (KYLIN-5990) HA Deployment Issue: Query Node Fails to Start

    [ https://issues.apache.org/jira/browse/KYLIN-5990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17926717#comment-17926717 ] 

Guoliang Sun edited comment on KYLIN-5990 at 2/13/25 9:04 AM:
--------------------------------------------------------------

*Root Cause:*
When the query node starts, it assigns the value of metadata.url to queryHistory.url, then sets metadata.url to HDFS. However, in the recommended code, the value of metadata.url is mistakenly assigned to JdbcQueryHistory.url, and then metadata.url is set to HDFS. Afterward, the modified metadata.url is reassigned to queryHistory.url. This causes queryHistoryStore to use the HDFS address, leading to errors.

*Fix Design:*
Since JdbcQueryHistory.url is not actually used, simply remove it and restore the original logic.


was (Author: JIRAUSER298470):
*Root Cause:*
When the query node starts, it assigns the value of `metadata.url` to `queryHistory.url`, then sets `metadata.url` to HDFS. However, in the recommended code, the value of `metadata.url` is mistakenly assigned to `JdbcQueryHistory.url`, and then `metadata.url` is set to HDFS. Afterward, the modified `metadata.url` is reassigned to `queryHistory.url`. This causes `queryHistoryStore` to use the HDFS address, leading to errors.

*Fix Design:*
Since `JdbcQueryHistory.url` is not actually used, simply remove it and restore the original logic.

> HA Deployment Issue: Query Node Fails to Start
> ----------------------------------------------
>
>                 Key: KYLIN-5990
>                 URL: https://issues.apache.org/jira/browse/KYLIN-5990
>             Project: Kylin
>          Issue Type: Bug
>    Affects Versions: 5.0.0
>            Reporter: Guoliang Sun
>            Priority: Major
>             Fix For: 5.0.0
>
>
> Exception see following
> {code:java}
> Caused by: java.sql.SQLException: Cannot create PoolableConnectionFactory (The connection attempt failed.)
>     at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:653) ~[commons-dbcp2-2.9.0.jar:2.9.0]
>     at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:531) ~[commons-dbcp2-2.9.0.jar:2.9.0]
>     at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:731) ~[commons-dbcp2-2.9.0.jar:2.9.0]
>     at org.apache.kylin.metadata.query.util.QueryHisStoreUtil.createQueryHistoryIfNotExist(QueryHisStoreUtil.java:109) ~[kylin-core-metadata-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.metadata.query.util.QueryHisStoreUtil.lambda$getSqlSessionFactory$0(QueryHisStoreUtil.java:101) ~[kylin-core-metadata-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.common.Singletons.getInstance0(Singletons.java:127) ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.common.Singletons.getInstance0(Singletons.java:105) ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.common.Singletons.getInstance(Singletons.java:42) ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.metadata.query.util.QueryHisStoreUtil.getSqlSessionFactory(QueryHisStoreUtil.java:92) ~[kylin-core-metadata-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.metadata.query.JdbcQueryHistoryStore.<init>(JdbcQueryHistoryStore.java:113) ~[kylin-core-metadata-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.metadata.query.RDBMSQueryHistoryDAO.<init>(RDBMSQueryHistoryDAO.java:70) ~[kylin-core-metadata-5.0.0-SNAPSHOT.jar:?]
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_392]
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_392]
>     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_392]
>     at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_392]
>     at org.apache.kylin.common.Singletons.lambda$defaultCreator$1(Singletons.java:65) ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.common.Singletons.getInstance0(Singletons.java:93) ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.common.Singletons.getInstance0(Singletons.java:75) ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.common.Singletons.getInstance(Singletons.java:38) ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.metadata.query.RDBMSQueryHistoryDAO.getInstance(RDBMSQueryHistoryDAO.java:56) ~[kylin-core-metadata-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.rest.service.task.QueryHistoryMetaUpdateScheduler.<init>(QueryHistoryMetaUpdateScheduler.java:82) ~[kylin-common-service-5.0.0-SNAPSHOT.jar:?]
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_392]
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_392]
>     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_392]
>     at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_392]
>     at org.apache.kylin.common.Singletons.lambda$defaultCreator$1(Singletons.java:65) ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.common.Singletons.getInstance0(Singletons.java:93) ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
>     ... 35 more
> Caused by: org.postgresql.util.PSQLException: The connection attempt failed.
>     at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:331) ~[postgresql-42.4.4.jar:42.4.4]
>     at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) ~[postgresql-42.4.4.jar:42.4.4]
>     at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:247) ~[postgresql-42.4.4.jar:42.4.4]
>     at org.postgresql.Driver.makeConnection(Driver.java:434) ~[postgresql-42.4.4.jar:42.4.4]
>     at org.postgresql.Driver.connect(Driver.java:291) ~[postgresql-42.4.4.jar:42.4.4]
>     at org.apache.commons.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:52) ~[commons-dbcp2-2.9.0.jar:2.9.0]
>     at org.apache.commons.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:374) ~[commons-dbcp2-2.9.0.jar:2.9.0]
>     at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:106) ~[commons-dbcp2-2.9.0.jar:2.9.0]
>     at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:649) ~[commons-dbcp2-2.9.0.jar:2.9.0]
>     at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:531) ~[commons-dbcp2-2.9.0.jar:2.9.0]
>     at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:731) ~[commons-dbcp2-2.9.0.jar:2.9.0]
>     at org.apache.kylin.metadata.query.util.QueryHisStoreUtil.createQueryHistoryIfNotExist(QueryHisStoreUtil.java:109) ~[kylin-core-metadata-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.metadata.query.util.QueryHisStoreUtil.lambda$getSqlSessionFactory$0(QueryHisStoreUtil.java:101) ~[kylin-core-metadata-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.common.Singletons.getInstance0(Singletons.java:127) ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.common.Singletons.getInstance0(Singletons.java:105) ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.common.Singletons.getInstance(Singletons.java:42) ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.metadata.query.util.QueryHisStoreUtil.getSqlSessionFactory(QueryHisStoreUtil.java:92) ~[kylin-core-metadata-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.metadata.query.JdbcQueryHistoryStore.<init>(JdbcQueryHistoryStore.java:113) ~[kylin-core-metadata-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.metadata.query.RDBMSQueryHistoryDAO.<init>(RDBMSQueryHistoryDAO.java:70) ~[kylin-core-metadata-5.0.0-SNAPSHOT.jar:?]
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_392]
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_392]
>     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_392]
>     at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_392]
>     at org.apache.kylin.common.Singletons.lambda$defaultCreator$1(Singletons.java:65) ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.common.Singletons.getInstance0(Singletons.java:93) ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.common.Singletons.getInstance0(Singletons.java:75) ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.common.Singletons.getInstance(Singletons.java:38) ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.metadata.query.RDBMSQueryHistoryDAO.getInstance(RDBMSQueryHistoryDAO.java:56) ~[kylin-core-metadata-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.rest.service.task.QueryHistoryMetaUpdateScheduler.<init>(QueryHistoryMetaUpdateScheduler.java:82) ~[kylin-common-service-5.0.0-SNAPSHOT.jar:?]
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_392]
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_392]
>     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_392]
>     at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_392]
>     at org.apache.kylin.common.Singletons.lambda$defaultCreator$1(Singletons.java:65) ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
>     at org.apache.kylin.common.Singletons.getInstance0(Singletons.java:93) ~[kylin-core-common-5.0.0-SNAPSHOT.jar:?]
>     ... 35 more
> Caused by: java.net.UnknownHostException: sandbox
>     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) ~[?:1.8.0_392]
>     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[?:1.8.0_392]
>     at java.net.Socket.connect(Socket.java:607) ~[?:1.8.0_392]
>     at org.postgresql.core.PGStream.createSocket(PGStream.java:241) ~[postgresql-42.4.4.jar:42.4.4]
>     at org.postgresql.core.PGStream.<init>(PGStream.java:98) ~[postgresql-42.4.4.jar:42.4.4]
>     at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:109) ~[postgresql-42.4.4.jar:42.4.4]
>     at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:235) ~[postgresql-42.4.4.jar:42.4.4]
>     at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) ~[postgresql-42.4.4.jar:42.4.4]
>     at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:247) ~[postgresql-42.4.4.jar:42.4.4]
>     at org.postgresql.Driver.makeConnection(Driver.java:434) ~[postgresql-42.4.4.jar:42.4.4]
>     at org.postgresql.Driver.connect(Driver.java:291) ~[postgresql-42.4.4.jar:42.4.4] {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)