OpenTP1 Version 7 Operation

[Contents][Index][Back][Next]

3.3.3 Forcible termination of transaction

A transaction that has been determined forcibly as a result of a communication error cannot be terminated until all communication is completed between the transaction branches. If the communication error cannot be recovered for a long time, it is possible to terminate the transaction forcibly. The trncmt or trnrbk command with the -f option specified or the trnfgt command is used in such a case.

When the trncmt or trnrbk command with the -f option specified executes, the transaction whose first, second, and third status are all READY(p,n) is committed or rolled back forcibly. The determination result of the corresponding transaction branch cannot be reported to any other transaction branch in the same global transaction. It may, therefore, not be possible using this method to determine all the transaction branches in the same global transaction.

The trnfgt command terminates forcibly the transaction after executing the trncmt or trnrbk command without the -f option specified. When the trnfgt command executes, the transaction whose first, second, and third status are all HEURISTIC_FORGETTING(p,n) is terminated forcibly. In this case also, the determination result of the corresponding transaction branch cannot be reported to any other transaction branch in the same global transaction. It may, therefore, not be possible using this method to determine all the transaction branches in the same global transaction.

Once the transaction has been terminated forcibly, the resources previously being used by the resource manager are released and become available to other UAPs.