A fix is available
APAR status
Closed as new function.
Error description
CCTL DRA Open Thread TCB support.
Local fix
Additional Keywords: kixdcfcic670
Problem summary
**************************************************************** * USERS AFFECTED: All V12 users of CCTL DRA including * * CICS Thread Safe TS 4.2 users. * **************************************************************** * PROBLEM DESCRIPTION: IMS V12 CCTL DRA Open Thread TCB * * enhancement. * * Provide CCTL exploiters the option to * * direct the DRA not to attach dedicated * * thread TCBs and allow DL/I processing * * to be done on the application TCB. * **************************************************************** * RECOMMENDATION: INSTALL CORRECTIVE SERVICE FOR APAR/PTF * **************************************************************** IMS V12 CCTL DRA Open Thread TCB enhancement. Prior to this enhancement, the IMS CCTL DRA attaches dedicated thread TCBs in the CCTL address space. PSB schedule requests are assigned one of these thread TCBs. All subsequent thread related DL/I requests result in the application's task being suspended, processing switches onto the DRA thread TCB to complete the DL/I request. Upon returning, the application's task is resumed, switching processing off the DRA thread TCB which is then suspended awaiting the next DL/I request. This sequence of events is repeated for each DL/I call, syncpoint requests and thread termination at which time the DRA thread TCB becomes available for a new PSB schedule request.
Problem conclusion
Temporary fix
Comments
POSTREQ PM47327 REPINNED RP11/09/10 (ATXT) TO ADD POSTREQ PM47327 INFO. **** PEyy/mm/dd PTF IN ERROR. SEE APAR PM47327 for description. IMS V12 CCTL DRA Open Thread TCB (OTT) enhancement provides the option for CCTL exploiters to direct the DRA not to attach dedicated DRA thread TCBs. This avoids the overhead of TCB switching and lead to improved parallel processing. CICS TS 4.2 extends the threadsafe support to the DBCTL / DRA interface taking advantage of the DRA Open Thread TCB support. --------------------------------------------------------------- How to activate DRA Open Thread TCB: The DRA Open Thread TCB option is either in use or not in use for the duration of the instance of the DRA. --------------------------------------------------------------- Initialization request (PAPLFUNC= PAPLINIT) To request DRA Open Thread TCB activation: PAPLFNCL = 3 (PAPLFNC3) PAPLDROP flag field PAPLOOTT (x'08') set to 1 On return from INIT request: If DRA Open Thread TCB is activated: PAPLDLEV flag field PAPLOTCB (x'08') set to 1 If PAPLOTCB is not set to 1, the DRA is not using the Open Thread TCB feature. The user suspend and resume exits will still be used in certain call processes. Continue to specify them if you do not wish to use the DRA default exits. With the exception of the above, the INIT call processing remains the same. ---------------------------------------------------------------- Thread requests (PAPLFUNC= PAPLTFUN) In general, all thread requests now process under the caller's TCB. The suspend and resume exits will not be called during normal thread processing. Thread schedule request (PAPLSFNC = PAPLSCHE) PAPLCFLG special processing flag byte PAPLUFXT (x'02') Unfixed TCB Set PAPLUFXT to 1 on the schedule call to indicate to the DRA that thread TCB may not be the same TCB for the duration of the thread. The TCB may change between the time the PSB is scheduled and the time the thread is terminated. Effect on MINTHRD and MAXTHD ========================== Because DRA thread TCBs are not attached in this environment, MINTHRD takes on a slightly different meaning. MINTHRD will not apply to the number of threads attached at DRA initialization (because thread TCBs are not attached) but does indicate how many thread structures to allocate during initialization. When threads are assigned for a schedule request, they will signon to IMS at that time. When the thread is signed-on to IMS, it will appear in the IMS /DIS A REGION/THREAD command. When the active threads exceeds MINTHRD the DRA will slowly signoff inactive threads to return to MINTHRD. MAXTHRD is effectively unchanged. External Changes ============== DFSPZPxx ======== -DRA startup table is created by coding DFSPRP macro, compiling and linking it. See DFSPZP00 for an example. -The FUNCLV= value is increased to '3' providing support of DRA options -If FUNCLV= is specified either change it to specify '3' or do not specify and allow it to default to '3'. DFSPAPL ======= -PAPLRSNC reason code field added to supplement return codes returned in PAPLRETC. -PAPLFNCL is incremented to level '3' (PAPLFNC3) >PAPLFNC3 adds DRA options support. DRA options is used in the implementation of DRA Open Thread TCB. In order to activate Open Thread, PAPLFNC3 must be specified on the INIT call. -PAPLDROP is a new one byte field added to support DRA options. Specify requested DRA options in this field on the PAPLINIT call. >PAPLOPSK (x'01') - Use subpool 132 for DIRCA storage This option is activated in the DRA automatically. It has been included in PAPLDROP to remain consistent with PAPLDLEV. >PAPLOSUS (x'02') - Single cycle commit support requested This option is activated in the DRA automatically. It has been included in PAPLDROP to remain consistent with PAPLDLEV. >PAPLOP31 (x'04') - Allocate PCBs(DIRCA) in 31 bit storage >PAPLOOTT (x'08') - Open Thread TCB activation requested -PAPLDLEV contains feedback flags set by the DRA on return to the caller for a DRA INIT request (PAPLFUNC=PAPLINIT(x'01')). >PAPLPSK (x'01') - Subpool 132 supported This flag already exists >PAPLSUPD (x'02') - Single cycle commit supported This flag already exists >PAPLPL31 (x'04') - PCBs will be allocated above the line This flag already exists >PAPLOTCB (x'08') - flag added to field PAPLDLEV and indicates that the DRA is using Open Thread TCB. This is a new flag -PAPLCFLG contains special processing flags for thread, resync, and thread purge requests. >PAPLUFXT (x'02') - Open Thread TCB unfixed thread TCB This is a new flag DFSDRARC -------- Define new return codes, add reason codes. New and changed return codes: ----------------------------- -Rename return code RCREXT to RCPARM -Add new return code RCESTAFL - Set thread ESTAE failed New reason codes: ----------------- DRSNOK 0 Good reason code Reason codes for RCPARM (36) ---------------------------- DRSFNCLV X'0004' DRA function level invalid DRSDBCID X'0008' DBCTL id not specified/invalid DRSUSRID X'000C' USERID parm invalid DRSMINMX X'0010' MIN or MAX thread parm invalid DRSFPBUF X'0014' FPBUF parm invalid DRSFPBOF X'0018' FPBOF parm invalid DRSCNBA X'001C' NBA parm invalid DRSSUSPX X'0020' No suspend exit specified DRSRESMX X'0024' No resume exit specified DRSCNTLX X'0028' No control exit specified Reason codes for RCLOADE (48) ----------------------------- DRSPRP X'0004' Load DFSPZPxx failed DRSVC00 X'0008' Load DFSVC000 failed DRSPXPRM X'000C' Load DFSPRPX0 failed DRSPRC10 X'0010' Load DFSPRC10 failed DRSPRA10 X'0014' Load DFSPRA10 failed DRSPAT00 X'0018' Load DFSPAT00 failed DRSPAT10 X'001C' Load DFSPAT10 failed Changed parts: -------------- DBFIRC10 - Check for DRA Open Thread DFSAERA0 - Accept function level 3 DFSAERG0 - Change SSOB call to use new token field for ODBA threads DFSCDMP0 - Call SETRP in the proper key DFSCPY00 - Check for Open Thread type DFSCPY50 - Check for Open Thread type DFSDASC0 - Check for Open Thread type DFSDASP0 - Create WLM PB token on schedule for Open Thread type DFSDASS0 - Support for Open Thread type DFSDAST0 - Support for Open Thread type DFSDCPY0 - Support for Open Thread type DFSEF00F - Recompile for IPST changes DFSFPAT0 - Thread estae. Skip estae processing if thread is not actively processing a DRA thread request. Move processes from ETXR routine to estae as ETXR routine is not established in Open Thread environment. DFSFPRA0 - Convert to branch relative. Logic changes to account for Open Thread unique processing during DRA termination. DFSLLKX0 - Add check for DRA open thread region type. DFSPAT00 - Recompile for DRA block changes. Change ESTAE call to ESTAEX. DFSPAT10 - New module to process all Open Thread thread requests. DFSPAT20 - Support for Open Thead type DFSPDLI0 - Support for Open Thread type DFSPINI0 - Support for Open Thread type DFSPNRT0 - Add logic to process /STO thread command for Open Thread type DFSPRA10 - DRA initialization changes for Open Thread TCB support DFSPRA30 - DRA thread allocation support for Open Thread type DFSPRA40 - DRA thread termination support for Open Thread type DFSPRC10 - Delete DFSPAT10 during DRA cleanup DFSPRRA0 - DRA control TCB support for Open Thread type DFSPRRC0 - DRA Open Thread type support. DFSPSCH0 - Modify SSOB call to use Open Thread token DFSPSYN0 - Pass Open Thread token in the SSOB open thread token field DFSPZP00 - Recompile for changes to DFSPRP macro and support function level 3 DFSV4100 - /Stop thread changes for Open Thread type DFSIDT - Define new bit for Open Thread type regions DFSPAC - Define new flags and bits for support of Open Thread DFSPAPL - Define new flags and bits for support of DRA Options and Open Thread TCB DFSPAT - Define new flags in the PATE for Open Thread call in progress and Unfixed TCB in affect. DFSPRP - Add FUNCLV=3, DRA Options support Add PRPDROP for DRA options requests. DFSSSOB - New fields defined for FUNC=PARSVC calls to support Open Thread TCB tokens. IPST - Define new region type in PSTTERM , PSTCOTT for Open Thread type PARMBLK - New type in RCTYP1, RCOTPAR for Open Thread type Document updates: ---------------------------------------------------------------- Release Planning Guide ---------------------------------------------------------------- IMS DRA enhancement overview The IMS Version 12 DRA thread enhancement provides the option for the DRA clients to direct the DRA not to attach dedicated DRA thread task control blocks (TCBs). By not doing so, the overhead of TCB switching is avoided and parallel processing can be improved. CICS TS 4.2 takes advantage of the IMS Version 12 DRA thread enhancement. ---------------------------------------------------------------- Programming for IMS: System programming APIs Database Resource Adapter (DRA) CCTL Initiated DRA function requests ---------------------------------------------------------------- INIT Request ------------ DRA Open Thread TCB allows the CCTL to direct the DRA not to attach dedicated DRA thread TCBs and allow DRA thread requests to be processed on the CCTL application TCB. The DRA Open Thread TCB option is either in use or not in use for the duration of the instance of the DRA. Field Contents To request DRA Open Thread TCB activation: PAPLFNCL = 3 (PAPLFNC3) PAPLOOTT Request the DRA to use the Open Thread TCB option. If this bit is set (X'08'), the DRA will activate Open Thread TCB if supported by the DRA. Check PAPLDLEV to determine if it has been activated. After the INIT request, the DRA returns the following data to the CCTL in INIT PAPL If DRA Open Thread TCB is activated: PAPLDLEV flag field PAPLOTCB (x'08') set to 1 If PAPLOTCB is not set to 1, the DRA is not using the Open Thread TCB option. SCHED request ------------- If DRA Open Thread TCB is active, in general, all thread requests process under the caller's TCB. The suspend and resume exits will not be called during normal thread processing. Field Contents PAPLUFXT Unfixed TCB Set PAPLUFXT to 1 on the schedule call to indicate to the DRA that thread TCB might not be the same TCB for the duration of the thread. The TCB might change between the time that the PSB is scheduled and the time the PSB is unscheduled and the thread is terminated. ---------------------------------------------------------------- Installing IMS: System Definition Other Control Statements used in IMS environments Database Resource Adapter startup table for CCTL regions ---------------------------------------------------------------- MINTHRD= Is the minimum number of threads to be available at any given time. The maximum number is 999. The default is 1. When the DRA Open Thread TCB option is active, this value refers to the number of DRA threads that are SIGNED ON to IMS. When the DRA Open Thread TCB option is inactive, this value refers to the number of DRA thread TCBs that remain attached and SIGNED ON to IMS. ---------------------------------------------------------------- Troubleshooting for IMS: IMS Messages and Codes IMS Component Codes DBCTL return codes Return codes from requests under the DRA function ---------------------------------------------------------------- Reason Codes for Return Code 36 ------------------------------- 0004 DRA function level invalid 0008 DBCTL id not specified/invalid 0012 USERID parm invalid 0016 MIN or MAX thread parm invalid 0020 FPBUF parm invalid 0024 FPBOF parm invalid 0028 NBA parm invalid 0032 No suspend exit specified 0036 No resume exit specified 0040 No control exit specified Reason Codes for Return Code 48 ------------------------------- 0004 Load DFSPZPxx failed 0008 Load DFSVC000 failed 0012 Load DFSPRPX0 failed 0016 Load DFSPRC10 failed 0020 Load DFSPRA10 failed 0024 Load DFSPAT00 failed 0028 Load DFSPAT10 failed ×**** PE11/09/10 FIX IN ERROR. SEE APAR PM47327 FOR DESCRIPTION
APAR Information
APAR number
PM31420
Reported component name
IMS V12
Reported component ID
5635A0300
Reported release
200
Status
CLOSED UR1
PE
NoPE
HIPER
NoHIPER
Special Attention
YesSpecatt / New Function / Xsystem
Submitted date
2011-01-27
Closed date
2011-08-18
Last modified date
2013-05-21
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
PM31729 UK70991
Modules/Macros
DBFIRC10 DFSAERA0 DFSAERG0 DFSCDMP0 DFSCPY00 DFSCPY50 DFSDASC0 DFSDASP0 DFSDASS0 DFSDAST0 DFSDCPY0 DFSDRARC DFSEF00F DFSFPAT0 DFSFPRA0 DFSIDT DFSLLKX0 DFSPAC DFSPAPL DFSPAT DFSPAT00 DFSPAT10 DFSPAT20 DFSPCRP0 DFSPDLI0 DFSPINI0 DFSPNRT0 DFSPRA10 DFSPRA30 DFSPRA40 DFSPRC10 DFSPRP DFSPRRA0 DFSPRRC0 DFSPSCH0 DFSPSYN0 DFSPZP00 DFSSSOB DFSV4100 HMK1200J IPST PARMBLK
Fix information
Fixed component name
IMS V12
Fixed component ID
5635A0300
Applicable component levels
R200 PSY UK70991
UP11/08/20 P F108
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Platform":[{"code":"PF054","label":"z Systems"}],"Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
14 December 2020