@Shane Regarding why we/one might not want differently built application. There are possibly many reasons for this. First they are not significantly different applications, they are exactly the same application just that one DS points to a different provider, seems like way overkill to have to have separate binaries to switch a DS provider. Some of the other objections might be...do we now have to have multiple DEV and TEST stacks to test the multiple binaries? What about compliance/IA issues on approving the binaries, is that now duplicated? Tons of possible issues I can foresee.
@Stuart Here is the stack trace I get when I configure one of our DS to have a bad URL to simulate that DS not being available. After these warnings the app continued to run and connect to 2 other DSs. I can investigate the feature request but wanted to get this data out to folks to review.
2021-04-07 15:56:39,056 WARN (main) [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService()] HHH000342: Could not obtain connection to query metadata: java.sql.SQLException: [Amazon][HiveJDBCDriver](500164) Error initialized or created transport for authentication: java.net.UnknownHostException: junk-host.
at com.amazon.hiveserver2.hivecommon.api.HiveServer2ClientFactory.createTransport(Unknown Source)
at com.amazon.hiveserver2.hivecommon.api.ServiceDiscoveryFactory.createClient(Unknown Source)
at com.amazon.hiveserver2.hivecommon.core.HiveJDBCCommonConnection.establishConnection(Unknown Source)
at com.amazon.hiveserver2.jdbc.core.LoginTimeoutConnection.connect(Unknown Source)
at com.amazon.hiveserver2.jdbc.common.BaseConnectionFactory.doConnect(Unknown Source)
at com.amazon.hiveserver2.jdbc.common.AbstractDriver.connect(Unknown Source)
at io.agroal.pool.ConnectionFactory.createConnection(ConnectionFactory.java:200)
at io.agroal.pool.ConnectionPool$CreateConnectionTask.call(ConnectionPool.java:452)
at io.agroal.pool.ConnectionPool$CreateConnectionTask.call(ConnectionPool.java:434)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at io.agroal.pool.util.PriorityScheduledExecutor.beforeExecute(PriorityScheduledExecutor.java:65)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1126)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
Caused by: com.amazon.hiveserver2.support.exceptions.GeneralException: [Amazon][HiveJDBCDriver](500164) Error initialized or created transport for authentication: java.net.UnknownHostException: junk-host.
... 13 more
Caused by: com.amazon.hive.jdbc41.internal.apache.thrift.transport.TTransportException: java.net.UnknownHostException: junk-host
at com.amazon.hive.jdbc41.internal.apache.thrift.transport.TSocket.open(TSocket.java:185)
at com.amazon.hive.jdbc41.internal.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:248)
at com.amazon.hive.jdbc41.internal.apache.thrift.transport.TSaslClientTransport.open(TSaslClientTransport.java:37)
at com.amazon.hiveserver2.hivecommon.api.HiveServer2ClientFactory.createTransport(Unknown Source)
at com.amazon.hiveserver2.hivecommon.api.ServiceDiscoveryFactory.createClient(Unknown Source)
at com.amazon.hiveserver2.hivecommon.core.HiveJDBCCommonConnection.establishConnection(Unknown Source)
at com.amazon.hiveserver2.jdbc.core.LoginTimeoutConnection.connect(Unknown Source)
at com.amazon.hiveserver2.jdbc.common.BaseConnectionFactory.doConnect(Unknown Source)
at com.amazon.hiveserver2.jdbc.common.AbstractDriver.connect(Unknown Source)
at io.agroal.pool.ConnectionFactory.createConnection(ConnectionFactory.java:200)
at io.agroal.pool.ConnectionPool$CreateConnectionTask.call(ConnectionPool.java:452)
at io.agroal.pool.ConnectionPool$CreateConnectionTask.call(ConnectionPool.java:434)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at io.agroal.pool.util.PriorityScheduledExecutor.beforeExecute(PriorityScheduledExecutor.java:65)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1126)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.net.UnknownHostException: junk-host
at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:220)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
at java.base/java.net.Socket.connect(Socket.java:609)
at com.amazon.hive.jdbc41.internal.apache.thrift.transport.TSocket.open(TSocket.java:180)
... 16 more
2021-04-07 15:56:43,599 WARN (main) [org.hibernate.engine.jdbc.spi.TypeInfo.extractTypeInfo()] HHH000362: Unable to retrieve type info result set : java.sql.SQLException: Could not find the "XcoreXamazonathenaX200X7522.fza@3b5365b8".
2021-04-07 15:56:43,601 WARN (main) [org.hibernate.engine.jdbc.spi.TypeInfo.extractTypeInfo()] HHH000362: Unable to retrieve type info result set : java.sql.SQLException: Could not find the "XcoreXamazonathenaX200X7522.fza@2b31269d".
2021-04-07 15:56:45,214 WARN (main) [org.hibernate.engine.jdbc.spi.TypeInfo.extractTypeInfo()] HHH000362: Unable to retrieve type info result set : java.sql.SQLException: Could not find the "XcoreXamazonathenaX200X7522.fza@2eda15dd".
2021-04-07 15:56:45,215 WARN (main) [org.hibernate.engine.jdbc.spi.TypeInfo.extractTypeInfo()] HHH000362: Unable to retrieve type info result set : java.sql.SQLException: Could not find the "XcoreXamazonathenaX200X7522.fza@76d3e6e1".
2021-04-07 15:56:45,921 WARN (agroal-21) [io.agroal.pool.onWarning()] Datasource 'emrDS': [Amazon][HiveJDBCDriver](500164) Error initialized or created transport for authentication: java.net.UnknownHostException: junk-host.
2021-04-07 15:56:45,922 WARN (main) [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService()] HHH000342: Could not obtain connection to query metadata: java.sql.SQLException: [Amazon][HiveJDBCDriver](500164) Error initialized or created transport for authentication: java.net.UnknownHostException: junk-host.
at com.amazon.hiveserver2.hivecommon.api.HiveServer2ClientFactory.createTransport(Unknown Source)
at com.amazon.hiveserver2.hivecommon.api.ServiceDiscoveryFactory.createClient(Unknown Source)
at com.amazon.hiveserver2.hivecommon.core.HiveJDBCCommonConnection.establishConnection(Unknown Source)
at com.amazon.hiveserver2.jdbc.core.LoginTimeoutConnection.connect(Unknown Source)
at com.amazon.hiveserver2.jdbc.common.BaseConnectionFactory.doConnect(Unknown Source)
at com.amazon.hiveserver2.jdbc.common.AbstractDriver.connect(Unknown Source)
at io.agroal.pool.ConnectionFactory.createConnection(ConnectionFactory.java:200)
at io.agroal.pool.ConnectionPool$CreateConnectionTask.call(ConnectionPool.java:452)
at io.agroal.pool.ConnectionPool$CreateConnectionTask.call(ConnectionPool.java:434)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at io.agroal.pool.util.PriorityScheduledExecutor.beforeExecute(PriorityScheduledExecutor.java:65)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1126)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
Caused by: com.amazon.hiveserver2.support.exceptions.GeneralException: [Amazon][HiveJDBCDriver](500164) Error initialized or created transport for authentication: java.net.UnknownHostException: junk-host.
... 13 more
Caused by: com.amazon.hive.jdbc41.internal.apache.thrift.transport.TTransportException: java.net.UnknownHostException: junk-host
at com.amazon.hive.jdbc41.internal.apache.thrift.transport.TSocket.open(TSocket.java:185)
at com.amazon.hive.jdbc41.internal.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:248)
at com.amazon.hive.jdbc41.internal.apache.thrift.transport.TSaslClientTransport.open(TSaslClientTransport.java:37)
at com.amazon.hiveserver2.hivecommon.api.HiveServer2ClientFactory.createTransport(Unknown Source)
at com.amazon.hiveserver2.hivecommon.api.ServiceDiscoveryFactory.createClient(Unknown Source)
at com.amazon.hiveserver2.hivecommon.core.HiveJDBCCommonConnection.establishConnection(Unknown Source)
at com.amazon.hiveserver2.jdbc.core.LoginTimeoutConnection.connect(Unknown Source)
at com.amazon.hiveserver2.jdbc.common.BaseConnectionFactory.doConnect(Unknown Source)
at com.amazon.hiveserver2.jdbc.common.AbstractDriver.connect(Unknown Source)
at io.agroal.pool.ConnectionFactory.createConnection(ConnectionFactory.java:200)
at io.agroal.pool.ConnectionPool$CreateConnectionTask.call(ConnectionPool.java:452)
at io.agroal.pool.ConnectionPool$CreateConnectionTask.call(ConnectionPool.java:434)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at io.agroal.pool.util.PriorityScheduledExecutor.beforeExecute(PriorityScheduledExecutor.java:65)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1126)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.net.UnknownHostException: junk-host
at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:220)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
at java.base/java.net.Socket.connect(Socket.java:609)
at com.amazon.hive.jdbc41.internal.apache.thrift.transport.TSocket.open(TSocket.java:180)
... 16 more