You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org> on 2007/01/15 12:34:27 UTC
[jira] Created: (QPID-293) setting MessageListener after connection
has started can cause messages to be "lost" on a internal delivery queue.
setting MessageListener after connection has started can cause messages to be "lost" on a internal delivery queue.
------------------------------------------------------------------------------------------------------------------
Key: QPID-293
URL: https://issues.apache.org/jira/browse/QPID-293
Project: Qpid
Issue Type: Bug
Components: Java Client
Reporter: Martin Ritchie
Assigned To: Martin Ritchie
Priority: Blocker
The message delivery process:
Mina puts a message on _queue in AMQSession and the dispatcher thread take()s from here and dispatches to the _consumers. If the _consumer doesn't have a message listener set at connection start then messages are stored on _synchronousQueue (which needs to be > 1 to pass JMS TCK as multiple consumers on a session can run in any order and a synchronous put/poll will block the dispatcher).
When setting the message listener later the _synchronousQueue is just poll()'ed and the first message delivered the remaining messages will be left on the queue and lost, subsequent messages on the session will arrive first.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Reopened: (QPID-293) setting MessageListener after
connection has started can cause messages to be "lost" on a internal
delivery queue.
Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
[ https://issues.apache.org/jira/browse/QPID-293?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Ritchie reopened QPID-293:
---------------------------------
MessageListenerTest - augmented with test that demonstrates problem ..Regression as of r501004
> setting MessageListener after connection has started can cause messages to be "lost" on a internal delivery queue.
> ------------------------------------------------------------------------------------------------------------------
>
> Key: QPID-293
> URL: https://issues.apache.org/jira/browse/QPID-293
> Project: Qpid
> Issue Type: Bug
> Components: Java Client
> Reporter: Martin Ritchie
> Assigned To: Martin Ritchie
> Priority: Blocker
>
> The message delivery process:
> Mina puts a message on _queue in AMQSession and the dispatcher thread take()s from here and dispatches to the _consumers. If the _consumer doesn't have a message listener set at connection start then messages are stored on _synchronousQueue (which needs to be > 1 to pass JMS TCK as multiple consumers on a session can run in any order and a synchronous put/poll will block the dispatcher).
> When setting the message listener later the _synchronousQueue is just poll()'ed and the first message delivered the remaining messages will be left on the queue and lost, subsequent messages on the session will arrive first.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (QPID-293) setting MessageListener after
connection has started can cause messages to be "lost" on a internal
delivery queue.
Posted by "Aidan Skinner (JIRA)" <qp...@incubator.apache.org>.
[ https://issues.apache.org/jira/browse/QPID-293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12611199#action_12611199 ]
Aidan Skinner commented on QPID-293:
------------------------------------
MessageListener.testRecieveThenUseMessageListener requires some parts of it to be uncommented out to demonstrate this issue.
> setting MessageListener after connection has started can cause messages to be "lost" on a internal delivery queue.
> ------------------------------------------------------------------------------------------------------------------
>
> Key: QPID-293
> URL: https://issues.apache.org/jira/browse/QPID-293
> Project: Qpid
> Issue Type: Bug
> Components: Java Client
> Affects Versions: M1, M2
> Reporter: Martin Ritchie
> Assignee: Aidan Skinner
> Priority: Blocker
> Fix For: M3
>
>
> The message delivery process:
> Mina puts a message on _queue in AMQSession and the dispatcher thread take()s from here and dispatches to the _consumers. If the _consumer doesn't have a message listener set at connection start then messages are stored on _synchronousQueue (which needs to be > 1 to pass JMS TCK as multiple consumers on a session can run in any order and a synchronous put/poll will block the dispatcher).
> When setting the message listener later the _synchronousQueue is just poll()'ed and the first message delivered the remaining messages will be left on the queue and lost, subsequent messages on the session will arrive first.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (QPID-293) setting MessageListener after connection
has started can cause messages to be "lost" on a internal delivery queue.
Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
[ https://issues.apache.org/jira/browse/QPID-293?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Ritchie updated QPID-293:
--------------------------------
Fix Version/s: M3
Assignee: (was: Martin Ritchie)
Affects Version/s: M2
M1
> setting MessageListener after connection has started can cause messages to be "lost" on a internal delivery queue.
> ------------------------------------------------------------------------------------------------------------------
>
> Key: QPID-293
> URL: https://issues.apache.org/jira/browse/QPID-293
> Project: Qpid
> Issue Type: Bug
> Components: Java Client
> Affects Versions: M1, M2
> Reporter: Martin Ritchie
> Priority: Blocker
> Fix For: M3
>
>
> The message delivery process:
> Mina puts a message on _queue in AMQSession and the dispatcher thread take()s from here and dispatches to the _consumers. If the _consumer doesn't have a message listener set at connection start then messages are stored on _synchronousQueue (which needs to be > 1 to pass JMS TCK as multiple consumers on a session can run in any order and a synchronous put/poll will block the dispatcher).
> When setting the message listener later the _synchronousQueue is just poll()'ed and the first message delivered the remaining messages will be left on the queue and lost, subsequent messages on the session will arrive first.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (QPID-293) setting MessageListener after
connection has started can cause messages to be "lost" on a internal
delivery queue.
Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
[ https://issues.apache.org/jira/browse/QPID-293?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Ritchie resolved QPID-293.
---------------------------------
Resolution: Fixed
Completed: At revision: 496641
> setting MessageListener after connection has started can cause messages to be "lost" on a internal delivery queue.
> ------------------------------------------------------------------------------------------------------------------
>
> Key: QPID-293
> URL: https://issues.apache.org/jira/browse/QPID-293
> Project: Qpid
> Issue Type: Bug
> Components: Java Client
> Reporter: Martin Ritchie
> Assigned To: Martin Ritchie
> Priority: Blocker
>
> The message delivery process:
> Mina puts a message on _queue in AMQSession and the dispatcher thread take()s from here and dispatches to the _consumers. If the _consumer doesn't have a message listener set at connection start then messages are stored on _synchronousQueue (which needs to be > 1 to pass JMS TCK as multiple consumers on a session can run in any order and a synchronous put/poll will block the dispatcher).
> When setting the message listener later the _synchronousQueue is just poll()'ed and the first message delivered the remaining messages will be left on the queue and lost, subsequent messages on the session will arrive first.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Assigned: (QPID-293) setting MessageListener after
connection has started can cause messages to be "lost" on a internal
delivery queue.
Posted by "Aidan Skinner (JIRA)" <qp...@incubator.apache.org>.
[ https://issues.apache.org/jira/browse/QPID-293?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aidan Skinner reassigned QPID-293:
----------------------------------
Assignee: Aidan Skinner
> setting MessageListener after connection has started can cause messages to be "lost" on a internal delivery queue.
> ------------------------------------------------------------------------------------------------------------------
>
> Key: QPID-293
> URL: https://issues.apache.org/jira/browse/QPID-293
> Project: Qpid
> Issue Type: Bug
> Components: Java Client
> Affects Versions: M1, M2
> Reporter: Martin Ritchie
> Assignee: Aidan Skinner
> Priority: Blocker
> Fix For: M3
>
>
> The message delivery process:
> Mina puts a message on _queue in AMQSession and the dispatcher thread take()s from here and dispatches to the _consumers. If the _consumer doesn't have a message listener set at connection start then messages are stored on _synchronousQueue (which needs to be > 1 to pass JMS TCK as multiple consumers on a session can run in any order and a synchronous put/poll will block the dispatcher).
> When setting the message listener later the _synchronousQueue is just poll()'ed and the first message delivered the remaining messages will be left on the queue and lost, subsequent messages on the session will arrive first.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (QPID-293) setting MessageListener after
connection has started can cause messages to be "lost" on a internal
delivery queue.
Posted by "Aidan Skinner (JIRA)" <qp...@incubator.apache.org>.
[ https://issues.apache.org/jira/browse/QPID-293?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aidan Skinner resolved QPID-293.
--------------------------------
Resolution: Fixed
> setting MessageListener after connection has started can cause messages to be "lost" on a internal delivery queue.
> ------------------------------------------------------------------------------------------------------------------
>
> Key: QPID-293
> URL: https://issues.apache.org/jira/browse/QPID-293
> Project: Qpid
> Issue Type: Bug
> Components: Java Client
> Affects Versions: M1, M2
> Reporter: Martin Ritchie
> Assignee: Aidan Skinner
> Priority: Blocker
> Fix For: M3
>
>
> The message delivery process:
> Mina puts a message on _queue in AMQSession and the dispatcher thread take()s from here and dispatches to the _consumers. If the _consumer doesn't have a message listener set at connection start then messages are stored on _synchronousQueue (which needs to be > 1 to pass JMS TCK as multiple consumers on a session can run in any order and a synchronous put/poll will block the dispatcher).
> When setting the message listener later the _synchronousQueue is just poll()'ed and the first message delivered the remaining messages will be left on the queue and lost, subsequent messages on the session will arrive first.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.