Considerations for logger resources temporarily unavailable

Table 1 includes logger service reason codes that indicate a "resource temporarily unavailable" condition (see IXGCON macro) and identifies the related logger ENF 48 events (see IXGENF macro) that occur for these conditions or resource state changes.
Table 1. Logger services with "temporary unavailable type reason codes" and expected related ENF 48 events
Reason Code Hex Value Logger Services IXGENF event(s) IXGENF event reasons
IxgRsnCodeCFLogStreamStorFull 860 IXGIMPRT, IXGWRITE IxgenfLogstreamsAvailable IxgenfLogstreamStorageAvailable
IxgRsnCodeRebuildInProgress 861 IXGBRWSE, IXGDELET, IXGIMPRT, IXGOFFLD, IXGQUERY, IXGUPDAT, IXGWRITE
  • IxgenfLogstreamsNotAvailable, then
  • IxgenfLogstreamsAvailable
  • IxgenfStrRebuildStart
  • IxgenfStrRebuildComplete or IxgenfStrRebuildFailed
IxgRsnCodeXESPurge 862 IXGBRWSE, IXGDELET, IXGIMPRT, IXGOFFLD, IXGQUERY, IXGUPDAT, IXGWRITE
  • IxgenfLogstreamsNotAvailable, then
  • IxgenfLogstreamsAvailable
  • IxgenfStrRebuildStart
  • IxgenfStrRebuildComplete or IxgenfStrRebuildFailed
IxgRsnCodeStructureFailed 863 IXGBRWSE, IXGCONN, IXGDELET, IXGIMPRT, IXGOFFLD, IXGQUERY, IXGUPDAT, IXGWRITE
  • IxgenfLogstreamsNotAvailable, then
  • IxgenfLogstreamsAvailable
  • IxgenfStrRebuildStart
  • IxgenfStrRebuildComplete or IxgenfStrRebuildFailed
IxgRsnCodeNoConnectivity 864 IXGBRWSE, IXGCONN, IXGDELET, IXGIMPRT, IXGOFFLD, IXGQUERY, IXGUPDAT, IXGWRITE
  • IxgenfLogstreamsNotAvailable, then
  • IxgenfLogstreamsAvailable
  • IxgenfStrRebuildStart
  • IxgenfStrRebuildComplete or IxgenfStrRebuildFailed
IxgRsnCodeStagingDsFull 865 IXGIMPRT, IXGWRITE IxgenfLogstreamsAvailable IxgenfStagingDsStorageAvailable
IxgRsnCodeStructureFull 866 IXGCONN IxgenfLogstreamsAvailable IxgenfLogstreamStorageAvailable
IxgRsnCodeLocalBufferFull 867 IXGIMPRT, IXGWRITE IxgenfLogstreamsAvailable IxgenfLogstreamStorageAvailable
IxgRsnCodeStagingDsFormat 868 IXGIMPRT, IXGWRITE IxgenfLogstreamsAvailable IxgenfLogstreamStorageAvailable
IxgRsnCodeDsDirectoryFull 85C IXGIMPRT, IXGWRITE IxgenfLogstreamsAvailable IxgenfLogstreamStorageAvailable
IxgRsnCodeWowError 85D IXGIMPRT, IXGWRITE IxgenfLogstreamsAvailable IxgenfLogstreamStorageAvailable
IxgRsnCodeAddrSpaceInitializing 891 IXGBRWSE, IXGCONN, IXGDELET, IXGIMPRT, IXGINVNT, IXGOFFLD, IXGQUERY, IXGUPDAT, IXGWRITE IxgenfSystemLoggerAvail n/a
IxgRsnCodeConnectRebuild 406 IXGCONN
  • IxgenfLogstreamsNotAvailable, then
  • IxgenfLogstreamsAvailable
  • IxgenfStrRebuildStart
  • IxgenfStrRebuildComplete or IxgenfStrRebuildFailed
