Skip to Main Content
IBM Data and AI Ideas Portal for Customers


This portal is to open public enhancement requests against products and services offered by the IBM Data & AI organization. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:


Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,


Post your ideas

Post ideas and requests to enhance a product or service. Take a look at ideas others have posted and upvote them if they matter to you,

  1. Post an idea

  2. Upvote ideas that matter most to you

  3. Get feedback from the IBM team to refine your idea


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

IBM Employees should enter Ideas at https://ideas.ibm.com


Status Not under consideration
Workspace Db2 for z/OS
Created by Guest
Created on Feb 15, 2022

DB2 Return Code Differentiate for Deadlock and Timeout via Subsys Normal Call Exit

DB2 presents IMS ( via Subsystem Normal Call Exit ) with the same return code (4) for:

DB2 resource deadlocks

DB2 resource unavailable conditions

Example, lock timeouts on object locks, such as are taken by DB2 utilities and those caused by lock escalation

The IMS action for this return code is to handle it as a deadlock, abend the unit of work, and if message driven, requeue the input message to be retried.

This is appropriate for actual resource deadlocks, but in the case of many resource unavailable conditions, the condition is actually persistent and will occur

again when IMS reprocesses the message. This can cause reprocessing loops, which are very expensive and cause excessive and futile resource consumption in IMS.

In these cases, it would be better to abend the unit of work without requeuing the input message for reproccessing.

IMS is not passed any information about the cause of the return code (4) and so has no way to make a better determination.

We are requesting that DB2 use a different return code for deadock than other 'resource unavailable" situations. This would allow IMS to handle the

situation more efficiently

Needed By Yesterday (Let's go already!)
  • Admin
    Janet Figone
    Reply
    |
    Jul 31, 2023

    Hello Sercan, The Db2 for z/OS team completed their re-review of this enhancement request and unfortunately concluded that they still will not be considering it. The change would need to be implemented across multiple component areas, many of which are already committed to work on other epics at this time.

    We appreciate your input to the Db2 for z/OS development team. And we hope that you will continue to submit enhancement suggestions for improvements as customer feedback is a key component to shaping the future direction of Db2 for z/OS.

    Sincerely,

    The Db2 for z/OS Team

  • Admin
    Janet Figone
    Reply
    |
    Aug 19, 2022

    Hi Sercan, Thank you for the update. I have asked development to reconsider their decision and will let you know.

    Sincerely,

    The Db2 for z/OS Team

  • Guest
    Reply
    |
    Jul 26, 2022

    Hi Janet,


    Actually, IMS TM does not access any SQL statement right but our requirement is not related to anything that IMS accesses. It is the return code which is passed to IMS TM from DB2 itself after a resource timeout and deadlock occurs. IMS does not know the difference between DB2 Resource Timeout or DB2 Resource Deadlock(because DB2 passes the same RC), therefore IMS TM can not decide properly what to do. We just need different RC for deadlocks and timeouts, can you re-consider the idea on the basis of that facts.


    Regards,

    Sercan.

  • Admin
    Janet Figone
    Reply
    |
    Jul 25, 2022

    Hello Sercan, Thank you for submitting this enhancement request. Our Db2 for z/OS developers in this component area completed their review. They believe IMS attach does not have access to this information on every SQL statement. Therefore, unfortunately, we will not be considering this enhancement request.

    We appreciate your input to the Db2 for z/OS development team. And we hope that you will continue to submit enhancement suggestions for improvements as customer feedback is a key component to shaping the future direction of Db2 for z/OS.

    Sincerely,

    The Db2 for z/OS Team


  • Admin
    Janet Figone
    Reply
    |
    Mar 25, 2022

    Hello Sercan, Just a friendly update - our Db2 for z/OS development team is still actively reviewing this idea.

  • Guest
    Reply
    |
    Feb 24, 2022

    Hi,

    Actually this is very old issue for us. We have two IMS members and four DB2 members on sysplex. Two of these DB2 members are connected to IMS DB/DC as a subsys.

    We face this problem(lack of communication between DB2-IMS) when persistent locks occur on DB2 objects such as a row of a table(locksize row). For example; We are a bank, our most common case occurs after salary payments. Our salary application pays salary, right after each payment, the other applications(money transfer, bill payment etc.) are triggered. We see high volume of DB2 timeouts on specific rows(accountid, branch no) of DB2 tables. Our last occasion was on 07.02.2022 during busy interval(10:30-11:30). The availability of bank decreased because of these high volume of timeouts.

    Because IMS TM does not know the db2 problem in detail(deadlock or timeout), which is the topic of this Idea, IMS re-schedules the transactions which are db2 timeout victims. Therefore, all of these timed out transactions are re-scheduled, and then most of them failed again. But IMS TM still does not know it is deadlock or timeout, IMS keeps trying to re-schedule timed out transactions. Each transaction can be requeued infinitely until they end successfully, this will cause boost of queueing on IMS and locks all IMS regions which are trying to get db2 lock.

    I'm uploading IMS queue trend graph, number of db2 timeouts&deadlocks and their lists. We believe if DB2 passes different return code to IMS, IMS TM can decide more accurately.


    Sercan.

  • Admin
    Janet Figone
    Reply
    |
    Feb 24, 2022

    Can you please provide more information (e.g. Salesforce case# ) where this issue originated from? Which lock resource was involved to trigger this Aha! Idea?

    Thank you.