[
https://issues.apache.org/jira/browse/QPID-397?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Martin Ritchie reassigned QPID-397:
-----------------------------------
Assignee: (was: Martin Ritchie)
A test for this issue needs to be written to ensure it is confined to the M2
code base.
> Client closeure can be processed before final message ack.
> ----------------------------------------------------------
>
> Key: QPID-397
> URL: https://issues.apache.org/jira/browse/QPID-397
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker, Java Client
> Affects Versions: M1, M2
> Reporter: Martin Ritchie
>
> We may need an AMQ protocol change to sort out this issue.
> Because the Qpid client uses a dispatcher thread to handle the sending of the
> ack during auto-ack. There is no guarantee it will send the Ack before a
> different thread calls consumer.close while the ack is in the process of
> sending to the broker.
> Perhaps.
> Lock whilst receiving message on consumer so the close cannot be sent first.
> Imagine test case..
> onMessage()
> {
> if(messageType == "Close")
> {
> _consumer.close();
> }
> }
> Would be good if this could work.
> the close() call should stop receive calls but cannot wait for the receive
> call to finish. So if there is lock out on receiving request that the person
> relinquishing the lock performs a close.
> This would allow the close call to return... question is does JMS allow the
> close() call to return without the connection actually closing?
> Here is a thread trace:
> AnonymousIoService-8 2007-03-02 15:58:42,187 DEBUG
> [qpid.client.protocol.AMQProtocolHandler] Sent frame Frame channelId: 1,
> bodyFrame: class org.apache.qpid.framing.BasicCancelBody Class: 60 Method: 30
> consumerTag: 1 nowait: false
> pool-1-thread-1 2007-03-02 15:58:42,187 DEBUG
> [qpid.server.protocol.AMQProtocolSession] Method frame received: Frame
> channelId: 1, bodyFrame: class org.apache.qpid.framing.BasicCancelBody Class:
> 60 Method: 30 consumerTag: 1 nowait: false
> Dispatcher-Channel-1 2007-03-02 15:58:42,187 DEBUG
> [apache.qpid.client.AMQSession] Sending ack for delivery tag 12 on channel 1
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.