on 07-14-2015 9:40 AM
Hi All,
There are many messages in HOLDING state from past few months, how ever there is no need to process these messages and i need to delete all the HOLDING messages, i am facing difficulty to find the root message,because of which i am unable to delete these messages.
I am getting following error"Setting the message status to 'failed' failed, due to: java.lang.Exception: Predecessor not in final state."
Can anybody let me know is there any thing from admin end where he can delete all messages which are in HOLDING state may be is there a table where these messages are stored and firing a query on the database can delete all these?
Any inputs will be much appreciated!!
Hi Vikram,
The messages in holding status are not getting cancelled since the most of the messages are far away from the adapter or integration engine (whichever be the case), they being in queue. The message closest to the adapter / integration engine is preventing the rest of the messages from getting cancelled, since they are far away from the deliverable points. This is obviously due to QoS being EOIO.
Hence the only solution will be if the message are inbound to PI then please request the sending system to stop sending any further messages for the time being. Or else if the messages are outbound from PI then please stop the flow in SAP for the time being. Then temporarily make the QoS as EO (Exactly Once). This will make the messages reach the deliverable points AE or IE. And then you select all the messages and start cancelling these messages in group .
Once done, please resume the message flows and change the QoS back to EOIO.
Hope this helps. Reward points if helpful.
Kind Regards,
Souvik
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Vikram,
EOIO is basically queue processing and you can not delete entries from middle of t queue. Hence you will not be able to delete one message without having its previous message in Final state which is either "DLVD(Successful)" or "FAIL(Cancelled)".
Don't worry, you will be able to delete them all at once. Please follow the below steps.
1. Open the EOIO Sequence monitoring using the below URL
http://<host:port>/MessagingSystem/monitor/sequenceMonitor.jsp
there you will see message with status "NDLV".
2. click on that message link and delete that message. Then refresh the EOIO sequence monitoring screen. The cancelled message status will be changed to "FAIL". Note down the Serialization Context of the failed message.
3.Now go to RWB->Message Monitoring-->Adapter Engine->Database--> Display
In the advance selection criteria, Enter Serialization context and select all messages with status "Holding".
4. Then it will display all messages that are in Holding state. Enable Multiple selection-->Select all messages and cancel.
5. Now if you refresh the EOIO Sequence monitor, you will not have any messages with that "Serialization Context".
6. Repeat this for all queues(Serialization Contexts) you see in EOIO sequence monitor with status NDLV.
Best Regards,
Priyanka
Hi Vikram,
Normally we face this type of issue in EOIO case where the predecessor message didn't get processed due to some issue, and because of this the other successor messages will end up in holding state in the queue.
PFB blog on how to handle this type of issues.
http://scn.sap.com/people/stefan.grube/blog/2006/04/27/how-to-deal-with-stuck-eoio-messages-in-the-
Regards
Vishnu
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
90 | |
10 | |
10 | |
10 | |
7 | |
7 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.