Hello ActiveMQ users,

I am using ActiveMQ 5.15.16 on a Linux platform.  My setup is such that I have 
an application which produces messages for two separate queues.  That 
application sends the messages to a local AMQ broker, and the local AMQ broker 
has a network connection to a remote AMQ broker using the failover protocol.  
The consumer of both queues is on the remote broker.

In the initial setup, all works as expected.  The producers send messages to 
the two queues "through" the local AMQ broker to the remote AMQ broker where 
the messages are consumed.  However, if I restart the remote AMQ broker, then 
problems will occur.  Specifically, when the producers start sending messages 
after the brokers are reconnected, the sequence IDs are no longer associated 
with the two producers, but as if there is only one producer.

The problem is that the producer for queue A sends two messages, with sequence 
IDs 1 and 2.  Then the producer for queue B sends a message with sequence ID=1, 
but the remote broker suppresses the delivery of this message, complaining that 
it is a duplicate because ID 1<=2 (last sequence ID from producer for queue A). 
 It seems like the reconnect is not handled correctly.  I can see this message 
in the debug log of the remote broker when the producer for queue a sends the 
message with sequence ID=1 after the reconnect:

2024-12-26 10:40:04,888 | DEBUG | last stored sequence id set: -1 | 
org.apache.activemq.broker.ProducerBrokerExchange | ActiveMQ Transport: 
ssl:///10.10.10.11:46160

Immediately after this message, I see it send message with sequence ID=1 to 
queue A where it is consumed.  Shortly thereafter, queue A's producer sends 
message with sequence ID=2, and that is properly sent and consumed.  Then when 
the producer for queue B sends a message (sequence ID=1), it is suppressed:

2024-12-26 10:40:50,076 | DEBUG | suppressing duplicated message send 
[ID:test-43384-1735226828739-1:1:2:1:1] with producerSequenceId [1] <= last 
stored: 2 | org.apache.activemq.broker.ProducerBrokerExchange | ActiveMQ 
Transport: ssl:///10.10.10.11:46160


I have tried using auditNetworkProducers="true" on the transportConnector on 
the remote AMQ broker, but that did not make a difference.

I'm not sure if there is some other configuration that is required, or if this 
is a bug.  Can someone help me to fix this problem?

Thanks,
Greg

--
A. Gregory Rabil
Sr. Software Architect DDI
[cid:image001.png@01DB5B6B.84659640]  cygnalabs.com<http://cygnalabs.com/>

[cidimage003.png@01D69E4F.10C41820]<https://www.facebook.com/cygnalabs>     
[signature_929795233] <https://www.linkedin.com/company/cygnalabs/>      
[signature_1433457714] <https://twitter.com/cygna_labs>
This electronic message contains information from Cygna Labs Corp., which may 
be privileged or confidential. The information is intended for use only by the 
individual(s) or entity named above. If you are not the intended recipient, 
please notify the sender immediately by e-mail and be aware that any 
disclosure, copying, distribution or use of the contents of this e-mail is 
strictly prohibited. Cygna Labs monitors its e-mail system and may record your 
e-mails. Cygna Labs Corp, 1111 Lincoln Rd., Suite 760, Miami Beach, FL 33139

Reply via email to