Dealing with Heuristic Outcomes

An heuristic outcome to a transaction is simply the worst thing that can arise during a 2PC-based transaction system. They may occur where a participant in the transaction reneges on its promise to either commit or abort and instead does the exact opposite. This means that the ACIDity of the transaction is compromised, since changes to data in some participants will have been made durable, while changes to data managed by other participants will have been discarded. As was alluded to earlier, the chances of such an outcome occurring are significantly increased if the period of uncertainty (the gap between prepare and commit phases) is too long, and we may arrive at a situation where participants in a transaction ...

Get Developing Enterprise Web Services: An Architect's Guide now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.