CSV Account Data Collector (ADC) hangs after encountering a 'com.hxtt.sql.d1.a' error due to a missing column reference in RSA Identity Governance & Lifecycle
Originally Published: 2018-08-29
Article Number
Applies To
RSA Version/Condition: 7.0.2, 7.1.0, 7.1.1
Issue
The only way to stop the collection is to restart the RSA Identity Governance & Lifecycle application (acm restart).
The following exception is thrown in the aveksaServer.log file ($AVEKSA_HOME/wildfly/standalone/log/aveksaServer.log):
06/27/2018 08:09:20.985 INFO (Thread-182) [com.aveksa.client.component.communication.ChangeListHandler] Got new change item method=Run ChangeItem[ID=19, type=CollectionRequest, source=49, source-name=TestingADC] 06/27/2018 08:09:20.988 INFO (ApplyChangesRegularThread-3109) [com.aveksa.client.component.communication.ChangeListHandler] STARTING method=ApplyChanges subTask=Acting on a changeItem ChangeItem[ID=19, type=CollectionRequest, source=49, source-name=TestingADC] 06/27/2018 08:09:20.988 INFO (ApplyChangesRegularThread-3109) [com.aveksa.client.component.DefaultComponentManager] DCM132: Ignoring Event: com.aveksa.client.component.event.CollectionRequestEvent[source=com.aveksa.client.component.communication.DefaultCommunicationManager@1815f610] 06/27/2018 08:09:21.023 ERROR (ApplyChangesRegularThread-3109) [SystemErr] Exception in thread "ApplyChangesRegularThread-3109" 06/27/2018 08:09:21.028 ERROR (ApplyChangesRegularThread-3109) [SystemErr] java.lang.StackOverflowError 06/27/2018 08:09:21.030 ERROR (ApplyChangesRegularThread-3109) [SystemErr] at Qu(Unknown Source) 06/27/2018 08:09:21.031 ERROR (ApplyChangesRegularThread-3109) [SystemErr] at com.hxtt.sql.d1.a(Unknown Source) ... 06/27/2018 08:09:21.895 ERROR (ApplyChangesRegularThread-3109) [SystemErr] at com.hxtt.sql.d1.a(Unknown Source) 06/27/2018 08:09:21.895 ERROR (ApplyChangesRegularThread-3109) [SystemErr] at com.hxtt.sql.d1.a(Unknown Source) 06/27/2018 08:09:21.897 ERROR (ApplyChangesRegularThread-3109) [com.aveksa.client.component.communication.ChangeListHandler] method=UncaughtException Thread=Thread[ApplyChangesRegularThread-3109,5,ChangeApplyingThreadGroup] java.lang.StackOverflowError at com.hxtt.sql.d1.a(Unknown Source) at com.hxtt.sql.d1.a(Unknown Source) at com.hxtt.sql.d1.a(Unknown Source)
Please refer to RSA Knowledge Base Article 000030327 -- Artifacts to gather in RSA Identity Governance & Lifecycle to find the location of the aveksaServer.log file for your specific deployment.
Cause
com.hxtt.sql.d1.a
occurs when a SQL query in the collector definition is performing string manipulation on a missing/non-existent column in the data source (CSV file). This is to be expected. However, this error also occurs when an alias column name is the same as another name in the query. This is a change in behavior from previous versions of the HXTT driver.For example, the SQL Query below defined under User Account Mappings Data Query refers to column UserID. If this column does not exist in the CSV data source, the error will occur and the collection will hang until the RSA Identity Governance & Lifecycle application is restarted. The error will also occur because this query uses the UserID name in two places: the column name and the alias name.
SELECT DISTINCT
ACCOUNTNAME AS Account_ID,
CASE WHEN (LEN(UserID) = 8 AND ((RIGHT(UserID,1) ='a') OR RIGHT(UserID,1) ='A')) THEN LEFT(UserID,7)
ELSE UserID END AS UserID
FROM T_MY_TEST_ACCOUNTS_USERS
The latest version of the third party HXTT driver that is integrated with RSA Identity Governance & Lifecycle for use with the CSV collectors has changed the implementation for selecting columns when the columns are condition-based.
Resolution
- RSA Identity Governance & Lifecycle 7.1.1 P06
- RSA Identity Governance & Lifecycle 7.2.0
Workaround
For queries where column names and alias names are the same, the HXTT support team has advised that existing SQL queries need to be modified as follows:
EXAMPLE:
Initial query:
In the example below the column name=UserID and the alias name=UserID:
SELECT DISTINCT
ACCOUNTNAME AS Account_ID,
CASE WHEN (LEN(UserID) = 8 AND ((RIGHT(UserID,1) ='a') OR RIGHT(UserID,1) ='A')) THEN LEFT(UserID,7)
ELSE UserID END AS UserID
FROM T_MY_TEST_ACCOUNTS_USERS
Workaround options:
To resolve the issue, either change the alias name (in this example the name is changed from UserID to User_ID):
SELECT DISTINCT
ACCOUNTNAME AS Account_ID,
CASE WHEN (LEN(UserID) = 8 AND ((RIGHT(UserID,1) ='a') OR RIGHT(UserID,1) ='A')) THEN LEFT(UserID,7)
ELSE UserID END AS User_ID
FROM T_MY_TEST_ACCOUNTS_USERS
or remove the alias name as in the query example below:
SELECT DISTINCT
ACCOUNTNAME AS Account_ID,
CASE WHEN (LEN(UserID) = 8 AND ((RIGHT(UserID,1) ='a') OR RIGHT(UserID,1) ='A')) THEN LEFT(UserID,7)
ELSE UserID END
FROM T_MY_TEST_ACCOUNTS_USERSNotes
Related Articles
RSA Identity Governance and Lifecycle Account Data Collector (ADC) and Entitlement Data Collectors (EDC) are slow in step … 289Number of Views Run history data is missing under the Custom Task workflow history tab in RSA Identity Governance & Lifecycle 32Number of Views Collector circuit breaker tripped by rejections in RSA Via Lifecycle and Governance 259Number of Views RSA WTD Silvertail: ValueError: Multiple pages with same base URL 13Number of Views RSA Identity Management and Governance 6.9.1 P12 Active Directory Identity Data Collector (IDC) collection fails with "Unp… 88Number of Views
Trending Articles
Passwordless Authentication in Windows MFA Agent for Active Directory – Quick Setup Guide RSA Authentication Manager Upgrade Process RSA Authentication Manager 8.9 Release Notes (January 2026) An example of SSO using SAML and ADFS with RSA Identity Management and Governance 6.9.x RSA Authentication Manager 8.8 Setup and Configuration Guide
Don't see what you're looking for?