qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aidan Skinner (JIRA)" <qpid-...@incubator.apache.org>
Subject [jira] Updated: (QPID-573) race condition between rollback() and the dispatcher thread in the java client
Date Fri, 16 May 2008 13:15:56 GMT

     [ https://issues.apache.org/jira/browse/QPID-573?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Aidan Skinner updated QPID-573:
-------------------------------

    Fix Version/s:     (was: M2.1)
                   M3

> race condition between rollback() and the dispatcher thread in the java client
> ------------------------------------------------------------------------------
>
>                 Key: QPID-573
>                 URL: https://issues.apache.org/jira/browse/QPID-573
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M2
>            Reporter: Rafael H. Schloming
>             Fix For: M3
>
>
> SVN change 572751 fixes a rather subtle race condition in the java client implementation
of rollback() that is responsible for one of the intermittent failure modes of TransactedTest.
> Prior to this change it was possible for the cleanup code in rollback() to occasionally
miss a message because the dispatcher thread in AMQSession holds the message for a short time
after extracting it from _queue and prior to dispatching it to a consumer. If the rollback
code runs during this period, the prefetched message being held in the dispatcher thread is
erroneously delivered despite being rolled back.
> I suspect this race condition also occurs on the M2 branch as well, so it may be worth
merging this fix to the branch. Placing a Thread.sleep(500) as the first line in the dispatcher
thread and running TransactedTest should consistently reproduce the issue if it exists.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message