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