[ https://issues.apache.org/jira/browse/QPID-5531?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13889327#comment-13889327 ]
JAkub Scholz commented on QPID-5531: ------------------------------------ Hi Pavel, This introduces the default timeout, which is definitely very useful. But according to my understanding, if the client specifies the timeout, it can be still set to some very long time and thus still cause the original problem. It would be great to have not only the --dtx-default-timeout option, but also some --dtx-max-timeout option which would either override the timeout specified by the client or trigger an error when the client attempts to set higher timeout. Thanks & Regards Jakub > [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 > 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