Previous | Table of Contents | Next |
23.5.5.1 Infrastructure-Controlled Consistency Style
For the COLD_PASSIVE ReplicationStyle and the PULL FaultMonitoringStyle, the interactions between the various components of
the Fault Tolerance Infrastructure are typically as follows:
1. The Pull Monitor invokes is_alive() on the primary member of the object group and the primary responds.
2. The primary fails.
3. The Pull Monitor invokes is_alive() on the primary member of the object group and the primary does not respond.
4. The Pull Monitor incurs a timeout and reports to the Fault Notifier that the primary is faulty.
5. The Fault Notifier notifies the Replication Manager that the primary is faulty.
6. The Replication Manager determines the object group containing the primary, and the Replication Style of the object group.
7. The Replication Manager invokes the Fault Tolerance Infrastructure to remove the failed primary from the object group.
8. If the number of members of the object group is now less than the minimum number of replicas for this object group, the Replication Manager initiates the creation of a new member of the object group.
9. If the backup is not yet loaded, the Replication Manager invokes an operation of the Fault Tolerance Infrastructure to load the backup.
10. The Replication Manager then invokes an operation of the Fault Tolerance Infrastructure to set the new primary for the object group.
11. The Replication Manager invokes an operation of the Recovery Mechanism to activate the new primary.
12. The Recovery Mechanism accesses the log and extracts the most recent state message for the previous primary and the subsequent request and reply messages.
13. The Recovery Mechanism invokes set_state() from the request and reply messages on the new primary.
14. The Recovery Mechanism returns a reply to the Replication Manager’s invocation of activate.
15. The Replication Manager invokes the Pull Monitor to start monitoring the new primary.