IxgRsnCodeStructureNotAvail 8B0 IXGCONN IxgenfSystemLoggerResourceCheg IxgenfCfResourceChange
The following conditions can result from a coupling facility structure rebuild:
  • In Table 1 the reason codes indicate that the log stream access is inhibited and the log stream is temporarily unavailable during the structure rebuild.
  • When the CF structure rebuild completes, system logger issues an ENF 48 indicates whether the log stream resource is available for use. If the rebuild does not complete successfully, the system issues a new ENF 48 event that indicates the log stream resource is not available for a new reason.
  • Initially, system logger issues an ENF 48 event when a structure rebuild starts, indicating the affected log streams are unavailable. The following are ENF 48 indicators that are not available:
    ENF 48 indicators that are not available    
    IxgenfEvents (IxgenfEventsByte0): IxgEnfLogstreamsNotAvailable
    IxgenfEventReasons (IxgenfEventReasonsByte0): IxgEnfStrRebuildStart
    IxgenfEventSpecificInfo (IxgenfEventSpecificInfoByte0):  
  • Normally, when the rebuild completes, the system issues an ENF event to inform the connectors that the log stream is now available. The following are ENF 48 event indicators that are available:
    ENF 48 event indicators that are available    
    IxgenfEvents (IxgenfEventsByte0): IxgEnfLogstreamsAvailable
    IxgenfEventReasons (IxgenfEventReasonsByte0): IxgEnfStrRebuildComplete
    IxgenfEventSpecificInfo (IxgenfEventSpecificInfoByte0):  
  • If the rebuild processing does not complete successfully, the system issues a new ENF 48 event to inform the connectors that the log stream state is not available for a new reason code to be issued. The following ENF 48 event indicators are not available:
    ENF 48 event indicators that are not available    
    IxgenfEvents (IxgenfEventsByte0): IxgEnfLogstreamsNotAvailable
    IxgenfEventReasons (IxgenfEventReasonsByte0): IxgEnfStrRebuildFailed
    IxgenfEventSpecificInfo (IxgenfEventSpecificInfoByte0): IxgEnfStrRebuildFailLossConn or IxgEnfStrRebuildFailsStrFail
  • For the rebuild failure case, some other action needs to occur to cause the log stream status to change again. The log stream might be disconnected or a subsequent rebuild might succeed. The system issues ENF 48 events for these activities as they occur for the log stream.

    If a rebuild initiated due to a loss of connectivity fails, system logger service requests to exploit affected log streams will result in IxgRsnCodeNoConnectivity. You may need to change the log stream status again at this point. See the log for related system messages (such as IXG101I and IXG107I), which will provide advice on the appropriate actions.

  • IxgRsnCodeStagingDsFormat indicates system logger is formatting the staging data set to be used to duplex the log data that is into the log stream interim storage. This condition is most likely to occur directly after a log stream connection on a system that resulted in the staging data set being newly allocated. Applications should not resume issuing write requests until receiving the ENF event indicating that the log stream (and staging data set) resource is available. The following ENF 48 event indicators are available:
    ENF 48 event indicators that are available    
    IxgenfEvents (IxgenfEventsByte0): IxgEnfLogstreamsAvailable
    IxgenfEventReasons (IxgenfEventReasonsByte0): IxgEnfStagingDsStorageAvailable
    IxgenfEventSpecificInfo (IxgenfEventSpecificInfoByte0):  
  • IxgRsnCodeDsDirectoryFull and IxgRsnCodeWowError (85C and 85D) indicates the following:
    • Indicates that the interim storage for the log stream is full and system logger was unable to offload log data to DASD (that is, the log stream data set directory is full or some other offload error occurred). System logger will re-drive its offload attempts for these conditions, which are applicable to both coupling facility structure and DASD-only type log streams.
    • If system logger is able to offload log data, then an ENF event will be issued informing the connectors that the log stream should be available for writing more log data (see Figure 1).
    • You can retry your IXGWRITE (or IXGIMPRT) request periodically or wait for the ENF signal that the log stream is available, or disconnect from this log stream and connect to another log stream.
    • For additional actions related to log stream offloads, refer to system messages IXG257I, IXG261E, IXG262A and IXG301I.
  • For IxgRsnCodeCFLogStreamStorFull (860) or IxgRsnCodeWowError (85D) on IXGWRITE requests, while waiting for IxgenfLogstreamsAvailable event with IxgenfLogstreamStorageAvailable reason, authorized application can also retry the request after a short wait. When the structure becomes full, system logger starts offloading, and system logger produces the ENF signal when the offload processing is able to relieve the full condition. For these two log stream structure full-type conditions, system logger allows authorized IXGWRITE requests (with exception for MODE=ASYNCNORESPONSE type requests) to be attempted as the structure offloads, and these requests may complete successfully before the ENF signal is received.