HI There I am trying to get a connection to an Impala instance we have.
I have been able to successfully use Squirel SQL client to connect using the JDBC driver.
With the same connection string in Ignition the driver logs appear to stop when we try to make a connection.
For reference our connection authentication is through Kerberos and over SSL. I know these settings are correct based on my Squirrel SQL client test. The only thing i see different in the jdbc driver logs is that the log in timeout is different. Although i dont know if 0 mean “no timeout”
I am also seeing an exception on the Ignition log files
I apologize for the horrific formatting in advance.
Here is the driver log file
Oct 17 08:40:05.977 TRACE 105 com.cloudera.impala.jdbc.common.CommonCoreUtils.logConnectionFunctionEntrance({AuthMech=Variant[type: TYPE_WSTRING, value: 1], ConnSchema=Variant[type: TYPE_WSTRING, value: default], DatabaseType=Variant[type: TYPE_WSTRING, value: Impala], HiveServerType=Variant[type: TYPE_WSTRING, value: 2], Host=Variant[type: TYPE_WSTRING, value: "impalanode"], KrbHostFQDN=Variant[type: TYPE_WSTRING, value:"impalanode"], KrbRealm=Variant[type: TYPE_WSTRING, value: kerb.realm.com], KrbServiceName=Variant[type: TYPE_WSTRING, value: impala], LogLevel=Variant[type: TYPE_WSTRING, value: 6], LogPath=Variant[type: TYPE_WSTRING, value: C:\\temp_ajit], Port=Variant[type: TYPE_WSTRING, value: 21050], SocketTimeout=Variant[type: TYPE_WSTRING, value: 30], SSL=Variant[type: TYPE_WSTRING, value: 1], SSLTrustStore=Variant[type: TYPE_WSTRING, value: C:\Download\jssecacerts], SSLTrustStorePwd=Variant[type: TYPE_WSTRING, value: changeit]}, "Major Version: 2", "Minor Version: 6", "Hot Fix Version: 15", "Build Number: 1017", "java.vendor:Azul Systems, Inc.", "java.version:11.0.4", "os.arch:amd64", "os.name:Windows 10", "os.version:10.0", "Runtime.totalMemory:1073741824", "Runtime.maxMemory:2147483648", "Runtime.avaialableProcessors:8", URLClassLoader.getURLs(): No URLClassLoader available.): +++++ enter +++++
Oct 17 08:40:05.977 TRACE 105 com.cloudera.impala.dsi.core.impl.DSIConnection.getProperty(170): +++++ enter +++++
Oct 17 08:40:05.978 DEBUG 105 com.cloudera.impala.hivecommon.core.HiveJDBCCommonConnection.establishConnection: socketTimeout = 30, loginTimeout = 0
Oct 17 08:40:05.978 TRACE 105 com.cloudera.impala.hivecommon.api.ServiceDiscoveryFactory.createClient(com.cloudera.impala.hivecommon.HiveJDBCSettings@54cc7b58, com.cloudera.impala.dsi.core.impl.DSILogger@1a7f1032, com.cloudera.impala.jdbc.common.SWarningListener@32b6b862): +++++ enter +++++
Oct 17 08:40:05.978 TRACE 105 com.cloudera.impala.jdbc.utils.rpc.CustomNetworkHooks.getCustomSocketFactory(com.cloudera.impala.jdbc.common.CustomNetworkHooksSettings@39273563): +++++ enter +++++
Oct 17 08:40:05.978 TRACE 105 com.cloudera.impala.jdbc.rpc.CustomDnsResolverLoader.getDnsResolver(com.cloudera.impala.jdbc.common.CustomNetworkHooksSettings@39273563): +++++ enter +++++
Oct 17 08:40:05.978 TRACE 105 com.cloudera.impala.jdbc.rpc.CustomDnsResolverLoader.getResolvedHost(com.cloudera.impala.jdbc.rpc.InternalDnsResolver@3ed5ef8d, "impalanode"): +++++ enter +++++
Oct 17 08:40:05.978 TRACE 105 com.cloudera.impala.hivecommon.api.TETSSLTransportFactory.getClientSocket(com.cloudera.impala.hivecommon.HiveJDBCSettings@54cc7b58, com.cloudera.impala.jdbc.common.SSLTransportParameters@97455b4, null): +++++ enter +++++
Here is the exception thrown in igntion
java.lang.NoClassDefFoundError: Could not initialize class
com.cloudera.impala.jdbc4.internal.apache.thrift.transport.TSocket
at com.cloudera.impala.hivecommon.api.TETSSLTransportFactory.createClient(Unknown Source)
at com.cloudera.impala.hivecommon.api.TETSSLTransportFactory.getClientSocket(Unknown Source)
at com.cloudera.impala.hivecommon.api.HiveServer2ClientFactory.createTransport(Unknown Source)
at com.cloudera.impala.hivecommon.api.ServiceDiscoveryFactory.createClient(Unknown Source)
at com.cloudera.impala.hivecommon.core.HiveJDBCCommonConnection.establishConnection(Unknown Source)
at com.cloudera.impala.impala.core.ImpalaJDBCDSIConnection.establishConnection(Unknown Source)
at com.cloudera.impala.jdbc.core.LoginTimeoutConnection.connect(Unknown Source)
at com.cloudera.impala.jdbc.common.BaseConnectionFactory.doConnect(Unknown Source)
at com.cloudera.impala.jdbc.common.AbstractDriver.connect(Unknown Source)
at org.apache.commons.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:53)
at org.apache.commons.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:291)
at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2395)
at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2381)
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2110)
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1563)
at com.inductiveautomation.ignition.gateway.datasource.DatasourceImpl.getConnectionInternal(DatasourceImpl.java:257)
at com.inductiveautomation.ignition.gateway.datasource.DatasourceImpl.runTest(DatasourceImpl.java:211)
at com.inductiveautomation.ignition.gateway.datasource.DatasourceManagerImpl$FaultedDatasourceRetryer.lambda$newRetryRunnable$0(DatasourceManagerImpl.java:1017)
at com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$TrackedTask.run(BasicExecutionEngine.java:565)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)