Skip to main content

TPF : Support : Maintenance TPF : Support : Maintenance

JavaScript not Active

This page uses JavaScript. You must activate JavaScript in your browser to be sure youare able to view all of the information.

SUBJECT:         APAR  NUMBER: PJ27925  (HIPER)
 
REFERENCE:  AREA:     MQS SUPPORT
            SEGMENT:  C$MQRM40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  CL1340     - RELEASE:  TPF4  (C)
            SEGMENT:  CL1440     - RELEASE:  TPF4  (C)
            SEGMENT:  CL3140     - RELEASE:  TPF4  (Assembler)
            SEGMENT:  CMQCKP40   - RELEASE:  TPF4  (C++)
            SEGMENT:  CMQFRM40   - RELEASE:  TPF4  (C++)
            SEGMENT:  CMQMRM40   - RELEASE:  TPF4  (C++)
            SEGMENT:  CMQRCV40   - RELEASE:  TPF4  (C++)
            SEGMENT:  CMQRM40    - RELEASE:  TPF4  (C++)
            SEGMENT:  CMQXLR40   - RELEASE:  TPF4  (C++)
            SEGMENT:  CMQXRM40   - RELEASE:  TPF4  (C++)
            SEGMENT:  CXQPRP40   - RELEASE:  TPF4  (Assembler)
            SEGMENT:  I$MQRT40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  I$TMCR40   - RELEASE:  TPF4  (C-Header)
            SEGMENT:  ICRCR40    - RELEASE:  TPF4  (Dsect)
            SEGMENT:  ICRCT40    - RELEASE:  TPF4  (Dsect)
            SEGMENT:  IMQRM40    - RELEASE:  TPF4  (Dsect)
            SEGMENT:  SPPGML40   - RELEASE:  TPF4  (Macro)
 
 
Pre-requisite APARs are:
FOR SEGMENT C$MQRM40   (C-Header)  - REL TPF4
 PJ27023  
FOR SEGMENT CL1340     (C)         - REL TPF4
 PJ25094  
FOR SEGMENT CL1440     (C)         - REL TPF4
 PJ25094  
FOR SEGMENT CL3140     (Assembler) - REL TPF4
 PJ25094  
FOR SEGMENT CMQCKP40   (C++)       - REL TPF4
 PJ27023  PJ27384  PJ27892  
FOR SEGMENT CMQFRM40   (C++)       - REL TPF4
 PJ27023  PJ27332  
FOR SEGMENT CMQMRM40   (C++)       - REL TPF4
 PJ27023  PJ27698  PJ27674  
FOR SEGMENT CMQRCV40   (C++)       - REL TPF4
 PJ27023  PJ27221  PJ27351  PJ27991  PJ27779  
FOR SEGMENT CMQRM40    (C++)       - REL TPF4
 PJ27023  PJ27536  
FOR SEGMENT CMQXLR40   (C++)       - REL TPF4
 PJ27023  PJ27050  PJ27221  PJ27351  PJ27431  PJ27991  
FOR SEGMENT CMQXRM40   (C++)       - REL TPF4
 PJ27023  
FOR SEGMENT CXQPRP40   (Assembler) - REL TPF4
 PJ27023  PJ27351  PJ27708  
FOR SEGMENT I$MQRT40   (C-Header)  - REL TPF4
 PJ27023  
FOR SEGMENT I$TMCR40   (C-Header)  - REL TPF4
 PJ25094  PJ25182  PJ25258  PJ26439  
 PJ26687  PJ27023  PJ27460  
 PJ27446  
FOR SEGMENT ICRCR40    (Dsect)     - REL TPF4
 PJ25094  PJ25258  PJ27023  
FOR SEGMENT ICRCT40    (Dsect)     - REL TPF4
 PJ25094  PJ25182  PJ25258  PJ26439  
 PJ26687  PJ27023  PJ27460  
 PJ27446  
FOR SEGMENT IMQRM40    (Dsect)     - REL TPF4
 PJ27023  
