Gary Tully created AMQ-6370:
-------------------------------
Summary: JDBC message store - jdbc connection pool - potential
deadlock with cleanup task when pool exhausted
Key: AMQ-6370
URL: https://issues.apache.org/jira/browse/AMQ-6370
Project: ActiveMQ
Issue Type: Bug
Components: XA, JDBC, Message Store
Affects Versions: 5.13.0
Reporter: Gary Tully
Assignee: Gary Tully
Fix For: 5.14.0
There is an read/write lock guarding the cleanup task and other jdbc ops in the
jdbc message store.
Typically the read lock is obtained before the connection from the jdbc
connection pool.
In the case of xa transactions, the connection is obtained before the read
lock, in transactioncontext.begin, leaving a window between which readlock
holders can be blocked pending the connection release.
If there is a cleanup (and write lock) request before release, the xa
transaction cannot obtain a read lock and we are stuck.
Disabling the cleanup task avoids this issue, but that is only an option if
there are no durable subs or if the durable sub cleanup task can be tackled
through db admin.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)