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
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.