Commit Graph

11192 Commits

Author SHA1 Message Date
Endre Stølsvik 2de859f758 AMQ-8617: RedeliveryPolicy:Exponential Backoff + NonBlockingRedelivery = too long delays
(cherry picked from commit 393a696955)

Scenario on client:

1. Employing RedeliveryPolicy with exponential backoff (keeping maximum
redeliveries at default 6)
2. Enabled non-blocking redelivery
3. Receiving e.g. 100 consecutive poison messages (which eventually
should DLQ after max redeliveries)

This will result in massive redelivery delays due to a logic bug.

The reason is that redeliveryDelay is a field variable kept on the
ActiveMQMessageConsumer, instead of being a property on the message - or
that the redelivery delay was calculated per message based on the
redelivery count.

When consecutive messages rollbacks multiple times, the redeliveryDelay
field is continuously multiplied by the backoff multiplier, resulting in
enormous delays.

Fix: Ditch the field variable, instead calculating the redeliveryDelay
per delivery from the redelivery count. (This happens to be identical to
how it is done in afterRollback() in ActiveMQSession:1004.)

Test is added - which fails with the previous code, and passes with
this. Added a debug log line for the calculated delay.
2022-11-22 08:56:09 +01:00
Christopher L. Shannon (cshannon) 20dc305a49 AMQ-9175 - Properly set broker on ConnectionContext inside
MemoryTransactionStores

This fixes a NPE when using the messageDelivered advisory and
transactions

(cherry picked from commit f83c5f1ba1)
2022-11-21 11:12:07 -05:00
Jean-Baptiste Onofré e31a168aa7 [AMQ-9174] Upgrade to groovy 4.0.6
(cherry picked from commit 1228fc4421)
2022-11-21 14:20:22 +01:00
Jean-Baptiste Onofré 91d6ddd1aa [AMQ-9172] Upgrade to jettison 1.5.2
(cherry picked from commit c79b71c2e7)
2022-11-21 09:36:11 +01:00
Jean-Baptiste Onofré 8408595fc8 [AMQ-9171] Upgrade to shiro 1.10.1
(cherry picked from commit 42e1bf7467)
2022-11-20 17:11:27 +01:00
Jean-Baptiste Onofré b00655efb2 [AMQ-9131] Upgrade to xbean 4.22
(cherry picked from commit 421a2dedbf)
2022-11-20 07:18:50 +01:00
Jean-Baptiste Onofré 61100f2e8c [AMQ-9164] Upgrade to jackson 2.14.0
(cherry picked from commit a562b99431)
2022-11-18 11:15:29 +01:00
Christopher L. Shannon (cshannon) 29dcd3f8bf AMQ-9159 - Add a test case to verify inflight message stats for wildcard
consumer when a destination is removed

(cherry picked from commit f6e26085cf)
2022-11-17 09:11:38 -05:00
Jean-Baptiste Onofré f81a80f3ed [AMQ-9120] Upgrade to shiro 1.10.0
(cherry picked from commit f93c0ec4ee)
2022-11-17 05:04:33 +01:00
Christopher L. Shannon (cshannon) 27e16b1d48 NO-JIRA: Add timeout for flaky test
(cherry picked from commit b6540746a2)
2022-11-16 13:22:26 -05:00
Christopher L. Shannon (cshannon) f90a7bf535 AMQ-9168 - Send message expired advisory and not discard advisory when
Topic subscriptions expire a message

This fixes topic subs to send the right advisory type, if enabled, when
the server discards a message on dispatch to a topic sub. Also add some
more expiration tests for other subscription types

(cherry picked from commit 757a712890)
2022-11-16 06:47:17 -05:00
Christopher L. Shannon (cshannon) 46cdecf05f (AMQ-9156, AMQ-9167) - Update TopicSubscription to use a new counter for
current dispatched count

The previous way of computing the count of using total dispatched minus
total dequeued didn't work in the case of destination removal and
messages were not acked. The counter is needed as the dispatched list is
optional unlike prefetch subs.

