[ https://issues.apache.org/jira/browse/QPID-5531?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pavel Moravec closed QPID-5531. ------------------------------- > [C++ broker] Set timeout for every DTX transaction > -------------------------------------------------- > > Key: QPID-5531 > URL: https://issues.apache.org/jira/browse/QPID-5531 > Project: Qpid > Issue Type: Bug > Components: C++ Broker > Affects Versions: 0.24 > Reporter: Pavel Moravec > Assignee: Pavel Moravec > Priority: Minor > Labels: patch > Fix For: 0.27 > > Attachments: QPID-5531.patch, qpid-txtest_modified.patch > > > Description of problem: > If an external Transaction Manager (TM) prepares a DTX transaction but > forgets, due to any reason, to commit or abort it, tpl journal has an > orphaned enqueue record forever (that in legacystore causes enqueue capacity > threshold exception after a while, preventing _any_ transaction to > commit/abort). > To prevent such orphaned XID entries in tpl, every incoming DTX transaction > should have a default timeout set (while dtx.set-timeout AMQP 0-10 primitive > changes it). > The timeout should be broker-wide parameter configurable via > --dtx-default-timeout option. > Version-Release number of selected component (if applicable): > any (incl upstream 0.26) > How reproducible: > 100% > Steps to Reproduce: > 1. Mimic an external TM that prepares a DTX but never commits or aborts it - > use e.g. _modified_ qpid-txtest (patch attached): > qpid-txtest --queues=1 --total-messages=1 --dtx=1 --dtx-commit=no > 2. /usr/libexec/qpid/store_chk /var/lib/qpidd/rhm/tpl -b tpl > Actual results: > tpl journal keeps the unfinished transaction forever > Expected results: > sleeping for dtx-default-timeout, the transaction should be gone -- This message was sent by Atlassian JIRA (v6.1.5#6160) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org