Previous | Table of Contents | Next |
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:
• The most recent complete state in the log. Prior complete states are ignored and can be discarded from the log. Subsequent incomplete states are ignored but are retained in the log so that they can be completed.
• All complete updates that occur after the most recent complete state. Complete updates that occur prior to the most recent complete state are ignored and can be discarded from the log. Subsequent incomplete updates are ignored but are retained in the log so that they can be completed.
Host H1Client ObjectC |
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.