activemq-cpp
activemq-cpp copied to clipboard
Fix AMQCPP-760
In ActiveMQ-CPP 3.9.5, several methods in activemq/core/ActiveMQMessageAudit.cpp use subtraction against Integer::MAX_VALUE when normalizing the ProducerSequenceId. When the sequence exceeds 2,147,483,647, the subtraction results in a negative scaled index, which causes the bit array (BitSet) access to throw or behave incorrectly. As a result, messages — especially Advisory messages — are incorrectly marked as duplicates and discarded under failover conditions after long broker uptime.