Reinfection
Suppose A is coordinator and B and C are participants
- A asks B and C to prepare
- B votes prepared
- Now calls B to do some work. (B is reinfected.)
- B does the work and tells C it had prepared, but now it expects C to be its coordinator.
- When A asks C to prepare, C propagates the request to B and votes prepared only if both B and C are prepared. (See Tree of Processes discussion later.)
Can be used to implement integrity constraint checking, triggers, and other commit-time processing, without requiring an extra phase (between phases 1 and 2 of 2PC).