Hi Fred I see only two options: 1. The message goes in redelivery (because it expired or client rollback transaction) and so it can be taken by another consumer. As you use session_transacted, the "first" client has to deal with the rollback 2. Do you see "poison ack" in the log ?
Feel free to ping me directly, I can take a deeper look with you. Regards JB On Fri, Mar 1, 2024 at 4:52 PM Frédéric Curvat <fcur...@gmail.com> wrote: > > Hello ! > > At my company we are using Apache ActiveMQ 5.18.3. > We suspect that in some rare cases, a queue message is read twice by > different consumers. > For more context : > - broker is classic primary/secondary (secondary started but not active - > not a network of brokers). > - we are using persisted queues with PostgreSQL backend. > - A single queue is being read by several consumers : 10 consumers for a > single java app deployed in HA other several k8s pods. > - We use SESSION_TRANSACTED session for either consumers and producers. > - We use PooledConnectionFactory with 1 connection, > maximumActiveSessionPerConnection 500, expiryTimeout 10000 > We see no transaction or other error in logs, either service of activemq > broker at the time of the "double read". > > Has something like this already been seen ? Can it be a bug or a > misconfiguration somewhere ? > > Best, > > Fred