IBM Support

PM80880: PERSISTENT JVM IN MPP PERFORMANCE ENHANCEMENT: DB2 JCC CONNECTION RE-USE.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • Provide function to allow DB2 JCC connection re-use for better
    performance in an IMS  Persistent JVM MPP environment.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All IMS V12 users of Persistent JVM in       *
    *                 MPP/BMP/IFP where the IMS MPP/BMP/IFP        *
    *                 application invokes a Java application which *
    *                 makes DB2 calls through DB2 JCC              *
    ****************************************************************
    * PROBLEM DESCRIPTION: Performance issue due to the DB2 JCC    *
    *                      connection not being re-used if the     *
    *                      security environment has not been       *
    *                      changed (ie.  transaction origin userid *
    *                      has not changed)                        *
    ****************************************************************
    * RECOMMENDATION: INSTALL CORRECTIVE SERVICE FOR APAR/PTF      *
    ****************************************************************
    For an IMS MPP/BMP/IFP application executing in a Persistent JVM
    environment and calling a Java application which makes DB2 calls
    through DB2 JCC, there exists a potential negative performance
    impact due to the DB2 JCC connection not being re-used if it can
    be re-used.  Basically, the DB2 JCC connection can be re-used if
    the transaction origin userid has not changed between
    transaction boundaries.
    
    IMS controls the DB2 JCC connection during IMS syncpoint
    processing by invoking the DB2 JCC method ExternalOps.reset() to
    tell DB2 JCC to reset the connection in preparation for the next
    transaction.
    
    To resolve this issue, IMS will leverage a DB2 JCC function
    which allows the DB2 JCC connection to be re-used if the
    transaction userid has not been changed between transactions.
    
    This service has the following software dependency:
    
    - If you specify DB2JCC_CONN_REUSE=Y (defined below), DB2 APAR
      PM77184 (JCC3.64) or DB2 APAR PM77185 (JCC4.14) is required.
    

Problem conclusion

Temporary fix

Comments

  • With this maintenance, IMS introduces user option
    DB2JCC_CONN_REUSE=Y|N which is specified in the ENVIRON= member
    of the dependent region (eg.  member DFSJVMEV)
    
    PARMBLK:
    Added new field PCDB2JCR to contain DB2JCC_CONN_REUSE= value.
    
    DFSPCC20:
    Added logic to pass address of field PCDB2JCR to DFSJVM00 during
    JVM creation so DFSJVM00 can properly set field PCDB2JCR with
    the DB2JCC_CONN_REUSE= value.
    
    DFSJVM00:
    Added logic to recognize the new DB2JCC_CONN_REUSE option and
    set new field PCDB2JCR accordingly.
    
    DBFFPPR0:
    DFSTMPR0:
    Added supporting code for new DB2JCC_CONN_REUSE function which
    examines new field PCDB2JCR to determine whether or not to
    invoke DB2 JCC in a way that the DB2 JCC connection can be
    re-used for the subsequent transaction.
    
    DBFHGU10:
    DFSCPY00:
    Added supporting code for new DB2JCC_CONN_REUSE function.
    
    DFSPCJB0:
    DFSPCJM0:
    Recompiled due to JVMFSPLL length change and some field
    offset changes to JVMFSPL  DSECT.
    
    
    ***************** PUBS CHANGES *******************************
    
    Book: GC19302101 - System Definition
    
    In section "Parameter descriptions for IMS procedures", under
    the ENVIRON= parameter description, add the following
    description for the new DB2JCC_CONN_REUSE parameter that can be
    specified in the ENVIRON= member:
    
    DB2JCC_CONN_REUSE= Y | N
        Specifies whether (Y) or not (N) you want IMS to communicate
        to DB2 JCC that the DB2 JCC connection should be re-used if
        possible for the next transaction. The default is N.
    
        This option is recognized only for MPP, BMP, and IFP
        regions.
    
        Note: If DB2JCC_CONN_REUSE=Y is specified, the DB2 JCC
        connection will only be re-used if the transaction userid
        for the next transaction is the same as the userid for the
        previous transaction.
    
    
    Book: GC18971408 - Messages and Codes, Volume 3: IMS Abend Codes
    
    Under the U0101 description, under section "For DFSPCC20:", add
    the following for V12 and above only:
    
     "Reg7 and Reg8 together contain the value of field RCPGM
      (program name) at time of abend."
    
    Under the U0101 description, under section "For DFSPCC20:", add
    the following to the description of reason code 5 only
    (Reg15=X'5') and for V12 and above only:
    
    "If Reg3=X'0C', message DFS650E precedes this abend."
    
    
    Book: GC18971208 - Messages and Codes, Volume 1: DFS Messages
    
    DFS650E
    
    NON-LE COMPLIANT PROGRAM IN PERSISTENT JVM ENVIRONMENT,
    NAME=program name
    
    Explanation
    
    The user attempted to load and execute a non-Language
    Environment (LE) compliant/conforming program in a persistent
    JVM dependent region environment.  Any program that executes in
    a persistent JVM dependent region environment must be LE
    compliant/conforming.
    
    System action
    
    ABENDU0101-05 (reason code 5) is issued to terminate the
    application.
    
    Programmer response
    
    Correct the program to make it LE compliant/conforming.  The
    program did not contain a valid LE entry prolog.  Make sure that
    the program was compiled with a current LE enabled compiler.
    See z/OS Language Environment Programming Guide (SA22-7561) for
    a description of LE compliant/conforming programs.
    
    Module
    
    DFSPCC20
    
    
    Book: GC19301902 - Release Planning Guide
    
    In a mixed Java/COBOL environment, APAR PM80880 provides the
    ability to re-use DB2 JCC connections for MPP, BMP, and IFP
    region programs that invoke a Java application which accesses
    DB2 through DB2 JCC.
    
    The DB2JCC_CONN_REUSE=Y|N parameter is now supported in the
    PROCLIB member that is specified on the ENVIRON= parameter.  The
    default is N.
    
    If DB2JCC_CONN_REUSE=Y is specified, the DB2 JCC connection will
    only be re-used if the transaction userid for the next
    transaction is the same as the userid for the previous
    transaction.
    

APAR Information

  • APAR number

    PM80880

  • 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

    2013-01-17

  • Closed date

    2013-02-21

  • Last modified date

    2013-03-04

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    PM81408 UK91884

Modules/Macros

  • DBFFPPR0
    DBFHGU10
    DFSCPY00
    DFSJVM00
    DFSPCC20
    DFSPCJB0
    DFSPCJM0
    DFSTMPR0
    PARMBLK
    

Publications Referenced
GC19302101GC18971408GC19301902GC18971208 

Fix information

  • Fixed component name

    IMS V12

  • Fixed component ID

    5635A0300

Applicable component levels

  • R200 PSY UK91884

       UP13/02/22 P F302  

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