My Oracle Support Banner

Messages Not Getting Removed From Topic After Consume API Returned (S) But Rolled Back and Blocking Others (Doc ID 2913096.1)

Last updated on DECEMBER 02, 2022

Applies to:

Oracle Retail Integration Cloud Service - Version NA and later
Information in this document applies to any platform.

Goal

A specific message seems to be accepted by MFCS as it returned success(S) but it is not actually removed from RIB topic.

Here is the full snippet of Subscriber log:

...
2022-11-30 06:29:29,949 DEBUG [Receiving_sub_1] collab.XMLToOracleObjectParser (XMLToOracleObjectParser.java:345) - XMLToOracleObjectParser.getStruct() - headerStruct = oracle.sql.STRUCT@2c1a535a
2022-11-30 06:42:28,812 INFO [Receiving_sub_1] general.OracleObjectSubscriberComponentImpl (OracleObjectSubscriberComponentImpl.java:400) - CONSUME API returned(S) errorString()
2022-11-30 06:42:28,813 DEBUG [Receiving_sub_1] general.DefaultAdaptorComponentImpl (DefaultAdaptorComponentImpl.java:438) - end success? true
2022-11-30 06:42:28,813 DEBUG [Receiving_sub_1] general.OracleObjectSubscriberComponentImpl (OracleObjectSubscriberComponentImpl.java:545) - Cleaning up...
2022-11-30 06:42:28,813 DEBUG [Receiving_sub_1] general.OracleObjectSubscriberComponentImpl (OracleObjectSubscriberComponentImpl.java:549) - DONE Cleaning up.
2022-11-30 06:42:28,815 DEBUG [Receiving_sub_1] general.DefaultAdaptorComponentImpl (DefaultAdaptorComponentImpl.java:478) - Trying to close JDBC connection(oracle.jdbc.driver.LogicalConnection@27dcc98).
2022-11-30 06:42:30,286 DEBUG [Receiving_sub_1] general.DefaultAdaptorComponentImpl (DefaultAdaptorComponentImpl.java:480) - Closed JDBC connection.
2022-11-30 06:42:30,286 DEBUG [Receiving_sub_1] timings.TimingsLoggerFactory$WrapperTimingsLogger (TimingsLoggerFactory.java:162) - Reusing old logger(timings.Receiving_sub_1:DEBUG in 71498c28) with name(timings) in thread(Receiving_sub_1).
2022-11-30 06:42:30,286 DEBUG [Receiving_sub_1] timings.TimingsLoggerFactory$WrapperTimingsLogger (TimingsLoggerFactory.java:162) - Reusing old logger(timings.Receiving_sub_1:DEBUG in 71498c28) with name(timings) in thread(Receiving_sub_1).
2022-11-30 06:42:30,287 DEBUG [Receiving_sub_1] timings.TimingsLoggerFactory$WrapperTimingsLogger (TimingsLoggerFactory.java:162) - Reusing old logger(timings.Receiving_sub_1:DEBUG in 71498c28) with name(timings) in thread(Receiving_sub_1).
2022-11-30 06:42:30,287 DEBUG [Receiving_sub_1] collab.HospitalController (HospitalController.java:153) - HospitalController.doMessage() handling message Receiving_pub_1|2022.11.30 06:15:28.213|171370 successful.
2022-11-30 06:42:30,287 DEBUG [Receiving_sub_1] collab.HospitalController (HospitalController.java:153) - HospitalController.doMessage() post processing isActive = false
2022-11-30 06:42:30,287 DEBUG [Receiving_sub_1] collab.HospitalController (HospitalController.java:153) - HospitalController.doMessage() inHospital(false) and okToRemove(true).
2022-11-30 06:42:30,287 INFO [Receiving_sub_1] collab.HospitalController (HospitalController.java:302) - HospitalController.doMessage()...Message successfully handled: Receiving_pub_1|2022.11.30 06:15:28.213|171370
2022-11-30 06:42:30,287 DEBUG [Receiving_sub_1] collab.HospitalController (HospitalController.java:153) - HospitalController.doMessage() end.
2022-11-30 06:42:30,287 DEBUG [Receiving_sub_1] timings.TimingsLoggerFactory$WrapperTimingsLogger (TimingsLoggerFactory.java:162) - Reusing old logger(timings.Receiving_sub_1:DEBUG in 71498c28) with name(timings.Receiving_sub_1) in thread(Receiving_sub_1).
2022-11-30 06:42:30,287 DEBUG [Receiving_sub_1] impl.PersistenceManager (PersistenceManager.java:118) - Trying to flush EntityManager.
2022-11-30 06:42:30,288 ERROR [Receiving_sub_1] impl.HospitalDaoImpl (HospitalDaoImpl.java:1247) - The transaction associated with this transaction-scoped persistence context has been rolled back and as a result, the EntityManager has been closed. No further operations are allowed in this transaction context. Please see the server log for the cause of the rollback.
java.lang.IllegalStateException: The transaction associated with this transaction-scoped persistence context has been rolled back and as a result, the EntityManager has been closed. No further operations are allowed in this transaction context. Please see the server log for the cause of the rollback.

...

The consume process (XMLToOracleObjectParser) is taking some time. Since the prblematic message is not removed from topic (transaction getting rolled-back), it is trying to get processed again as first in the queue and the consume process is repeating. This further blocked all other valid messages on the topic.

There are no failures reported to the error Hospital and the message continue to lie on the topic and also not truly consumed into MFCS application.

Solution

To view full details, 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 a vibrant support community of peers and Oracle experts.