[
https://issues.apache.org/jira/browse/QPID-348?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Martin Ritchie resolved QPID-348.
---------------------------------
Resolution: Fixed
Resolved at 510897
> Problems related to prefetching of messages
> -------------------------------------------
>
> Key: QPID-348
> URL: https://issues.apache.org/jira/browse/QPID-348
> Project: Qpid
> Issue Type: Bug
> Components: Java Client
> Reporter: Marnie McCormack
> Assigned To: Martin Ritchie
>
> The problem is that messages are be prefetched (push) so when a
> rollback/recover is called this cache must be cleared or the messages will
> arrive out of order.
> We have to invalidate all the messages that have been sent to the client as
> we do not know which messages have been processed. TxRollback and
> Basic.Recover do not provide facilities to send this information. Perhaps an
> improvement would be to do this analysis and send back the last message id
> sent to the consumer so we can leave the cache intact.
> In our Java implementation this cache is a the "pre-receive Queue" we also
> have a _synchronousQueue that is used to store messages that have been
> dispatched but not yet consumed by the consumer when they are using receive()
> rather than a message listener.
> Both of these queues need to be purged to ensure that only have one copy of
> each message sent to the client.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.