cancel
Showing results for 
Search instead for 
Did you mean: 

Problem in Delete Job with EOIO messages

0 Kudos

Hi Experts,

We are on PI 7.31 Java only.

We are receiving the following error after the execution of the Standard Delete Job:

Failed to remove async messages from the database. Reason: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Could not clean up sub-sequences. Reason: Could not check the availability of the sub sequence defined by parent msg 485fee73-b604-485b-31dc-cee7baba5216(OUTBOUND)

The Message identified by this message Id is in status Holding in Message Monitors (with sequeceNumber 2375). However, when i try to cancel it manually, system prompts that it's unable to cancel it, throwing the following error:

Sequencer failed to check the status of message d46d6825-1700-4611-093e-e0d7f6885e6d(OUTBOUND) in sequence <SerializationContext> (2374). The EOIO sequence may stop processing. Reason: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Failed to check status of sub-sequence.

Message with seqNumber = 2374 was manually deleted from system, so it's not available and seems that, as system cannot find it's status, it can not delete the following messages.

The same problem is found for another similar process (in total, we have 149 messages in status HOLDING and they can not be removed from system.

It seems that this error is avoiding the rest of messages (successfully processed) to be removed from system, and we need them to be removed as database space is needed.

Any ideas? Can those messages be manually cancelled so it can be removed?

In Sequence Status monitor (http://host:j2EEport/MessagingSystem/monitor/sequenceStatus.jsp) i found those entries as ACTIVE, so i was able to TERMINATE them (hoping them to be marked as final status and deleted, but now they are all in status TERMINATED but the issue still the same).

Also, when i access to Sequence Monitor (http://host:j2EEport/MessagingSystem/monitor/sequenceMonitor.jsp) i receive the following error:

Could not retrieve EOIOMonitorEntries from database for held messages. Reason: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Could not retrieve MessageRetryInfo from database for EOIOContext EOIOContext: serializationContext=<SerializationContext> seqNo=2374. Reason: java.lang.NullPointerException: while trying to invoke the method com.sap.engine.messaging.impl.core.store.container.MessageRetryInfo.getMessageKey() of an object loaded from local variable 'lastChildMsgInfo'

Thank you very much in advance.

Best Regards,

Fran

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

>>>Any ideas? Can those messages be manually cancelled so it can be removed?

Were you able to check  error messages for last year? do a filter search by giving your interface details and then delete all older messages and finally you should be able to delete the above said message.

Thanks,

Sujit

ambrish_mishra
Active Contributor
0 Kudos

Hi Fran,

You need to do a clean up at adapter level based on the scenarios and reasons of failure. If the message failures can be successful on reprocessing, reprocess them. If the message failures cannot be dealt with, cancel them. Now once the system errors are sorted, you go to held messages and go back monthly if the message for a particular interface(s) are stuck. Try to reprocess or cancel the message based on which came in first... It is a tedious job but eventually you will be able to clean the system.

Ambrish

0 Kudos

Hello,

Thanks for your responses.

In previous projects and Integration Scenarios, i have been able to locate some previously executed message that, being in an error state, was avoiding the following messages to be processed. As you indicated, by cancelling those messages was allowing us to run (or also cancel) the Holding messages.

Now our situation is the following:

I am monitoring the messages with status HOLDING from the begining of this year; the first has this info:

- SequenceId (Queue Name) = "GISNETWORK_QUEUE"

- Sequence Number (Position in Queue) = 2375

Now, if i monitor all the messages with this SequenceId, i find that message with sequence number 2374 (the previous one) is in state "DELIVERED", and 2375 has the status HOLDING.

If i try to Cancel (or even resend) the message with status HOLDING, system throws the exception:

"Could not fail message. Reason: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Could not fail message d46d6825-1700-4611-093e-e0d7f6885e6d(OUTBOUND), as triggered by admin action. Reason: The Sequencer failed to check the status of message d46d6825-1700-4611-093e-e0d7f6885e6d(OUTBOUND) in sequence XI_OUTBOUND_GISNETWORK_QUEUE__ILP_3RD_D(2374). Reason: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Failed to check status of sub-sequence"

I have another EOIO Queue (different queue name, of course), with the same situation (message with seqNr = 4 Succesfully processed, message with seqNr = 5 with status = HOLDING).

Thanks and regards,

Fran

Bhargavakrishna
Active Contributor
0 Kudos

Hi,

Refer below links it should solve your problem..

How to deal with stuck EOIO messages in the XI 3.0 Adapter Framework

https://scn.sap.com/thread/1616983

Regards

Bhargava krishna

former_member223322
Active Participant
0 Kudos

Hi Fran,

Just increase your date range by checking for last 6 months and cancel all the old messages that are in System Error status. After this you cancel the messages in Holding status.

~Srini