I have some trouble using replicated tables and a DTM transaction.
I am trying to launch a transaction to a replicated table via BEA Weblogic 8.1. I have 2 Sybase ASE 12.5.3 servers.
When I try to run an isolated insertion, I have no trouble. However, there are certain instances where several processes try to select/insert on a table and run into a deadlock (expected). One of the processes is then aborted and executes a rollback. However, when I try to run the aborted process again, there appears a phantom OMNIServer Connection on the destination Sybase which (apparently) tries to finish the deadlocked transaction, even though it had been aborted. This blocks the new transaction until it reports a timeout on its attempt to get a lock for its transaction.
There are several questions here: is there a way to detect long running CIS processes? Is there a way to "clean" the dead transactions that the OmniServer is trying to re-establish? Is there some configuration missing on one of the two Sybase Servers?
If the transaction persists at the desitination while already aborted on the source sounds like a CIS bug. This is not how it is supposed to work.
Until that time, is using SITE HANDLER an option for you. SITE HANDLER does give you extra flexibility whne it comes to handling such ransactions, such as timeout feature and reuse of connections etc..
The downside being, if the SITE HANDLER goes down the server needs a bouce.