Products | Versions |
---|---|
TIBCO BusinessEvents Enterprise Edition | - |
Not Applicable | - |
Resolution:
Description:
===========
Database deadlock reported by DB-Writer (PostRTC action).
NOTE:
The error is a warning only - the DB-Writer will retry the database - RTC will not proceed until the update is successful (second update should successfully be processed).
Environment:
===========
BusinessEvents (BE) 3.0.1
All Operating Systems
Symptoms:
=========
Exception:
[agent1$DBWriter-0] - SaveTransaction failed. error: ORA-00060: deadlock detected while waiting for resource code:60
[agent1$DBWriter-0] - OracleAdapter release connection (rollback) failed :Closed Connection
[agent1$DBWriter-0] - Failed writing to DB. Will re-try :java.sql.SQLException: ORA-00060: deadlock detected while waiting for resource
[agent1$DBWriter-0] - java.lang.RuntimeException: java.sql.SQLException: ORA-00060: deadlock detected while waiting for resource
[agent1$DBWriter-0] - at com.tibco.be.oracle.BECoherenceOracleStore.saveTransaction(BECoherenceOracleStore.java:2752)
[agent1$DBWriter-0] - at com.tibco.cep.runtime.service.om.coherence.cluster.agents.DBJobGroupManager.execute(DBGroupManager.java:75)
[agent1$DBWriter-0] - at com.tibco.cep.runtime.session.BEManagedThread.run_from_queue_group(BEManagedThread.java:361)
[agent1$DBWriter-0] - at com.tibco.cep.runtime.session.BEManagedThread.run(BEManagedThread.java:298)
[agent1$DBWriter-0] - Caused by: java.sql.SQLException: ORA-00060: deadlock detected while waiting for resource
Cause:
======
By default, two separate database threads will update the backing store. This could cause a deadlock when processing large transactions (many objects updated/created in the RTC).
Resolution:
========
Add the following parameter to the TRA file to avoid the transaction error. The new parameter has been available since BE 3.0.2HF1.
Agent.<agentName>.enableParallelOps=false