cancel
Showing results for 
Search instead for 
Did you mean: 

SAP PO | Failed to get lock

Dimitri
Active Contributor
0 Kudos

All,

Since a few days, we get this error on our productive SAP PO 7.4 system:

Transmitting the message to endpoint <local> using connection IDoc_AAE_http://sap.com/xi/XI/System failed, due to: com.sap.engine.messaging.runtime.ClusterException: Failed to get lock for EOIO_MD_XI_OUTBOUND_<message_type>__<receiver>. Reason: com.sap.engine.frame.core.locking.TechnicalLockException: Cannot lock [I2016072214452383200000<machine_name>..................252093350, $service.msg_BC_MSG, EOIO_MD_XI_OUTBOUND_<message_type>__<receiver, X]; unknown return-code (returncode = -1).

Context

  • IDOCs being sent from our SAP ERP system to the SAP PO system.
  • QoS is EOiO.
  • Multiple receiving systems
  • graphical mapping

Any ideas or leads?

Thanks a lot.

Dimitri

Accepted Solutions (1)

Accepted Solutions (1)

Ryan-Crosby
Active Contributor
0 Kudos

Hi Dimitri,

We had such an occurrence a couple of months back regarding the system not being able to get a lock and in our case it was due to some fatal error where an out of heap memory issue caused the node to crash.  At that point all locks on the node were retained in the database and were not released - our BASIS team had to go in and release those locks manually in NWA and then we were processing normally again.

Regards,

Ryan Crosby

Answers (1)

Answers (1)

0 Kudos

Dear Dimitri,

This lock have to be obtained before the system changes the status of EOIO message to Delivered (after successful delivery) and when it checks the state of the predecessor message to determine whether to put the successor on hold or to deliver it further. This is of major importance for synchronizing server nodes and ensuring the correct order in which messages are processed. Having to remove the lock manually is not an option.

Probably messages have been reassigned several times upon node loss event but in case of failure in cluster communication loading of these messages in the corresponding runtime components as part of recovery procedure may not happen and these messages might not be processed as expected.

Message processing and especially processing of EOIO messages relies on proper server locking mechanism and cluster communication in order to guarantee the delivery of messages according to their QoS. Please make sure that any network issues are identified and solved in time.

If you have the possibility restarting the whole system should resolve this issue, because all previously created locks will be reset.

Best regards,

Bence

Dimitri
Active Contributor
0 Kudos

Hi Bence,

Thank you for the feedback. We will look into it.

Restarting the entire system is something I want to avoid.

The objective is to get rid of possible locks and avoid those in the future.

Kind regards, Dimitri