PM79266: ABEND04E 00C90101 DSNIBHUN ERQUAL5022 DURING BACKOUT

A fix is available

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • One UR deleted a record, inserted a record with different
    length and reused rid deleted previously. Later, it needed to do
    rollback. it pseudo deleted record inserted. while it tried to
    reinsert record deleted at same rid, it found that record length
    was different and abended with RC00C90101 DSNIBHUN 5022
    
    Here are the problem scenarios.
    
    case 1:
    ---------------------------------------------------------
    0. there was one hole (rid 4d) chained off PGIDFREE in a V9 old
    format page x'00504C06' on a UTS partition table space
     "CSPPROD.SPHIS"(0109.0002).
    1. delete  - DSNIIDIS(UK75105) deleted a rid#4 and made it a
    hole (length x'32').
    2. insert  - DSNISGRT(UK80579) inserted a row into the hole
    rid#4 (length=x'2D')
    3. insert  - DSNISGRT inserted a row into the last hole rid#4D
    and made PGIDFREE zero because of no more hole.
    4. abort
    5. DSNIBHUN(UK78365) saw V10 UTS(xPDFmt true) and PGIDFREE=0, so
    determined records in the page x'00504C06' were pseudo-deleted
    (xReUsePD was set true).
    6. DSNIBHUN deleted the two inserted rows(rid#4D & rid#4), and
    then tried to insert the deleted row (length x'32') into the
    rid#4 because DSNIBHUN assumed the record was psuedo-deleted,
    but saw the rid#4 have length x'2D' instead of x'32'. This
    caused ABNE04E 00C90101  DSNIBHUN:5022.
    
    case 2:
    ---------------------------------------------------------
    1. delete  - DSNIIDIS deleted a rid#44 and made it a hole
    (length=x'2A') in a V9 old format page x'03C02281' on a UTS
    partition table space "CSPPROD.SPHIS"(0109.0002).
    2. insert  - DSNISGRT called DSNISMCP to compact the page and
    inserted a row into the rid#44 at the tail (lengtdh=x'30')
    3. insert  - DSNISGRT inserted a row using the last hole rid#49
    (lengtdh=x'30') that made PGIDFREE zero because of no more hole.
    4. abort
    5. same story as the case 1.
    

Local fix

  • n/a
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: DB2 10 for z/OS new function mode (NFM)      *
    *                 users of universal table space (UTS)         *
    ****************************************************************
    * PROBLEM DESCRIPTION: ABEND04E RC00C90101 DSNIBHUN ERQUAL5022 *
    *                      during ABORT.                           *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    For UTS in V10 NFM, if an INSERT operation reused the rid of the
    preceding DELETE operation in the same UR, and the UR ABORTed,
    DB2 UNDO the INSERT operation first and made a pseudo deleted
    record if PGIDFREE on the page happened to be 0, when it came to
    UNDO the DELETE operation, DB2 thought the pseudo deleted record
    was by the DELETE operation but only found length of the pseudo
    deleted record didn't match that in log record for the DELETE
    operation and ABENDed the ABORT.
    

Problem conclusion

  • DB2 code is modified not to take the pseudo deleted record as
    the one by the DELETE under UNDO. With the fix, UNDO DELETE will
    turn the pseudo deleted record into hole and add the logged
    DELETE data back onto PGFREEP. Page compaction will be conducted
    if necessary.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM79266

  • Reported component name

    DB2 OS/390 & Z/

  • Reported component ID

    5740XYR00

  • Reported release

    A10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-12-17

  • Closed date

    2013-01-18

  • 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:

    UK91065

Modules/Macros

  •    DSNIBHUN
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • RA10 PSY UK91065

       UP13/02/05 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.



Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

DB2 for z/OS

Software version:

A10

Reference #:

PM79266

Modified date:

2013-03-04

Translate my page

Machine Translation

Content navigation