[ 
https://issues.apache.org/jira/browse/QPID-8076?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16326952#comment-16326952
 ] 

Keith Wall commented on QPID-8076:
----------------------------------

My analysis is partly duff.   The problem actually only affects the HA case.  
In the non-HA case, the failure of the store commit future will halt the Broker 
and this will happen before the \{{basic.ack}} hits the wire. However in the HA 
case, the failure of the store commit future is not necessarily fatal (for 
instance in the case of too few replicas), so in this case the Broker will 
claim from the messages have been accepted when in actual fact, they are lost. 

> [0-91] [Publisher Confirms] basic.ack returned to client before message is 
> sync'd to disk
> -----------------------------------------------------------------------------------------
>
>                 Key: QPID-8076
>                 URL: https://issues.apache.org/jira/browse/QPID-8076
>             Project: Qpid
>          Issue Type: Bug
>          Components: Broker-J
>    Affects Versions: 0.32, qpid-java-6.0, qpid-java-broker-7.0.0
>            Reporter: Keith Wall
>            Priority: Major
>
> QPID-6164 added RabbitMQ's publish confirms [1] feature to Broker-J.  
> Concerning when the basic.ack is sent back to the client, the feature 
> documentation states:
> {quote}
> h3. When will messages be confirmed?
> ..
> For routable messages, the basic.ack is sent when a message has been accepted 
> by all the queues. For persistent messages routed to durable queues, this 
> *means persisting to disk*. 
> {quote}
> Currently, Broker-J does not behave in this way.  The {{basic.ack}} is 
> returned to the client before the auto-async transaction has confirmed that 
> the data is on disk.  The code is AMQChannel#deliverCurrentMessageIfComplete. 
>  It ought to arrange for the acks to be returned once the sync completes.
>  
> [1] [https://www.rabbitmq.com/confirms.html]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to