FOR SEGMENT SPPGML40   (Macro)     - REL TPF4
 PJ13509  PJ13579  PJ14357  PJ14282  
 PJ14858  PJ14605  PJ14437  
 PJ16213  PJ15454  PJ14737  PJ14947  
 PJ17852  PJ17912  PJ15728  
 PJ19734  PJ19949  PJ19966  PJ19938  
 PJ19866  PJ21121  PJ21044  
 PJ20777  PJ21167  PJ21596  PJ21584  
 PJ21592  PJ21791  PJ20388  
 PJ21953  PJ22079  PJ22088  PJ22098  
 PJ21706  PJ22170  PJ21709  
 PJ22389  PJ21452  PJ21906  PJ21701  
 PJ21705  PJ23148  PJ23128  
 PJ22434  PJ23178  PJ23180  PJ23318  
 PJ22937  PJ23312  PJ22843  
 PJ23430  PJ23434  PJ23338  PJ21693  
 PJ23297  PJ21694  PJ21708  
 PJ24035  PJ23931  PJ23923  PJ23922  
 PJ24344  PJ24025  PJ24472  
 PJ23620  PJ23526  PJ24525  PJ24530  
 PJ24563  PJ24548  PJ24622  
 PJ24468  PJ23984  PJ24771  PJ24845  
 PJ25084  PJ25094  PJ25098  
 PJ25089  PJ25158  PJ25240  PJ25277  
 PJ25266  PJ25207  PJ25174  
 PJ23981  PJ25075  PJ25375  PJ25379  
 PJ25491  PJ25199  PJ25425  
 PJ25632  PJ25614  PJ25589  PJ25703  
 PJ25720  PJ25332  PJ25760  
 PJ25763  PJ25781  PJ25780  PJ25817  
 PJ25982  PJ25983  PJ25981  
 PJ26125  PJ25880  PJ26150  PJ26187  
 PJ26008  PJ26156  PJ26161  
 PJ26188  PJ26174  PJ26270  PJ26337  
 PJ26374  PJ26366  PJ26283  
 PJ25761  PJ26515  PJ26575  PJ26577  
 PJ26534  PJ26683  PJ26522  
 PJ26713  PJ26600  PJ26581  PJ26666  
 PJ26693  PJ26686  PJ26809  
 PJ26707  PJ26864  PJ26892  PJ26746  
 PJ26793  PJ26841  PJ26887  
 PJ26967  PJ27023  PJ27028  PJ21337  
 PJ26904  PJ26890  PJ27079  
 PJ26895  PJ27156  PJ27095  PJ27197  PJ27246  PJ27305  PJ27345  
 PJ27231  PJ27277  PJ27351  PJ27387  PJ27328  PJ27383  PJ27083  
 PJ27299  PJ27302  PJ27268  PJ27333  PJ27214  PJ27393  PJ27422  
 PJ27180  PJ27469  PJ27094  PJ27430  PJ27636  PJ27380  PJ27491  
 PJ27647  PJ27714  PJ27484  PJ27530  PJ27627  PJ27650  PJ27617  
 PJ27686  PJ27634  PJ27804  PJ27746  PJ27784  PJ27865  PJ27894  
 PJ27786  PJ27847  PJ27951  PJ27863  PJ27905  PJ27954  PJ27848  
To be applied in the order listed for each segment.

ABSTRACT OF PROBLEM
___________________
With  turbo enhancements for TPF support of MQSeries Local Queue
Manager (PJ27023) applied, a CTL-C system error may occur during
TPF system restart because of  an  excessive  use  of  SWBs  and
system heap.
 

COMMENTS ON PROBLEM
___________________
Turbo  enhancements  for  TPF  support  of  MQSeries Local Queue
Manager  (PJ27023)  provides  a  high  performance  local  queue
manager  on  the TPF system.  In order to achieve this high per-
formance, the operations of the MQSeries local queue manager are
closely tied to the TPF transaction services recovery log.   The
MQSeries local queue manager writes information about all recov-
erable  transactions to the TPF recovery log.  In the event of a
system outage, all local queues will then be  rebuilt  to  their
state before the system outage occurred.
 
