Resolution: Cannot Reproduce
Affects Version/s: 5.1.0
Fix Version/s: NEEDS_REVIEW
ShowActiveMQ 5.1.0 one broker using direct jdbc persistence (mysql) transacted producer/consumer 3 consumers but all configured for exclusive consumer 1 producer that publishes msgs faster than consumers using SESSION.AUTO_ACKNOWLEDGE
- ActiveMQ 5.1.0
- one broker using direct jdbc persistence (mysql)
- transacted producer/consumer
- 3 consumers but all configured for exclusive consumer
- 1 producer that publishes msgs faster than consumers
- using SESSION.AUTO_ACKNOWLEDGE
With an env as described above it is possible to violate the exclusive consumer limitation. Initially with all three consumers being started and the producer sending messages, the exclusive consumer feature works fine.
However if you kill and restart each consumer in a row, allowing another consumer to take over, you will eventually reach a state where a newly started consumer that should not be allowed to receive messages (as another active consumer already has the exclusive right) will also start receiving messages. Typically the msg numbers it receives are of higher numbers than those to be delivered next (e.g. exclusive consumer receives msg number 500 while new consumer receives msg number 1500).
So this bug violates:
- having just one exclusive consumer at any time
- delivering all msgs in order.
I could not reproduce this problem using the default AMQ store.