Previous Table of Contents Next


23.5.3 Recovery Mechanism


   The Recovery Mechanism sets the state of a member, either after a fault when a backup member of an object group is promoted to the primary member, or alternatively when a new member is introduced into an object group. The Recovery Mechanism processes the log and applies messages from the log to the member to bring that member to the correct current state, so that it can start to process messages normally, as shown in Figure 23-12 on page 23-83.

   The messages in the log are not necessarily in the order required for recovery. The Recovery Mechanism processes the log, discarding irrelevant messages to form a complete log. A complete log for an object group contains:


Host H1

Client Object

C

Primary

Host H2

Backup

Host H3

Server Replica Server Replica
S1 S2

   ORB ORB ORB

   Message Logging & Message Logging & Message Logging & Handling Recovery Handling Recovery Handling Recovery Mechanism Mechanism Mechanism Mechanism Mechanism Mechanism

   Host Host Host H1 Primary H2 Backup H3

   Client Object Server Replica Server Replica

   CS1 S2

   get_ORB ORB state() ORB and reply

   Message Logging & Message Logging & Message Logging & Handling Recovery Handling Recovery Handling Recovery Mechanism Mechanism Mechanism Mechanism Mechanism Mechanism

   Host Host Host

   H2 New H3H1 Primary

   Client Object Server Replica Server Replica

   C S1 S2

   set_state()ORB ORB ORB Apply GIOP messages

   Message Logging & Message Logging & Message Logging & Handling Recovery Handling Recovery Handling Recovery Mechanism Mechanism Mechanism Mechanism Mechanism Mechanism

   Figure 23-12 Operation of the Logging and Recovery Mechanisms for a server object group having the WARM_PASSIVE ReplicationStyle, during normal operation, during the recording of a checkpoint, and during recovery

   • All request and reply messages that occur in the log after the most recent complete state and after the most recent complete update, if present. Request and reply messages are ignored and can be discarded from the log if they occur before the complete state or complete update and if they are not the most recent request and reply messages in the sequence of request and reply messages for a client object group’s invocations of this object group.

   For a backup member of an object group with the COLD_PASSIVE ReplicationStyle that is being promoted to primary member, or for a new member of an object group with the ACTIVE ReplicationStyle, the Recovery Mechanism must apply the entire complete log to the member.

   For a backup member of an object group with the WARM_PASSIVE ReplicationStyle that is being promoted to primary member, the member has already received states and updates during normal operation. The Recovery Mechanism applies to the member, only messages in the complete log that follow the most recent state or update applied to the member during normal operation.

   For a new backup member of an object group with the WARM_PASSIVE ReplicationStyle, the Recovery Mechanism applies only the state and update messages in the complete log to the member.