View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002058 | SymmetricDS | Bug | public | 2014-11-06 21:48 | 2022-08-02 19:05 |
Reporter | elong | Assigned To | elong | ||
Priority | normal | ||||
Status | closed | Resolution | fixed | ||
Product Version | 3.6.3 | ||||
Target Version | 3.12.0 | Fixed in Version | 3.12.0 | ||
Summary | 0002058: Similar long table names fail to create trigger | ||||
Description | If two trigger table names on the same group link have long names with differences at the end of their names, the trigger name generated is the same and fails to create. For example, group link of CORP_TO_RECEIPT with tables named TR_LTM_SLS_RTN and TR_LTM_SLS_RTN_TX. The sync triggers process runs automatically when detecting the configuration change and gets the error. If the sync triggers is run manually afterwards, it will succeed. 2014-11-06 15:38:53,631 INFO [corp-uk] [OracleSymmetricDialect] [corp-uk-job-13] Creating SYM_ON_I_FOR_RCPT_TR_LTM_SLS_ trigger for SCHEMA_UK.TR_LTM_SLS_RTN 2014-11-06 15:38:55,553 INFO [corp-uk] [OracleSymmetricDialect] [corp-uk-job-13] Creating SYM_ON_I_FOR_RCPT_TR_LTM_SLS_ trigger for SCHEMA_UK.TR_LTM_SLS_RTN_TX 2014-11-06 15:38:55,565 ERROR [corp-uk] [OracleSymmetricDialect] [corp-uk-job-13] Failed to create trigger: create or replace trigger SYM_ON_I_FOR_RCPT_TR_LTM_SLS_ 2014-11-06 15:38:55,566 WARN [corp-uk] [TriggerRouterService] [corp-uk-job-13] Cleaning up trigger hist row of 4310 after failing to create the associated trigger 2014-11-06 15:38:55,568 ERROR [corp-uk] [TriggerRouterService] [corp-uk-job-13] Failed to create triggers for TR_LTM_SLS_RTN_TX org.jumpmind.db.sql.SqlException: ORA-04095: trigger 'SYM_ON_I_FOR_RCPT_TR_LTM_SLS_' already exists on another table, cannot replace it at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:288) at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:279) at org.jumpmind.db.sql.JdbcSqlTransaction.executeCallback(JdbcSqlTransaction.java:326) at org.jumpmind.db.sql.JdbcSqlTransaction.execute(JdbcSqlTransaction.java:250) at org.jumpmind.symmetric.db.AbstractSymmetricDialect.createTrigger(AbstractSymmetricDialect.java:313) at org.jumpmind.symmetric.db.oracle.OracleSymmetricDialect.createTrigger(OracleSymmetricDialect.java:96) at org.jumpmind.symmetric.service.impl.TriggerRouterService.rebuildTriggerIfNecessary(TriggerRouterService.java:1599) at org.jumpmind.symmetric.service.impl.TriggerRouterService.updateOrCreateDatabaseTriggers(TriggerRouterService.java:1470) at org.jumpmind.symmetric.service.impl.TriggerRouterService.updateOrCreateDatabaseTrigger(TriggerRouterService.java:1350) at org.jumpmind.symmetric.service.impl.TriggerRouterService.updateOrCreateDatabaseTriggers(TriggerRouterService.java:1340) at org.jumpmind.symmetric.service.impl.TriggerRouterService.syncTriggers(TriggerRouterService.java:1059) at org.jumpmind.symmetric.service.impl.TriggerRouterService.syncTriggers(TriggerRouterService.java:1005) at org.jumpmind.symmetric.service.impl.TriggerRouterService.syncTriggers(TriggerRouterService.java:1001) at org.jumpmind.symmetric.route.ConfigurationChangedDataRouter.contextCommitted(ConfigurationChangedDataRouter.java:457) at org.jumpmind.symmetric.service.impl.RouterService.completeBatchesAndCommit(RouterService.java:482) at org.jumpmind.symmetric.service.impl.RouterService.selectDataAndRoute(RouterService.java:591) at org.jumpmind.symmetric.service.impl.RouterService.routeDataForChannel(RouterService.java:387) at org.jumpmind.symmetric.service.impl.RouterService.routeDataForEachChannel(RouterService.java:303) at org.jumpmind.symmetric.service.impl.RouterService.routeData(RouterService.java:167) at org.jumpmind.symmetric.job.RouterJob.doJob(RouterJob.java:40) at org.jumpmind.symmetric.job.AbstractJob.invoke(AbstractJob.java:180) at org.jumpmind.symmetric.job.AbstractJob.run(AbstractJob.java:224) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: java.sql.SQLException: ORA-04095: trigger 'SYM_ON_I_FOR_RCPT_TR_LTM_SLS_' already exists on another table, cannot replace it at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531) at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:193) at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:1026) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329) at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1909) at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1871) at oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:318) at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264) at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264) at org.jumpmind.db.sql.JdbcSqlTransaction$3.execute(JdbcSqlTransaction.java:257) at org.jumpmind.db.sql.JdbcSqlTransaction$3.execute(JdbcSqlTransaction.java:250) at org.jumpmind.db.sql.JdbcSqlTransaction.executeCallback(JdbcSqlTransaction.java:324) ... 29 more | ||||
Tags | trigger | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2014-11-06 21:48 | elong | New Issue | |
2014-11-07 02:14 | chenson | Note Added: 0000595 | |
2019-04-23 13:12 | elong | Tag Attached: trigger | |
2022-08-02 19:05 | elong | Assigned To | => elong |
2022-08-02 19:05 | elong | Status | new => closed |
2022-08-02 19:05 | elong | Resolution | open => fixed |
2022-08-02 19:05 | elong | Fixed in Version | => 3.12.0 |