This error in the Spectrum Tomcat OneClick web server is clue to the cause for this problem.
Aug 17, 2018 04:58:57.164 (PoolThread-964: GlobalPool => RubiconEventPoller) (NetqosEventLog) - (ERROR) - RubiconEventPoller: Error processing events for landscape <hostName>(0x1000000). Exception:
Caused by: java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:601)
at java.lang.Long.<init>(Long.java:965)
at com.ca.im.netqos.integration.event.poller.EventPollerBase.getEvents(EventPollerBase.java:201)
at com.ca.im.netqos.integration.event.poller.RubiconEventPoller.pollForEventsOnLandscape(RubiconEventPoller.java:117)
at com.ca.im.netqos.integration.event.poller.EventPollerBase.performTask(EventPollerBase.java:492)
at com.aprisma.util.thread.ThreadPoolMonitor$TimedThreadTask.performTask(ThreadPoolMonitor.java:135)
at com.aprisma.util.thread.CachedThread.run(CachedThread.java:116)
The error may also show a Caused by statement with null as the value like this. Similar issue, same fix as below.
Caused by: java.lang.NumberFormatException: null
The '...java:201' line is our key as it indicates Spectrum trying to convert the landscape.getNPCgroupID. The call getNPCgroupID is returning "". This means it doesn't have an ItemID for the Landscape Group. The ItemID of the Landscape Group is synchronized down to Spectrum from CAPM.
We can confirm presence of the landscape and it's ItemID in the MySql DB in CAPM named netqosportal. The following queries shows the values:
select * from t_group where ItemName like '%Spectrum Landscape%'\G
select * from dst_group where ItemName like '%Spectrum Landscape%'\G
If an ItemID is seen it shows the value is present in CAPM but missing from CA Spectrum.
When a Landscape moves to DOWN, Spectrum marks the landscape npcitemid to "". Also when a landscape is removed, CAPM will mark it's npcitemid to "". During PUSH in the synchronization cycles is the only time we'll set the npcitemid on the Landscape to a value other than null and "".