MNPS forced takeover processing can be performed when the application
program is in a wider range of states, the common state characteristic
being that the application is active and has enabled persistence.
The application state is maintained by the owning VTAM® in the multinode persistent sessions coupling
facility structure. Other VTAMs in the Sysplex currently use the state
information when processing OPEN ACBs or VTAM failure conditions, and now will use it
to determine if the application is eligible for forced takeover processing.
In addition to state requirements, the application being taken
over must indicate that it will accept forced takeover requests. This
capability is expressed by coding PARMS=(FORCETKO=ALL) or PARMS=(FORCETKO=MULTI)
on the SETLOGON OPTCD=PERSIST macroinstruction used to enable persistence
in the first place. This capability is saved into the MNPS structure,
much like the state of the application.
The D NET,ID command can be used to verify the current takeover
capability of the application, both at the owning VTAM and at remote VTAMs connected to the same
coupling facility structure. Any of the following messages can be
generated as part of the D NET,ID command:
IST2061I NO FORCED TAKEOVER REQUESTS ARE ACCEPTABLE
IST2062I type FORCED TAKEOVER REQUESTS ARE ACCEPTABLE (where type can be MNPS or SNPS)
IST2063I ALL FORCED TAKEOVER REQUESTS ARE ACCEPTABLE
Requirement: Both the forced takeover
and owning VTAMs must be z/OS® Communications Server V1R6 level or higher.
The mechanics of an MNPS forced takeover are very similar to an
MNPS planned takeover. The highlights of the forced takeover processing
are:
- An application opens an ACB with the same application program
name as the target application program. The ACB macroinstruction must
specify PARMS=(FORCETKO=YES,PERSIST=YES) in order for the OPEN ACB
processing to treat this request as one that is permitted to initiate
an MNPS forced takeover sequence. The application being taken over
must also have indicated that MNPS forced takeovers are permitted,
using the SETLOGON macroinstruction.
- The taking over VTAM obtains
the capabilities of the application being taken over from the coupling
facility structure. The capabilities of the taking over application
program must match those of the application program being taken over
for forced takeover to continue. See z/OS Communications Server: SNA Programming for details on the actual capabilities that
must match. In addition, for forced takeover, the state of the application
being taken over must be one in which forced takeover is permitted,
and the application being taken over must indicate that it will accept
forced takeover requests.
- The same CDRSC and DLUR processing is performed for forced takeover
as is performed for planned takeover.
- OPEN ACB processing is performed for the application at the taking
over VTAM, but no response
is posted to the application. VTAM must first obtain ownership of the application from the current
owning VTAM before the OPEN
ACB can be considered successful.
- The VTAM attempting to
acquire ownership sends a takeover request to the current VTAM (by XCF). This signal will
carry a new indicator to say this is a forced takeover request. The
target node, if the application status is unchanged or if an earlier
forced takeover attempt from a different node has not already been
accepted, will initiate CLOSE ACB processing for the application.
This is the same persistent CLOSE ACB processing that was required
before MNPS planned takeover request processing, but now, for forced
takeover, the CLOSE ACB is driven internally by VTAM. This persistent CLOSE processing is still
required, even for forced takeover, in order to get a stable representation
of the application sessions and underlying HPR pipes for takeover
purposes.
The application is notified of the persistent CLOSE
processing using the TPEND exit. When the persistent CLOSE ACB completes,
the current owning VTAM, just
as in planned takeover, updates the multinode persistent session structure
to show the taking over VTAM as the application owner, and then sends a positive takeover reply.
Note: Because the CLOSE ACB is now performed at the current owning VTAM as part of forced takeover
processing, the user should anticipate a slightly longer recovery
time for forced takeover as compared to planned takeover.
Recommendation: An application willing to
accept MNPS forced takeover requests must consider carefully the PSTIMER
setting chosen (if one is used at all). A persistent CLOSE ACB for
the application is driven by VTAM as part of the forced takeover logic and after that has completed
successfully, a non-persistent CLOSE ACB is driven. The application
PSTIMER value should be set to a value at least long enough to allow
the internal VTAM processing
to occur between the completion of the persistent CLOSE and the start
of the non-persistent CLOSE. An interval of 30 seconds or more is
recommended for this situation.
- When the taking over VTAM receives the positive takeover reply, VTAM will claim the structure storage lists associated with
the application and will mark the application as being enabled for
persistence. The response to the OPEN ACB is then posted to the application,
because this VTAM has now acquired
ownership of the application. Takeover processing proceeds along the
same lines as planned takeover at this point.
- After transferring ownership, the previous owning VTAM cleans up its local representations of
the sessions and underlying HPR pipes in the exact same manner as
it did for planned takeover processing. The local copy of the application
is discarded when the sessions and pipes are eliminated.
- As with planned takeover, when the new owning VTAM has re-created the necessary session control
blocks from the information in the coupling facility, the application
program must restore the session, using the OPNDST RESTORE command
or APPCCMD RESTORE (if using the APPCCMD API), before session data
traffic can resume completely.