Skip to Main Content
Integration


This is an IBM Automation portal for Integration products. 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
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


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.


Status Not under consideration
Created by Guest
Created on Aug 30, 2018

Resubmitting backed-out messages

BOQNAME and BOTHRESH attributes of a local queue are incomplete solution to the problem discussed as early as for example this: http://www.mqseries.net/phpBB2/viewtopic.php?t=24679
Add further BO attribute(s) to the queue that will control qmgr behaviour with respect to resubmitting messages from back out queue to the original input queue. That implies that it will not be a mere passive placeholder of data for some vague software agent to act upon it, but it should be an instruction for a certain qmgr process. It should be simple to use, one time interval setting for resubmitting based on original put time would do the job, or even regardless of the put time to make things simpler for implementation, since, one way or the other, the application should take care of the possible change in the order of processing messages.
I noticed several RFEs that somewhat overlap with this, in that that they suggest that backing out messages should also be done by qmgr, and not by application (JMS layer), so I voted for them also. However I cannot vote for 29330, that has a good idea of prefixing the original message with DLH, that would give possibility to use dead letter handler for resubmitting the messages.
Not to mention that a strict naming convention for a back out queue name, based on the name of the original queue with a certain prefix or sufix, would allow for automatic creation and handling of a backout queue for each local queue that needs it, without need for the BOQNAME attribute.

Idea priority High
RFE ID 124193
RFE URL
RFE Product IBM MQ
  • Guest
    Reply
    |
    Nov 25, 2021

    We recognise that this is a valid requirement. However it doesn't fit with our delivery plans for the next couple of years.

    As a result we are declining this Idea. While declined the Idea can still be voted, and commented, upon.

  • Guest
    Reply
    |
    Sep 3, 2018

    So, this could be useful if message can be processed later without need for a repair of its content. The question is then what can cause such conditions, would the next message be immediately processable in that case, what's the big gain in that case, etc... This is actually not driven primarily by me, as an mq admin, but by application providers who claim it could be useful, don't provide repair application module, but only the main processing module. They don't even care how reprocessing of messages happens, thinking it's not their responsibility but mine, they just don't want to cause infinite loop of backouts, so they require me to setup BOQNAME and BOTHRESH, just to avoid that scenario. But I'm not happy with the scenario they envision, either.

  • Guest
    Reply
    |
    Sep 3, 2018

    Hi David, I have envisioned usage of that attributes as optional, so, for people who think it would not be useful there is no problem to just ignore it. However, there is a class of problems that can prevent transaction commit, and as such produce infinite number of rollbacks/backouts, which doesn't require very complex and involved process to rectify the problem, but require resubmitting of messages after the problem is resolved, for example when the content of no particular message is poisonous, but still couldn't be processed normally. So just setting BOQNAME and BOTHRESH to prevent infinite loops (which is done by JMS layer) is only a half of solution.

  • Guest
    Reply
    |
    Aug 31, 2018

    I have to disagree with this request, if I am reading it correctly. It reads to me that the backout queue, currently defined in the QL, should be further processed by the queue manager to return the messages to the original queue at some time/interval/condition.

    This should not be the responsibility of the queue manager. Messages that are placed in a backout queue by an application muct be processed/filtered by a repair application that can look at the message and better determine why it was rejected by the original recipient; in many applications, this is a complex and involved process. Simply putting the data back on the original queue will probably not correct the poison message issue.

    I do agree with the enhancement requests that recommend a new parameter to define how may backouts should be allowed before the queue manager automatically moves the message to the backout queue.