SAP Knowledge Base Article - Preview

2346801 - Database is growing endlessly because of MessagesDeletedEventonMessagesDeleted event

Symptom

You experience an enormous and endlessly database growing. After making several thread dumps, you see the same stack trace similar like this:

".MessagesDeletedEventonMessagesDeleted" #11760 prio=5 os_prio=0 cpu=2570.00 [reset 2570.00] ms elapsed=120027.13 [reset 120027.13] s allocated=499923720 B (476.76 MB) [reset 499923720 B (476.76 MB)] defined_classes=6
io= file i/o: 4271/0 B, net i/o: 0/14977516 B, files opened:1, socks opened:0  [reset file i/o: 4271/0 B, net i/o: 0/14977516 B, files opened:1, socks opened:0 ]
application="sap.com/com.sap.aii.adapter.idoc.util.app" tid=0x00007fff6929c000 nid=0x61dd / 25053  pthread-id=140734318892800 in Object.wait()  [_thread_blocked (_at_safepoint), stack(0x00007fff42f5d000,0x00007fff4315e000)] [0x00007fff4315a000]
   java.lang.Thread.State: WAITING (on object monitor)
 at java.lang.Object.wait(J)V(Native Method)
 - waiting on <0x0000000769b8a600> (a com.sybase.jdbc4.timedio.ResponseQueue)
 at com.sybase.jdbc4.timedio.InStreamMgr.takeIfNoReadAhead(Lcom/sybase/jdbc4/timedio/StreamContext;)I(InStreamMgr.java:702)
 - locked <0x0000000769b8a600> (a com.sybase.jdbc4.timedio.ResponseQueue)
 at com.sybase.jdbc4.timedio.InStreamMgr.doRead(Lcom/sybase/jdbc4/timedio/StreamContext;)V(InStreamMgr.java:319)
 at com.sybase.jdbc4.tds.TdsProtocolContext.getChunk()Lcom/sybase/jdbc4/utils/BufferInterval;(TdsProtocolContext.java:622)
 at com.sybase.jdbc4.tds.PduInputFormatter.readPacket()Z(PduInputFormatter.java:239)
 at com.sybase.jdbc4.tds.PduInputFormatter.read()I(PduInputFormatter.java:72)
 at com.sybase.jdbc4.tds.TdsInputStream.read()I(TdsInputStream.java:91)
 at com.sybase.jdbc4.tds.TdsInputStream.readUnsignedByte()I(TdsInputStream.java:124)
 at com.sybase.jdbc4.tds.Tds.nextResult(Lcom/sybase/jdbc4/jdbc/ProtocolContext;)I(Tds.java:2912)
 at com.sybase.jdbc4.jdbc.ResultGetter.nextResult()I(ResultGetter.java:78)
 at com.sybase.jdbc4.jdbc.SybStatement.nextResult(Lcom/sybase/jdbc4/jdbc/ParamManager;)I(SybStatement.java:294)
 at com.sybase.jdbc4.jdbc.SybStatement.nextResult()I(SybStatement.java:276)
 at com.sybase.jdbc4.jdbc.SybStatement.updateLoop()I(SybStatement.java:2749)
 at com.sybase.jdbc4.jdbc.SybStatement.executeUpdate(Ljava/lang/String;Lcom/sybase/jdbc4/jdbc/ParamManager;)I(SybStatement.java:2733)
 at com.sybase.jdbc4.jdbc.SybPreparedStatement.executeUpdate()I(SybPreparedStatement.java:335)
 at com.sap.sql.jdbc.basic.BasicPreparedStatement.executeUpdate()I(BasicPreparedStatement.java:108)
 at com.sap.sql.jdbc.syb.SybPreparedStatement.executeUpdate()I(SybPreparedStatement.java:54)
 at com.sap.sql.jdbc.direct.DirectPreparedStatement.executeUpdate(Lcom/sap/sql/trace/TraceContext;)I(DirectPreparedStatement.java:373)
 at com.sap.sql.jdbc.common.CommonPreparedStatement.executeUpdate()I(CommonPreparedStatement.java:354)
 at com.sap.engine.services.dbpool.wrappers.PreparedStatementWrapper.executeUpdate()I(PreparedStatementWrapper.java:397)
 at com.sap.engine.services.orpersistence.core.StoreManager.executeUpdate(Ljava/sql/Connection;Lcom/sap/engine/services/orpersistence/core/PersistenceUnitData;Ljava/util/List;[Lcom/sap/engine/services/orpersistence/query/InputParameter;)Ljava/util/List;(StoreManager.java:2098)
 at com.sap.engine.services.orpersistence.core.PersistenceContextImpl.executeUpdate(Lcom/sap/engine/services/orpersistence/query/QueryData;)I(PersistenceContextImpl.java:1142)
 at com.sap.engine.services.orpersistence.core.MonitoredPersistenceContextImpl.executeUpdate(Lcom/sap/engine/services/orpersistence/query/QueryData;)I(MonitoredPersistenceContextImpl.java:209)
 at com.sap.engine.services.orpersistence.entitymanager.EntityManagerImpl.executeUpdate(Lcom/sap/engine/services/orpersistence/query/QueryData;)I(EntityManagerImpl.java:134)
 at com.sap.engine.services.orpersistence.query.AbstractQuery.executeUpdate()I(AbstractQuery.java:266)
 at com.sap.engine.services.orpersistence.query.QueryImpl.executeUpdate()I(QueryImpl.java:38)
 at com.sap.aii.af.idoc.store.bean.IDocStoreBean.removeLeftoverTransactions(Lcom/sap/aii/af/idoc/store/IDocObjectDirection;)I(IDocStoreBean.java:1071)

 

and in the DefaulTrace you can see statement like this:

*DELETE FROM "XI_IDOC_OUT_TREX" WHERE "XI_IDOC_OUT_TREX"."AUTO_NUMBER" NOT IN (SELECT DISTINCT "OMSG"."REF_NUMBER" FROM "XI_IDOC_OUT_MSG" "OMSG") AND "XI_IDOC_OUT_TREX"."AUTO_NUMBER" NOT IN (SELECT DISTINCT "OACK"."REF_NUMBER_TREX" FROM "XI_IDOC_OUT_ACK" "OACK")


Read more...

Environment

  • SAP NetWeaver 7.3
  • SAP enhancement package 1 for SAP NetWeaver 7.3
  • SAP NetWeaver 7.4
  • SAP NetWeaver 7.5
  • SAP Process Integration, connectivity add-on
  • SAP Process Integration, business-to-business add-on
  • SAP Process Integration, secure connectivity add-on

Product

SAP NetWeaver 7.3 ; SAP NetWeaver 7.4 ; SAP NetWeaver 7.5 ; SAP enhancement package 1 for SAP NetWeaver 7.3

Keywords

MessagesDeletedEventonMessagesDeleted, XI_IDOC_OUT_TREX, XI_IDOC_OUT_MSG, XI_IDOC_OUT_ACK, IdocDBTableCleanup, IdocDBTableCleanupPeriodic, Process Integration 7.30, PI 7.30, Process Integration 7.31, PI 7.31, Process Orchestration 7.4, PI 7.4, PO 7.4, Process Orchestration 7.5, PI 7.5, PO 7.5, XI, AEX , KBA , BC-XI-CON-IDO , Idoc Adapter J2EE , Problem

About this page

This is a preview of a SAP Knowledge Base Article. Click more to access the full version on SAP for Me (Login required).

Search for additional results

Visit SAP Support Portal's SAP Notes and KBA Search.