RMS Error Hospital Is Failing While Processing A Large Number Of Messages (Doc ID 1087537.1)

Last updated on AUGUST 17, 2016

Applies to:

Oracle Retail Integration Bus - Version 13.2.4 and later
Information in this document applies to any platform.
***Checked for relevance on 30-Nov-2011***
***Checked for relevance on 13-May-2014***

Symptoms

RIB Hospital is not retrying messages and fails with the error mentioned in the Error section while obtaining lock.

There are ~100.000 messages in RMS hospital. All messages have attempt_count = max_attempts and only 50 have delete_pending set to 1.

After opmn restart all adapters are up, but after 1-2 minutes hospital adapters fails with below Error message.

Error :

Caused by: javax.ejb.EJBException: Exception thrown during retry.; nested exception is: javax.ejb.EJBException: Unable to flush hospital.; nested exception is: com.retek.platform.persistence.PersistenceException: Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: ORA-02049: timeout: distributed transaction waiting for lock

Error Code: 2049
Call: DELETE FROM RIB_MESSAGE_ROUTING_INFO WHERE ((SEQ_NUMBER = ?) AND (MESSAGE_NUM = ?))
bind => [1, 111625]
Query: DeleteObjectQuery(com.retek.rib.domain.ribmessage.bo.impl.RibMessageRoutingInfoImpl@1d81cc6[comp_id=com.retek.rib.domain.ribmessage.bo.impl.RibMessageRoutingInfoPrimaryKeyImpl@18349ea[seqNumber=1,ribMessage=]])
exception id: 1271566828903
at com.retek.rib.j2ee.ErrorHospitalRetryEjb.doRetry(ErrorHospitalRetryEjb.java:204)
at com.retek.rib.j2ee.ErrorHospitalRetryEjb.retry(ErrorHospitalRetryEjb.java:155)

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms