IBM Support

PM52870: DELETE WITH CURSOR SQL GETS ABEND 04E 00C90101 DSNICUMW ERQUAL1001 DUE TO INVALID TOKEN IN X STATE LOCK REQUEST

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • DELETE with cursor sql gets ABEND04E RC00C90101 DSNICUMW 1001
    due to invalid token in x state lock request because DSNICUMW
    used old token which was for the previous page after getting
    04/0200 in change lock request.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All DB2 10 for z/OS (V10 CM and higher)      *
    *                 users of deletes or updates on universal     *
    *                 table space with page-level locking          *
    *                 who use cursors defined as WITH ROWSET       *
    *                 POSITIONING when deleting/updating the       *
    *                 table                                        *
    ****************************************************************
    * PROBLEM DESCRIPTION: ABEND04E RC00C90101 DSNICUMW ERQUAL1001 *
    *                      during SQL DELETE WHERE CURRENT OF from *
    *                      a universal table space with page-level *
    *                      locking, when the cursor is defined as  *
    *                      WITH ROWSET POSITIONING                 *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The aforementioned abend happened during DELETE WHERE CURRENT OF
    (could also happen in UPDATE WHERE CURRENT OF), due to an
    incorrectly invoked CHANGE call to IRLM.
    
    In the call, the CUB owning work unit was used when the IRLM
    structures expected (correctly) the CT's owning work unit.
    
    The calling module did not take into account that in multi-row
    fetch applications DB2 may have changed OWU ownership of
    existing locks in that CUB to the CT, in preparation for the
    new row set coming in.
    
    Here is a sample sequence that can expose this issue:
    
    
     DECLARE CUR1 CURSOR WITH HOLD WITH ROWSET POSITIONING FOR
       SELECT EMPID
         FROM EMPTBL FOR UPDATE OF EMPID
    
    
     OPEN CUR1
    
    
     FETCH NEXT ROWSET FROM CUR1 FOR 2 ROWS INTO :EMPID
    
     DELETE FROM EMPTBL WHERE CURRENT OF CUR1
    
    
     FETCH NEXT ROWSET FROM CUR1 FOR 2 ROWS INTO :EMPID
    
     DELETE FROM EMPTBL WHERE CURRENT OF CUR1
    

Problem conclusion

  • Code has been modified for DB2 to correctly invoke IRLM.
    
    Additional keywords: SQLROWSET SQLDELETE SQLUPDATE SQLPBG PBG
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM52870

  • Reported component name

    DB2 OS/390 & Z/

  • Reported component ID

    5740XYR00

  • Reported release

    A10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-11-23

  • Closed date

    2012-02-06

  • Last modified date

    2012-03-01

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

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

    UK76147

Modules/Macros

  • DSNICUMW
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • RA10 PSY UK76147

       UP12/02/28 P F202

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":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEPEK","label":"Db2 for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
01 March 2012