qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Ritchie" <ritch...@apache.org>
Subject Re: [jira] Commented: (QPID-572) broker delivers messages out of order
Date Thu, 13 Sep 2007 21:00:56 GMT
The patch i provided doesn't solve the ordering. But i have tested a
real fix. This problem is also causing the topic session test to fail.
Will fix all branches tomorrow.

On 13/09/2007, Rafael H. Schloming (JIRA) <qpid-dev@incubator.apache.org> wrote:
>
>     [
> https://issues.apache.org/jira/browse/QPID-572?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12527194
> ]
>
> Rafael H. Schloming commented on QPID-572:
> ------------------------------------------
>
> I'm now seeing the same failur on the M2 branch as I saw on the trunk when I
> tried the same fix originally. In particular I am now reliably seeing the
> following failure in TopicSessionTest:
>
> junit.framework.AssertionFailedError
>         at junit.framework.Assert.fail(Assert.java:47)
>         at junit.framework.Assert.assertTrue(Assert.java:20)
>         at junit.framework.Assert.assertNotNull(Assert.java:220)
>         at junit.framework.Assert.assertNotNull(Assert.java:213)
>         at
> org.apache.qpid.test.unit.topic.TopicSessionTest.testNoLocal(TopicSessionTest.java:338)
>
> It occurs reliably when I run the full suite of client tests, however it
> does not occur when I run TopicSessionTest on its own. I believe this is
> because selectors do not function properly when there are messages queued
> for asynchronous delivery, and this change makes that situation more likely.
>
> > broker delivers messages out of order
> > -------------------------------------
> >
> >                 Key: QPID-572
> >                 URL: https://issues.apache.org/jira/browse/QPID-572
> >             Project: Qpid
> >          Issue Type: Bug
> >          Components: Java Broker
> >    Affects Versions: M2, M2.1, M3
> >            Reporter: Rafael H. Schloming
> >         Attachments: QPID-572-testcase.patch
> >
> >
> > ConcurrentSelectorDeliveryManager will sometimes deliver messages out of
> order. This is caused by the code in deliver(...) that attempts to
> short-circuit message queuing when there is an available subscription. This
> code can result in the currently published message skipping ahead of queued
> messages causing out of order delivery. Although unrelated to transactions,
> I have observed this failure occuring in TransactedTest both in testCommit
> and testRollback. Normally it does not happen very frequently, however
> placing a Thread.sleep(500) in the async delivery thread will cause the
> failure to occur almost all the time.
> > I tried fixing the problem by only attempting synchronous delivery when
> there are no queued messages, however this appears to break other tests that
> use selectors. This makes me suspect that the selector implementation is
> somehow incorrectly coupled to synchronous delivery.
> > I have only verfied this issue on the trunk, however I believe it effects
> M2 as well.
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>


-- 
Martin Ritchie

Mime
View raw message