search cancel

Synchronization between CA Performance Center and Data Aggregator may fail with DATASOURCE_ROOT error.


Article ID: 36171


Updated On:


CA Infrastructure Management CA Performance Management - Usage and Administration


Synchronization between CA Performance Center (CAPC) and Data Aggregator (DA) may fail with an error related to NumberFormatException for {DATASOURCE_ROOT}.  This happens when synchronizing users down to the DA from CAPC.

The following errors are seen in the corresponding log files.

In CAPC DMService.log:  
ERROR | pool-4-thread-7    | 2015-10-19 08:53:58,845 |                
Data source Data [email protected] encountered an error while processing a sync request.  The problem is in the data source, not CAPC.  Check the logs for the data source to determine the cause of the problem.  The following stack trace shows the context of the sync request: For input string: "{DATASOURCE_ROOT}"
   at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(
   at com.sun.proxy.$Proxy96.pushRequest(Unknown Source)
In DA karaf.log: 

WARN  | 4225278-99502178 | 2015-10-19 08:53:58,824 | PhaseInterceptorChain | ache.cxf.common.logging.LogUtils  452 | org.apache.cxf.cxf-api |       | Application {}IProductSync2WSService#{}PushRequest has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: For input string: "{DATASOURCE_ROOT}"

Caused by: java.lang.NumberFormatException: For input string: "{DATASOURCE_ROOT}"
at java.lang.NumberFormatException.forInputString(Unknown Source)[:1.7.0_67]
at java.lang.Long.parseLong(Unknown Source)[:1.7.0_67]
at java.lang.Long.valueOf(Unknown Source)[:1.7.0_67]
at java.lang.Long.decode(Unknown Source)[:1.7.0_67]


Release: IMDAGG99000-2.6-Infrastructure Management-Data Aggregator


This is happening because there is at least one user that has been set (or changed) to have access to group "Inventory -> Data Sources -> Data [email protected]". 
If you check the PermissionId in user_definitions table for the user in question, it will be equal to the itemid of the dst_group table.  It's LocalID will be {DATASOURCE_ROOT}.

That group is only created in CAPC.  And it is not synced down to the DA.
When the push phase of synchronization occurs, it tries to determine he LocalID of the PermissionId associated to the user in the user_definitions table.  This value is synced down to the DA where it converts it to a number and stores it in the database. The problem is that is not a number, and thus it throws the above errors.


To resolve the problem, modify the user's group to not be "Inventory- > Data Sources -> Data [email protected]". 
This group cannot be used for any reporting, so it should not be used for a default group also.