(cherry picked from commit 8554a1464c)
2022-11-15 17:02:11 -05:00
Matt Pavlovich 31b6a03e8b [AMQ-9113] Upgrade to Jetty 9.4.49.v20220914
(cherry picked from commit 3de38130ed)
2022-11-15 14:19:25 +01:00
Matt Pavlovich d830dc2954 [AMQ-9163] Add 'Started' attribute to ConnectorView (#932)
(cherry picked from commit c25975389f)
2022-11-15 10:18:06 +01:00
Jonathan Gallimore e391298b50 Update XJC plugin to 3.3.2
(cherry picked from commit 731ca3694a)
2022-11-13 06:32:51 +01:00
Christopher L. Shannon 9a298e6caa Increase forkedProcessTimeoutInSeconds for tests to decrease timeout failures (#930)
(cherry picked from commit f473efe163)
2022-11-11 05:49:40 -05:00
Christopher L. Shannon (cshannon) 8062423dcd AMQ-9159 - In topic subscriptions only remove nodes from dispatched list if
they match the destination on destination removal

(cherry picked from commit 837df23be6)
2022-11-10 16:18:28 -05:00
Christopher L. Shannon (cshannon) 3047807763 AMQ-9152: Make test classes abstract to fix surefire plugin
(cherry picked from commit ea10d984d0)
2022-11-03 15:48:28 -04:00
Christopher L. Shannon (cshannon) 81773c85d7 AMQ-9152: Fix surefire setup to run all tests that are not excluded
(cherry picked from commit ba0b7a25a0)
2022-11-03 15:48:18 -04:00
Christopher L. Shannon (cshannon) 3bd099f469 AMQ-9156 - fix formatting 2022-11-03 10:44:26 -04:00
Christopher L. Shannon (cshannon) 9c5a6219ea AMQ-9156 - Make sure in flight metrics are properly decremented on
subscription destroys and dispatch failures

(cherry picked from commit 58666afffd)
2022-11-03 10:42:45 -04:00
Christopher L. Shannon (cshannon) 8cc7a45455 AMQ-9107 - rework performance improvement for consumer closing in
managed region broker

This new approach just looks matching Subscriptions from the region for the
destination which prevents having to store another map and falls back to
the old approach if something went wrong.

(cherry picked from commit d46b74d674)
2022-11-03 06:50:44 -04:00
Christopher L. Shannon (cshannon) bc9e728123 AMQ-9153: Fix slow consumer advisory for queue subscriptions
Due to changes with Queues to check if consumers are full before adding
more messages to the subscription, the Queue dispatch logic needed to be
updated to mark subscriptions as slow and send advisories if configured
instead of relying on the subscription itself to do it.

(cherry picked from commit 596ee31687)
2022-11-01 10:31:50 -04:00
Lucas Tétreault fb89765fdf Add a test for offline durable subscriptions for AMQ-9107
(cherry picked from commit 98b7d3443c)
2022-11-01 07:06:41 +01:00
Matt Pavlovich 465bed7b3f [AMQ-9115] Upgrade to commons-daemon 1.3.2
(cherry picked from commit 68a1d6e612)
2022-10-31 17:43:52 +01:00
Matt Pavlovich bbd15972e0 [AMQ-9116] Upgrade to jettison 1.5.1
(cherry picked from commit e9b7afbe1f)
2022-10-31 17:39:54 +01:00
Matt Pavlovich f2453ed4bb [AMQ-9112] Upgrade to Spring 5.3.23 (#910)
(cherry picked from commit c86ed31122)
2022-10-30 17:26:55 +01:00
Matt Pavlovich bc1bd8087f [AMQ-9065] Replace ianal-maven-plugin with geronimo tools-maven-plugin for JDK 17 support (#901)
(cherry picked from commit b55e8cd5d2)
2022-10-30 17:04:13 +01:00
Jean-Baptiste Onofré 774137436f [AMQ-9133] Upgrade to ASM 9.4
(cherry picked from commit 6e7a4c66f1)
2022-10-30 16:35:37 +01:00
Jean-Baptiste Onofré 27143af161 [AMQ-9130] Upgrade to jackson 2.13.4 and jackson-databind 2.13.4.1
(cherry picked from commit 5cbaa0356d)
2022-10-30 16:32:38 +01:00
Matt Pavlovich ff97a42d0d [AMQ-9114] Upgrade to log4j2 2.19.0 (#913)
(cherry picked from commit be1a5ec68e)
2022-10-30 16:30:13 +01:00
Dmytro Chebotarskyi ba32225114 AMQ-6148 re-using LDAP context for authentication
(cherry picked from commit 610b87aed8)
2022-10-19 06:00:22 +02:00
Lucas Tétreault 51c390737a remove consumers more efficiently
(cherry pick from commit b7f73d4875)
2022-10-13 05:58:32 +02:00
Lucas Tétreault 258a66652a Fix serialization of RemoveInfo advisory message for AMQP consumers
(cherry picked from commit e0a37a5c30)
2022-10-13 05:54:38 +02:00
Dmytro Chebotarskyi 189a2755a5 [NO JIRA] Removing unused concurrentStoreAndDispatchTransactions variable from KahaDBStore. Cleaning up related unused code.
(cherry picked from commit 73f827f9a6)
2022-09-09 07:44:28 +02:00
Robbie Gemmell aad85e2c4a AMQ-9074: use -noindex to remove various .js files, disable html source listings for javadoc
(cherry picked from commit 52574a794a)
2022-09-07 18:04:01 -04:00
Jean-Baptiste Onofré cad3839fe1 [maven-release-plugin] prepare for next development iteration 2022-08-25 09:22:35 +02:00
Jean-Baptiste Onofré b6ecffe80a [maven-release-plugin] prepare release activemq-5.17.2 2022-08-25 09:22:27 +02:00
Jean-Baptiste Onofré f9678aa3e0 Add missing ASF header 2022-08-24 09:39:02 +02:00
Jean-Baptiste Onofré 18608d2196 [AMQ-9026] Use Spring 5.x namespace location in activemq-osgi
(cherry picked from commit 64ff517f0b)
2022-08-23 07:49:43 +02:00
Jean-Baptiste Onofré 54fd3a1581 [AMQ-9057] Don't include OSGi contract in activemq-osgi
(cherry picked from commit c506d46c09)
2022-08-23 07:46:21 +02:00
Matt Pavlovich b70b2960a4 [AMQ-8981] Fix CustomBridgeFactoryTest
(cherry picked from commit 82a2374764)
2022-08-23 07:13:54 +02:00
Matt Pavlovich 0dde1a15df [AMQ-8980] Align maven-xbean-plugin to xbean version (#854)
Merging to work on getting unit tests going

(cherry picked from commit 1483d1c)
2022-08-21 07:51:55 +02:00
Jean-Baptiste Onofré 8d09211e5a Update Spring schema namespace in preparation for 5.7.2 release 2022-08-21 07:34:59 +02:00
Jean-Baptiste Onofré 823a814900 [AMQ-9000] Upgrade to maven 3.8.6
(cherry picked from commit 6541b8d418)
2022-08-20 06:36:51 +02:00
Jean-Baptiste Onofré b46cccc961 Use version from parent pom
(cherry picked from commit 4acabd2e5a)
2022-08-19 09:28:45 +02:00
Jean-Baptiste Onofré 7bb5a41c1f [AMQ-9016] Upgrade to geronimo-annotation_1.3_spec 1.3
(cherry picked from commit a2d5a54c32)
2022-08-19 07:30:29 +02:00
Jean-Baptiste Onofré 5661ce0d14 [AMQ-9038] Upgrade to maven-consolets-plugin and maven-graph-plugin 1.45
(cherry picked from commit a4ad35e642)
2022-08-19 06:48:28 +02:00
Jean-Baptiste Onofré b14f91cd20 [AMQ-9036] Upgrade to cobertura-maven-plugin 2.7
(cherry picked from commit 274b8e03b2)
2022-08-19 06:46:05 +02:00
Jean-Baptiste Onofré 757cb95014 [AMQ-9034] Upgrade to maven-war-plugin 3.3.2
(cherry picked from commit 266f0ab2bf)
2022-08-19 06:44:16 +02:00