Program note 7

If the above dbsqlexec to Server2 fails because the application’s link to the server has gone down, Server2 will use probe to communicate with the commit server. probe will find that the transaction is committed in the commit server and will tell Server2 to commit locally.

If probe cannot communicate with the commit server, Server2 will infect the user task process in Adaptive Server. If the System Administrator kills the infected process before communication with the commit server is reestablished, the transaction will be rolled back, thus violating two-phase protocol and leaving the database in an inconsistent state. If possible, the System Administrator should always wait until communication with the commit server is reestablished before killing the infected process.

If the dbsqlexec to Server2 fails because Server2 has gone down, the local transaction will remain in a suspended state until Server2 is restored. As part of the recovery process, Server2 will use probe to communicate with the commit server. probe will find that the transaction is committed in the commit server and will tell Server2 to commit locally.

If probe cannot communicate with the commit server, Server2 will mark the database as suspect. After communication with the commit sever is reestablished, the suspect database should be re-recovered.