During system restart, the MQSeries restart and recovery process
saves all relevant information for indoubt MQSeries transactions
in  the  MQSeries recovery table (MQRT) and MQSeries transaction
table (MQTXT).  These recovery tables are built dynamically  and
stored  in  system heap frames.   If there are a large number of
MQSeries transaction events (for example,  MQPUT,  MQGET,  queue
sweep,  queue  unsweep,  and  so on) present on the TPF recovery
log, this can cause an excessive amount of data to be  saved  in
the  MQTXT.   If the MQTXT becomes too large, the TPF system can
run out of system heap  frames,  causing  a  catastrophic  CTL-C
system error.
 
In  addition,  the  TPF transaction manager (TM) must maintain a
record of all committed transactions found on the  TPF  recovery
log during the recovery process.  For each committed transaction
found,  a TM control record (TMCR) is created in the transaction
 
 
                                                                            1
 
 
 
 
 
 
 
 
 
anchor table (TANC).  Each TMCR resides in a single system  work
block  (SWB).    If there are a large number of committed trans-
actions on the TPF recovery log, the TPF system may run  out  of
SWBs, causing a catastrophic CTL-C system error.
 
In each of these instances, a prolonged system outage will occur
because  of  the  looping  catastrophic dumps during the restart
process.
 

SOLUTION
________
In order to minimize the  number  of  system  heap  frames  used
during MQSeries restart and recovery, the phase 1 processing has
been  modified  to  save MQGET or queue sweep transaction events
only if there is a possibility that  the  specified  message  is
present  in  the checkpointed version of the queue.  In order to
due this, two new MQSeries log records are being written to  the
TPF  recovery  log.    The  first  indicates that the checkpoint
process has begun for a particular subsystem.  The second  indi-
cates that the checkpoint process has successfully completed for
a  particular subsystem.   By referencing these new MQSeries log
records, the MQSeries restart and recovery process will not save
MQGET or queue sweep log records if the  corresponding  addition
of  the  message  to  the  queue  (with  MQPUT or queue unsweep)
occurred in the same checkpoint scope  as  the  removal  of  the
message  from  the  queue.    A  message is said to be added and
removed to and from the queue in the same  checkpoint  scope  if
both  events  occurred  before  the  most  recent  checkpointing
process began or if both events occurred after the  most  recent
checkpointing  process  completed.   In each of these instances,
the message is guaranteed to not be present in the  checkpointed
version  of the queue and it is not necessary to save any infor-
mation about the message.  This will reduce the number of system
heap frames used during processing of the TPF recovery log.
 
In addition, the TPF transaction manager (TM) has  been  updated
to  save  a  list  of  all committed transaction IDs (TIDs) in a
dynamically created hash table.  A TM control record  (TMCR)  is
only  created in the event that it is needed during the recovery
process by one of the resource managers  (RMs)  of  the  system,
which  reduces  the number of SWBs used during processing of the
TPF recovery log.
 
DEPENDENCIES
____________
 
Related Segments Affected By This APAR.
_______________________________________
 
Segments to be assembled or compiled:
   None.
 
Segments to be link edited:
   CL13BS
   CL14BS
   CMQFBS
   CMQMBS
   CMQSBS
   CMQXBS
   CTALBS
   CUIUBS
 
Load Modules to be loaded:
   None.
 
Migration Considerations
========================
 
 
o   If running in a loosely coupled complex, PJ27991 must be applied
    to all processors that are not updated with PJ27925.
    In the event of a log takeover situation, without PJ27991 applied,
    a processor not updated with PJ27925 may encounter a CTL-D4 or
    CTL-3 system error because of the unrecognized checkpoint begin and
    checkpoint end log records added by PJ27925.
 
o   A stub must be built for CL13.
 
-- END APAR PJ27925
 
 
 



Download file(s): Login once to access server, leave window open, then click on link(s) below. Source Listing Binary