2751 Commits

Author SHA1 Message Date
Justin Bertram
9c459eb313 ARTEMIS-2413 upgrade JGroups
JGroups 3.x hasn't been updated in some time now. The last release was
in April 2020 almost 2 years ago. Lots of protocols have been updated
and added and users are wanting to use them. There is also increasing
concern about using older components triggered mainly by other
recently-discovered high-profile vulnerabilities in the wider Open
Source Java community.

This commit bumps JGroups up to the latest release - 5.2.0.Final.
However, there is a cost associated with upgrading.

The old-style properties configuration is no longer supported. I think
it's unlikely that end-users are leveraging this because it is not
exposed via broker.xml. The JGroups XML configuration has been around
for a long time, is widely adopted, and is still supported. I expect
most (if not all) users are using this. However, a handful of tests
needed to be updated and/or removed to deal with this absence.

Some protocols and/or protocol properties are no longer supported. This
means that users may have to change their JGroups stack configurations
when they upgrade. For example, our own clustered-jgroups example had to
be updated or it wouldn't run properly.
2022-02-04 13:47:11 -05:00
AntonRoskvist
263b723726 ARTEMIS-3646 - OpenWire, Fix overflowing prefetch and incorrect metrics for messages sent to DLQ 2022-02-04 13:40:32 -05:00
Robbie Gemmell
2c1afc4b75 ARTEMIS-3667: update to Groovy 4.0.0 2022-02-04 11:39:37 -05:00
Justin Bertram
e184038d05 ARTEMIS-3670 support diverting to multiple addresses 2022-02-04 11:39:16 -05:00
Justin Bertram
8063110644 ARTEMIS-3638 Support MQTT 5
MQTT 5 is an OASIS standard which debuted in March 2019. It boasts
numerous improvments over its predecessor (i.e. MQTT 3.1.1) which will
benefit users. These improvements are summarized in the specification
at:
https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901293

The specification describes all the behavior necessary for a client or
server to conform. The spec is highlighted with special "normative"
conformance statements which distill the descriptions into concise
terms. The specification provides a helpful summary of all these
statements. See:
https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901292

This commit implements all of the mandatory elements from the
specification and provides tests which are identified using the
corresponding normative conformance statement. All normative
conformance statements either have an explicit test or are noted in
comments with an explanation of why an explicit test doesn't exist. See
org.apache.activemq.artemis.tests.integration.mqtt5 for all those
details.

This commit also includes documentation about how to configure
everything related to the new MQTT 5 features.
2022-02-04 09:57:15 -05:00
Robbie Gemmell
4a6a74e1c3 NO-JIRA: use various versions from parent to be consistent, remove some duplicate yet incomplete plugin config 2022-01-28 11:34:20 +00:00
Domenico Francesco Bruscino
b9243cc999 ARTEMIS-3654 Fix AllClassesTest leaks 2022-01-27 09:26:45 +01:00
Robbie Gemmell
8661cecb8f ARTEMIS-3655: isolate the errorprone dependencies to its profiles, enable everywhere, fix related problems, and update to 2.10. 2022-01-26 16:32:34 +00:00
gtully
90535a2401 ARTEMIS-3652 - tighten up test assertions and cleanup, track errors via connection listener and consider missing send reply 2022-01-25 17:17:35 +00:00
gtully
c05177d723 ARTEMIS-3627 - allow default classpath properties name to be configured and use non intrusive property for testing, root cause of falure in test identified by ARTEMIS-3652 2022-01-24 17:18:34 +00:00
Robbie Gemmell
5e7ecfcc8a NO-JIRA: remove some test methods that are permanently disabled in one or more ways 2022-01-24 11:13:52 +00:00
Domenico Francesco Bruscino
1b07c3222a NO-JIRA Fix activemq5-unit-tests with byteman 2022-01-19 17:05:35 +01:00
gtully
10d93d9c92 ARTEMIS-3627 - support broker.properties for augmenting or supplying additional configuration via nested properties of the internal configuratinimpl bean - elements with a name attribute can be configured in collections, the type inferred by the add singular fluent api 2022-01-19 14:39:27 +00:00
Domenico Francesco Bruscino
fc357213d2 NO-JIRA Fix activemq5-unit-tests with SSL 2022-01-19 10:33:56 +01:00
Domenico Francesco Bruscino
cb96a89524 ARTEMIS-3616 Fix netty epoll not available 2022-01-17 12:25:59 +00:00
franz1981
52fcc0c81b ARTEMIS-3620 Journal blocking delete/update record with no sync 2022-01-13 15:35:57 -05:00
Justin Bertram
951c506481 ARTEMIS-3637 config-delete-diverts not applied properly
The address-setting config-delete-diverts is not being applied correctly
hierarchically because it's not included in the merge() method. It is
also not being persisted to disk either. This commit fixes both issues.
2022-01-12 21:06:40 -05:00
Erwin Dondorp
172d72d62d
ARTEMIS-3626 fixed simple syntax error 2022-01-12 12:09:24 -06:00
Domenico Francesco Bruscino
1c9516db6a NO-JIRA Fix activemq5-unit-tests after ARTEMIS-3546 2022-01-11 10:45:01 -05:00
Robbie Gemmell
a91d3b0c0f ARTEMIS-3624: change dep mangement entry to be for the minikdc dep, add property for its version, update it and rework exclusions 2022-01-11 10:44:22 -05:00
Domenico Francesco Bruscino
055d05b9f1 NO-JIRA Fix DiscoveryTest#testSimpleBroadcast 2022-01-04 14:23:17 +01:00
Jacob Middag
2125af1b8d ARTEMIS-3625 Correctly compare Boolean object and fix NPE introduced in bf875c 2022-01-03 21:31:51 -05:00
Clebert Suconic
4e52758a62 NO-JIRA Updating activemq.org links 2021-12-20 14:46:01 -05:00
Clebert Suconic
e34677f5c0 [maven-release-plugin] prepare for next development iteration 2021-12-14 22:50:55 -05:00
Clebert Suconic
3dea7eeb71 [maven-release-plugin] prepare release 2.20.0 2021-12-14 22:50:53 -05:00
Marlon Müller
d56d299456 ARTEMIS-3574 multiple bindings for embedded webserver
* Add BindingDTO to allow configuring multiple addresses to listen on
* Start a new ServerConnector for each binding and deploy the corresponding web-applications
* Update documentation and tests
* Add tests to verify old and new configuration style produce equal results
2021-12-14 19:16:34 -05:00
Clebert Suconic
1857017abe Revert "ARTEMIS-3574 multiple bindings for embedded webserver"
This reverts commit 182334359c0f8f63a7cd8b69a42d9b4cee48dc9c.
2021-12-14 15:18:16 -05:00
Domenico Francesco Bruscino
ca1accc202 ARTEMIS-3605 Fix RestDeserializationTest 2021-12-14 10:04:55 -05:00
Marlon Müller
182334359c ARTEMIS-3574 multiple bindings for embedded webserver
* Add BindingDTO to allow configuring multiple addresses to listen on
* Start a new ServerConnector for each binding and deploy the corresponding web-applications
* Update documentation and tests
* Add tests to verify old and new configuration style produce equal results
2021-12-14 09:38:59 -05:00
AntonRoskvist
7d129b36e9 Commits: 'Add redistribution to old Anycast consumers' and 'Changed redistributionDelay-check to earlier, improved test, reverted changes in ClusterTestBase' 2021-12-14 09:22:05 -05:00
Justin Bertram
fac7f1692a ARTEMIS-3601 expose acceptors via management 2021-12-14 08:52:48 -05:00
Justin Bertram
fb2270dc05 ARTEMIS-3535 bytes messages not obeying management limit 2021-12-13 21:58:03 -06:00
Clebert Suconic
1e62979577 ARTEMIS-3604 Async sends overflowing server in OpenWire 2021-12-10 15:49:26 -05:00
Clebert Suconic
1e89ce828c NO-JIRA fixing intermittent test failure 2021-12-10 15:49:26 -05:00
gtully
158157260c ARTEMIS-2097 - via elastic queue use case test based on ARTEMIS-3365 and ARTEMIS-3569
scenario - avoid paging, if address is full chain another broker and produce to the head, consume from the tail using producer and consumer roles to partition connections. When tail is drained, drop it.
 - adds a option to treat an idle consumer as slow
 - adds basic support for credit based address blocking ARTEMIS-2097
 - adds some more visiblity to address memory usage and balancer attribute modifier operations
