z/OS MVS Programming: Sysplex Services Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Programming Considerations

z/OS MVS Programming: Sysplex Services Guide
SA23-1400-00

If you have more than one outstanding IXLCACHE request being processed asynchronously, multiple instances of your complete exit might run concurrently as the system processes your requests. Also, the order of execution of the complete exit for asynchronous requests is unpredictable. For example if you specify two requests with MODE=ASYNCEXIT, one to read data item A and another to read data item B, the system might complete the read for data item B before the read for data item A.

The CMPL data area is accessible to you only while your complete exit is running. Once the exit returns to its caller, you can no longer access the CMPL data area.

In certain instances, the system must quiesce the activity of user exits in order to perform cleanup processing. The following illustrates scenarios where this processing occurs:
  • Connection Termination

    When a user disconnects or abnormally terminates, the system will force to completion any user exits executing on behalf of that user by issuing a PURGEDQ against the appropriate units of work. Note that if a connector terminates while a rebuild is in progress, any exits pertaining to both the original and the new structures will be forced to completion. In addition to forcing the currently executing user exits to completion, the system will also prevent any new invocations of these exits by cancelling any events that are pending presentation.

  • Rebuild Stop

    When a connector provides an event exit response for the Rebuild Stop event, the system will force to completion any exits that are executing on behalf of that user's connection to the new structure by issuing a PURGEDQ against the appropriate units of work. Similar to connector termination processing, the user exits pertaining to the new structure will not be presented with any additional events. Note that any user exits executing on behalf of the original structure are unaffected by rebuild stop processing.

  • Completion of a Rebuild

    When a connector provides an event exit response for the Rebuild Cleanup event, the system will force to completion any user exits that are executing on behalf of that user's connection to BOTH the original and the new structures by issuing a PURGEDQ against the appropriate units of work. No new events will be presented to the user exits on behalf of the original structure (as it is being discarded). Normal user exit processing will resume for the rebuilt structure upon completion of the rebuild process.

A user exit must be sensitive to conditions that can occur as a result of actions taken by the system and must be able to handle these as appropriate. For example, if a user exit has suspended itself, when the PURGEDQ is issued the system abends the user exit's unit of work with a retryable X'47B' abend and gives control to the user exit's recovery routine. (Note that although the recovery routine can retry, the user exit can not re-suspend itself because the system will fail any request to suspend a unit of work that has been the target of a PURGEDQ.) If the recovery routine percolates back to the system, its associated connection is terminated.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014