SQL Server data collectors in RSA Identity Governance & Lifecycle periodically fail with connection timed out errors
2 years ago
Originally Published: 2019-07-25
Article Number
000041117
Applies To
RSA Product Set: Identity Governance & Lifecycle
RSA Version/Condition: 7.1.0, 7.1.1
 
Issue
SQL Server data collectors intermittently fail with connection timed-out errors.

The aveksaServer.log has the following errors. In this example, the SQL Server collector is an Account Data Collector (ADC) that uses the jTDS driver.
 
05/30/2019 12:54:22.231 INFO  (Thread-123) [com.aveksa.client.component.communication.ChangeListHandler] Got new change item method=Run ChangeItem[ID=1559217262230, type=TestCollectionRequest, source=535, source-name=AC_Intellimatch] 
05/30/2019 12:54:29.050 ERROR (ApplyChangesRegularThread-176) [SystemErr] java.sql.SQLException: Network error IOException: Connection timed out (Connection timed out)
05/30/2019 12:54:29.051 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at net.sourceforge.jtds.jdbc.JtdsConnection.(JtdsConnection.java:436)
05/30/2019 12:54:29.051 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
05/30/2019 12:54:29.051 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at java.sql.DriverManager.getConnection(DriverManager.java:664)
05/30/2019 12:54:29.051 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at java.sql.DriverManager.getConnection(DriverManager.java:247)
05/30/2019 12:54:29.051 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at com.aveksa.collector.accountdata.DBGenericAccountReader.getConnection(DBGenericAccountReader.java:874)
05/30/2019 12:54:29.051 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at com.aveksa.collector.accountdata.DBGenericAccountReader.extractAccounts(DBGenericAccountReader.java:283)
05/30/2019 12:54:29.051 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at com.aveksa.collector.accountdata.DBGenericAccountReader.collectAccounts(DBGenericAccountReader.java:204)
05/30/2019 12:54:29.051 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at com.aveksa.collector.accountdata.DBGenericAccountReader.collectTestData(DBGenericAccountReader.java:144)
05/30/2019 12:54:29.052 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at com.aveksa.client.datacollector.collectors.accountdatacollectors.AccountDataCollector.collectData(AccountDataCollector.java:358)
05/30/2019 12:54:29.052 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at com.aveksa.client.datacollector.collectors.accountdatacollectors.AccountDataCollector.collect(AccountDataCollector.java:302)
05/30/2019 12:54:29.052 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at com.aveksa.client.datacollector.collectors.accountdatacollectors.AccountDataCollector.collectTestData(AccountDataCollector.java:277)
05/30/2019 12:54:29.052 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at com.aveksa.client.datacollector.framework.DataCollectorManager.collect(DataCollectorManager.java:533)
05/30/2019 12:54:29.052 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at com.aveksa.client.component.collector.DefaultCollectorManager.actUpon(DefaultCollectorManager.java:204)
05/30/2019 12:54:29.052 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at com.aveksa.client.component.collector.DefaultCollectorManager.handle(DefaultCollectorManager.java:102)
05/30/2019 12:54:29.052 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at com.aveksa.client.component.event.DefaultEventManager.handle(DefaultEventManager.java:60)
05/30/2019 12:54:29.053 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at com.aveksa.client.datacollector.framework.SimpleEventSource.notifyListeners(SimpleEventSource.java:67)
05/30/2019 12:54:29.053 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at com.aveksa.client.component.communication.DefaultCommunicationManager.notifyEvent(DefaultCommunicationManager.java:377)
05/30/2019 12:54:29.053 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at com.aveksa.client.component.communication.ChangeListHandler.applyChanges(ChangeListHandler.java:364)
05/30/2019 12:54:29.053 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at com.aveksa.client.component.communication.ChangeListHandler.access$300(ChangeListHandler.java:58)
05/30/2019 12:54:29.053 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at com.aveksa.client.component.communication.ChangeListHandler$ChangeApplyingRunnable.run(ChangeListHandler.java:275)
05/30/2019 12:54:29.053 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at java.lang.Thread.run(Thread.java:748)
05/30/2019 12:54:29.054 ERROR (ApplyChangesRegularThread-176) [SystemErr] Caused by: java.net.ConnectException: Connection timed out (Connection timed out)
05/30/2019 12:54:29.054 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at java.net.PlainSocketImpl.socketConnect(Native Method)
05/30/2019 12:54:29.054 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
05/30/2019 12:54:29.054 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
05/30/2019 12:54:29.054 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
05/30/2019 12:54:29.054 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
05/30/2019 12:54:29.054 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at java.net.Socket.connect(Socket.java:589)
05/30/2019 12:54:29.054 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at net.sourceforge.jtds.jdbc.SharedSocket.createSocketForJDBC3(SharedSocket.java:288)
05/30/2019 12:54:29.054 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at net.sourceforge.jtds.jdbc.SharedSocket.(SharedSocket.java:251)
05/30/2019 12:54:29.054 ERROR (ApplyChangesRegularThread-176) [SystemErr]     at net.sourceforge.jtds.jdbc.JtdsConnection.(JtdsConnection.java:331)
05/30/2019 12:54:29.055 ERROR (ApplyChangesRegularThread-176) [SystemErr]     ... 20 more
05/30/2019 12:54:29.055 ERROR (ApplyChangesRegularThread-176) [com.aveksa.collector.accountdata.DBGenericAccountReader] Error while extracting the account data: com.aveksa.common.DataReadException: ERROR: Could not get accounts data:  FAILED method=collectAccounts 

Please refer to 000030327 - Artifacts to gather in RSA Identity Governance & Lifecycle to find the location of the log files for your specific deployment.
Cause
The hostname in the database connection string that points to the location of the SQL Server database is mapped to more than one IP address.
Resolution
Modify the hostname in the database connection string to a single IP address. In the RSA Identity Governance & Lifecycle user interface go to Collectors > [collector type] > [name of the collector] > Edit > Next.

User-added image
Notes
This is a legacy Knowledge Base Article and only applies to the listed versions which are no longer actively supported.
RSA does not recommend the continued use of the public domain JTDS driver on current versions of the product.  RSA recommends customers use the JDBC driver specific for their database.