IBM Support

IC97897: UNEXPECTED LOCK ESCALATIONS ON DB2 PURESCALE SYSTEMS USING STMM LOCKLIST TUNING OR MANUAL DYNAMIC UPDATE OF LOCKLIST SETTING

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Due to a logic error on pureScale systems, the locklist manager
    might calculate an unexpectedly low internal "maximum locks per
    transaction" value.  This results in lock escalations when
    applications are holding a small number of locks and a locklist
    that is not exhausted.  The calculation error is due to an
    incorrectly maintained internal counter which tends to increase
    over time, so the issue is more likely seen the longer a
    database is active.
    
    Systems where STMM is tuning locklist (and maxlocks) are highly
    vulnerable since the "maximum locks per transaction" is
    recalculated after database activation.  However, the problem
    might also be introduced on a system if locklists or maxlocks
    are updated dynamically, since the "maximum locks per
    transaction" are recalculated at that time and might be
    influenced by the invalid internal counter.
    
    The example escalation below shows a lock escalation that is
    occurring even though the application is holding only 33 locks.
    It is reported that this is due to reason code 1, which means
    that the maximum allowed locks for the application has been
    reached.  This is virtually impossible because of the low
    locklist and maxlocks settings, and implies the system is
    encountering the incorrect locklist manager calculation:
    
    FUNCTION: DB2 UDB, data management, sqldEscalateLocks, probe:1
    MESSAGE : ADM5501I  DB2 is performing lock escalation. The
            affected application is named "db2bp", and is associated
            with the workload name "SYSDEFAULTUSERWORKLOAD" and
            application ID "*N0.mcornish.131114133735" at member
            "0". The total number of locks currently held is "33",
            and the target number of locks to hold is "16". The
            current statement being executed is "drop table t1".
            Reason code: "1"
    

Local fix

  • Use manual locklist tuning as opposed to STMM, and avoid
    dynamically altering the locklist or maxlocks settings.  On a
    system experiencing unexpected locklist escalations, recycling
    the database will reset the internal "maximum locks per
    transaction" parameter to a normal value.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * DB2 pureScale Feature                                        *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * See Error Description                                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to DB2 version 10.1.0.4.                             *
    ****************************************************************
    

Problem conclusion

  • The problem is first fixed in DB2 version 10.1.0.4.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IC97897

  • Reported component name

    DB2 FOR LUW

  • Reported component ID

    DB2FORLUW

  • Reported release

    A10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-11-22

  • Closed date

    2014-05-08

  • Last modified date

    2014-05-26

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

    IC97805

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

Fix information

  • Fixed component name

    DB2 FOR LUW

  • Fixed component ID

    DB2FORLUW

Applicable component levels

  • RA10 PSN

       UP

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
26 May 2014