View Issue Details

IDProjectCategoryView StatusLast Update
0002058SymmetricDSBugpublic2022-08-02 19:05
Reporterelong Assigned Toelong  
Prioritynormal 
Status closedResolutionfixed 
Product Version3.6.3 
Target Version3.12.0Fixed in Version3.12.0 
Summary0002058: Similar long table names fail to create trigger
DescriptionIf 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

Tagstrigger

Activities

chenson

2014-11-07 02:14

administrator   ~0000595

I think this might be fixed in the latest versions of SymmetricDS

Issue History

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