Remo Gloor created AMQ-4878:
-------------------------------
Summary: Message can be acknowledged succesfully it two different
transactions
Key: AMQ-4878
URL: https://issues.apache.org/jira/browse/AMQ-4878
Project: ActiveMQ
Issue Type: Bug
Reporter: Remo Gloor
- Two clients are connected to AMQ listening on the same queue.
- When a message is sent to that queue it is processed and acknowledged by one
of these clients in a transaction. After processing it does a 2 phase commit.
- The connection is lost right after prepare is sent. The failover now
reconnects and replays these messages and sends a commit later.
- After the connection is lost AMQ sends the same message to the other client
due to the connection loss (most likely because the prepare did not arrive).
This client creates another transaction, processes and acknowledges the
message. The transaction is now prepared and commit.
The problem is that the same message is processed in two clients succesfully.
Both were able to acknowledge the message in two different transactions. I'd
expect that just one (the first?) prepare that arrives at the server is
succesful. The other must fail so that all the work done on that client (e.g.
DB modifications and sent messages) is reverted by this second transaction.
--
This message was sent by Atlassian JIRA
(v6.1#6144)