DX NetOps Portal System Status shows Global Synchronization failures
search cancel

DX NetOps Portal System Status shows Global Synchronization failures

book

Article ID: 251187

calendar_today

Updated On:

Products

CA Performance Management - Usage and Administration DX NetOps

Issue/Introduction

The System Status page in a DX NetOps Performance Management Portal 21.2.12 install shows Global Synchronization (GS) failures. This is an example from the System Status page.

We also see the same failure references from the Manage Data Sources page GS information. This is seen via Administration->Data Sources->Data Sources.

In the (default path) /opt/CA/PerformanceCenter/DM/logs/wrapper.log file we see the following ERROR message.

INFO   | jvm 1    | 2022/09/21 16:08:45 | ERROR | pool-7-thread-1          | 2022-09-21 16:08:45,060 | com.ca.im.portal.dm.productsync.DataSourcePoller
INFO   | jvm 1    | 2022/09/21 16:08:45 |       | Exception thrown by sync task: org.springframework.dao.DuplicateKeyException: PreparedStatementCallback; SQL [INSERT INTO temp_remaps(DomainID, Address, ItemName) SELECT th1.DomainID, th1.Address, th1.ItemName FROM temp_highest th1 WHERE th1.ItemID IS NOT NULL AND th1.ItemID IN (SELECT th2.ItemID FROM temp_highest th2 WHERE th1.ItemID=th2.ItemID AND (th1.DomainID<>th2.DomainID OR (th1.MatchName IN (1,3) AND (th1.Address<>th2.Address AND th2.Address IS NOT NULL)) OR (th1.MatchName IN (2,3) AND th1.ItemName<>th2.ItemName)) AND (th1.Priority<th2.Priority OR (th1.Priority=th2.Priority AND (th1.DomainID>th2.DomainID OR (th1.DomainID=th2.DomainID AND (th1.Address>th2.Address OR ((th1.Address=th2.Address OR th2.Address IS NULL OR th1.Address IS NULL) AND th1.ItemName>th2.ItemName) OR (th1.Address IS NULL AND th2.Address IS NOT NULL)))))))]; Duplicate entry '<DeviceName>' for key 'temp_remaps.PRIMARY'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '<DeviceName>' for key 'temp_remaps.PRIMARY'
INFO   | jvm 1    | 2022/09/21 16:08:45 | java.util.concurrent.ExecutionException: org.springframework.dao.DuplicateKeyException: PreparedStatementCallback; SQL [INSERT INTO temp_remaps(DomainID, Address, ItemName) SELECT th1.DomainID, th1.Address, th1.ItemName FROM temp_highest th1 WHERE th1.ItemID IS NOT NULL AND th1.ItemID IN (SELECT th2.ItemID FROM temp_highest th2 WHERE th1.ItemID=th2.ItemID AND (th1.DomainID<>th2.DomainID OR (th1.MatchName IN (1,3) AND (th1.Address<>th2.Address AND th2.Address IS NOT NULL)) OR (th1.MatchName IN (2,3) AND th1.ItemName<>th2.ItemName)) AND (th1.Priority<th2.Priority OR (th1.Priority=th2.Priority AND (th1.DomainID>th2.DomainID OR (th1.DomainID=th2.DomainID AND (th1.Address>th2.Address OR ((th1.Address=th2.Address OR th2.Address IS NULL OR th1.Address IS NULL) AND th1.ItemName>th2.ItemName) OR (th1.Address IS NULL AND th2.Address IS NOT NULL)))))))]; Duplicate entry '<DeviceName>' for key 'temp_remaps.PRIMARY'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '<DeviceName>' for key 'temp_remaps.PRIMARY'
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at com.ca.im.portal.dm.productsync.SyncPhaseExecutor.execute(SyncPhaseExecutor.java:66) ~[classes/:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at com.ca.im.portal.dm.productsync.DataSourcePoller.pollLoopInternal(DataSourcePoller.java:302) [classes/:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at com.ca.im.portal.dm.productsync.DataSourcePoller.pollLoop(DataSourcePoller.java:247) [classes/:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at com.ca.im.portal.dm.productsync.DataSourcePoller$2.run(DataSourcePoller.java:552) [classes/:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at java.util.concurrent.FutureTask.run(Unknown Source) [?:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [?:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at java.lang.Thread.run(Unknown Source) [?:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 | Caused by: org.springframework.dao.DuplicateKeyException: PreparedStatementCallback; SQL [INSERT INTO temp_remaps(DomainID, Address, ItemName) SELECT th1.DomainID, th1.Address, th1.ItemName FROM temp_highest th1 WHERE th1.ItemID IS NOT NULL AND th1.ItemID IN (SELECT th2.ItemID FROM temp_highest th2 WHERE th1.ItemID=th2.ItemID AND (th1.DomainID<>th2.DomainID OR (th1.MatchName IN (1,3) AND (th1.Address<>th2.Address AND th2.Address IS NOT NULL)) OR (th1.MatchName IN (2,3) AND th1.ItemName<>th2.ItemName)) AND (th1.Priority<th2.Priority OR (th1.Priority=th2.Priority AND (th1.DomainID>th2.DomainID OR (th1.DomainID=th2.DomainID AND (th1.Address>th2.Address OR ((th1.Address=th2.Address OR th2.Address IS NULL OR th1.Address IS NULL) AND th1.ItemName>th2.ItemName) OR (th1.Address IS NULL AND th2.Address IS NOT NULL)))))))]; Duplicate entry '<DeviceName>' for key 'temp_remaps.PRIMARY'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '<DeviceName>' for key 'temp_remaps.PRIMARY'
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:247) ~[spring-jdbc-5.3.20.jar:5.3.20]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) ~[spring-jdbc-5.3.20.jar:5.3.20]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1541) ~[spring-jdbc-5.3.20.jar:5.3.20]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:667) ~[spring-jdbc-5.3.20.jar:5.3.20]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:960) ~[spring-jdbc-5.3.20.jar:5.3.20]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:1015) ~[spring-jdbc-5.3.20.jar:5.3.20]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:1025) ~[spring-jdbc-5.3.20.jar:5.3.20]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at com.ca.im.portal.api.common.services.impl.database.JdbcOperationsDelegate.update(JdbcOperationsDelegate.java:359) ~[portal-api-impl.common.services.impl-21.2.12-RELEASE-629.jar:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at com.ca.im.portal.api.common.services.impl.database.TransientDBConnection.execute(TransientDBConnection.java:437) ~[portal-api-impl.common.services.impl-21.2.12-RELEASE-629.jar:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at com.ca.im.portal.dm.productsync.GlobalSyncDeviceItems.selectHighestPriorityEntriesWithUnchangedIDs(GlobalSyncDeviceItems.java:705) ~[classes/:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at com.ca.im.portal.dm.productsync.GlobalSyncDeviceItems.doSynchronizeInternal(GlobalSyncDeviceItems.java:118) ~[classes/:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at com.ca.im.portal.dm.productsync.AbstractGlobalSyncStage.doSynchronize(AbstractGlobalSyncStage.java:86) ~[classes/:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at com.ca.im.portal.dm.productsync.GlobalSyncItems.doSynchronizeInternal(GlobalSyncItems.java:128) ~[classes/:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at com.ca.im.portal.dm.productsync.AbstractGlobalSyncStage.doSynchronize(AbstractGlobalSyncStage.java:86) ~[classes/:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at com.ca.im.portal.dm.productsync.GlobalSync.globalSynchronization(GlobalSync.java:101) ~[classes/:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at com.ca.im.portal.dm.productsync.GlobalSyncPhaseTask.execute(GlobalSyncPhaseTask.java:41) ~[classes/:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at com.ca.im.portal.dm.productsync.GlobalSyncPhaseTask.execute(GlobalSyncPhaseTask.java:13) ~[classes/:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at com.ca.im.portal.dm.productsync.SyncPhaseExecutor$SyncPhaseTaskCallable.call(SyncPhaseExecutor.java:128) ~[classes/:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:?]
INFO   | jvm 1    | 2022/09/21 16:08:45 |  ... 3 more
INFO   | jvm 1    | 2022/09/21 16:08:45 | Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '<DeviceName>' for key 'temp_remaps.PRIMARY'

Environment

All supported DX NetOps Performance Management releases 22.2.1 and earlier.

Cause

Code defect introduced in the DX NetOps Performance Management Portal release 21.2.11.

Resolution

Resolved via defect DE541450 in release 22.2.2. Upgrade to 22.2.2 or newer to resolve this problem.

Defect DE541450 is listed in the 22.2.2 Fixed Issues documentation.