Support Article
Transactions rolling back due to ORA-00001: unique constraint
SA-90235
Summary
A usecase is present to cancel a work object and create another. Cancel and Create are rolled back due to a unique constraint on the History work table. However, an error occurs on invoking commitWithErrorHandling.
Error Messages
<CR>Problem #1, SQLState 23000, Error code 1: java.sql.BatchUpdateException: ORA-00001: unique constraint (MYQ_DATA.IDX11_MYQHISTORYWORK) violated<CR><CR>Problem #2, SQLState 23000, Error code1: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (MYQ_DATA.IDX11_MYQHISTORYWORK) violated<CR><CR> at access.ExceptionInformation.createExceptionDueToDBFailure(ExceptionInformation.java:438)<CR> at store.ConnectionStatementStore.executeBatchForAllStatements(ConnectionStatementStore.java:233)<CR> at store.ManagedTransaction.executeOutstandingBatches(ManagedTransaction.java:266)<CR> at data.internal.access.UpdateProcessor.action(UpdateProcessor.java:292)<CR> at internal.access.UpdateProcessor.action(UpdateProcessor.java:90)<CR> at data.internal.store.DataStoreManager.doInTransaction(DataStoreManager.java:272)<CR> at access.UpdateProcessor.processUpdates(UpdateProcessor.java:215)<CR> at access.DatabaseImpl.commit(DatabaseImpl.java:2120)<CR> at access.DatabaseImpl.commit(DatabaseImpl.java:2082)<CR> at generated.activity.ra_action_commitwitherrorhandling_663a578384fcc69efadf2473d5dbfc39.step4_circum0(ra_action_commitwitherrorhandling_663a578384fcc69efadf2473d5dbfc39.java:512)<CR> at generated.activity.ra_action_commitwitherrorhandling_663a578384fcc69efadf2473d5dbfc39.perform(ra_action_commitwitherrorhandling_663a578384fcc69efadf2473d5dbfc39.java:123)<CR> at session.internal.mgmt.Executable.doActivity(Executable.java:2695)<CR> at psession.internal.mgmt.Executable.invokeActivity(Executable.java:10961)<CR> at generated.activity.ra_action_savecommitandrefresh_dce5ab5494d415ab9e3e59b041c3b065.step2_circum0(ra_action_savecommitandrefresh_dce5ab5494d415ab9e3e59b041c3b065.java:251)<CR> at generated.activity.ra_action_savecommitandrefresh_dce5ab5494d415ab9e3e59b041c3b065.perform(ra_action_savecommitandrefresh_dce5ab5494d415ab9e3e59b041c3b065.java:89)<CR> at session.internal.mgmt.Executable.doActivity(Executable.java:2695)<CR> at generated.flow.ra_action_resolvewire_7d809dd811aa476f19636152cdef017b.RunTaskActivity(ra_action_resolvewire_7d809dd811aa476f19636152cdef017b.java:3986)<CR>
Steps to Reproduce
- Process the incoming wire case
- Select New Standard Letter of Authorization (SLOA) wire frequency which causes wire case to be cancelled and a wire SLOA case to be created with the same data as the wire case
- Verify if the cancel fails and wire SLOA case displays as New
Root Cause
A defect in Pegasystems’ code or rules. An issue with RUF pxGetCurrentTimeStampThreadUnique. The commit happens on a background thread.
Resolution
Perform the following local-change:
Make changes such that the commit happens on the main executing thread.
Published October 12, 2019 - Updated December 2, 2021
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.