Program note 6

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

If probe cannot communicate with the commit server, Server1 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 Server1 fails because Server1 has gone down, the local transaction will remain in a suspended state until Server1 is restored. As part of the recovery process, Server1 will use probe to communicate with the commit server. probe will find that the transaction is committed in the commit server and will tell Server1 to commit locally.

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