You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Robert Greig (JIRA)" <qp...@incubator.apache.org> on 2006/12/14 22:56:21 UTC

[jira] Commented: (QPID-193) AMQSession.createConsumer must be synchronous to avoid timing problems

    [ http://issues.apache.org/jira/browse/QPID-193?page=comments#action_12458615 ] 
            
Robert Greig commented on QPID-193:
-----------------------------------

Analysis shows that the problem occurs in tests that set up consumers on one connection and publish on another. At some stage createConsumer was made asynchronous so that when the Session.createConsumer call returns the consumer has not necessarily been set up. This means that if the test goes on to publish to a topic it may be the case that the consumer's private queue has not been bound to the exchange. I am not sure why this was made asynchronous in all cases.

The solution is to use the nowait flag to make createConsumer synchronous (only making it asynchronous when used for failover resubscription).

> AMQSession.createConsumer must be synchronous to avoid timing problems
> ----------------------------------------------------------------------
>
>                 Key: QPID-193
>                 URL: http://issues.apache.org/jira/browse/QPID-193
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M1
>            Reporter: Robert Greig
>         Assigned To: Robert Greig
>
> Several people have noticed occasional failure in some tests.
> In particular tests that create multiple connections can fail intermittently. This looks to be some kind of race condition.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira