You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Pavel Moravec (JIRA)" <ji...@apache.org> on 2014/01/31 16:16:10 UTC

[jira] [Created] (QPID-5531) [C++ broker] Set timeout for every DTX transaction

Pavel Moravec created QPID-5531:
-----------------------------------

             Summary: [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


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-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org