How the system handles structure failure during a system-managed
process depends on when in the process the failure occurs and which
of the structures failed.
- Failure of the Old Structure
If the system has not yet committed
to the new structure (prior to the Cleanup phase), or, for duplexing
rebuild, prior to the Duplexed Established phase, failure of the old
structure is reported to active connectors with the Structure Available
event followed by the STRFAILURE event. Users should respond to this
event by disconnecting from the structure with REASON=FAILURE.
For
both rebuild and duplexing rebuild, once the system has committed
to the new structure, failure of the old structure is irrelevant.
No STRFAILURE events are reported to any active connectors.
- Failure of the New Structure
For rebuild, once the system
has committed to the new structure (Cleanup phase), failure of the
new structure is reported to active connectors with the Structure
Available event followed by the STRFAILURE event. Users should respond
to this event by disconnecting from the structure with REASON=FAILURE.
If the system has not yet committed to the new structure (prior to
the Cleanup phase), active connectors receive the Structure Available
event to indicate that the old structure can be used.
Similarly,
for duplexing rebuild, once the system has committed to the new structure
(Switch phase), structure failure is reported to connectors in the
same manner.
- Structure Failure During Duplex Established Phase
To handle
structure failures in a manner that is transparent to the connector,
XES temporarily quiesces access to the structure and captures requests
that are already in progress. Once duplexing rebuild has fallen out
of duplexing back to simplex mode on the unaffected structure, the
system can redrive these captured or quiesced requests. Connectors
are made aware of the transition to simplex mode through the Structure
State Change Notification event.
- Structure Failure During Switch or Stop of Duplexing Rebuild
When
switching to the secondary (new) structure:
- If the primary structure fails, no structure failure event is
presented. The system drives deferred requests to the secondary structure
(now a simplex structure) after the switch completes.
- If the secondary structure fails, a structure failure event is
presented after the switch to secondary is complete. The system will
drive deferred requests to the secondary structure after the switch
completes; the requests will be unsuccessful and will indicate structure
failure.
When stopping to the primary (old) structure:
- If the primary structure fails, a structure failure event is presented
after the stop to primary is complete. The system will drive deferred
requests to the primary structure after the stop completes; the requests
will be unsuccessful and will indicate structure failure.
- If the secondary structure fails, no structure failure event is
presented. The system drives deferred requests to the primary structure
(now a simplex structure) after the switch completes.