Subject Re: [IBO] Strange behavior, transaction w/ multiple databases
Author Helen Borrie
At 01:26 AM 8/08/2008, you wrote:
>We have our own application-specific replicator that I wrote. I am
>having a strange problem.
>I have a transaction, which is attached to the local replicator
>database, as well as the different remote databases that are
>replicated together.
>Once in a while, the replicator machine will lose connection with one
>of the remote databases. This is fine. I have logic in the code so
>that if I get a "An existing connection was forcibly closed by the
>remote host." error while trying to perform an operation on one of the
>remote databases, I set a flag so that the next time through the
>replication loop, it will reconnect to the database.
>Here's the strange thing: If the connection to the remote database is
>lost, I get the "An existing connection was forcibly closed by the
>remote host." error (referring to the IP address of the remote
>database) even when trying to perform an update to the local
>replicator database (I am trying to set the "need to reconnect" flag
>Why would it complain about the remote database when trying to update
>the local database?

Consistency rules - as designed!
Once the engine has detected that one of the connections is dead, any multi-database transactions that comprise any uncommitted work in any of the databases involved will be "in limbo", preventing them from submitting any further requests.