2021-12-09 10:14:20 +00:00
gtully
56299e846a ARTEMIS-3054 - fix lock inversion - intermittent failure of PageCleanupWhileReplicaCatchupTest and hang 2021-12-09 10:13:26 +00:00
gtully
de7a1805a4 ARTEMIS-2716 - fix up test regression in OpenWireProtocolManagerTest 2021-12-08 15:12:12 +00:00
gtully
e0b16217a1 ARTEMIS-3594 - add support for a local target key transformer and an instance of CONSISTENT_HASH_MODULO that can be used to partition in a static cluster 2021-12-07 13:17:37 +00:00
Domenico Francesco Bruscino
3f7f8c0ecd ARTEMIS-3576 Fix toString methods throwing exceptions 2021-12-03 13:15:44 -05:00
Clebert Suconic
5730fcacfa ARTEMIS-3599 Removing finalization calls 2021-12-03 13:12:02 -05:00
Domenico Francesco Bruscino
8f41cf647f ARTEMIS-3600 Add console index page test 2021-12-03 12:55:22 -05:00
Clebert Suconic
72a4fff167 ARTEMIS-3593 Defense against OME on parsing XID
Co-authored-by: Viktor Kolomeyko <Viktor.Kolomeyko@r3.com>
2021-12-02 21:15:41 -05:00
Clebert Suconic
12a93e3c7e Revert "ARTEMIS-3576 Fix toString methods throwing exceptions"
This reverts commit fcd512f9de9630e9f064f2b352e079d981f6218c.

this will be re-applied after fixing the build and tests
2021-11-29 13:21:24 -05:00
Justin Bertram
5fe42dd0c4 ARTEMIS-3552 NPE on message expiration 2021-11-29 12:13:14 -05:00
Domenico Francesco Bruscino
fcd512f9de ARTEMIS-3576 Fix toString methods throwing exceptions 2021-11-29 12:02:58 -05:00
gtully
b979189187 ARTEMIS-3569 - balancer role_name local target, matches role of authenticated user 2021-11-24 11:28:16 +01:00
Clebert Suconic
bfc10dcf8b ARTEMIS-3546 Jakarta javax.json incompability on jakarta all client
Domenico Bruscino provided the JSON Wrapper used here. Thanks Domenico!
2021-11-19 13:20:38 -05:00
gtully
8d50aa916c ARTEMIS-3581 - allow max-size-bytes=0 configuration force paging for an address, independent of the page-size-bytes 2021-11-18 09:44:13 +00:00
gtully
778ab4419f ARTEMIS-3575 - ensure message owner is set from journal reload, follow up on ARTEMIS-3067 2021-11-16 11:33:26 -05:00
Erwin Dondorp
dde48d052f ARTEMIS-3556 show message protocol on message-view page 2021-11-10 20:46:55 -05:00