Fixing a race condition in ActiveMQMessageConsumer that could cause a
NPE when the consumer is closing by only modifing pendingAck inside of
the deliveredMessagesMutex
Thanks to Michael Wong for providing the test case for this issue.
(cherry picked from commit c02bc648460059b6dbc201fa21b7ee0ce2445082)
Fixing a race condition in ActiveMQMessageConsumer that could cause a
NPE when the consumer is closing
Thanks to Michael Wong for providing the test case for this issue.
(cherry picked from commit 6bfa13b6e707fb3465a9193cd44c478514fcd948)
Fixing an issue that caused statistics for a transactional temporary
queue to be updated twice by mistake. Moved the statistics update into
tryOrderedCursorAdd so that the update is called immediately only if
not inside a transaction.
(cherry picked from commit 903dec615c7932475bd3e6cd869af25f01de64b2)
Checking for leading wildcard in the prefix for a virtualtopic,
modifying the behavior of shouldDispatch in the VirtualTopicInterceptor.
(cherry picked from commit 6bf5987921f6fdb6844652bb77e2fc14b002ccf2)
Added two new properties for configuration to a network bridge,
advisoryPrefetchSize and advisoryAckPercentage. By default
advisoryPrefetchSize is set to 0, which is disabled, and will use the
prefetchSize value unless otherwise set. Also added validation to
prefetchSize to make sure it is greater than 0 as 0 is not allowed.
(cherry picked from commit 297eadf7461fe4043c81c6f8d806a7c61b680731)
https://issues.apache.org/jira/browse/AMQ-6254
Store the original subscribed destination along with the target
destination in the subscription info object to ensure that wildcard
subscriptions remain linked.
(cherry picked from commit b027e655538226b56f1fe277a426e0df41501fc6)
Calling beforeMarshall on messages when they async stored before the
store task is run and before consumer dispatch to prevent two threads
from trying to mutate the message state at the same time.
(cherry picked from commit b9f9f03829a65efa2956c347d2cafa41905313c6)
Update for some added thread safety. Adds method healthStatus that will
regenrate the status from the healthList data which is more intuitive
than the getCurrentStatus which doesn't update state and requires
periodic calls to healthList to capture current metrics.
(cherry picked from commit 19fd084a83c990f9fb75a5f2becb48ac808a1b36)
Expose configuration on the persistence adapter level.
Double the test timeout and increase the compaction frequency to account
for very slow CI boxes.
(cherry picked from commit a9521dcebfb4e469dde7465ff95d8e8f1f050abd)
Moving clearedMarshalledState execution to the async listener on an
async add to the message store. This is necessary to make sure this
logic doens't execute until after the message is marshalled for the
store.
(cherry picked from commit 75990ef14a092b629bf8d2127bc4786e51b31684)
Fixing the removal logic on virtual destination remove inside of
Advisory Broker to clean up virtual destination maps properly. Added a
test to verify. Also added new debug logging to help track down any
future issues.
(cherry picked from commit a2781e3966ded41a241d24ffb8d85d410c39eb21)
Computing messageSize for a durable subscription in KahaDB now runs much
faster (n vs n^2) which is noticable when there are a large number of
pending messages for a durable subscription.
(cherry picked from commit 25ff5699f1fb7c73668d5da2eacb53ad2ef14289)
Ensure that when add / remove commands are colocated they don't prevent
the log from being GC'd once it is unreferenced.
(cherry picked from commit 8c4b5f485d64caec97b0abe2b721d47bc19bfba1)
Fixing a race condition that exists in the decompress method of
ActiveMQBytesMessage that can cause an invalid length to be read.
(cherry picked from commit 5f7a81f9280fb65b8a3c1f85c4570a18d87fafd9)
Fixing the processing of KahaUpdateMessageCommand to add the message to
the store if it doesn't exist, instead of ignoring it. This will
prevent message loss in certain cases when the KahaDB index has to be
rebuilt.
(cherry picked from commit b4aa53d806570a4f054dc0af9cb095f13b914153)
Adding NetworkBridgeStatistics and also a received count for bridges
when they are in duplex mode.
(cherry picked from commit 10c998b0bc9728276a738ed24d20c6fc82c6365a)
Ensure that a message sent to the store for the DLQ is rewritten so that
its updated values are written to prevent exirpation loops and loss of
reollback cause etc.
(cherry picked from commit 505a76a8bb7180debbd36637dce1b9101150d0b4)
AMQ-6122
Prevent messages on DLQ for looping back onto the same DLQ. Prevents
expired messages from bouncing back and duplicate messages from the
store from causing a deadlock.
(cherry picked from commit 66cfc7bab3dfa2e079bbc5276312c97ab02cae4f)
Fixing KahaDB so that the correct marshaller is used for the message
keys inside of the message order index. This will ensure that message
size metrics are accurate.
(cherry picked from commit 246ccb8e04515c6e85544b32035537f60d92b5b9)