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)

Reply via email to