Fabiano Bonin wrote:

Why sometimes when doing two phase recovery `gfix` ask for what operation should be done (commit, rollback ou neither) and sometimes it doesn't ask anything?

Ann W. Harrison answers:

If all participants in the original transaction are available, Firebird will determine on its own whether the transaction should be committed or rolled back. If any sub-transaction has not yet prepared, rollback. If any sub-transaction has committed, commit. If every sub-transaction has prepared and none has committed, then ask. And ask if there's anyone who can't be found. If some participant is not coming back (think head crash) the rest of the participants need some way to proceed.

Like this post? Share on: TwitterFacebookEmail


Related Articles


Author

Firebird Community

Published

Category

Gems from Firebird Support list

Tags