On 20/03/18 11:37, Rob Godfrey wrote:
How do we treat transactions which have transactionally enqueued a message
on the (now deleted) queue - do we allow them to commit successfully, or do
we force a rollback?  Similarly when a message has been sent from the queue
and accepted as part of a transaction?

It seems the c++ broker allows the transaction to commit at present. I don't think that was a conscious choice though. I suspect the scenario wasn't explicitly planned for.

I think the ideal behaviour would be for a transaction error to be signaled regardless of whether the client initiates a commit or rollback in both the publish and consume case where a queue involved has since been deleted.

From the spec:

"If the coordinator is unable to complete the discharge, the coordinator MUST convey the error to the controller as a transaction-error."

To me if the queue is deleted, the transaction can't really be properly completed, therefore and error would be clearest.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to