Synchronization between NetOps Portal 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.
WARN | 4225278-99502178 | 2015-10-19 08:53:58,824 | PhaseInterceptorChain | ache.cxf.common.logging.LogUtils 452 | org.apache.cxf.cxf-api | | Application {http://netqos.com/ProductSync2WS}IProductSync2WSService#{http://netqos.com/ProductSync2WS}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]
at com.ca.im.core.util.Convert.convertNumbers(Convert.java:535)[166:com.ca.im.common.core.util:2.6.0.RELEASE-104]
at com.ca.im.core.util.Convert.to(Convert.java:777)[166:com.ca.im.common.core.util:2.6.0.RELEASE-104]
at com.ca.im.core.util.Convert.to(Convert.java:717)[166:com.ca.im.common.core.util:2.6.0.RELEASE-104]
at com.ca.im.connector.user.UserHandler.createUserAttrValList(UserHandler.java:399)[238:com.ca.im.NPCConnector.bundle:2.6.0.RELEASE-104]
at com.ca.im.connector.user.UserHandler.createItemRequest(UserHandler.java:309)[238:com.ca.im.NPCConnector.bundle:2.6.0.RELEASE-104]
at com.ca.im.connector.user.UserHandler.processPerformanceCenterUsers(UserHandler.java:234)[238:com.ca.im.NPCConnector.bundle:2.6.0.RELEASE-104]
Release: Any
Component:
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 Aggregator@hostname".
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 NetOps Portal and it is not synced down to the DA.
When the push phase of synchronization occurs, it tries to determine the 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 Aggregator@hostname".
This group cannot be used for any reporting, so it should not be used for a default group also.